ワンクリックで
tap
tap — Multi-session control tower. Setup parallel worktrees, monitor progress, audit missions.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
tap — Multi-session control tower. Setup parallel worktrees, monitor progress, audit missions.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | tap |
| description | tap — Multi-session control tower. Setup parallel worktrees, monitor progress, audit missions. |
| user-invocable | true |
An installable operating protocol for coordinating parallel AI agents across git worktrees. File-based comms. Scope isolation. Generational knowledge transfer.
/tap:tap # Dashboard
/tap:tap setup N # Create N missions
/tap:tap launch [ids] # Print terminal tab prompts
/tap:tap audit # Audit all missions
/tap:tap teardown [id] # Clean up completed mission
/tap:tap sync # Sync mission files to worktrees
/tap:inbox # Check messages, reviews, findings
/tap:findings # List out-of-scope discoveries
| Role | Description |
|---|---|
| Control Tower | Runs from main repo. Orchestrates missions. Never checks out branches. |
| Agent | Runs in a worktree. Owns a scope. Creates PRs. Reports via comms. |
{repo}/
├── docs/missions/
│ ├── MISSIONS.md # Control tower only — global index + rules
│ └── {name}.md # Per-mission state (agent updates own file only)
└── .tap-config # Optional: override COMMS_DIR, MISSIONS_DIR
{comms}/ # Shared git repo (default: ../project-comms/)
├── inbox/ # Real-time messages between sessions
├── reviews/ # External code review results
├── findings/ # Out-of-scope discoveries from agents
├── retros/ # Session retrospectives
└── handoff/ # Session handoff documents
{repo-root}/
├── ../wt-1/ # Slot 1 worktree (stable path)
├── ../wt-2/ # Slot 2 worktree
└── ../wt-N/ # Slot N worktree
These rules govern every tap session:
Session start: Update mission status → active. Check {COMMS_DIR}/inbox/ for messages to you or broadcasts.
Session end: Commit+push branch → update mission file (status, tasks, notes) → write retro → commit+push main.
Machine move: git pull in both repo and comms dir → check inbox → checkout branch → continue from mission file.
Scope isolation: Only modify directories listed in your mission scope. Record overlaps or conflicts in the mission file.
Blockers: Set status → blocked. Describe clearly in ## Blockers section. Wait for control tower.
Out-of-scope changes: DO NOT fix things outside your scope. Write a finding to {COMMS_DIR}/findings/ and move on.
Execution: Use Agent Teams for 3+ independent tasks. Use autonomous loops when applicable.
Testing: Always cover happy path + edge case + negative case.
Reporting: Record critical insights and architecture decisions in ## Notes immediately, not at session end.
Devlog: Write your own session devlog. Include what you did, why, and what changed.
Retro: At session end, write to {COMMS_DIR}/retros/{generation}/{name}.md. What worked, what didn't, lessons for next agent.
Large commits (50+ files): export HUSKY=0 before commit. Lint-staged OOM is real.
Worktree settings: After setup, always run: git update-index --skip-worktree .claude/settings.local.json
MISSIONS.md on behalf of agents. They must update their own mission files.{COMMS_DIR}/reviews/ — not GitHub PR comments. Agents must check this directory, not GitHub.../wt-1, ../wt-2) prevent session breakage. Never use descriptive names like ../hua-tap5-featurename — these break when tabs are reopened.{name}.md.gh pr create directly. Do not ask the control tower to create PRs.{COMMS_DIR}/reviews/, not GitHub. Check there for Codex and human reviews.{COMMS_DIR}/findings/ and keep working.handoff.md so the next agent picks up at 95% context, not 0%.{YYYYMMDD}-{HHMM?}-{from}-{to}-{subject}.md
Examples:
20260320-실-전체-환영.md — broadcast welcome message20260320-검-실-머지완료.md — agent "검" reporting merge to control "실"20260320-0910-진-록-리뷰결과.md — timed review resultto field: agent name, all, or 전체 for broadcast.
{YYYYMMDD}-{agent}-{type}-{slug}.md
Types: bug | improve | vuln | idea
Examples:
20260320-검-bug-phantom-logo-component.md20260320-록-improve-registry-audit-automation.md20260320-록-vuln-unvalidated-redirect.mdIf not using /tap:tap setup:
# 1. Create worktree at stable slot path
git worktree add ../wt-1 -b feat/my-mission main
# 2. Copy permissions
cp .claude/settings.local.json ../wt-1/.claude/settings.local.json
git -C ../wt-1 update-index --skip-worktree .claude/settings.local.json
# 3. Bootstrap
cd ../wt-1
pnpm install # or npm install
# 4. Ensure comms directory exists and is a git repo
ls ../project-comms/ || (mkdir ../project-comms && git -C ../project-comms init)
comms/reviews/, never GitHub-only.HUSKY=0 pattern standardized for large commits.Multi-agent value = scope isolation + cross-validation, not parallel speed. The win is that agents catch each other's blind spots, not that everything happens simultaneously.
Optional file in repo root to override defaults:
# .tap-config
TAP_COMMS_DIR="/path/to/comms" # Default: ../project-comms/
TAP_MISSIONS_DIR="./docs/missions" # Default: {repo}/docs/missions/
TAP_SLOT_PREFIX="../wt" # Default: ../wt (creates ../wt-1, ../wt-2...)
TAP_GENERATION="3" # Current generation number (for retros)
TAP_PACKAGE_MANAGER="pnpm" # Default: pnpm (falls back to npm)
For autonomous multi-session work:
{
"permissions": {
"allow": [
"Read", "Edit", "Write", "Glob", "Grep",
"Bash(git:*)", "Bash(pnpm:*)", "Bash(npm:*)",
"Bash(node:*)", "Bash(npx:*)", "Bash(gh:*)",
"Bash(ls:*)", "Bash(mkdir:*)", "Bash(cp:*)",
"Bash(bash:*)", "Agent", "WebFetch"
]
}
}