Plugin scope now authors a single vendor-neutral .apm/agents/<name>.agent.md file (name/description/model/body only) instead of a Claude Code + Copilot CLI pair, per ADR-0016: apm compile has no per-target field integrator, so tools: and all Claude-only fields (isolation/maxTurns/effort/memory/ permissionMode) are omitted entirely rather than shipping a value that's guaranteed wrong on one harness. Scope detection switches from a flat plugin.json check to the same apm.yml+type: walk-up agent-audit's validate.sh already uses. Project scope and user scope are unaffected — both keep the existing dual-file pair model. Refs: #89
46 lines
2.7 KiB
Markdown
46 lines
2.7 KiB
Markdown
# agent-author
|
|
|
|
Creates and improves agent definition files for Claude Code and GitHub Copilot CLI.
|
|
|
|
## What it does
|
|
|
|
Scaffolds and fills in agent definition files at plugin/APM, project, or user scope. Project and user scope always generate a Claude Code + Copilot CLI file pair (`.md` + `.agent.md`) in one pass. Plugin/APM scope generates a single vendor-neutral `.apm/agents/<name>.agent.md` file instead — no separate Claude Code / Copilot split, since `apm compile` has no per-target field integrator (see ADR-0016). Also applies improvement signals — grill output, inline feedback, session context — to existing agent files. Bumps the version after every change: the resolved package's `apm.yml` at plugin/APM scope (minor for new agents, patch for improvements); project/user scope has no manifest to bump.
|
|
|
|
## Before you start
|
|
|
|
Have ready: the agent's name (kebab-case), the root directory (plugin root, project root, or `~`), a one-sentence purpose, and the triggering condition (when should the runtime delegate to this agent?).
|
|
|
|
## Usage
|
|
|
|
```
|
|
/agent-author
|
|
```
|
|
|
|
**Manual scaffold (human workflow):**
|
|
```bash
|
|
bash scripts/new-agent.sh <agent-name> <root>
|
|
|
|
# Examples:
|
|
bash scripts/new-agent.sh code-reviewer packages/my-package/ # plugin/APM scope if packages/my-package/apm.yml has a type: field
|
|
bash scripts/new-agent.sh deploy-assistant .
|
|
bash scripts/new-agent.sh security-reviewer ~
|
|
```
|
|
|
|
## Files
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `SKILL.md` | Skill instructions for agents |
|
|
| `scripts/new-agent.sh` | Scaffolds agent definition file(s) from templates — a single `.apm/agents/<name>.agent.md` at plugin/APM scope, or a Claude Code + Copilot CLI pair at project/user scope |
|
|
| `references/deployment-modes.md` | Plugin/APM vs project vs user scope: restrictions, scoped identifiers, path conventions |
|
|
| `references/scripts.md` | Conventions for new-agent.sh and any future scripts: contract, template variables, file placement, error messages |
|
|
| `references/sources.md` | Research provenance — sources that informed this skill |
|
|
| `assets/templates/claude-code.md` | Annotated Claude Code agent definition template (project/user scope) |
|
|
| `assets/templates/copilot.agent.md` | Annotated Copilot CLI agent definition template (project/user scope) |
|
|
| `assets/templates/apm-agent.md` | Annotated vendor-neutral APM agent definition template (plugin/APM scope) |
|
|
| `tests/new-agent.bats` | bats tests for `scripts/new-agent.sh` |
|
|
| `assets/README.md` | Directory meta-documentation for assets/ |
|
|
| `references/README.md` | Directory meta-documentation for references/ |
|
|
| `scripts/README.md` | Directory meta-documentation for scripts/ |
|
|
| `tests/README.md` | bats dependency instructions and run command |
|