# kyberforge Skills and agents for creating, maintaining, and managing a Claude Code / Copilot CLI plugin marketplace. ## Install **Claude Code:** ```bash claude plugin marketplace add / claude plugin install kyberforge@ ``` **GitHub Copilot CLI:** ```bash copilot plugin marketplace add / copilot plugin install kyberforge ``` **Local (development):** ```bash # Claude Code claude --plugin-dir ./plugins/kyberforge # GitHub Copilot CLI copilot plugin install ./plugins/kyberforge ``` ## Contents Authoring source lives in `.apm/`. The `skills/`, `agents/`, and `hooks/hooks.json` paths below are the generated mirror that plugin hosts actually scan — produced by `scripts/sync-plugin-content.sh`, never hand-edited (ADR-0017). | Component | Path | Description | |---|---|---| | Skills | `.apm/skills/` → `skills/` | Slash commands available after install | | Agents | `.apm/agents/*.agent.md` → `agents/` | Role-based agents; one vendor-neutral `.agent.md` per agent, copied verbatim to both targets (ADR-0016) | | Hooks | `.apm/hooks/` → `hooks/hooks.json` | Event-triggered automation — read by Claude Code only, see below | | MCP servers | `.mcp.json` | Model Context Protocol server definitions (hand-authored at the plugin root) | **Hooks are Claude Code-only in practice.** Claude Code convention-scans `hooks/hooks.json` at the plugin root, so that file is live. Copilot CLI has no default hooks path — `agents` and `skills` default to `agents/` and `skills/`, but `hooks` defaults to nothing (`docs/research/docs/github-copilot-plugins/configuration.md:47`), so Copilot reads hooks only via an explicit `"hooks": "hooks.json"` pointer in `plugin.json` (`docs/research/docs/github-copilot-plugins/examples.md:49`). apm's manifest compiler strips pointer fields from every manifest it generates, so neither `.claude-plugin/plugin.json` nor `.github/plugin/plugin.json` carries one, and re-injecting it is the option ADR-0017 explicitly rejected. Copilot therefore loads no hooks from this plugin — and did not load them from the old root-level `hooks.json` either. The Copilot half of this row is aspirational, not current behaviour. ## Skills | Skill | Description | |---|---| | `forge` | Grill an unclassified "I want to add something" request, decide whether it's a skill, agent, plugin, or marketplace entry, then route to the matching author skill | | `skill-author` | Create or improve a skill from scratch, audit findings, or inline feedback | | `skill-audit` | Audit a skill directory against the agentskills.io spec and produce a findings report | | `agent-author` | Author an agent definition file | | `agent-audit` | Audit an agent definition across structure, provider safety, description and body quality, and provenance; produces a findings report | | `apm-install` | Install or upgrade the apm CLI and set up the agent runtimes it drives (Copilot CLI, Codex, Gemini, generic llm) | | `apm-workflow` | Author apm.yml, scaffold an apm package/marketplace, install dependencies, and compile/pack/publish/audit apm content | Pre-commit tooling (`pc-author`, `pc-run`) lives in the `git` plugin, not here. ## Author Defame1297