{
  "markdown": "# subagent-skills\n\nProject-level templates and a setup skill for **Sol (leader) + Luna (workers)** multi-agent workflows in Codex, Claude Code, and Pi.\n\nBlog (Chinese, longer write-up):  \nhttps://catcat.blog/2026/08/sol-luna-layered-subagents-codex-claude-pi.html\n\n## Install\n\n```bash\nnpx skills add Yuri-NagaSaki/subagent-skills -g -y\n```\n\nClaude Code only:\n\n```bash\nnpx skills add Yuri-NagaSaki/subagent-skills -g -a claude-code -y\n```\n\nProject-local:\n\n```bash\nnpx skills add Yuri-NagaSaki/subagent-skills -y\n```\n\nList skills in this repo:\n\n```bash\nnpx skills add Yuri-NagaSaki/subagent-skills -l\n```\n\nInstalled skill: **`sol-luna-setup`**.\n\nAfter install, ask the agent to run that skill on the current project.\n\n## Optional: write project files\n\n```bash\ngit clone https://github.com/Yuri-NagaSaki/subagent-skills.git\nexport OPENAI_API_KEY=...   # env only; never commit\nbash subagent-skills/scripts/bootstrap.sh /path/to/project\n```\n\nCreates or merges:\n\n- `.codex/config.toml`, `.codex/agents/luna_*.toml`\n- `AGENTS.md`\n- `.claude/agents/luna-*.md`, `CLAUDE.md`\n- `scripts/prepare-luna-catalog.sh`\n\nEdit `base_url` in `.codex/config.toml` for your provider.\n\n## Layout\n\n```text\nskills/sol-luna-setup/     # discovered by npx skills\ntemplates/                 # codex / claude / pi copies\nscripts/bootstrap.sh\nscripts/prepare-luna-catalog.sh\ndemo/                      # tiny auth sample + npm test\ndocs/sol-luna-catalog-fix.md\n```\n\n## Sol cannot spawn Luna\n\nCommon error:\n\n```text\nUnknown model `gpt-5.6-luna` for spawn_agent\n```\n\n```bash\nbash scripts/prepare-luna-catalog.sh \"$(pwd)/.codex/models-v1.json\"\n```\n\nPoint `model_catalog_json` at that file. Keep `multi_agent_v2 = false`.  \nDetails: [docs/sol-luna-catalog-fix.md](docs/sol-luna-catalog-fix.md).\n\n## Smoke checks\n\n```bash\ncodex exec --sandbox read-only -c 'model=\"gpt-5.6-sol\"' \\\n  \"Reply: SOL_SMOKE_OK\" </dev/null\n\ncodex exec --sandbox read-only -c 'model=\"gpt-5.6-luna\"' \\\n  \"Reply: LUNA_SMOKE_OK\" </dev/null\n\ncodex exec --sandbox read-only \\\n  \"Use luna_scout per AGENTS.md; start answer with SCOUT_DONE\" </dev/null\n```\n\n`codex exec` reads stdin; always redirect `</dev/null` in scripts.\n\nDemo:\n\n```bash\ncd demo && npm test\n```\n\n## Roles\n\n| Role | Model | Notes |\n|------|--------|--------|\n| Main session | `gpt-5.6-sol` | Plan, review, commit/PR |\n| luna_scout | `gpt-5.6-luna` | Read-only |\n| luna_worker | `gpt-5.6-luna` | Bounded writes; no commit |\n| luna_critic | `gpt-5.6-luna` | Adversarial review |\n| luna_tester | `gpt-5.6-luna` | Run specified tests |\n\n## Safety\n\n- Do not commit API keys, host credentials, or private IPs.\n- Use env vars (`OPENAI_API_KEY`, `GATEWAY_API_KEY`).\n- Ignore `models-v1.json` in git (generated locally).\n- Demo auth code is not production-safe.\n\n## License\n\n[MIT](LICENSE)\n\n",
  "bytes": 2782,
  "sha": "f71a488c57ad8aeb18f40e0b007e56512d1e06493edcfa28be922d716e0c7fcb",
  "repo_slug": "yuri-nagasaki/subagent-skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://api.agentalog.com/api/listings/skl_yuri_nagasaki_subagent_skills_sol_luna_s_0294324e/readme"
}