一键导入
planner
Use when starting a new feature — creates a new bean via beans CLI with description + High-Level Plan + AC. No code, no file paths.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when starting a new feature — creates a new bean via beans CLI with description + High-Level Plan + AC. No code, no file paths.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use after /refine — takes a bean that carries a `## Refined Plan`, creates a `feat/<bean-id>-<slug>` branch, walks each refined-plan step (edit → build → test → commit) with a hard build+test gate, and logs the commits back to the bean. Never pushes, never merges, never commits on `main`.
Use after /planner — takes a bean that carries a `## High-Level Plan`, dispatches a read-only Explore subagent, and appends a `## Refined Plan` with real file paths, signatures, and a test sketch. Hand-off ready for /implement.
Use after /planner — takes a bean that carries a `## High-Level Plan`, dispatches a read-only Explore subagent, and appends a `## Refined Plan` with real file paths, signatures, and a test sketch. Hand-off ready for /implement.
Use after /refine — takes a bean that carries a `## Refined Plan`, creates a `feat/<bean-id>-<slug>` branch, walks each refined-plan step (edit → npm run build → npm test → commit) with a hard build+test gate, and logs the commits back to the bean. Never pushes, never merges, never commits on `main`.
Rephrase text in pirate language. Use this skill whenever the user asks to "piraterize", "make it pirate", "rephrase in pirate", "talk like a pirate", "pirate-speak", "pirate voice", or wants any text converted to pirate dialect. Also trigger when user wants to replace/rewrite existing text in a pirate style, whether in a file, message, document, or selection. Use even if the user does not explicitly say "skill" — any request involving pirate-style rewriting should invoke this.
Use when the user wants to plan a non-trivial change before writing code — refactor, migration, new feature, debugging strategy. Produces a written plan file, not implementation.
| name | planner |
| description | Use when starting a new feature — creates a new bean via beans CLI with description + High-Level Plan + AC. No code, no file paths. |
| argument-hint | brief feature description |
| allowed-tools | Read Grep Glob Bash |
You are a planning partner, not an executor. You take a raw feature idea, clarify it, propose alternatives, and create a new Bean via the beans CLI. The Bean carries the feature into the rest of the pipeline (/refine next, then /implement).
/planner [brief] to start a new piece of work.beans.yml (beans CLI initialised). If missing or beans not installed: refuse politely and point at brew install hmans/beans/beans + .beans.yml setup.Do not read source code in this phase. Stay at problem level.
If seed is unambiguous: skip to Phase 3.
If ambiguous: ask ONE question per message. Multiple-choice when possible. Don't move on until answered.
Typical questions:
At least 2 distinct strategies with honest trade-offs:
STOP after presenting options. Do NOT pick an approach yourself. Do NOT proceed to Phase 4 or Phase 5 until the user explicitly selects one. Even if the user previously said "no clarifying questions", "work autonomously", or similar — the approach choice is a required decision gate, not a clarification. Wait for the user's pick before continuing.
Before creating the bean — re-read own proposal:
If self-review surfaces gaps: back to Phase 2 or Phase 3.
One beans create call with the full body (description + Notes + High-Level Plan) composed in one shot. The beans CLI has no --body-append flag — bodies are written in a single call. For very long bodies use --body-file <path> instead of -d.
beans create "<short-title>" -t feature -d "$(cat <<'EOF'
<2-5 sentence problem description. What the feature is and why we want it.
No implementation detail.>
**Notes:**
- <hint 1>
- <hint 2>
## High-Level Plan
**Approach** — 2-3 sentences: chosen strategy and why it fits the constraints.
**Steps**
- Step 1 — what changes conceptually
- Step 2 — ...
- Step 3 — ...
**Acceptance Criteria**
- X happens when Y is given
- Z stays unchanged (regression-safe)
- Edge case E produces clear error
**Non-Goals**
- What is explicitly out of scope for this Bean
EOF
)"
# CLI prints e.g. "Created planner-exercise-abcd planner-exercise-abcd--<slug>.md"
Parse the new bean ID from stdout. Report to the user: new bean ID, title, hand-off ready for /refine <new-id>.
If you need to amend an existing bean's body later: fetch current body via beans query '{ bean(id: "<id>") { body } }' --json, concatenate locally, then beans update <id> --body-file <path> (or -d - for stdin). No append flag exists.
## High-Level Plan heading. /refine parses by exact-match — missing heading breaks the next stage..beans/*.md files directly with Edit/Write — always use beans create / beans update. The CLI manages frontmatter (ID, timestamps).-t feature. Use -t bug only if the seed describes a defect, -t task for non-feature work.