mstar-sdd
SkillFiles & storageMorning Star subagent-driven development (SDD) — file handoff, per-task implementer + task reviewer (L2), progress ledger, branch review-package for plan QC tri (L3). **Implementer session** `fresh` (default) or **`sticky`** (same dev subagent across tasks — `references/sticky-implementer-session.md`). **Must** Read when project-manager runs `Execution mode: sdd` (multi-task plan, single-plan, or iteration Phase 2), dispatches SDD implementer/reviewer subagents, or prepares review-package paths. Leaf implementer/reviewer subagents skip PM sections via SUBAGENT-STOP in dispatch prompts.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the mstar-sdd skill
What this skill tells your AI
The instructions your AI receives, as published by btspoony/mstar-harness in skills/mstar-sdd/SKILL.md and read by ahel’s review.
Load order
Before first Read: mstar-harness-core → mstar-dispatch-gates. Path symbols → mstar-conventions ({SDD_DIR}). Plan QC after SDD → mstar-review-qc. On conflict, mstar-harness-core wins.
When to use
- Plan locked; tasks mostly independent; PM orchestrates in-session
- Assignment has
Execution mode: sdd - Not for hotfix inline work (
Execution mode: inline) or leaf self-dispatch
Core principle
Default: fresh implementer subagent per task + task review (spec + quality) + plan-level QC on whole branch = quality with isolated context.
Optional: SDD implementer session: sticky — same implementer subagent across sequential tasks on one plan/branch; task reviewers stay fresh per task. SSOT → references/sticky-implementer-session.md.
Engine check (when available): import
implementerSessionStickyRulesfrom@mstar-harness/enginein a host hook to validate the sticky resume decision above (no CLI form yet). Onfail-> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
Narration: at most one short line between tool calls — ledger and file paths carry the record.
Continuous execution: do not check in with the human between tasks. Stop only for BLOCKED, genuine ambiguity, or all tasks complete.
Pre-flight plan scan
Before Task 1, scan plan once for:
- tasks contradicting Global Constraints
- plan-mandated items that review rubric would flag as defects
Batch all findings for the human in one message. If clean, proceed silently.
Per-task loop (PM only · Workflow)
- Record
BASE_SHA(never useHEAD~1later) mstar sdd workspace <plan-id>→SDD_DIR(iteration L1 从 feature cwd 调用时:MSTAR_CONTROL_ROOT=<control_worktree_path>或mstar sdd workspace <plan-id> <control_worktree_path>;probe 以 v2 根status.json(workflows[])或 workflow snapshot 存在为准,linked worktree 缺文件会 fail closed)mstar sdd task-brief <plan> N→ brief file- Dispatch implementer:
SDD implementer session: fresh(default) — new subagent; templates:references/implementer-prompt.mdSDD implementer session: sticky— first task: same as fresh + write{SDD_DIR}/implementer-session.jsonwithhost_agent_id; later tasks: host resume +references/implementer-continuation-prompt.md(seereferences/sticky-implementer-session.md)
- On
DONE:mstar sdd review-package BASE HEAD→ diff file - Dispatch fresh task reviewer — role
code-reviewer(L2; notqc-specialist*; host fallback generic + C5b →mstar-hostC5) — brief, report, diff, Global Constraints —references/task-reviewer-prompt.md— never sticky resume for reviewers - Fix loop for Critical/Important; re-review until approved
- Append
progress.md; update the workflow snapshot plan row (workflows/<id>/snapshot.json→plans[])task_commits[]andimplementer-session.jsonlast_taskif sticky - Next task
Never dispatch multiple implementers in parallel (write conflicts).
Detail: references/file-handoffs.md.
Engine check (when available): run
mstar sdd workspace <plan-id>/mstar sdd task-brief <plan-file> <task-number>/mstar sdd review-package <base> <head>(orimport { assertBaseSha, sddWorkspace, taskBrief, reviewPackage } from "@mstar-harness/engine"in a host hook) to drive the loop steps above. Onfail-> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
Implementer statuses
| Status | PM action |
|---|---|
| DONE | review-package → task reviewer |
| DONE_WITH_CONCERNS | read concerns; fix scope issues before review |
| NEEDS_CONTEXT | provide context; re-dispatch |
| BLOCKED | more context, higher tier, split task, or escalate human — never same-model blind retry |
Reviewer ⚠️ items
⚠️ Cannot verify from diff does not block other findings. PM must resolve each before task complete.
Model tier
| Tier | Use |
|---|---|
| fast | Transcription (complete code in plan); 1–2 file mechanical |
| standard | Prose implementer; task reviewer (floor) |
| capable | Integration judgment; plan QC on large branch diff |
Turn count beats token price: use standard floor for reviewers and prose implementers. Always name model on dispatch — omitted model inherits session default (often most expensive).
Host mapping → mstar-host references (model / Task field).
After all tasks
mstar sdd review-package MERGE_BASE HEAD→ branch diff in{SDD_DIR}/review/- PM dispatches plan QC tri-review (L3) —
QC mode: full tri-review, N=3 — with branch review-package path and report paths under{SDD_DIR}/review/→mstar-review-qc·mstar-dispatch-gates. Layer SSOT →mstar-review-qc/references/review-responsibility-boundaries.md. PM writes{SDD_DIR}/review/qc-consolidated.mdand durable main-plan gate summary. Mandatory wheneverExecution mode: sdd(single-plan or iteration). - Critical/Important QC findings → one fix dispatch (full list), then targeted re-review. Fix rounds run on four mechanics — the per-task fix loop applies the same (
references/file-handoffs.md):- Unverified rounds count: a fix round without verification evidence (reviewer not confirmed / report not on disk) is not clean — re-check and count the round; never enter the convergence branch.
- Full re-entry: the next fix dispatch carries all open findings (including last round's unverified items) — never slice a subset.
- Capped cross-round excerpt: from round ≥2, the fix dispatch attaches an excerpt of prior rounds' findings and dispositions (advisory caps: ~500 words per round, ~1500 total — suggested values, not hard limits).
- Honest non-convergence: open findings at wave close → list them in detail and state the disposition — re-feed to the next fix round or transfer to residual tracking — never silently close.
- QA gate →
mstar-harness-coreDone rules; PMmstar-roles/references/project-manager/qa-trigger-matrix.md
On dsh: the plan QC tri MAY run through the native
workflowtool instead of threesubagentdispatches — take thescript+meta(meta.name: mstar-qc-tri) from skillmstar-host→references/dsh-workflow-scripts.md(§mstar-qc-tri); the three seats stay read-only and PM persists{SDD_DIR}/review/qc1.md…qc3.mdfrom their returned envelopes. Per-task implementers stay serialsubagent— theworkflowchannel is read-only fan-out only; when the tool is unmounted (ptcpreset) dispatch the three seats as backgroundsubagentcalls (skillmstar-host→references/dsh.md).
Progress ledger(Evidence)
At start: cat {SDD_DIR}/progress.md. Tasks marked complete are DONE — do not re-dispatch after compaction.
Append on clean review: Task N: complete (<base>..<head>, review clean).
Minor findings → ## Minor (for plan QC) section in same file.
Engine check (when available): import
readProgressLedgerfrom@mstar-harness/enginein a host hook to read the ledger above (no CLI form yet). Onfail-> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
Red flags (NEVER)
- Parallel implementer dispatches
- Paste plan, diffs, or task history into dispatch prompts
- Dispatch reviewer without diff file
HEAD~1as review BASE- Pre-judge reviewer ("do not flag", "at most Minor")
- Skip task review or accept missing verdict
- Re-dispatch tasks listed complete in ledger
- PM thread implements instead of subagent dispatch
- Sticky resume for task reviewers
- Resume implementer without
host_agent_idinimplementer-session.json
CLI
The SDD helpers are engine-backed commands under mstar sdd(引擎 CLI;原 bash 脚本已移除,行为语义不变)。Run the mstar binary from any checkout; env vars MSTAR_CONTROL_ROOT / MSTAR_HARNESS_DIR / SDD_DIR are honored exactly as before.
| Command | Usage |
|---|---|
mstar sdd workspace | PLAN_ID [CONTROL_ROOT] → creates {SDD_DIR} under control harness when set (MSTAR_CONTROL_ROOT or 2nd arg); fail closed on linked worktree without status.json |
mstar sdd task-brief | PLAN_FILE TASK_N [OUTFILE] |
mstar sdd review-package | BASE HEAD [OUTFILE] |
References
references/file-handoffs.md— paths and fix-loop evidencereferences/sticky-implementer-session.md—freshvssticky, ledger, host resume, micro-batch fallbackreferences/implementer-prompt.mdreferences/implementer-continuation-prompt.mdreferences/task-reviewer-prompt.mdmstar-artifacts/references/plan-quality-bar.md— plan self-containment standard (plans must meet this before SDD dispatch)
Signals
- GitHub stars
- 57
- Forks
- 3
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
mstar-sdd- Source
- github.com/btspoony/mstar-harness