[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GXP7RCFSDPW2J4JKH67SYN":3,"skill-same:01M6GXP7RCFSDPW2J4JKH67SYN":83},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":56,"ownerHtmlUrl":57,"ownerBlogUrl":56,"ownerDescription":58,"updatedAt":59,"install":60,"resources":72},"01M6GXP7RCFSDPW2J4JKH67SYN","marshal",null,"Meta-orchestrator that takes any direction — broad, specific, or vague — and autonomously chains skills and context into actionable work. Gathers context from codebase, docs, and memory. Only asks the user when it genuinely cannot proceed. Single-session orchestrator.","SethGammon\u002FCitadel","SethGammon","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5523585?v=4","01M6GXJ90FD2CE9QF5GQERWN06","Seth Gammon","01M6GXJ94VXYGK5KAW14EYE901",929,"MIT","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fmarshal\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"only","true","actionable","it","multi","direction","chain","false","docs","session","orchestrator","user","context","work","Meta","orchestrate","memory","2026-11-10 10:12:30",false,"---\nname: marshal\nlicense: MIT\ndescription: >-\n  Meta-orchestrator that takes any direction — broad, specific, or vague — and\n  autonomously chains skills and context into actionable work. Gathers context\n  from codebase, docs, and memory. Only asks the user when it genuinely cannot\n  proceed. Single-session orchestrator.\nuser-invocable: true\nauto-trigger: false\ntrigger_keywords:\n  - orchestrate\n  - chain skills\n  - multi-step\nlast-updated: 2026-03-20\n---\n\n# \u002Fmarshal — Session Commander\n\n## Orientation\n\nUse Marshal when the task is:\n- Multi-step but bounded (completable in one session)\n- Needs investigation before action\n- Spans multiple skills but doesn't need campaign persistence\n- Too complex for a single skill but doesn't need Archon\u002FFleet\n\n**Don't use when:** the task spans multiple sessions (use \u002Farchon); work decomposes into 3+ parallel streams (use \u002Ffleet); you only need research with no action (use \u002Fresearch).\n- Parallel execution (use Fleet)\n\n## Commands\n\n| Command | Behavior |\n|---|---|\n| `\u002Fmarshal [direction]` | Full loop: understand → plan → execute → report |\n| `\u002Fmarshal assess [area]` | Read-only: understand the area, produce findings, don't fix |\n\n## Protocol\n\n### Phase 1: UNDERSTAND\n\nParse the user's direction into structured intent:\n\n1. Read AGENTS.md, then CLAUDE.md if present, to understand the project's architecture and conventions\n2. Identify: scope (which files\u002Fdirectories), perspective (user, developer, admin),\n   mode (audit, fix, build, improve, map), depth (surface scan vs deep investigation)\n3. If the direction is ambiguous, make a reasonable interpretation and state it.\n   Do NOT ask clarifying questions unless genuinely stuck.\n\n### Phase 2: PLAN CHAIN\n\nMap the intent to a sequence of actions:\n\n| Direction Pattern | Chain |\n|---|---|\n| \"audit [area]\" | explore → analyze → report findings |\n| \"fix [thing]\" | investigate root cause → fix → verify → report |\n| \"map [area]\" | read files in parallel → synthesize → produce analysis |\n| \"improve [area]\" | audit current state → identify gaps → implement → verify |\n| \"what should [X] be\" | research → analyze options → recommend with reasoning |\n| \"research [topic]\" | search codebase + web → synthesize → report |\n\nAnnounce the chain before executing: \"I'll [step 1], then [step 2], then [step 3].\"\n\n### Phase 3: EXECUTE\n\nFor each step in the chain:\n\n1. Load the relevant skill if one exists (e.g., `\u002Freview` for audit steps)\n2. Gather context: read relevant files, check git history, search for patterns\n3. Perform the action\n4. Check the result against the plan — did it produce what was expected?\n5. If a step fails, try one alternative approach before escalating\n\n### Phase 4: REPORT\n\nProduce a structured report:\n\n```\n=== Marshal Report ===\n\nDirection: {original direction}\nScope: {what was examined}\n\nFindings:\n- {finding 1 with file:line reference}\n- {finding 2}\n\nActions Taken:\n- {what was changed, if anything}\n\nRecommendations:\n- {next steps if applicable}\n```\n\n### Phase 5: LEARN\n\nIf the investigation revealed reusable patterns or pitfalls:\n- Note them in the report\n- Suggest creating a skill if a pattern will recur: \"This pattern would\n  make a good skill. Run `\u002Fcreate-skill` to capture it.\"\n\n## Agent Timeouts\n\nWhen Marshal spawns sub-agents (e.g., for parallel investigation or delegated\nskill execution), it must enforce execution time limits. Sub-agents can hang\nindefinitely on tool calls — the circuit breaker catches failures, not hangs.\n\n### Default Timeouts\n\n| Agent Type | Default Timeout |\n|---|---|\n| Skill-level agents | 10 minutes |\n| Research agents | 15 minutes |\n\nTimeouts are configurable in `harness.json` under `agentTimeouts` (same config\nFleet uses). If an agent exceeds its timeout:\n\n1. Log the timeout in telemetry\n2. Check for partial output — extract usable findings if any\n3. Try one alternative approach (simpler prompt, reduced scope)\n4. If retry also times out, skip and note the gap in the report\n\nNever wait indefinitely. A timed-out agent's scope becomes a \"gap\" in the\nMarshal Report's Findings section.\n\n## Fringe Cases\n\n- **Direction is vague** (e.g., \"do the thing\", \"fix it\", \"make it better\"): Ask one clarifying question before proceeding. Do not attempt to guess scope on truly ambiguous input — one focused question is cheaper than executing the wrong plan.\n- **A sub-task fails on first attempt**: Retry once with a different approach (narrower scope, different tool, simpler method). If the second attempt also fails, record the blocker in the report and move on.\n- **No relevant files found for the stated scope**: Report the empty result honestly. Do not fabricate findings. Suggest the user verify the scope or file paths.\n- **CLAUDE.md missing**: Proceed without it. Note the absence in the report so the user knows project conventions weren't applied.\n- **Typecheck not configured**: Skip the verification step and note it as \"unverified\" in the report rather than blocking completion.\n\n## Quality Gates\n\n- Every finding must cite a specific file and line number\n- Every action must be verified (typecheck passes, tests pass)\n- If a fix was applied, confirm the original issue is resolved\n- The report must be concise — no filler, no repetition\n- If you're stuck on a step for more than 3 attempts, skip it and report the blocker\n\n## Exit Protocol\n\n1. Output the Marshal Report (format above)\n2. If work items were discovered but not addressed, suggest creating intake items\n3. Output a HANDOFF block summarizing what was done\n\n```\n---HANDOFF---\n- What: {behavior changed or goal achieved — not the file name, the outcome}\n- Decisions: {key tradeoffs made — include the alternative that was rejected}\n- Unresolved: {what is still open or blocked — actionable next step}\n- Reversibility: {green | amber | red} — {how to undo}\n---\n```\n","# \u002Fmarshal — Session Commander\n\n## Orientation\n\nUse Marshal when the task is:\n- Multi-step but bounded (completable in one session)\n- Needs investigation before action\n- Spans multiple skills but doesn't need campaign persistence\n- Too complex for a single skill but doesn't need Archon\u002FFleet\n\n**Don't use when:** the task spans multiple sessions (use \u002Farchon); work decomposes into 3+ parallel streams (use \u002Ffleet); you only need research with no action (use \u002Fresearch).\n- Parallel execution (use Fleet)\n\n## Commands\n\n| Command | Behavior |\n|---|---|\n| `\u002Fmarshal [direction]` | Full loop: understand → plan → execute → report |\n| `\u002Fmarshal assess [area]` | Read-only: understand the area, produce findings, don't fix |\n\n## Protocol\n\n### Phase 1: UNDERSTAND\n\nParse the user's direction into structured intent:\n\n1. Read AGENTS.md, then CLAUDE.md if present, to understand the project's architecture and conventions\n2. Identify: scope (which files\u002Fdirectories), perspective (user, developer, admin),\n   mode (audit, fix, build, improve, map), depth (surface scan vs deep investigation)\n3. If the direction is ambiguous, make a reasonable interpretation and state it.\n   Do NOT ask clarifying questions unless genuinely stuck.\n\n### Phase 2: PLAN CHAIN\n\nMap the intent to a sequence of actions:\n\n| Direction Pattern | Chain |\n|---|---|\n| \"audit [area]\" | explore → analyze → report findings |\n| \"fix [thing]\" | investigate root cause → fix → verify → report |\n| \"map [area]\" | read files in parallel → synthesize → produce analysis |\n| \"improve [area]\" | audit current state → identify gaps → implement → verify |\n| \"what should [X] be\" | research → analyze options → recommend with reasoning |\n| \"research [topic]\" | search codebase + web → synthesize → report |\n\nAnnounce the chain before executing: \"I'll [step 1], then [step 2], then [step 3].\"\n\n### Phase 3: EXECUTE\n\nFor each step in the chain:\n\n1. Load the relevant skill if one exists (e.g., `\u002Freview` for audit steps)\n2. Gather context: read relevant files, check git history, search for patterns\n3. Perform the action\n4. Check the result against the plan — did it produce what was expected?\n5. If a step fails, try one alternative approach before escalating\n\n### Phase 4: REPORT\n\nProduce a structured report:\n\n```\n=== Marshal Report ===\n\nDirection: {original direction}\nScope: {what was examined}\n\nFindings:\n- {finding 1 with file:line reference}\n- {finding 2}\n\nActions Taken:\n- {what was changed, if anything}\n\nRecommendations:\n- {next steps if applicable}\n```\n\n### Phase 5: LEARN\n\nIf the investigation revealed reusable patterns or pitfalls:\n- Note them in the report\n- Suggest creating a skill if a pattern will recur: \"This pattern would\n  make a good skill. Run `\u002Fcreate-skill` to capture it.\"\n\n## Agent Timeouts\n\nWhen Marshal spawns sub-agents (e.g., for parallel investigation or delegated\nskill execution), it must enforce execution time limits. Sub-agents can hang\nindefinitely on tool calls — the circuit breaker catches failures, not hangs.\n\n### Default Timeouts\n\n| Agent Type | Default Timeout |\n|---|---|\n| Skill-level agents | 10 minutes |\n| Research agents | 15 minutes |\n\nTimeouts are configurable in `harness.json` under `agentTimeouts` (same config\nFleet uses). If an agent exceeds its timeout:\n\n1. Log the timeout in telemetry\n2. Check for partial output — extract usable findings if any\n3. Try one alternative approach (simpler prompt, reduced scope)\n4. If retry also times out, skip and note the gap in the report\n\nNever wait indefinitely. A timed-out agent's scope becomes a \"gap\" in the\nMarshal Report's Findings section.\n\n## Fringe Cases\n\n- **Direction is vague** (e.g., \"do the thing\", \"fix it\", \"make it better\"): Ask one clarifying question before proceeding. Do not attempt to guess scope on truly ambiguous input — one focused question is cheaper than executing the wrong plan.\n- **A sub-task fails on first attempt**: Retry once with a different approach (narrower scope, different tool, simpler method). If the second attempt also fails, record the blocker in the report and move on.\n- **No relevant files found for the stated scope**: Report the empty result honestly. Do not fabricate findings. Suggest the user verify the scope or file paths.\n- **CLAUDE.md missing**: Proceed without it. Note the absence in the report so the user knows project conventions weren't applied.\n- **Typecheck not configured**: Skip the verification step and note it as \"unverified\" in the report rather than blocking completion.\n\n## Quality Gates\n\n- Every finding must cite a specific file and line number\n- Every action must be verified (typecheck passes, tests pass)\n- If a fix was applied, confirm the original issue is resolved\n- The report must be concise — no filler, no repetition\n- If you're stuck on a step for more than 3 attempts, skip it and report the blocker\n\n## Exit Protocol\n\n1. Output the Marshal Report (format above)\n2. If work items were discovered but not addressed, suggest creating intake items\n3. Output a HANDOFF block summarizing what was done\n\n```\n---HANDOFF---\n- What: {behavior changed or goal achieved — not the file name, the outcome}\n- Decisions: {key tradeoffs made — include the alternative that was rejected}\n- Unresolved: {what is still open or blocked — actionable next step}\n- Reversibility: {green | amber | red} — {how to undo}\n---\n```\n",{"name":5,"license":15,"description":7,"auto-trigger":42,"last-updated":46,"user-invocable":47,"trigger_keywords":48},1773964800000,true,[39,49,50],"chain skills","multi-step","main","e1a3d45697a0f323aaedcbea0ab6a0387b5fe722","skills\u002Fmarshal",84,"https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel","https:\u002F\u002Fsethgammon.github.io\u002FCitadel\u002F","https:\u002F\u002Fgithub.com\u002FSethGammon","Building Citadel, the repo-local operating layer for Claude Code and Codex. Persistent work, routing, verification, and coordinated agent fleets.","2026-11-06 02:04:44",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":47},[62,65,68],{"tool":63,"command":64},"npx","npx skills add SethGammon\u002FCitadel --skill marshal",{"tool":66,"command":67},"bunx","bunx skills add SethGammon\u002FCitadel --skill marshal",{"tool":69,"command":70},"pnpm","pnpm dlx skills add SethGammon\u002FCitadel --skill marshal","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fmarshal\u002FSKILL.md",[73,79],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"__benchmarks__\u002Faudit-and-report.md","REFERENCE","参考文档",999,"https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fmarshal\u002F__benchmarks__\u002Faudit-and-report.md",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"__benchmarks__\u002Fvague-direction.md",948,"https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fmarshal\u002F__benchmarks__\u002Fvague-direction.md",[84,107,134,158,183,201],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":41},"01M6GXSBKE9A2HQWF8QRAZ4WJ5","workspace","Multi-repo campaign coordinator. Same lifecycle as fleet -- scope claims, discovery relay, wave-based execution -- but the unit of work is a repo, not a file. Coordinates campaigns across repositories with shared context.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fworkspace\u002FSKILL.md",[],[86,91,92,93,37,36,94,95,96,97,98,99,100,31,101,102,103,104,105,106],"repos","snowflake","multi-repo","campaign","coordinate","but","across","campaigns","shared","as","scope","add","unit","coordinator","fleet","claims",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":116,"publishedAt":41},"01M6GXS873AD1Y6RTM6GV47F3E","wiki","Markdown-first knowledge base where the LLM acts as librarian. Ingests raw sources, compiles and interlinks topic files, self-maintains an index. No vector DB or embeddings required -- uses LLM-native navigation over structured markdown up to ~400K words.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fwiki\u002FSKILL.md",[113],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[109,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,100,31,132,133],"vector","embeddings","librarian","markdown","knowledge","karpathy","knowledge management","karpathy wiki","up","files","maintain","self","knowledge base","project","db","sources","native",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":41},"01M6GXS2840SJ61285SZ43EJC3","watch","File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills. Poll-based via git diff against the last scan commit. Writes intake items for batch processing and routes marker actions through \u002Fdo. Use for automatic reactions to file changes; do NOT use for one-off inspection or tasks needing human judgment per file.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fwatch\u002FSKILL.md",[],[136,141,142,143,144,145,146,147,148,149,150,151,126,152,153,154,155,156,31,157],"directory","commit","tasks","git","batch","actions","start","sentinel","diff","auto","stop","do","scan","human","judgment","reactions","processing",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":167,"publishedAt":41},"01M6GXRXHYJ5RD9RZP81S2VFSW","verify","Self-test the Citadel hook pipeline from within a live session. Exercises real tool calls (Write, Edit, Bash, Read) and checks that hooks fired, telemetry accumulated, and no errors occurred. Reports HOOK HEALTH: PASS or HOOK HEALTH: FAIL with a per-hook breakdown.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Fverify\u002FSKILL.md",[164],{"categoryNo":165,"categoryName":166,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[160,168,169,170,171,172,173,174,175,176,33,177,178,128,179,31,180,181,182,25],"citadel","telemetry","harness","pipeline","Bash","tool","read","write","edit","hooks","reports","live","hook","errors","calls",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":41},"01M6GXRS9MCJFMQZ917H2XH3AC","unharness","Safely leave Citadel using the active adoption receipt. Produces a no-write, reviewable plan, preserves a portable archive, removes only exact owned material, and reports modified or externally registered surfaces as retained or unknown. Legacy installs must be imported before exact leave is claimed.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Funharness\u002FSKILL.md",[],[185,190,168,170,191,192,193,194,24,125,178,195,196,197,198,199,100,31,200,25],"uninstall","adoption","plan","archive","remove","Legacy","surfaces","clean","imported","active","material",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":215,"publishedAt":41},"01M6GXRMEJ2VHD43R9FNPD4910","triage","GitHub issue and PR investigator. Pulls open issues\u002FPRs, classifies them, searches the codebase for root cause or reviews contributed code, proposes fixes with file:line references, and optionally implements fixes. Use for investigating GitHub issues and reviewing PRs; do NOT use for general code review unrelated to GitHub issues.","https:\u002F\u002Fgithub.com\u002FSethGammon\u002FCitadel\u002Fblob\u002Fmain\u002Fskills\u002Ftriage\u002FSKILL.md",[207,210],{"categoryNo":208,"categoryName":209,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":211,"categoryName":212,"taxonomyType":213,"taxonomyTypeDesc":214},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[203,216,217,218,219,220,221,222,223,224,225,226,227,228,152,31,229,230,231,25],"code review","review","review pr","pr","code","github issues","issues","open","use","unrelated","issue","general","references","line","investigator","reviews"]