一键导入
design-debate
Multi-agent design argument — Azusa challenges Mugi's plan, Mugi revises. Used by /kon:design after exploration and initial plan draft.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Multi-agent design argument — Azusa challenges Mugi's plan, Mugi revises. Used by /kon:design after exploration and initial plan draft.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Multi-agent software engineering workflow. Use this skill whenever the user types a /kon: command — including /kon:team, /kon:design, /kon:quick, /kon:debug, /kon:ask, /kon:review, /kon:review-pr, /kon:hunt, /kon:gc, /kon:research, /kon:describe-issue, /kon:begin, /kon:finish, /kon:summarize, /kon:retro, /kon:address-comments, /kon:todo, /kon:understand-codebase. Orchestrates specialized agents: Azusa (explorer), Jun (researcher), Mugi (planner), Yui (implementer), Mio (reviewer), Sawako (cleaner), Nodoka (summarizer).
This skill should be used by all kon agents at startup, before beginning work, to load relevant memory from public and repo indexes with relevance-based ordering and a 10-entry cap. Consumers: Azusa, Mugi, Mio, Jun, and any future memory-reading agent.
Convention for per-repo skill directories at ~/.kon/projects/<repo-name>/skills/<name>/SKILL.md. Each named subdirectory is one skill. Agents load all SKILL.md files as the first step before memory entries.
When requirements, code behavior, root cause, or review scope is unclear — ask the user before proceeding. Never invent facts, assumptions, or fixes. Applies to every kon stage and every agent.
Route plain-text user messages while a /kon:begin session is open. Reuse the same session JSON — never init a second session for sub-turns.
Keep orchestrator chat lean — artifacts hold full agent output; orchestrator routes by file pointer only. Applies to all /kon:* commands that spawn Task subagents.
| name | design-debate |
| description | Multi-agent design argument — Azusa challenges Mugi's plan, Mugi revises. Used by /kon:design after exploration and initial plan draft. |
Consumer: /kon:design.
Follow skills/core-principles. Design debate exists to stress-test plans before code is written. Both challenger and reviser optimize for:
Azusa must challenge complexity that lacks first-principles justification. Mugi must revise toward simpler designs when challenges are valid.
Do not invent risks or requirements to fill a debate round — if the plan is sound but you lack evidence, say so and ask. Follow skills/ask-dont-guess.
Design debate is real multi-agent argument, not the orchestrator summarizing both sides. Each round is a separate Task spawn with the agent file + this skill in context.
| Phase | Agent | Mode | Writes |
|---|---|---|---|
| Explore | 🎸 Azusa | default | nothing (report only) |
| Plan v1 | 🍰 Mugi | default | .kon/plan-<session-id>.md |
| Challenge | 🎸 Azusa | challenge | .kon/design-debate-<session-id>.md (challenges section) |
| Revise | 🍰 Mugi | revise | .kon/plan-<session-id>.md + .kon/design-debate-<session-id>.md (responses) |
| Confirm | user | — | — |
.kon/design-debate-<session-id>.mdCreated on first challenge round. Threaded log of argument:
# Design debate: <task name>
## Round 1 — Azusa challenges
### C1: <short title>
<why this is a gap, risk, or wrong assumption — cite files/lines>
### C2: ...
## Round 1 — Mugi responses
| ID | Verdict | Response | Plan change |
|----|---------|----------|-------------|
| C1 | accepted | ... | Step 2 split into 2a/2b |
| C2 | rejected | Plan already covers via Step 4 acceptance | none |
## Round 2 — Azusa challenges (only with --deep)
...
.kon/plan-<session-id>.mdMugi writes v1 before debate. After each revise pass, update in place.
Add ## Debate revisions at the bottom listing what changed and why (one line per accepted challenge).
The plan path is passed as PLAN_FILE in the agent task prompt.
| Flag | Debate rounds | When to stop |
|---|---|---|
| default | 1 | After Mugi revise v2 → user confirm |
--deep | 2 | After second Mugi revise → user confirm |
Hard cap: 2 rounds. No round 3 — escalate remaining disagreements to ## Decisions needed in the plan.
Spawn Azusa-challenge with:
agents/Azusa-challenge.mdPLAN_FILE: .kon/plan-<SESSION_ID>.md) + exploration notes; do not rewrite the planAzusa MUST:
path:line evidence:
path:line or observed convention)C1, C2, ….kon/design-debate-<session-id>.md under ## Round N — Azusa challengesAzusa MUST NOT:
PLAN_FILE)Spawn Mugi with:
agents/Mugi.mdPLAN_FILE: .kon/plan-<SESSION_ID>.md) + .kon/design-debate-<session-id>.md latest challengesMugi MUST:
accepted | rejected | deferred (deferred → move to ## Decisions needed)PLAN_FILE) for all accepted items## Current status accurate — update as-is / evidence if a challenge changes the baseline## Debate revisions summarizing accepted changes## Round N — Mugi responsesMugi MUST NOT:
kon_session.py complete-agent (duplicate agent names OK — log captures rounds)On init:
python3 $KON_ROOT/scripts/kon_session.py init \
--command "/kon:design" --task "<task>" \
--pending Azusa Mugi User
Log summaries distinguish rounds:
"Explored — 5 relevant files""Plan v1 — 4 steps, 2 decisions""Challenge R1 — 5 issues raised""Plan v2 — 4/5 accepted, 1 deferred to user"After Mugi revise, run wait-for-user --after plan (do not hand-edit steps_waiting).
After each challenge and revise spawn:
echo '{"teammate_role":"Azusa-challenge","teammate_output":"<output>"}' \
| python3 $KON_ROOT/hooks/teammate_quality_check.py
echo '{"teammate_role":"Mugi-revise","teammate_output":"<output>"}' \
| python3 $KON_ROOT/hooks/teammate_quality_check.py
Same as teammate-flow plan gate:
## Decisions needed, or answers open items/kon:teamWhen user wants to build after design:
/kon:team <same task> # skip Azusa+Mugi if a .kon/plan-*.md exists and user confirms reuse
Orchestrator should read the existing plan file (.kon/plan-<SESSION_ID>.md or most recent .kon/plan-*.md) and ask once: "Reuse this plan?" before re-planning.
--yolo)Follow skills/yolo-mode:
[**default**] in ## Decisions needed after debate🌸 Ui opening/closing beats per skills/narration.