{
  "markdown": "# Agent skills for RISC OS\n\nWhen developing for RISC OS it is useful to give the AI agents sufficient\ninformation to be able to drive the system. This repository contains an\nextract from the [RISC OS Build Environment](https://hub.docker.com/r/gerph/riscos-build)\nof the skills that are used there. It is intended that it be available to\nothers to use if they wish, or to contribute to if they create new skills\nwhich are useful.\n\n## Summary\n\nSkills are definitions of how to perform certain actions which are commonly needed by AI\nagents.\nThey don't comprise full information on a topic, but provide enough guidance to aid an AI\nsystem to diagnose problems, follow procedures or perform certain tasks.\n\nWithin a project these skills are usually defined with the configuration directory for\nthe AI coding agent. For example:\n\n* Qwen skills are held in: `.qwen/skills/`\n* Claude skills are held in: `.claude/skills/`\n* Gemini skills are held in: `.gemini/skills/`\n* Codex skills are held in: `.agents/skills/`\n\nEach skill is given a simple name for the directory, and contains a file `SKILL.md` which\ndescribes the skill, with a short header. Other resources may also be stored in this directory\nto help the skill with specific tasks.\n\nMore information on building these skill files can be found at [AgentSkills.io](https://agentskills.io/home).\n\n## Skills\n\nThe following skills are provided:\n\n### Languages\n\n* `using-bbcbasic`: BASIC syntax, common usage and integration with RISC OS.\n* `writing-c`: Coding style and guidance for writing C code.\n* `writing-cplusplus`: Writing, building and testing C++ for the 64-bit build environment.\n* `writing-pascal`: Writing, building and testing Pascal with `riscos-p2cc`/`riscos64-p2cc`.\n* `writing-fortran`: Writing, building and testing Fortran with `riscos64-fortran`.\n* `using-perl`: Writing and debugging Perl for the RISC OS Perl 5.001 interpreter.\n* `writing-assembly`: Writing ARM assembly (veneers, callbacks, module entry points) with ObjAsm.\n* `writing-assembly-tests`: Writing ObjAsm command-line exercisers under `testcode/s`.\n* `reading-assembly`: Translating ObjAsm/ARM assembly into another language, tests, or documentation.\n\n### Modules and build system\n\n* `writing-cmodules`: Development, layout, building and testing of RISC OS modules in C.\n* `designing-modules`: Designing module interfaces before implementation begins.\n* `using-cmhg`: The CMHG file format and CMunge usage for module headers.\n* `using-makefiles`: The RISC OS AMU makefile build system, its shared makefile types and variables.\n* `porting-to-riscos-c`: Porting POSIX C projects to RISC OS with `riscos-cport`.\n* `writing-pymodules`: Building and testing PyModules (Python modules for RISC OS Pyromaniac).\n* `writing-oslib-defs`: Writing OSLib Def files and generating headers/veneers with `riscos-defmod`.\n* `allocating-resources`: Registering module names, SWI chunks, filetypes and other allocations with RISC OS Open.\n\n### RISC OS subsystems\n\n* `riscos-filesystem`: RISC OS filesystem conventions and translating to/from host filenames.\n* `riscos-commands`: Using `*Commands` in Obey files, OSCLI, `.robuild.yaml` and Pyromaniac.\n* `riscos-output`: Text/graphics output, VDU, OS_Plot, Draw, Sprites, Fonts and ColourTrans.\n* `riscos-wimp`: Writing, reviewing and porting Wimp code (windows, menus, events, SWIs).\n* `riscos-wimp-app`: Structuring small desktop Wimp applications, especially iconbar apps.\n* `riscos-wimp-templates`: Building Wimp window templates as `TemplateText` files with `riscos-ccres`.\n* `riscos-filer-like`: Building filer-like windows (grid/list views, hit-testing, scrolling).\n* `riscos-desktop-fileraction`: Driving desktop Filer operations via the FilerAction module.\n* `riscos-graphics-converters`: Writing ImageFileConvert image converter modules.\n* `riscos-network-resolver`: Using the Resolver module for DNS lookups and hostent data.\n* `riscos-network-dcistatistics`: Implementing and querying DCI4 network statistics suppliers.\n* `riscos-urls-fetching`: Fetching URL/URI contents with the Acorn URL_Fetcher module.\n* `riscos-urls-launching`: Launching URLs/URIs via AcornURI, `*URIdispatch` or legacy ANT broadcasts.\n* `riscos-throwback`: Reporting compiler/tool errors to desktop editors via LibThrowback/DDEUtils.\n* `riscos-style`: Applying the Acorn RISC OS Style Guide to desktop application design.\n* `riscos-re`: Reverse engineering existing RISC OS modules from their binaries.\n\n### Libraries\n\n* `using-libasm`: The Asm library for optimised multiply/divide, IRQ control and low-level routines.\n* `using-libgcontext`: The GContext graphics library for drawing primitives and text.\n* `using-liboslib`: The OSLib typed SWI interface library, headers and naming conventions.\n* `using-libriscoslib`: The RISC_OSLib library for desktop applications.\n* `using-libtoolbox`: The Toolbox veneer library for windows, menus, dialogues and gadgets.\n* `using-toolbox-imagefilegadget`: Using the Toolbox ImageFileGadget object and its methods.\n\n### Testing and CI\n\n* `using-tooltester`: The `riscos-tooltester` command and `tests.txt` file format.\n* `writing-pyromaniac-integration-tests`: Writing Pyromaniac `testcode/tests-*.txt` integration tests.\n* `ci-testing`: Creating and repairing RISC OS CI pipelines (GitHub Actions, GitLab CI, `.robuild.yaml`).\n* `using-gh`: Working with GitHub repositories, pull requests and releases via the `gh` CLI.\n* `using-git`: Safe non-interactive git usage, commit preparation and handling dirty worktrees.\n* `creating-pull-requests`: Writing clear, reviewer-focused pull/merge request descriptions.\n\n### Documentation\n\n* `writing-prminxml`: Creating interface documentation with PRM-in-XML.\n* `using-stronghelp`: Creating and maintaining StrongHelp manuals.\n\n### Skill management\n\n* `updating-robe-skills`: Creating or updating AI skills for the RISC OS build environment.\n\n## Installation in Claude\n\nThis repository also provide a plugin marketplace for Claude. Add the marketplace to Claude and then enable the RISC OS skills plugin.\n\n```\n/plugin marketplace add gerph/riscos-agent-skills\n/plugin install riscos-skills@riscos-agent-skills\n/reload-plugins\n```\n\n### Plugin updates\n\nAuto-update can be enabled by running `/plugin` and navigating to Marketplaces > riscos-skills-plugin and enabling auto-update. Each time Claude starts, any updates to the plugin will be automatically installed.\n\nOr update manually using:\n\n```\n/plugin marketplace update riscos-skills-plugin\n/reload-plugins\n```\n\n## Installation in Codex\n\nThis repository can also be used as a Codex plugin. The skill content is the\nsame; Codex discovers it through the `.codex-plugin/plugin.json` manifest at\nthe repository root.\n\nTo install it for your user account:\n\n```bash\nmkdir -p ~/plugins ~/.agents/plugins\nln -sfn /absolute/path/to/riscos-agent-skills ~/plugins/riscos-skills\n```\n\nCreate or update `~/.agents/plugins/marketplace.json`:\n\n```json\n{\n  \"name\": \"local\",\n  \"interface\": {\n    \"displayName\": \"Local Plugins\"\n  },\n  \"plugins\": [\n    {\n      \"name\": \"riscos-skills\",\n      \"source\": {\n        \"source\": \"local\",\n        \"path\": \"./plugins/riscos-skills\"\n      },\n      \"policy\": {\n        \"installation\": \"AVAILABLE\",\n        \"authentication\": \"ON_INSTALL\"\n      },\n      \"category\": \"Coding\"\n    }\n  ]\n}\n```\n\nIf you already have a marketplace file, append the `riscos-skills` entry instead\nof replacing the whole file. Restart Codex after updating the marketplace.\n\n## Installation in Gemini CLI\n\nThis repository is compatible with Gemini CLI's Agent Skills and Extensions system.\n\n### As an Extension (Recommended)\n\nInstalling as an extension allows Gemini to automatically discover and use these skills whenever you are working on a RISC OS project.\n\n```bash\ngemini extensions install https://github.com/gerph/riscos-agent-skills\n```\n\n### As Agent Skills only\n\nIf you prefer to only install the individual skills without the full extension package:\n\n```bash\ngemini skills install https://github.com/gerph/riscos-agent-skills\n```\n\nOnce installed, Gemini will automatically prompt to activate relevant skills (like `writing-cmodules` or `using-bbcbasic`) when it identifies a RISC OS task.\n\n## Installation in Qwen Code\n\nQwen Code does not have a remote plugin installation system like Claude, Codex, or Gemini. To use these skills with Qwen Code, you need to manually copy the skill files into your local project's `.qwen/skills/` directory.\n\n### Manual Installation\n\n1. Clone or download this repository to your local machine:\n\n```bash\ngit clone https://github.com/gerph/riscos-agent-skills.git\n```\n\n2. Copy the skill directories you want to use into your project's `.qwen/skills/` directory:\n\n```bash\n# Create the skills directory if it doesn't exist\nmkdir -p .qwen/skills/\n\n# Copy specific skills you want to use\ncp -r /path/to/riscos-agent-skills/skills/using-bbcbasic .qwen/skills/\ncp -r /path/to/riscos-agent-skills/skills/writing-cmodules .qwen/skills/\n# Add other skills as needed\n```\n\nAlternatively, you can create symbolic links to the skills:\n\n```bash\n# Create symbolic links to the skills\nln -s /path/to/riscos-agent-skills/skills/using-bbcbasic .qwen/skills/\nln -s /path/to/riscos-agent-skills/skills/writing-cmodules .qwen/skills/\n# Add other skills as needed\n```\n\n3. Restart Qwen Code or reload your project for the skills to become available.\n\nQwen Code will recognize and make use of the skills when you invoke them with the `skill:` command (e.g., `skill: \"using-bbcbasic\"`).\n",
  "bytes": 9478,
  "sha": "8dc8801919bd4273d0e7e3157de7c4b5494f90898b1b25a590dee5c8115677d9",
  "repo_slug": "gerph/riscos-agent-skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_gerph_riscos_agent_skills_ea67e917/readme"
}