Claude Code Agent Development
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
Orchestrate parallel agent sessions through a sprint. An agent skill from garagon/nanostack.
$ npx skills add garagon/nanostack --skill conductor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install garagon/nanostack conductor --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/garagon/nanostack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/conductor .claude/skills/conductor && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "conductor" agent skill from https://github.com/garagon/nanostack/tree/main/conductor into .claude/skills/conductor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conductor", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/garagon/nanostack/tree/main/conductorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add garagon/nanostack --skill conductor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install garagon/nanostack conductor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garagon/nanostack.git skills-src && mkdir -p .agents/skills && cp -r skills-src/conductor .agents/skills/conductor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "conductor" agent skill from https://github.com/garagon/nanostack/tree/main/conductor into .agents/skills/conductor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conductor", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add garagon/nanostack --skill conductor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install garagon/nanostack conductor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garagon/nanostack.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/conductor .cursor/skills/conductor && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "conductor" agent skill from https://github.com/garagon/nanostack/tree/main/conductor into .cursor/skills/conductor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conductor", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/garagon/nanostack.git --path conductor--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add garagon/nanostack --skill conductor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install garagon/nanostack conductor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garagon/nanostack.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/conductor .gemini/skills/conductor && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "conductor" agent skill from https://github.com/garagon/nanostack/tree/main/conductor into .gemini/skills/conductor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conductor", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install garagon/nanostack conductorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add garagon/nanostack --skill conductor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/garagon/nanostack.git skills-src && mkdir -p .github/skills && cp -r skills-src/conductor .github/skills/conductor && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "conductor" agent skill from https://github.com/garagon/nanostack/tree/main/conductor into .github/skills/conductor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conductor", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add garagon/nanostack --skill conductor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install garagon/nanostack conductor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garagon/nanostack.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/conductor .opencode/skills/conductor && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "conductor" agent skill from https://github.com/garagon/nanostack/tree/main/conductor into .opencode/skills/conductor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conductor", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
conductorOrchestrate parallel agent sessions through a sprint. An agent skill from garagon/nanostack.
Conductor is an agent skill from garagon/nanostack. Orchestrate parallel agent sessions through a sprint. Coordinates task claiming, dependency resolution, and artifact handoff between independent agents. Triggers on /conductor, /sprint, /parallel.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `agents/openai.yaml` and `bin/sprint.sh`).
It sits in Agent Workflows, covering Subagents. The repository describes itself as: A workflow harness that helps AI coding agents plan, review, test, and ship safer code. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0372aed. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Conductor loads about 2.6k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 841 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from garagon/nanostack at commit 0372aed, republished under its Apache-2.0 licence (© garagon). 841 words, ~2,564 tokens.
.claude/skills/conductor/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Coordinate multiple agent sessions working on the same project. Each agent claims a task, executes it, produces an artifact, and the next agent picks up where it left off.
No daemon. No service. No IPC. Just atomic file operations on .nanostack/conductor/.
Defensive telemetry init. No-op if telemetry is disabled via NANOSTACK_NO_TELEMETRY=1, ~/.nanostack/.telemetry-disabled, or if the helpers are removed.
_P="$HOME/.claude/skills/nanostack/bin/lib/skill-preamble.sh"
[ -f "$_P" ] && . "$_P" conductor
unset _PAgent A (claude) Filesystem Agent B (codex)
│ │ │
├─ claim "plan" ────────►│ │
│ [plan.lock = A] │
│ │◄──── claim "plan" ─────┤
│ │ REJECTED (locked) │
│ │ │
├─ complete "plan" ─────►│ │
│ [plan.done + artifact] │
│ │ │
│ │◄──── claim "review" ───┤
│ [review.lock = B] │
│ │ OK (plan.done exists) │A sprint is a sequence of phases with dependencies:
{
"sprint_id": "abc123",
"project": "/path/to/repo",
"phases": [
{ "name": "think", "depends_on": [] },
{ "name": "plan", "depends_on": ["think"] },
{ "name": "build", "depends_on": ["plan"] },
{ "name": "review", "depends_on": ["build"] },
{ "name": "security", "depends_on": ["build"] },
{ "name": "qa", "depends_on": ["build"] },
{ "name": "ship", "depends_on": ["review", "security", "qa"] }
]
}Note: review, security, and qa can run in parallel — they all depend on build, not on each other. ship waits for all three.
conductor/bin/sprint.sh start [--phases "think,plan,build,review,security,qa,ship"]Creates .nanostack/conductor/<sprint_id>/ with the phase graph. Default is the full workflow.
conductor/bin/sprint.sh claim <phase> [--agent <name>]Atomic claim using mkdir (POSIX atomic on same filesystem). Fails if:
conductor/bin/sprint.sh complete <phase> [--artifact <path>]Marks phase done. Links the artifact if provided. Unlocks downstream phases.
conductor/bin/sprint.sh statusOutputs the current sprint state — which phases are pending, claimed, done, and by whom.
conductor/bin/sprint.sh abort [phase]Release a claim without completing. Use when an agent encounters a blocker.
conductor/bin/sprint.sh nextPrint the first phase that is not done, has all dependencies met, and is not currently locked. Empty output means nothing is claimable right now (sprint complete, or all available phases are held by other agents). Use this so an agent that just joined the sprint does not have to parse status to know what to claim.
conductor/bin/sprint.sh unstuck <phase> [--force]Force-release a lock when its owner PID is dead, without waiting the 1-hour grace period that claim uses for auto-recovery. Refuses if the PID is alive (you should let the owner finish or call abort yourself); pass --force to release a lock with a live PID. Use this when an agent crashed without releasing its lock and you need to keep moving.
conductor/bin/sprint.sh batchReads concurrency metadata from each skill's SKILL.md frontmatter and outputs execution batches. Consecutive read phases with met dependencies are grouped into parallel batches. write phases run one at a time. exclusive phases run alone.
Concurrency classification:
| Value | Meaning | Example |
|---|---|---|
read | Read-only, safe to parallelize | review, qa, security |
write | Mutates files, run serial | compound |
exclusive | Needs exclusive access (git ops) | ship, guard |
Example output:
{"batch":1,"type":"read","phases":["think"]}
{"batch":2,"type":"read","phases":["plan"]}
{"batch":3,"type":"write","phases":["build"]}
{"batch":4,"type":"read","phases":["review","security","qa"]}
{"batch":5,"type":"exclusive","phases":["ship"]}Batch 4 shows review, security, and qa running in parallel — they share concurrency: read and all depend only on build.
.nanostack/conductor/
└── <sprint_id>/
├── sprint.json # Sprint definition + metadata
├── think/
│ ├── lock # Contains: {"agent":"claude","claimed_at":"...","pid":1234}
│ ├── done # Exists = phase complete. Contains: {"completed_at":"...","artifact":"..."}
│ └── artifact.json → ... # Symlink to the actual artifact in .nanostack/think/
├── plan/
│ ├── lock
│ └── ...
├── review/ # Can start once build/done exists
├── qa/ # Can start once build/done exists (parallel with review)
├── security/ # Can start once build/done exists (parallel with review)
└── ship/ # Can start once review/done AND qa/done AND security/done existmkdir <phase>/lock.d (atomic on POSIX). If it succeeds, you own it. Write agent metadata, then mv lock.d lock.done file, remove lock.lock directory.One agent, one sprint. Same as today — the conductor just adds visibility:
You: /conductor start
You: /think → /nano → build → /review → /security → /qa → /ship
[each phase auto-claims and auto-completes]One build, then fan out review + qa + security in parallel:
Terminal 1: /conductor start
Terminal 1: /think → /nano → build
Terminal 1: /review
Terminal 2: /qa # claims qa (build.done exists)
Terminal 3: /security # claims security (build.done exists)
Terminal 1: /ship # waits until review + qa + security all doneMultiple developers, each running their own agent:
Dev A (claude): /think → /nano
Dev B (codex): build (claims after plan.done)
Dev A (claude): /review (claims after build.done)
Dev C (opencode): /security (claims after build.done, parallel with review)
Dev A (claude): /ship (claims after review.done + security.done)Every phase transition follows this protocol. The agent executes these steps at every boundary — they are mandatory, not optional.
bin/session.sh resumebin/restore-context.shbin/session.sh init <type>bin/validate-dependencies.sh <phase>bin/session.sh phase-start <phase>context_checkpoint via bin/save-artifact.shcontext_checkpoint must include: summary, key_files, decisions_made, open_questionscontext_checkpoint populatedbin/session.sh phase-complete <phase>bin/session.sh resume detects the last session statebin/restore-context.sh reads all completed phase checkpointsBefore returning control:
_F="$HOME/.claude/skills/nanostack/bin/lib/skill-finalize.sh"
[ -f "$_F" ] && . "$_F" conductor success
unset _FPass abort or error instead of success if conductor did not complete normally.
© garagon, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in conductor of garagon/nanostack.
Open the folder on GitHubat commit 0372aed
Conductor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Conductor this skillgaragon/nanostack | 207 | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Claude Code Agent Developmentanthropics/claude-plugins-official | 38k | 8 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Subagent Driven DevelopmentAsvarox/allkaraoke | 261 | 38 repos | ~1.2k | Automated safety check: Pass | None | |
| Dispatching Parallel Agentsultralisp/ultralisp | 258 | 41 repos | ~1.5k | Automated safety check: Pass | None | |
| Paseo Advisor Second Opiniongetpaseo/paseo | 20k | 1 repos | ~756 | Automated safety check: Pass | Custom licence | |
| Task Observerrebelytics/one-skill-to-rule-them-all | 3.2k | 1 repos | ~12k | Automated safety check: Pass | CC-BY-4.0 |
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
Asvarox/allkaraoke
A skill your agent uses when executing implementation plans with independent tasks in the current session
ultralisp/ultralisp
A skill your agent uses when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
getpaseo/paseo
Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.
rebelytics/one-skill-to-rule-them-all
Monitors task execution for skill improvement opportunities.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
garagon/nanostack
A skill your agent uses when starting non-trivial work (touching 3+ files, new features, refactors, bug investigations).
garagon/nanostack
First-time setup and guided sprint. An agent skill from garagon/nanostack.
garagon/nanostack
Use before shipping to production. An agent skill from garagon/nanostack.
garagon/nanostack
A skill your agent uses when code is ready to ship — creates PRs, merges, deploys, and verifies.
garagon/nanostack
Document what you learned during this sprint. An agent skill from garagon/nanostack.
garagon/nanostack
Add a feature to an existing project with a full sprint. An agent skill from garagon/nanostack.
Categories
Orchestrate parallel agent sessions through a sprint. An agent skill from garagon/nanostack. Conductor is an agent skill from garagon/nanostack. Orchestrate parallel agent sessions through a sprint.
Conductor fits situations like: tasks that involve Subagents.
Run `npx skills add garagon/nanostack --skill conductor -a claude-code`. Or copy the skill folder (conductor in garagon/nanostack) into .claude/skills/conductor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add garagon/nanostack --skill conductor -a codex`. Or copy the skill folder (conductor in garagon/nanostack) into .agents/skills/conductor in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add garagon/nanostack --skill conductor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/conductor, .gemini/skills/conductor, .github/skills/conductor and .opencode/skills/conductor in your project.
Going by SKILL.md and its folder, Conductor needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Conductor is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Conductor: Claude Code Agent Development (anthropics/claude-plugins-official, 38k stars), Subagent Driven Development (Asvarox/allkaraoke, 261 stars), Dispatching Parallel Agents (ultralisp/ultralisp, 258 stars) and Paseo Advisor Second Opinion (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
garagon (a GitHub user) maintains it in garagon/nanostack, which has 207 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on September 10, 2026.
Source: garagon/nanostack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.