kanban-spec/SKILL.md
Turn vague intent into a precise, executable spec through 5 structured phases, then optionally create a kanban task. Use when starting something new that needs proper scoping before refinement. Complements /kanban-refine (which refines existing tasks).
npx skillsauth add cyanluna-git/cyanluna.skills kanban-specInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Shared context: read
../kanban/shared.mdfor DB path and task creation format. Safety principles: read../kanban/principles.md— mandatory, not optional.
/kanban-spec [title] — New Feature SpecTurns a rough idea into a structured spec through 5 phases, then optionally creates a kanban task.
When to use this vs /kanban-refine:
/kanban-spec — Starting from scratch. No task exists yet. Idea is vague./kanban-refine <ID> — Task already exists in backlog. Needs requirement clarification.Goal: Understand the real problem before discussing solutions.
Ask the user:
Extract and record:
PROBLEM_STATEMENT = one sentence: "[User type] can't [do X] because [root cause], causing [impact]"
If the user can't articulate a clear problem, probe further before proceeding. Do not move to Phase 2 until the problem is clear.
Goal: Draw a hard boundary around what's in and out.
Ask:
Record:
SCOPE_IN = bulleted list of what's included
SCOPE_OUT = bulleted list of explicit exclusions
CONSTRAINTS = technical, time, or team constraints
Call out scope creep early: if the user mentions a "nice to have" that doubles the work, flag it and suggest splitting into a separate task.
Goal: Define what "done and working" looks like from the user's perspective.
Ask:
Record:
METRICS = list of observable, preferably measurable outcomes
At least one metric must be verifiable — "it works" is not a metric.
Goal: Surface the 20% of cases that cause 80% of bugs.
Based on the scope defined, identify:
Ask the user to confirm edge cases are understood, or add any you've missed.
Record: EDGE_CASES = list of identified edge cases
Goal: Write the checklist that Builder and Shield will use to verify completion.
Synthesize everything from phases 1–4 into verifiable criteria:
## Acceptance Criteria
- [ ] [Functional: behavior visible to user]
- [ ] [Error handling: specific edge case is handled]
- [ ] [Performance: if metric defined]
- [ ] [Security: if auth/input involved]
- [ ] [Regression: existing behavior preserved]
Rules:
Present the complete spec to the user:
## Spec: [title]
### Problem
[PROBLEM_STATEMENT]
### Scope
**In:**
[SCOPE_IN]
**Out:**
[SCOPE_OUT]
**Constraints:** [CONSTRAINTS or "None identified"]
### Success Metrics
[METRICS]
### Edge Cases
[EDGE_CASES]
### Acceptance Criteria
[ACCEPTANCE_CRITERIA]
Ask the user: [c] Create kanban task / [e] Edit spec / [x] Discard
[c])Ask two final questions via AskUserQuestion:
Then read DB path from shared.md and create the task:
CONFIG=$(cat .claude/kanban.json 2>/dev/null || cat .codex/kanban.json 2>/dev/null)
PROJECT=$(echo "$CONFIG" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['project'])" 2>/dev/null || basename "$(pwd)")
DB="$HOME/.claude/kanban-dbs/${PROJECT}.db"
DESCRIPTION="## Goal\n[PROBLEM_STATEMENT]\n\n## Scope\n**In:**\n[SCOPE_IN]\n\n**Out:**\n[SCOPE_OUT]\n\n## Acceptance Criteria\n[ACCEPTANCE_CRITERIA]\n\n## Edge Cases\n[EDGE_CASES]"
python3 - <<PY
import sqlite3 as sq
conn = sq.connect("$DB")
cur = conn.execute(
"INSERT INTO tasks (project, title, description, priority, level, status, tags) VALUES (?, ?, ?, ?, ?, 'todo', '[]')",
("$PROJECT", "[title]", """$DESCRIPTION""", "[priority]", [level_number])
)
task_id = cur.lastrowid
conn.commit()
conn.close()
print(task_id)
PY
Output: "✅ Task #[ID] created: [title] → Run /kanban-refine [ID] to sharpen details, or /kanban-run [ID] to implement."
databases
--- name: kanban-local description: Local markdown-file kanban for toy and personal projects. No server, no PostgreSQL, no auth — all state lives in KANBAN.md in the project root. Use for solo/small projects where the remote kanban board is overkill. Auto-trigger when KANBAN.md exists and user says "태스크 추가", "add task", "칸반 보여줘", "다음 할 일", "task list", or similar task-management phrases. Sub-commands: init, list, add, move, done, show, edit, refine, run, rm, stats. --- # kanban-local 로컬 `KANBA
documentation
프로젝트의 전체 아키텍처, 목표, 주요 결정사항을 wiki/ 디렉토리에 합성하여 정리합니다. 첫 실행 시 전체 생성, update로 변경분 반영. 매 카드가 아닌 프로젝트 수준의 지식을 정리합니다.
devops
Manage project tasks in a local SQLite DB (~/.claude/kanban-dbs/{project}.db). Supports task CRUD (add, edit, move, remove), board viewing, session context persistence, and statistics. For pipeline orchestration use /kanban-run, for requirements refinement use /kanban-refine. Run /kanban-init first to create the local DB.
development
--- name: kanban-run description: Run the AI team pipeline for kanban tasks — orchestration loop with 6 agents (Planner, Critic, Builder, Shield, Inspector, Ranger), single-step execution, and code review. Use /kanban-run to execute tasks through the 7-column pipeline. AUTO-TRIGGER when: user says "implement task NNN" or any task ID + implement/build/do combination; or user confirms with "yes/ok/go/do it" after Claude proposes implementing a specific kanban task. license: MIT --- ## Auto-Trigge