skill-manifest-genlisted
Install: claude install-skill iansteitz1-eng/aria-skills
# Skill Manifest Gen — cross-harness discovery, blanket-covered
Every aria-skill is one executable. Claude Code discovers it via `SKILL.md`;
other harnesses need their own discovery file. This generates all three from the
same sources of truth so they can't drift:
| Harness | File it needs |
|---|---|
| OpenAI / Codex / xAI Grok | `manifest/openai.json` (Tool/Function schema) |
| Google Gemini | `manifest/gemini.json` (`function_declarations`) |
| MCP — VS Code, Cursor, Claude Desktop | `manifest/mcp.json` (tool spec 2024-11-05) |
Sources of truth: **`SKILL.md` frontmatter** (name + description) + the skill's
**script argparse** (→ the input parameter schema). Nothing is hand-authored, so
a regenerate always matches the skill.
## Run it
```sh
# one skill (skips if manifest/ already exists)
python3 skill-manifest-gen/gen_manifests.py --skill-dir safe-restart
# blanket: every skill in the repo (existing manifests left untouched)
python3 skill-manifest-gen/gen_manifests.py --all --repo-root .
# CI drift gate: report any skill missing a manifest or whose description is stale
python3 skill-manifest-gen/gen_manifests.py --all --check # exit 2 if any
# deliberately regenerate a curated one
python3 skill-manifest-gen/gen_manifests.py --skill-dir foo --force
```
## Safety / fidelity
- **Never clobbers.** In write mode an existing `manifest/` is **skipped** unless
`--force` — curated manifests are often hand-tuned past what argparse exposes
(richer param docs, corr