
mstar-harness
☆ 38A Skill-driven Harness/Loop Engineering Workflow Agent Plugin
Get this plugin
Review the source, then continue to the publisher.
dsh plugin add morning-star@latestAbout this plugin
Source snapshot 8/13/2026Morning Star
Harness Workflow Engine · Agent Plugin
English / 中文
GitHub · Issues
Morning Star is an Agent Plugin for harness engineering workflows: a TypeScript Harness Workflow Engine (@mstar-harness/engine) enforces deterministic workflow gates, while mstar-* judgment skills drive multi-agent code delivery.
- Deterministic gates, enforced by a TS engine — path/status/lease/dispatch/sdd/iteration/lint gates run in
@mstar-harness/engine, not as prompt suggestions - Judgment stays in
mstar-*skills — skills remain the single source of truth (SSOT) for roles, gates, and workflow judgment - One engine across hosts — the same engine + skills power dsh (DeepSeek Harness), omp, OpenCode, Cursor, Kimi Code, ZCode, and Codex
- Agent Plugin packaging — one-command install; portable across any Agent Plugins v1.0.0 client
- Recommended host (best → usable): dsh = omp ≥ OpenCode ≥ Cursor > Kimi = ZCode > Codex
What ships
| Component | What it is |
|---|---|
| Harness Workflow Engine | @mstar-harness/engine — TS enforcement of deterministic workflow gates |
| mstar CLI | @mstar-harness/cli — installer bootstrap + mstar workflow verbs |
mstar-* skills | Role, gate, and workflow judgment (single source of truth) |
| Host adapters | dsh, omp, OpenCode, Cursor, Kimi Code, ZCode, Codex |
Release notes: CHANGELOG.md / CHANGELOG_CN.md.
Install
dsh installs through its own plugin manager — not the CLI.
npx @mstar-harness/cli inithas no dsh target (it covers omp / OpenCode / Cursor / Kimi / ZCode / Codex only). On dsh (DeepSeek Harness), install the profile bundle with the host's own command:dsh plugin --profile web add @mstar-harness/dsh.
npx @mstar-harness/cli init
# or: bunx @mstar-harness/cli init
| Host | Command |
|---|---|
| dsh (DeepSeek Harness) | dsh plugin --profile web add @mstar-harness/dsh |
| omp | npx @mstar-harness/cli init --target omp (links ~/.mstar/harness) or omp plugin install github:btspoony/mstar-harness |
| OpenCode | npx @mstar-harness/cli init --target opencode |
| Cursor | npx @mstar-harness/cli init --target cursor |
| Kimi | Kimi TUI: /plugins install https://github.com/btspoony/mstar-harness → /plugins reload |
| ZCode | npx @mstar-harness/cli init --target zcode then install morning-star-harness in ZCode → Settings → Plugin Management |
| Codex | npx @mstar-harness/cli init --target codex then codex plugin add morning-star-harness --marketplace personal |
| Generic (Agent Plugins v1) | point any Agent Plugins v1.0.0 conformant client at this repo root (plugin.json + skills/ are the portable package) |
The repo ships a portable Agent Plugins v1.0.0 manifest (plugin.json) at its root; skills/ is the Agent Skills component. Verify with npx @mstar-harness/cli plugin validate.
Verify: npx @mstar-harness/cli doctor --target <opencode\|cursor\|codex\|zcode\|omp>.
Manual install / path layout: INSTALL.md. CLI flags: docs/cli.md.
Reload the host after install (OpenCode restart / Cursor Developer: Reload Window / reopen Codex / Kimi /plugins reload or /new / ZCode reload plugin / omp new session or /reload-plugins if available).
Use
Three entry shapes: without iteration (single plan / hotfix), with iteration (multi-plan Phase 1–5), or codebase audit (discover what to do).
General (without iteration)
Enter PM, then run the per-plan cycle: Prepare → Execute → QC → QA gate → Done.
| Host | Enter PM |
|---|---|
| dsh (DeepSeek Harness) | pm skill (via the mstar skill provider; no auto-load) |
| omp | /skill:pm each session (no auto-load) |
| OpenCode | agent.project-manager (agents/project-manager.md) |
| Cursor | /pm |
| Kimi | session auto-loads pm; or /skill:pm |
| ZCode | /morning-star-harness:pm each session (no auto-load) |
| Codex | /pm |
Iteration
| Path | When |
|---|---|
/iteration-start | Phase 1 (interactive grill-me) then auto-continues Phase 2→5; pause to stop after Phase 1 |
/iteration-drive | Resume Phase 2→5 on an already-locked iteration |
/iteration-loop | Full Phase 1→5 autonomous (no grill-me; optional direction, scale S|M|L|XL) |
Codebase audit
| Path | When |
|---|---|
/codebase-audit | Survey a repo read-only → prioritized, self-contained improvement plans in {PLAN_DIR}/audit-<date>/ |
Read-only advisory — never edits source. Output feeds iteration-start Research or normal Prepare → Execute. Effort levels: quick / standard (default) / deep; category focus (security, perf, tests, …) or branch / next variants. SSOT → mstar-audit.
Command loading
| Host | How commands load |
|---|---|
| dsh (DeepSeek Harness) | /iteration-start · /iteration-drive · /iteration-loop · /codebase-audit (bundled harness-commands/ via ctx.commands) |
| omp | /iteration-start · /iteration-drive · /iteration-loop · /codebase-audit (filename commands from plugin commands/) |
| OpenCode / Cursor | Bundled from commands/ (OpenCode: plugin harness-commands/) |
| Kimi / ZCode | /morning-star-harness:iteration-start · :codebase-audit (etc.) via plugin manifest |
| Codex project | .agents/skills/<name>/SKILL.md (CLI symlinks from commands/) |
| Codex global | Project-scoped commands not installed — use --scope project |
Phase 2 defaults: per-plan worktree + lease, Findings cleanup: zero-residual. Override only with explicit Worktree mode: waived / Findings cleanup: allow-residual. SSOT → mstar-iteration, mstar-branch-worktree, mstar-plan-artifacts.
Project knowledge bootstrap: mstar-compound-refresh → references/project-knowledge-bootstrap.md.
Harness Workflow
flowchart TD
A["PM: entry and intent clarification"] --> B{"PM: spec and context ready"}
B -->|No| C["PM: clarify and refine requirements"]
C --> B
B -->|Yes| D["PM: initialize/load HARNESS_DIR and PLAN_DIR"]
D --> E{"Iteration scope needed"}
E -->|Deep / first iteration| F["iteration-start: grill-me → compass → review → lock"]
E -->|Fast autonomous loop| F2["iteration-loop: Phase 1→5 continuous"]
F --> G["PM: lock compass and create integration branch"]
F2 --> G
G --> H["Phase 2→5: execute → close → PR → merge-ready"]
E -->|No| I["PM: select active plan from status.json"]
H --> I
I --> J{"Any plan not Done"}
J -->|Yes| K["PM: dispatch one plan on a feature branch"]
K --> L["Dev roles: implement and report"]
L --> M["PM: update plan and status.json"]
M --> N["QC trio: review gate"]
N --> O{"QC decision"}
O -->|Request Changes| K
O -->|Approve| P{"QA gate"}
P -->|mandatory| P1["qa-engineer: acceptance verification"]
P -->|pm-acceptance| P2["PM: acceptance checklist"]
P1 --> Q{"Residual findings remain"}
P2 --> Q
Q -->|Yes| R["PM/QA: register or accept residuals in status.json"]
R --> S["PM: mark plan Done and merge to integration branch"]
Q -->|No| S
S --> T["PM: sync compass plan status"]
T --> J
J -->|No| U["iteration-close: close entry checklist"]
U --> V["PM: compound round and knowledge index"]
V --> W["PM: update roadmap and compass completed frontmatter"]
W --> X["PM: close exit checklist and commit"]
X --> Y["Phase 4: create PR"]
Y --> Z["Phase 5: merge-ready loop until CI green and reviews resolved"]
Without iteration: same per-plan gates, no iteration-start / iteration-close wrapper.
Roles and skills
| Agent ID | Responsibility |
|---|---|
project-manager | Routing, assignment, phase progression |
product-manager | Requirements, product planning, research |
architect | Architecture and technical contracts |
fullstack-dev / fullstack-dev-2 | Backend-led implement / second parallel track |
frontend-dev | UI, interaction, frontend performance |
qa-engineer | Acceptance when QA gate: mandatory |
code-reviewer | SDD per-task review; codebase audit (audit category) |
qc-specialist / -2 / -3 | QC trio |
ops-engineer | Deploy, monitoring, infrastructure |
writing-specialist | Docs, fiction, copy, scripts |
prompt-engineer | Prompt / skill / rule work |
Load mstar-harness-core first, then topic skills on demand (mstar-roles).
| Skill | Purpose |
|---|---|
mstar-harness-core | Entry, state machine, Task category, skill index |
mstar-phase-gates | Prepare/Execute, clarify, hotfix |
mstar-iteration | Phase 1–5 iteration lifecycle |
mstar-dispatch-gates | Dispatch, Delegation, anti-recursion |
mstar-sdd | Subagent-driven development |
mstar-branch-worktree | Branches, worktrees, QC/QA checkout |
mstar-plan-conventions | {HARNESS_DIR} discovery / init |
mstar-plan-artifacts | Plans, status.json, residuals, Findings cleanup |
mstar-design-md | DESIGN.md gate for UI plans |
mstar-review-qc | PM QC tri orchestration |
mstar-coding-behavior | RCA, test-first, review feedback, evidence |
mstar-compound / mstar-compound-refresh | Knowledge crystallize / maintain |
mstar-strategy | STRATEGY.md alignment |
mstar-skill-authoring | General skill authoring (SkillsBench gate) |
mstar-audit | Read-only codebase audit → prioritized improvement plans |
mstar-roles | Role prompts + load lists |
mstar-host | Host adapters (dsh / omp / OpenCode / Cursor / Kimi / ZCode / Codex) |
pm | /pm / /skill:pm / host PM entry |
Consumer plans default to .mstar/. Process artifacts (plans/, iterations/, status.json, sdd/, …) are gitignored; tracked results: {HARNESS_DIR}/AGENTS.md, knowledge/, specs/. Specs resolve .mstar/specs/ → docs/specs/ → repo-root specs/. Details → mstar-plan-conventions.
Maintainers: AGENTS.md.
License
MIT. See LICENSE.