feat(cli): ship the agent skill inside the binary

A `cargo install` leaves a binary and nothing else, so there is no file on
disk for a coding agent to read. `skills install` writes an embedded SKILL.md
into every agent found on the machine — Claude Code and opencode today, any
other via --dir — and installing over an older copy is what updating means.

The skill carries what --help cannot: the JSON keys of every record, what each
exit code means, and the rule that an agent always passes --json. A unit test
walks the clap command tree and holds SKILL.md to a documented entry for every
command, so a new subcommand fails the build until it is written up.
This commit is contained in:
Michel de Graaf
2026-07-25 02:17:11 +02:00
parent 03e8924a6b
commit 95bc18672d
7 changed files with 543 additions and 3 deletions
+3
View File
@@ -61,6 +61,9 @@ fn run(mut cli: Cli, out: &Out) -> CliResult {
Commands::Portmap => {
return commands::portmap(out, resolved.listener_port);
}
Commands::Skills(ref command) => {
return commands::skills::run(out, command);
}
Commands::Config(ConfigCommand::Path) => {
return commands::settings::config_path(out, &store);
}