一键导入
issue
Use when drafting, writing, or filing a GitHub issue that komandant — or any autonomous coding agent — will implement unattended. Covers the required
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when drafting, writing, or filing a GitHub issue that komandant — or any autonomous coding agent — will implement unattended. Covers the required
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when the user invokes /env-check or asks to verify Claude Code env setup in the current repo. Audits per-language LSP plugin enablement (both directions), a linting pre-commit hook, project-local memory, hook-driven git-worktree isolation readiness (a WorktreeCreate hook that creates .worktrees/<branch> and copies .worktreeinclude literally, split provisioning — ops/setup-env.sh with branch-derived ports + COMPOSE_PROJECT_NAME and ops/seed-db.sh with a .seeded-gated DB seed — wired into make up, WorktreeRemove teardown, a PreToolUse cross-worktree edit blocker), and relevance of enabled plugins/MCP servers to the project. Detection runs in parallel Opus subagents; fixes are applied in the main thread.
Use when the user runs /komandant:setup or asks to install, configure, or bootstrap the komandant daemon after installing the plugin. Interactive postinstall — preflight checks, local go build of the binary, workflow install into ~/.claude/workflows, conversational config.json scaffold, optional launchd service, and the run commands.
Use when handing off to a fresh Claude session in the same worktree — splits the current tmux pane top-bottom (anchored to this session's pane) and launches a new `claude --dangerously-skip-permissions` pre-loaded with an initial prompt. The prompt can be a handoff doc reference (`@<doc>`), a slash command (`/brainstorming`, `/writing-plans @<spec>`, `/subagent-driven-development @<plan>`), or any free-text instruction — pass skill args through verbatim. Triggers on phrases like "continue in new session", "fresh session", "hand off to new claude", or after producing a spec/plan/handoff that's ready for the next phase.
Use when handing off to a fresh Claude session in a brand-new git worktree (isolated branch + tmux window). Runs `wtn` to create the worktree and launches claude pre-loaded with an initial prompt — a handoff doc reference (`@<doc>`), a slash command (`/brainstorming`, `/writing-plans @<spec>`, `/subagent-driven-development @<plan>`), or any free-text instruction; pass skill args through verbatim. Triggers on "continue in worktree", "spin up a worktree", "new branch for this", or after producing a spec/plan/handoff that's ready for the next phase in isolation.
| name | issue |
| description | Use when drafting, writing, or filing a GitHub issue that komandant — or any autonomous coding agent — will implement unattended. Covers the required |
komandant spawns an autonomous Claude Code worker for each labelled GitHub issue. The worker reads ONLY the issue body — no human will clarify anything. Its very first step parses the body for an acceptance checklist; that checklist is the hard gate the implementation must pass before a PR opens.
Core rule: an issue with no parseable ## Evaluation checklist makes the
worker abort immediately and comment a failure. A vague issue with a strong,
runnable checklist succeeds; a beautifully-written issue without one fails. Spend
your effort on the checklist.
The worker only recognizes a checklist that obeys ALL of these:
## Evaluation (or exactly ## Tests). Not
## Acceptance Criteria, not ## Evaluation / Tests, not ### Evaluation.
Any other text and the worker finds no checklist and aborts.- [ ] ....Prefer command items. Every prose item is a judgment call that can go either way.
Title: Conventional-Commits style — <type>: <concise imperative summary>
(e.g. feat: add --json flag to greet CLI). Type is one of feat, fix,
chore, refactor, docs, test, perf. Lowercase type, lowercase summary.
Keep the summary short — aim for ≤ 50 characters, ~6 words. komandant
derives the worker's git branch/worktree name from the title
(<type>/<slugified-summary>-<issue-number>), and claude's worktree names cap at
64 characters. A long, clause-packed summary gets truncated mid-word, so the
branch is less readable and less obviously tied to the issue. Put the detail in
## Context / ## Desired behavior, not the title. Prefer
fix: fail loud on scheduling-note read-back over
fix: persistence safety for scheduling notes — merge read-back, fail loud (M0).
Body:
## Context
<Why this is needed and the current behavior. One short paragraph.>
## Desired behavior
<Concretely what should change — inputs, outputs, edge cases. Be specific
enough that an agent with no further questions can implement it.>
## Evaluation
- [ ] `<runnable shell command that exits 0 when the change works>`
- [ ] `<another runnable check>`
- [ ] <prose check, only when no command can express it>
- [ ] `greet Bob --json | python -c "import json,sys; assert json.load(sys.stdin) == {'greeting':'Hello, Bob!'}"`
- [ ] <test suite command, e.g. pytest -q>``
so existing behavior stays intact.<(...), deep nested quote-escaping, and bash-only syntax — the
worker runs the line verbatim, and fragile shell can fail a correct change
(false negative). If a check needs real logic, put it in a tiny test the suite
runs and assert via the suite command instead.--json output contains exactly one key
greeting" — not "the output looks clean".If a GitHub issue-creating tool/connector is available: confirm the target
owner/repo, create the issue with the title and body, then add the trigger
label so komandant picks it up (default komandant, or whatever
trigger_label is set to in that repo's komandant config). Report the issue URL.
Otherwise (mobile, no connector): output the title on one line and the body
in a single fenced markdown block ready to paste into GitHub's "New issue" form.
Then tell the user: after creating it, add the komandant label — the label is
what triggers pickup; the issue sits idle without it.
| Mistake | Why it breaks komandant |
|---|---|
Heading like ## Acceptance Criteria or ## Evaluation / Tests | Worker matches the heading exactly; anything but ## Evaluation / ## Tests = no checklist found = instant abort. |
| All checks written as prose | Each becomes a fuzzy agent judgment. Use runnable commands; exit 0 = pass. |
| No checklist at all | Worker aborts and comments a failure before touching code. |
| Forgetting the trigger label | Issue is never picked up. Always remind the user (paste mode) or apply it (connector mode). |
| Checklist command references a not-yet-created test file | Runs after implementation and fails because the path doesn't exist. Test behavior through the program instead. |
### Evaluation (wrong level) or a typo in the heading | Same as wrong heading — not found. Must be ## Evaluation. |