scribe
CLAUDE.md6 starsChanged 7 months agoMITView on GitHub
Scribe is an agent-first CLI for managing local AI coding agent skills. Prefer JSON mode for automation and inspect command schemas when composing calls. Migrated commands emit a versioned envelope on stdout: Errors use the same envelope shape on stderr. Payload keys that were previously top-level now live under data. Use scribe schema <command> --json before calling an unfamiliar command. Use --fields only on commands whose schema lists the flag. When updating scripts from pre-envelope output, change jq '.foo' to…
The file
We split this CLAUDE.md into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 43
Use scribe schema <command> --json before calling an unfamiliar command.
- Very specific: line 134
Use --fields name,version as a separate flag, not overloaded --json name,version.
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Scribe Agent Contract
Scribe is an agent-first CLI for managing local AI coding agent skills. Prefer JSON mode for automation and inspect command schemas when composing calls.
JSON Envelope
Migrated commands emit a versioned envelope on stdout:
{
"status": "ok",
"format_version": "1",
"data": {},
"meta": {
"duration_ms": 12,
"bootstrap_ms": 3,
"command": "scribe list",
"scribe_version": "dev"
}
}Errors use the same envelope shape on stderr. Payload keys that were previously top-level now live under data.
Exit Codes
| Code | Meaning |
| 0 | success |
| 1 | general operational failure |
| 2 | usage or invalid flags |
| 3 | requested command, registry, skill, or schema was not found |
| 4 | permission or authentication failure |
| 5 | conflict requiring user action |
| 6 | network or remote service failure |
| 7 | temporarily unavailable local dependency |
| 8 | validation failure |
| 9 | user canceled |
| 10 | partial success; inspect data.summary.failed or item-level errors |
Prompting Tips
Use scribe schema <command> --json before calling an unfamiliar command. Use --fields only on commands whose schema lists the flag. When updating scripts from pre-envelope output, change jq '.foo' to jq '.data.foo'.
Examples:
scribe list --json --fields name,status
scribe schema sync --json
scribe sync --json | jq '.data.summary'
scribe adopt --dry-run --json | jq '.data.conflicts'Commands
| Command | Flags | Output schema |
scribe add | --alias, --force, --id, --json, --no-interaction, --path, --ref, --registry, --repo, --resync, --source, --url | yes |
scribe adopt | --dry-run, --json, --no-interaction, --verbose | yes |
scribe browse | --id, --install, --json, --no-interaction, --path, --query, --ref, --registry, --repo, --resync, --source, --url | no |
scribe check | --json | yes |
scribe config adoption | --add-path, --json, --mode, --remove-path | no |
scribe config set editor | --json | no |
scribe config set | --json | no |
scribe config | --json | no |
scribe create registry | --json, --owner, --private, --repo, --team | no |
scribe create | --json | no |
scribe doctor | --fix, --json, --skill | yes |
scribe explain | --json, --raw | yes |
scribe guide | --json | yes |
scribe init | --force, --json | yes |
scribe install | --alias, --all, --force, --json, --registry | no |
scribe kit create | --description, --force, --json, --mcp-servers, --registry, --skills | no |
scribe kit install | --alias, --force, --json, --no-deps, --no-interaction | no |
scribe kit list | --fields, --json, --local, --registry, --remote | no |
scribe kit push | --json, --registry | no |
scribe kit show | --json | no |
scribe kit sync | --force, --json, --no-deps, --no-interaction | no |
scribe kit | --json | no |
scribe list | --fields, --json, --registry, --remote | yes |
scribe mcp list | --json | yes |
scribe mcp | --json | no |
scribe migrate global-to-projects | --dry-run, --force, --json, --no-interaction, --project, --undo | yes |
scribe migrate | --json | no |
scribe project init | --force, --json, --kits | yes |
scribe project kit add | --json, --no-sync | yes |
scribe project kit remove | --json, --no-sync | yes |
scribe project kit | --json | no |
scribe project snippet add | --json, --no-sync | yes |
scribe project snippet remove | --json, --no-sync | yes |
scribe project snippet | --json | no |
scribe project skill add | --json, --no-sync | yes |
scribe project skill claim | --json | yes |
scribe project skill create | --json | yes |
scribe project skill remove | --block, --json, --no-sync | yes |
scribe project skill | --json | no |
scribe project sync | --check, --force, --json, --vendor | yes |
scribe project | --json | no |
scribe push | --json | yes |
scribe registry add | --install, --json, --no-interaction, --registry | no |
scribe registry connect | --force-kits, --id, --install-all, --json, --path, --ref, --repo, --source, --url | yes |
scribe registry create | --json, --owner, --private, --repo, --team | no |
scribe registry disable | --json | no |
scribe registry enable | --json | no |
scribe registry forget | --json | no |
scribe registry index | --json | no |
scribe registry list | --json | no |
scribe registry migrate | --json | no |
scribe registry resync | --force-kits, --json, --refresh-kits | yes |
scribe registry | --json | no |
scribe remove | --json, --no-interaction | no |
scribe resolve | --json, --ours, --theirs | no |
scribe restore | --json | no |
scribe schema | --all, --json, --markdown | no |
scribe show | --json | no |
scribe skill edit | --add, --inherit, --json, --pin, --remove, --tools | no |
scribe skill repair | --from, --json, --tool | no |
scribe skill tools | --disable, --enable, --json, --reset | no |
scribe skill | --json | no |
scribe status | --json | yes |
scribe sync | --alias, --force, --json, --registry, --trust-all | yes |
scribe tools add | --detect, --install, --json, --path, --uninstall | no |
scribe tools disable | --json | no |
scribe tools enable | --json | no |
scribe tools | --json | no |
scribe update | --apply, --json | yes |
scribe upgrade-agent | --json | no |
scribe upgrade | --check, --json | no |
scribe | no |
Spec Deviations
- Use
--fields name,versionas a separate flag, not overloaded--json name,version; this preserves boolean--json=truecompatibility. meta.duration_msmeasures leafRunEexecution.meta.bootstrap_mscovers first-run, store migration, builtins apply, and embedded-agent refresh work before the leaf command runs.- Some wave-3 commands still reject
--jsonwithJSON_NOT_SUPPORTED; inspectscribe schema --all --jsonfor migrated commands.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

