Corrects three FAIL findings from the skill-audit run: - Scope detection table in SKILL.md and references/scripts.md now lists all four plugin-marker variants the script actually checks (plugin.json, .claude-plugin/plugin.json, .plugin/plugin.json, .github/plugin/plugin.json) - assets/README.md copilot.agent.md description was wrong about field set; replaced with accurate CLI-format description noting excluded cloud/IDE fields and the Copilot tool aliases actually used. Also applies the SUGGESTION: moves the conditional reference (`If the destination is a plugin directory, read references/deployment-modes.md`) out of the ## Gotchas section body and into ## Route as a standalone line, immediately after ## Gotchas closes. INFO findings (source_keys frontmatter) were already present in both references/README.md and references/scripts.md — no change needed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147vXtL5sP6vorDdqXGJJU9
2.1 KiB
source_keys
| source_keys |
|---|
Scripts Reference
Conventions for scripts/new-agent.sh and any future scripts in this skill.
Contract
All scripts in this skill must follow these rules:
- No interactive prompts — agents run non-interactive; blocking on TTY input hangs indefinitely. Accept all input via positional arguments, flags, or environment variables.
- Structured output — file paths and status messages to stderr; nothing to stdout unless a downstream tool needs to consume it.
- Idempotent — "create if not exists" per file. The scaffold script skips any file that already exists; agents may safely re-run it.
- Meaningful exit codes —
0success,1invalid arguments or precondition failure. Document in--help. - Self-contained — no external package installs at runtime. The script uses only bash builtins and POSIX tools (
sed,mkdir,cat).
Template variables
The scaffold script uses sed "s/AGENT_NAME/$AGENT_NAME/g" to substitute the agent name into templates. Template files must use AGENT_NAME (all caps, no delimiters) as the substitution token.
Do not add additional substitution tokens unless you update both the template files and the script in the same edit pass.
File placement
The script creates files at paths determined by scope detection (plugin / project / user). Scope is detected from the presence of plugin.json, .claude-plugin/plugin.json, .plugin/plugin.json, or .github/plugin/plugin.json in the root directory. If scope detection logic changes, update the new-agent.sh usage comment and SKILL.md Step 1 scope detection table in the same pass.
Error messages
On failure, state: what went wrong, what was expected, what to try. Example:
Error: agent-name must use lowercase letters, numbers, and hyphens only.
No leading, trailing, or consecutive hyphens.
Received: 'My_Agent'
Vague errors leave agents unable to self-correct.
--help output
Keep --help concise — it may enter the agent's context window. Include: usage line, argument descriptions with scope detection table, exit codes. Omit prose explanations.