@mstar-harness/dsh 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +7 -0
- package/README.md +448 -0
- package/README.zh.md +221 -0
- package/bundle/README.md +312 -0
- package/bundle/cordis.patch.yml +17 -0
- package/dist/client/index.d.ts +14 -0
- package/dist/client/panel/PanelView.d.ts +67 -0
- package/dist/client/panel/TabNav.d.ts +28 -0
- package/dist/client/panel/graph/event-log.d.ts +76 -0
- package/dist/client/panel/graph/project-graph.d.ts +499 -0
- package/dist/client/panel/graph/schema.d.ts +224 -0
- package/dist/client/panel/guards.d.ts +12 -0
- package/dist/client/panel/locale.d.ts +134 -0
- package/dist/client/panel/pages/AgentCanvasPage.d.ts +363 -0
- package/dist/client/panel/pages/EventLogPage.d.ts +48 -0
- package/dist/client/panel/pages/IterationInfoSection.d.ts +80 -0
- package/dist/client/panel/pages/IterationTaskPage.d.ts +37 -0
- package/dist/client/panel/panel-meta.d.ts +18 -0
- package/dist/client/panel/plan-sort.d.ts +54 -0
- package/dist/client/panel/sidebar.d.ts +17 -0
- package/dist/client/panel/state-section.d.ts +23 -0
- package/dist/client/panel/use-mstar-engine-status.d.ts +42 -0
- package/dist/client/panel/zones/Legend.d.ts +18 -0
- package/dist/client/panel/zones/TaskBoard.d.ts +40 -0
- package/dist/client.d.ts +1 -0
- package/dist/client.js +4486 -0
- package/dist/gates/_shared.d.ts +198 -0
- package/dist/gates/adapter.d.ts +131 -0
- package/dist/gates/agent-flow.d.ts +320 -0
- package/dist/gates/catalog.d.ts +118 -0
- package/dist/gates/dispatch.d.ts +152 -0
- package/dist/gates/seams.d.ts +152 -0
- package/dist/gates/skill-lint.d.ts +87 -0
- package/dist/gates/status.d.ts +81 -0
- package/dist/gates/tools.d.ts +37 -0
- package/dist/index.d.ts +107 -0
- package/dist/index.js +5748 -0
- package/dist/invariant.d.ts +15 -0
- package/dist/invariant.js +29 -0
- package/dist/service.d.ts +96 -0
- package/dist/types.d.ts +241 -0
- package/harness-commands/codebase-audit.md +40 -0
- package/harness-commands/iteration-drive.md +129 -0
- package/harness-commands/iteration-loop.md +139 -0
- package/harness-commands/iteration-start.md +179 -0
- package/harness-skills/grill-me/SKILL.md +10 -0
- package/harness-skills/mstar-audit/SKILL.md +183 -0
- package/harness-skills/mstar-audit/references/audit-playbook.md +130 -0
- package/harness-skills/mstar-audit/references/finding-format.md +65 -0
- package/harness-skills/mstar-branch-worktree/SKILL.md +219 -0
- package/harness-skills/mstar-branch-worktree/references/parallel-writable-pre-dispatch.md +68 -0
- package/harness-skills/mstar-coding-behavior/SKILL.md +147 -0
- package/harness-skills/mstar-compound/SKILL.md +105 -0
- package/harness-skills/mstar-compound/assets/resolution-template.md +94 -0
- package/harness-skills/mstar-compound/references/category-mapping.md +37 -0
- package/harness-skills/mstar-compound/references/compound-workflow.md +155 -0
- package/harness-skills/mstar-compound/references/concepts-vocabulary.md +44 -0
- package/harness-skills/mstar-compound/references/schema.yaml +122 -0
- package/harness-skills/mstar-compound-refresh/SKILL.md +140 -0
- package/harness-skills/mstar-compound-refresh/references/project-knowledge-bootstrap.md +164 -0
- package/harness-skills/mstar-design-md/SKILL.md +142 -0
- package/harness-skills/mstar-design-md/references/completeness-checklist.md +181 -0
- package/harness-skills/mstar-design-md/references/design-md-spec.md +508 -0
- package/harness-skills/mstar-design-md/references/vercel-example.md +200 -0
- package/harness-skills/mstar-design-md/templates/DESIGN.dark.md.template +354 -0
- package/harness-skills/mstar-design-md/templates/DESIGN.md.template +474 -0
- package/harness-skills/mstar-dispatch-gates/SKILL.md +128 -0
- package/harness-skills/mstar-dispatch-gates/references/leaf-executor-checklist.md +23 -0
- package/harness-skills/mstar-harness-core/SKILL.md +180 -0
- package/harness-skills/mstar-host/SKILL.md +78 -0
- package/harness-skills/mstar-host/references/_shared/host-role-binding-core.md +51 -0
- package/harness-skills/mstar-host/references/_shared/plan-mode-bridge-core.md +91 -0
- package/harness-skills/mstar-host/references/codex.md +61 -0
- package/harness-skills/mstar-host/references/cursor-plan-mode-bridge.md +159 -0
- package/harness-skills/mstar-host/references/cursor.md +183 -0
- package/harness-skills/mstar-host/references/dsh.md +502 -0
- package/harness-skills/mstar-host/references/kimi-plan-mode-bridge.md +36 -0
- package/harness-skills/mstar-host/references/kimi.md +136 -0
- package/harness-skills/mstar-host/references/omp-plan-mode-bridge.md +32 -0
- package/harness-skills/mstar-host/references/omp.md +244 -0
- package/harness-skills/mstar-host/references/opencode.md +76 -0
- package/harness-skills/mstar-host/references/parallel-dispatch.md +68 -0
- package/harness-skills/mstar-host/references/zcode-plan-mode-bridge.md +36 -0
- package/harness-skills/mstar-host/references/zcode.md +129 -0
- package/harness-skills/mstar-iteration/SKILL.md +393 -0
- package/harness-skills/mstar-iteration/references/autonomous-direction-lock.md +90 -0
- package/harness-skills/mstar-iteration/references/iteration-artifact-boundaries.md +103 -0
- package/harness-skills/mstar-iteration/references/iteration-compass-template.md +142 -0
- package/harness-skills/mstar-iteration/references/iteration-corpus-hygiene.md +45 -0
- package/harness-skills/mstar-iteration/references/iteration-workspace-readme-template.md +27 -0
- package/harness-skills/mstar-iteration/references/phase-2-worktree-lease.md +193 -0
- package/harness-skills/mstar-iteration/references/phase-3-iteration-close.md +95 -0
- package/harness-skills/mstar-iteration/references/phase-4-5-pr-delivery.md +84 -0
- package/harness-skills/mstar-iteration/references/phase5-helper-discovery.md +24 -0
- package/harness-skills/mstar-phase-gates/SKILL.md +112 -0
- package/harness-skills/mstar-plan-artifacts/SKILL.md +46 -0
- package/harness-skills/mstar-plan-artifacts/references/done-compaction.md +88 -0
- package/harness-skills/mstar-plan-artifacts/references/knowledge-and-designs.md +100 -0
- package/harness-skills/mstar-plan-artifacts/references/plan-files-and-reports.md +99 -0
- package/harness-skills/mstar-plan-artifacts/references/plan-quality-bar.md +99 -0
- package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +570 -0
- package/harness-skills/mstar-plan-artifacts/templates/README.md +9 -0
- package/harness-skills/mstar-plan-artifacts/templates/notes.empty.json +5 -0
- package/harness-skills/mstar-plan-artifacts/templates/plan.main.md +54 -0
- package/harness-skills/mstar-plan-artifacts/templates/plans-done.empty.json +3 -0
- package/harness-skills/mstar-plan-artifacts/templates/status.empty.json +7 -0
- package/harness-skills/mstar-plan-conventions/SKILL.md +165 -0
- package/harness-skills/mstar-plan-conventions/references/artifact-storage-paths.md +50 -0
- package/harness-skills/mstar-plan-conventions/references/effort-estimation.md +38 -0
- package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md +93 -0
- package/harness-skills/mstar-review-qc/SKILL.md +60 -0
- package/harness-skills/mstar-review-qc/references/review-responsibility-boundaries.md +54 -0
- package/harness-skills/mstar-roles/SKILL.md +86 -0
- package/harness-skills/mstar-roles/references/_shared/leaf-executor-core.md +46 -0
- package/harness-skills/mstar-roles/references/architect.md +114 -0
- package/harness-skills/mstar-roles/references/code-reviewer.md +109 -0
- package/harness-skills/mstar-roles/references/frontend-dev.md +70 -0
- package/harness-skills/mstar-roles/references/fullstack-dev-shared.md +89 -0
- package/harness-skills/mstar-roles/references/ops-engineer.md +78 -0
- package/harness-skills/mstar-roles/references/product-manager.md +107 -0
- package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +198 -0
- package/harness-skills/mstar-roles/references/project-manager/plan-management.md +61 -0
- package/harness-skills/mstar-roles/references/project-manager/qa-trigger-matrix.md +56 -0
- package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +98 -0
- package/harness-skills/mstar-roles/references/project-manager/routing-and-dev-allocation.md +99 -0
- package/harness-skills/mstar-roles/references/project-manager.md +310 -0
- package/harness-skills/mstar-roles/references/prompt-engineer.md +71 -0
- package/harness-skills/mstar-roles/references/qa-engineer/acceptance-gate.md +62 -0
- package/harness-skills/mstar-roles/references/qa-engineer.md +79 -0
- package/harness-skills/mstar-roles/references/qc-specialist/deep-review-lenses.md +95 -0
- package/harness-skills/mstar-roles/references/qc-specialist/report-template.md +72 -0
- package/harness-skills/mstar-roles/references/qc-specialist/reviewer-checklist.md +44 -0
- package/harness-skills/mstar-roles/references/qc-specialist/reviewer-workflow.md +57 -0
- package/harness-skills/mstar-roles/references/qc-specialist-shared.md +128 -0
- package/harness-skills/mstar-roles/references/writing-specialist.md +59 -0
- package/harness-skills/mstar-sdd/SKILL.md +133 -0
- package/harness-skills/mstar-sdd/references/file-handoffs.md +83 -0
- package/harness-skills/mstar-sdd/references/implementer-continuation-prompt.md +44 -0
- package/harness-skills/mstar-sdd/references/implementer-prompt.md +56 -0
- package/harness-skills/mstar-sdd/references/sticky-implementer-session.md +103 -0
- package/harness-skills/mstar-sdd/references/task-reviewer-prompt.md +53 -0
- package/harness-skills/mstar-skill-authoring/SKILL.md +162 -0
- package/harness-skills/mstar-skill-authoring/references/skillsbench-authoring.md +117 -0
- package/harness-skills/mstar-strategy/SKILL.md +130 -0
- package/harness-skills/pm/SKILL.md +40 -0
- package/package.json +92 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Knowledge documentation schema for {KNOWLEDGE_DIR}
|
|
2
|
+
# Canonical frontmatter contract. Two tracks: bug and knowledge.
|
|
3
|
+
|
|
4
|
+
tracks:
|
|
5
|
+
bug:
|
|
6
|
+
description: "Defects, failures, and errors that were diagnosed and fixed"
|
|
7
|
+
problem_types:
|
|
8
|
+
- build_error
|
|
9
|
+
- test_failure
|
|
10
|
+
- runtime_error
|
|
11
|
+
- performance_issue
|
|
12
|
+
- database_issue
|
|
13
|
+
- security_issue
|
|
14
|
+
- ui_bug
|
|
15
|
+
- integration_issue
|
|
16
|
+
- logic_error
|
|
17
|
+
- config_error
|
|
18
|
+
knowledge:
|
|
19
|
+
description: "Practices, patterns, conventions, decisions, and workflow improvements"
|
|
20
|
+
problem_types:
|
|
21
|
+
- best_practice
|
|
22
|
+
- documentation_gap
|
|
23
|
+
- workflow_issue
|
|
24
|
+
- developer_experience
|
|
25
|
+
- architecture_pattern
|
|
26
|
+
- design_pattern
|
|
27
|
+
- tooling_decision
|
|
28
|
+
- convention
|
|
29
|
+
- api_design
|
|
30
|
+
- testing_pattern
|
|
31
|
+
|
|
32
|
+
required_fields:
|
|
33
|
+
module:
|
|
34
|
+
type: string
|
|
35
|
+
description: "Module, component, or area affected"
|
|
36
|
+
|
|
37
|
+
date:
|
|
38
|
+
type: string
|
|
39
|
+
pattern: '^\d{4}-\d{2}-\d{2}$'
|
|
40
|
+
description: "Date documented (YYYY-MM-DD)"
|
|
41
|
+
|
|
42
|
+
problem_type:
|
|
43
|
+
type: enum
|
|
44
|
+
values:
|
|
45
|
+
- build_error
|
|
46
|
+
- test_failure
|
|
47
|
+
- runtime_error
|
|
48
|
+
- performance_issue
|
|
49
|
+
- database_issue
|
|
50
|
+
- security_issue
|
|
51
|
+
- ui_bug
|
|
52
|
+
- integration_issue
|
|
53
|
+
- logic_error
|
|
54
|
+
- config_error
|
|
55
|
+
- developer_experience
|
|
56
|
+
- workflow_issue
|
|
57
|
+
- best_practice
|
|
58
|
+
- documentation_gap
|
|
59
|
+
- architecture_pattern
|
|
60
|
+
- design_pattern
|
|
61
|
+
- tooling_decision
|
|
62
|
+
- convention
|
|
63
|
+
- api_design
|
|
64
|
+
- testing_pattern
|
|
65
|
+
description: "Primary category — determines track (bug vs knowledge)"
|
|
66
|
+
|
|
67
|
+
category:
|
|
68
|
+
type: string
|
|
69
|
+
description: "Directory name under {KNOWLEDGE_DIR} (see category-mapping.md)"
|
|
70
|
+
|
|
71
|
+
severity:
|
|
72
|
+
type: enum
|
|
73
|
+
values:
|
|
74
|
+
- critical
|
|
75
|
+
- high
|
|
76
|
+
- medium
|
|
77
|
+
- low
|
|
78
|
+
description: "Impact severity"
|
|
79
|
+
|
|
80
|
+
track_rules:
|
|
81
|
+
bug:
|
|
82
|
+
required:
|
|
83
|
+
symptoms:
|
|
84
|
+
type: array
|
|
85
|
+
description: "Observable symptoms (errors, broken behavior)"
|
|
86
|
+
root_cause:
|
|
87
|
+
type: string
|
|
88
|
+
description: "Fundamental technical cause"
|
|
89
|
+
resolution_type:
|
|
90
|
+
type: enum
|
|
91
|
+
values:
|
|
92
|
+
- code_fix
|
|
93
|
+
- migration
|
|
94
|
+
- config_change
|
|
95
|
+
- test_fix
|
|
96
|
+
- dependency_update
|
|
97
|
+
- environment_setup
|
|
98
|
+
- workflow_improvement
|
|
99
|
+
- documentation_update
|
|
100
|
+
- tooling_addition
|
|
101
|
+
description: "Type of fix applied"
|
|
102
|
+
knowledge:
|
|
103
|
+
optional:
|
|
104
|
+
applies_when:
|
|
105
|
+
type: array
|
|
106
|
+
description: "Conditions or situations where this guidance applies"
|
|
107
|
+
|
|
108
|
+
optional_fields:
|
|
109
|
+
plan_id:
|
|
110
|
+
type: string
|
|
111
|
+
description: "Link to status.json plans[].id"
|
|
112
|
+
tags:
|
|
113
|
+
type: array
|
|
114
|
+
max_items: 8
|
|
115
|
+
description: "Search keywords, lowercase, hyphen-separated"
|
|
116
|
+
last_updated:
|
|
117
|
+
type: string
|
|
118
|
+
pattern: '^\d{4}-\d{2}-\d{2}$'
|
|
119
|
+
description: "Date of last substantive update (added when updating an existing doc)"
|
|
120
|
+
related_components:
|
|
121
|
+
type: array
|
|
122
|
+
description: "Other components involved"
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mstar-compound-refresh
|
|
3
|
+
description: Morning Star 知识维护与项目知识 bootstrap —— 审查 `{KNOWLEDGE_DIR}` 文档是否仍准确、去重叠合并、清理过期知识;或从代码库提炼 STRATEGY.md、CONCEPTS.md、基线 knowledge 脚手架(无/残旧/空白 knowledge)。触发:`mstar-compound` 发现可合并文档、定期维护、项目缺 STRATEGY.md/CONCEPTS.md/{KNOWLEDGE_DIR}、stale knowledge scaffolding、显式 bootstrap 请求、或显式 refresh。产出:更新/合并/删除知识文档 + 维护报告;或 bootstrap 产物(STRATEGY.md、CONCEPTS.md、基线 knowledge)。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# mstar-compound-refresh(知识维护)
|
|
7
|
+
|
|
8
|
+
## Load order
|
|
9
|
+
|
|
10
|
+
**Read `mstar-harness-core` first.** Path symbols → **`mstar-plan-conventions`**. On conflict, **`mstar-harness-core` wins**.
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
Knowledge documents in `{KNOWLEDGE_DIR}` age. Code changes, conventions evolve, patterns become obsolete. `mstar-compound-refresh` audits the knowledge store against the current codebase and makes it trustworthy again.
|
|
15
|
+
|
|
16
|
+
## 产物与操作路径
|
|
17
|
+
|
|
18
|
+
**SSOT**: `mstar-plan-conventions/references/artifact-storage-paths.md`。本 skill 仅操作 `{HARNESS_DIR}/knowledge/**/*.md` + `{HARNESS_DIR}/knowledge/README.md` + `<repo-root>/CONCEPTS.md` + `{HARNESS_DIR}/status.json`(引用更新)。**禁止**操作 `docs/`、`{PLAN_DIR}/`、`{ITERATION_DIR}/`、`{SPECS_DIR}/`。
|
|
19
|
+
|
|
20
|
+
> **Engine check (when available):** run `mstar compound validate <doc-path> --knowledge-dir <dir>` (or `import { scopeGuard, compoundRefreshScope } from "@mstar-harness/engine"` in a host hook) to resolve the allowed scope above (`{HARNESS_DIR}/knowledge/**`, `knowledge/README.md`, `<repo-root>/CONCEPTS.md`, `{HARNESS_DIR}/status.json`) and guard every write against it. On `fail` -> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
|
|
21
|
+
|
|
22
|
+
## When to use
|
|
23
|
+
|
|
24
|
+
| Trigger | Example |
|
|
25
|
+
|---------|---------|
|
|
26
|
+
| `mstar-compound` detected overlapping docs | "Two docs cover N+1 queries — consider refresh" |
|
|
27
|
+
| Scheduled maintenance | "It's been a quarter, let's audit knowledge" |
|
|
28
|
+
| Domain refactored | After a major module rewrite |
|
|
29
|
+
| Explicit user request | `/pm compound-refresh performance-issues` |
|
|
30
|
+
| **Project knowledge bootstrap** | No/stale/partial `STRATEGY.md`, `CONCEPTS.md`, or `{KNOWLEDGE_DIR}` — see below |
|
|
31
|
+
|
|
32
|
+
## Bootstrap vs refresh
|
|
33
|
+
|
|
34
|
+
| Mode | When | Procedure |
|
|
35
|
+
|------|------|-----------|
|
|
36
|
+
| **Refresh** | `{KNOWLEDGE_DIR}` exists; audit accuracy, merge overlaps, delete stale docs | This skill § Process (Phases 1–6) |
|
|
37
|
+
| **Bootstrap** | No knowledge scaffolding, or artifacts are absent/stale enough to warrant full distillation from codebase | **`references/project-knowledge-bootstrap.md`** (7-phase: survey → STRATEGY.md → CONCEPTS.md → baseline knowledge → indexing → harness init → commit) |
|
|
38
|
+
|
|
39
|
+
Read the bootstrap reference on demand; do not paste its body into this SKILL.md.
|
|
40
|
+
|
|
41
|
+
## Maintenance outcomes
|
|
42
|
+
|
|
43
|
+
For each candidate document, classify into one of five outcomes:
|
|
44
|
+
|
|
45
|
+
| Outcome | Meaning | Default action |
|
|
46
|
+
|---------|---------|----------------|
|
|
47
|
+
| **Keep** | Still accurate and useful | No edit; report reviewed |
|
|
48
|
+
| **Update** | Core solution correct, references drifted | In-place edits (paths, module names, code snippets) |
|
|
49
|
+
| **Consolidate** | Two+ docs overlap heavily, both correct | Merge unique content into canonical doc, delete subsumed |
|
|
50
|
+
| **Replace** | Old doc is misleading; known better replacement exists | Create trustworthy successor, then delete old |
|
|
51
|
+
| **Delete** | No longer useful, applicable, or distinct | Delete — git history preserves it |
|
|
52
|
+
|
|
53
|
+
## Core rules
|
|
54
|
+
|
|
55
|
+
1. **Evidence over opinion.** Signals are inputs, not a scorecard. Use engineering judgment.
|
|
56
|
+
2. **Prefer no-write Keep.** Do not update a doc just to leave a review breadcrumb.
|
|
57
|
+
3. **Match docs to reality.** When code differs from doc, update the doc — not ask whether the code change was "intentional."
|
|
58
|
+
4. **Be decisive.** When evidence is clear (file renamed, class moved), apply. Only ask PM when genuinely ambiguous.
|
|
59
|
+
5. **Avoid low-value churn.** Don't edit for typos, polish, or cosmetic changes that don't improve accuracy.
|
|
60
|
+
6. **Delete, don't archive** — **except** formal **iteration-start** §1.6 corpus hygiene (`mstar-iteration/references/iteration-corpus-hygiene.md`), which **moves** superseded/redundant knowledge/specs to `{HARNESS_DIR}/archived/knowledge|specs/`. Outside that gate, git history is the archive; `git log --diff-filter=D -- <path>` finds deleted docs.
|
|
61
|
+
7. **Evaluate document-set design.** Check whether two+ docs overlap and should be consolidated. Redundant docs silently drift apart.
|
|
62
|
+
|
|
63
|
+
## Scope selection
|
|
64
|
+
|
|
65
|
+
### Default: user-guided
|
|
66
|
+
|
|
67
|
+
1. Ask PM for scope: "All knowledge docs, a specific category, or a keyword?"
|
|
68
|
+
2. If category: narrow to `{KNOWLEDGE_DIR}/<category>/`.
|
|
69
|
+
3. If keyword: search frontmatter (`module:`, `tags:`, `problem_type:`) and filenames.
|
|
70
|
+
|
|
71
|
+
### PM-directed: specific scope
|
|
72
|
+
|
|
73
|
+
PM provides a scope hint (directory name, filename, module name, or keyword). Match in this order:
|
|
74
|
+
1. Directory match under `{KNOWLEDGE_DIR}/`
|
|
75
|
+
2. Frontmatter field match
|
|
76
|
+
3. Filename match
|
|
77
|
+
4. Content search
|
|
78
|
+
|
|
79
|
+
## Process
|
|
80
|
+
|
|
81
|
+
### Phase 1: Inventory
|
|
82
|
+
|
|
83
|
+
1. List all `.md` files under `{KNOWLEDGE_DIR}/` (excluding `README.md` and index files).
|
|
84
|
+
2. Read frontmatter of each candidate.
|
|
85
|
+
3. Group by `category` / `module` for impact clustering.
|
|
86
|
+
|
|
87
|
+
### Phase 2: Assess per doc
|
|
88
|
+
|
|
89
|
+
For each doc, check:
|
|
90
|
+
|
|
91
|
+
1. **Referenced code still exists?** — grep for file paths, class names, function names mentioned.
|
|
92
|
+
2. **Referenced conventions still match?** — check against current `AGENTS.md`, `CONCEPTS.md`, lint configs.
|
|
93
|
+
3. **Solution still the recommended approach?** — has a newer pattern superseded it?
|
|
94
|
+
4. **Overlap with other docs?** — search for same module/tags to find duplicates.
|
|
95
|
+
|
|
96
|
+
### Phase 3: Classify and act
|
|
97
|
+
|
|
98
|
+
Classify each doc → Keep / Update / Consolidate / Replace / Delete. Apply changes.
|
|
99
|
+
|
|
100
|
+
### Phase 4: Update indexes
|
|
101
|
+
|
|
102
|
+
1. Update `{KNOWLEDGE_DIR}/README.md` index table — update Status column, add/remove rows.
|
|
103
|
+
2. If doc was linked from `status.json` metadata, update references.
|
|
104
|
+
|
|
105
|
+
### Phase 5: Report
|
|
106
|
+
|
|
107
|
+
Produce a maintenance report:
|
|
108
|
+
- Docs reviewed (count)
|
|
109
|
+
- Docs kept (count)
|
|
110
|
+
- Docs updated (list with what changed)
|
|
111
|
+
- Docs consolidated (list with which canonical doc merged into)
|
|
112
|
+
- Docs replaced (list with successor path)
|
|
113
|
+
- Docs deleted (list with reason)
|
|
114
|
+
- Docs flagged for PM review (ambiguous cases)
|
|
115
|
+
|
|
116
|
+
### Phase 6: CONCEPTS.md reconciliation
|
|
117
|
+
|
|
118
|
+
If `CONCEPTS.md` exists, reconcile it with the refreshed knowledge:
|
|
119
|
+
- Terms mentioned in updated/replaced docs may need updating in CONCEPTS.md
|
|
120
|
+
- Terms no longer referenced may be candidates for removal
|
|
121
|
+
|
|
122
|
+
If `CONCEPTS.md` doesn't exist but knowledge docs contain qualifying domain terms, propose bootstrapping it (full repo-wide seed). Use `references/concepts-vocabulary.md` from `mstar-compound` for rules (read on demand — cross-skill path resolution via skill directory).
|
|
123
|
+
|
|
124
|
+
## Cross-skill coordination
|
|
125
|
+
|
|
126
|
+
`mstar-compound-refresh` reads vocabulary rules from `mstar-compound`'s references. At runtime, resolve the path from the loaded skill directory:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
The CONCEPTS.md vocabulary rules are in the mstar-compound skill at:
|
|
130
|
+
references/concepts-vocabulary.md
|
|
131
|
+
Read that file from the mstar-compound skill directory before Phase 6.
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## NOT to do
|
|
135
|
+
|
|
136
|
+
- Do not delete docs without checking for inbound links
|
|
137
|
+
- Do not "archive" — delete instead
|
|
138
|
+
- Do not ask PM about mechanical updates (path fixes, renamed modules)
|
|
139
|
+
- Do not change code to match outdated docs — update docs to match code
|
|
140
|
+
- Do not run without PM approval for destructive actions (Delete, Replace)
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# Bootstrap Project Knowledge
|
|
2
|
+
|
|
3
|
+
Distill a coherent knowledge baseline from the current project — useful when the project has no `STRATEGY.md` / `CONCEPTS.md` / `{KNOWLEDGE_DIR}`, has partial or outdated ones, or has accumulated documentation debt.
|
|
4
|
+
|
|
5
|
+
**Goal**: produce a minimal, accurate, opinionated knowledge foundation that future iteration-start and plan-work can ground in.
|
|
6
|
+
|
|
7
|
+
## Load order (bootstrap)
|
|
8
|
+
|
|
9
|
+
1. `mstar-harness-core`
|
|
10
|
+
2. `mstar-compound-refresh` (this skill)
|
|
11
|
+
3. `mstar-plan-conventions`(路径符号)
|
|
12
|
+
4. `mstar-strategy` → **§ STRATEGY.md structure** + **§ Creating STRATEGY.md**
|
|
13
|
+
5. `mstar-compound` → **references/concepts-vocabulary.md**(CONCEPTS.md 规则)
|
|
14
|
+
6. This reference — **§ Core rules** in `mstar-compound-refresh/SKILL.md`(知识维护基线)
|
|
15
|
+
|
|
16
|
+
## Phase 1: Survey — understand what exists
|
|
17
|
+
|
|
18
|
+
### 1.1 Codebase scan
|
|
19
|
+
|
|
20
|
+
- Read `README.md` (if exists) to understand project purpose
|
|
21
|
+
- Read `AGENTS.md` / `CLAUDE.md` (if exists) for conventions and maintenance rules
|
|
22
|
+
- Glob for `**/package.json`, `**/pyproject.toml`, `**/go.mod`, `**/Cargo.toml` to identify tech stack
|
|
23
|
+
- Glob for `**/src/`, `**/lib/`, `**/app/` to identify module structure
|
|
24
|
+
- Scan top-level directory layout
|
|
25
|
+
|
|
26
|
+
### 1.2 Existing knowledge inventory
|
|
27
|
+
|
|
28
|
+
Check what already exists and note its condition:
|
|
29
|
+
|
|
30
|
+
| Artifact | Check | Condition |
|
|
31
|
+
|----------|-------|-----------|
|
|
32
|
+
| `STRATEGY.md` | Exists? Is it current/accurate? | `absent` / `stale` / `partial` / `current` |
|
|
33
|
+
| `CONCEPTS.md` | Exists? Covers core domain nouns? | `absent` / `stale` / `partial` / `current` |
|
|
34
|
+
| `{KNOWLEDGE_DIR}/README.md` | Exists? Index populated? | `absent` / `empty` / `partial` / `current` |
|
|
35
|
+
| `{KNOWLEDGE_DIR}/**/*.md` | Any knowledge docs? Are they still accurate? | `none` / `few` / `some` / `many` |
|
|
36
|
+
| `{ITERATION_DIR}/README.md` | Exists? Any past iteration artifacts? | `absent` / `present` |
|
|
37
|
+
| `{SPECS_DIR}/` or `designs/` | Any specs or ADRs? | `absent` / `present` |
|
|
38
|
+
| `docs/` | Any architecture docs, design notes? | Count and note relevance |
|
|
39
|
+
| `{HARNESS_DIR}/status.json` | Exists? Any historical plans? | `absent` / `present` |
|
|
40
|
+
|
|
41
|
+
Report findings to the user: what exists, what's missing, what's stale.
|
|
42
|
+
|
|
43
|
+
### 1.3 Deep read — extract knowledge from code
|
|
44
|
+
|
|
45
|
+
For each primary module / package identified in 1.1:
|
|
46
|
+
|
|
47
|
+
1. Read the module's exported interface (public classes, functions, APIs)
|
|
48
|
+
2. Read key configuration files (database schema, routes, middlewares)
|
|
49
|
+
3. Identify recurring patterns: error handling style, dependency injection, ORM usage, auth flow
|
|
50
|
+
4. Note any README or docstrings that describe domain concepts
|
|
51
|
+
|
|
52
|
+
**Output**: a mental model of the project's domain, architecture patterns, conventions, and tech choices.
|
|
53
|
+
|
|
54
|
+
## Phase 2: Distill STRATEGY.md
|
|
55
|
+
|
|
56
|
+
Use `mstar-strategy` skill to produce `<repo-root>/STRATEGY.md`.
|
|
57
|
+
|
|
58
|
+
### If STRATEGY.md is absent
|
|
59
|
+
|
|
60
|
+
1. Gather context from Phase 1 survey
|
|
61
|
+
2. Ask the user the 5 interview questions(`mstar-strategy` § Phase 2)
|
|
62
|
+
3. Draft and review: keep each section 1-3 sentences
|
|
63
|
+
|
|
64
|
+
### If STRATEGY.md exists but is stale/partial
|
|
65
|
+
|
|
66
|
+
1. Present specific findings: "Section X contradicts current code / is outdated because Y changed"
|
|
67
|
+
2. Ask whether to update in-place or rewrite
|
|
68
|
+
3. Apply edits, keeping the Decision Log for historical context
|
|
69
|
+
|
|
70
|
+
### If STRATEGY.md is current
|
|
71
|
+
|
|
72
|
+
Skip, note in report.
|
|
73
|
+
|
|
74
|
+
## Phase 3: Seed CONCEPTS.md
|
|
75
|
+
|
|
76
|
+
Use `mstar-compound/references/concepts-vocabulary.md` rules to produce `<repo-root>/CONCEPTS.md`.
|
|
77
|
+
|
|
78
|
+
### Identify core domain nouns
|
|
79
|
+
|
|
80
|
+
From the codebase survey and STRATEGY.md, extract terms that meet the qualifying bar:
|
|
81
|
+
- Its meaning in this project is precise enough that a new engineer would need it defined
|
|
82
|
+
- It is not general programming vocabulary
|
|
83
|
+
|
|
84
|
+
**Source areas** to scan:
|
|
85
|
+
- Database schema (table/column names that encode domain concepts)
|
|
86
|
+
- Core model/type definitions
|
|
87
|
+
- API endpoint naming patterns
|
|
88
|
+
- Entity relationship structure
|
|
89
|
+
- README / architecture docs
|
|
90
|
+
- STRATEGY.md domain terms
|
|
91
|
+
|
|
92
|
+
### Write entries
|
|
93
|
+
|
|
94
|
+
Each entry: one-sentence definition + optional paragraph for behavioral rules.
|
|
95
|
+
- Cluster by domain relationship
|
|
96
|
+
- Add `*Avoid:*` aliases for retired synonyms
|
|
97
|
+
- No implementation specifics (file paths, class names)
|
|
98
|
+
- Add `## Flagged ambiguities` tail section if needed
|
|
99
|
+
|
|
100
|
+
### If CONCEPTS.md already exists
|
|
101
|
+
|
|
102
|
+
Reconcile: keep valid entries, add newly discovered terms, update stale definitions. Do not duplicate.
|
|
103
|
+
|
|
104
|
+
## Phase 4: Generate baseline knowledge docs
|
|
105
|
+
|
|
106
|
+
From the Phase 1 survey, identify patterns and conventions worth documenting as knowledge docs in `{KNOWLEDGE_DIR}/`.
|
|
107
|
+
|
|
108
|
+
### Minimum docs to produce (if absent)
|
|
109
|
+
|
|
110
|
+
| Knowledge doc | Content source | Category |
|
|
111
|
+
|---------------|---------------|----------|
|
|
112
|
+
| **Architecture overview** | Module structure, tech stack, component interactions | `architecture-patterns/` |
|
|
113
|
+
| **Development conventions** | Linting, testing, commit format, code style from AGENTS.md / configs | `conventions/` |
|
|
114
|
+
| **Project setup** | Dependencies, environment setup, build/run commands | `developer-experience/` |
|
|
115
|
+
| **Key domain patterns** | ORM patterns, auth flow, error handling, API design | `best-practices/` |
|
|
116
|
+
|
|
117
|
+
Each doc follows the Knowledge track template (`mstar-compound/assets/resolution-template.md`).
|
|
118
|
+
|
|
119
|
+
### What NOT to generate
|
|
120
|
+
|
|
121
|
+
- Do not guess implementation details you haven't verified from code
|
|
122
|
+
- Do not document general framework knowledge (e.g., "how to use React")
|
|
123
|
+
- Do not create docs for areas the user explicitly excludes
|
|
124
|
+
|
|
125
|
+
### If knowledge docs already exist
|
|
126
|
+
|
|
127
|
+
Apply `mstar-compound-refresh` logic:
|
|
128
|
+
- Keep accurate docs
|
|
129
|
+
- Update stale references
|
|
130
|
+
- Consolidate overlapping docs
|
|
131
|
+
- Delete docs for code that no longer exists
|
|
132
|
+
- Add new docs only for genuinely undocumented patterns
|
|
133
|
+
|
|
134
|
+
## Phase 5: Indexing & discoverability
|
|
135
|
+
|
|
136
|
+
1. Create or update `{KNOWLEDGE_DIR}/README.md` index table
|
|
137
|
+
2. Create or update `{ITERATION_DIR}/README.md` index table (if iteration artifacts exist)
|
|
138
|
+
3. Check AGENTS.md references all knowledge artifacts:
|
|
139
|
+
- If missing `{HARNESS_DIR}/knowledge/` → propose adding
|
|
140
|
+
- If missing `STRATEGY.md` → propose adding
|
|
141
|
+
- If missing `CONCEPTS.md` → propose adding
|
|
142
|
+
4. Ask for consent before editing AGENTS.md
|
|
143
|
+
|
|
144
|
+
## Phase 6: Initialize harness (if absent)
|
|
145
|
+
|
|
146
|
+
If `{HARNESS_DIR}/` does not exist:
|
|
147
|
+
1. Initialize per `mstar-plan-conventions`(`.mstar/` + subdirectories)
|
|
148
|
+
2. Create empty `status.json` from template (`mstar-plan-artifacts/templates/status.empty.json`)
|
|
149
|
+
|
|
150
|
+
## Phase 7: Commit
|
|
151
|
+
|
|
152
|
+
All bootstrap artifacts must be committed:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
git add STRATEGY.md CONCEPTS.md AGENTS.md {HARNESS_DIR}/ {KNOWLEDGE_DIR}/
|
|
156
|
+
git commit -m "chore: bootstrap project knowledge — STRATEGY.md, CONCEPTS.md, baseline knowledge docs"
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Report a summary:
|
|
160
|
+
- STRATEGY.md: created / updated / skipped
|
|
161
|
+
- CONCEPTS.md: created / updated(<N> entries)/ skipped
|
|
162
|
+
- Knowledge docs: <N> created, <N> updated, <N> deleted, <N> kept
|
|
163
|
+
- Harness: initialized / already existed
|
|
164
|
+
- AGENTS.md: updated / not modified
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mstar-design-md
|
|
3
|
+
description: DESIGN.md design system specification for Morning Star projects. Create, audit, and maintain project-level design tokens (Colors, Typography, Spacing, Elevation, Motion, Shapes, Components, Voice & Content) using Vercel Geist as reference template. Three-level completeness checklist (MVP/Standard/Production) with built-in upgrade placeholders. Supports light/dark dual-theme via DESIGN.md + DESIGN.dark.md sharing same token names with different values. Prepare 阶段由 @architect 主责创建,@product-manager 提供设计需求;@frontend-dev / @fullstack-dev 实现 UI 时消费;@qc-specialist / @qa-engineer 审查 UI 对齐 DESIGN.md。Read when PM assigns DESIGN.md creation in Prepare, initiating a new UI project, @architect defining a design system, implementing styled components, auditing UI against design spec, adding dark theme, or user mentions "DESIGN.md" / "design tokens" / "design system". Phase gate → **mstar-phase-gates**; paths → **mstar-plan-conventions**.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Load order
|
|
7
|
+
|
|
8
|
+
**Before first Read of this skill: Read `mstar-harness-core` (SKILL.md).** For Prepare phase integration and gate rules, read `mstar-phase-gates`. For plan directory paths (`{HARNESS_DIR}`, `{SPECS_DIR}`), read `mstar-plan-conventions`. On conflict, **`mstar-harness-core` wins**.
|
|
9
|
+
|
|
10
|
+
| 你还可能要 Read | 何时 |
|
|
11
|
+
|-----------------|------|
|
|
12
|
+
| `mstar-phase-gates` | Prepare 阶段判定 gate、何时 DESIGN.md 必须就绪 |
|
|
13
|
+
| `mstar-plan-conventions` | `{HARNESS_DIR}` / `{SPECS_DIR}` 路径解析 |
|
|
14
|
+
| `mstar-roles` | `@architect` / `@product-manager` / `@frontend-dev` / `@qc-specialist` / `@qa-engineer` 角色职责边界 |
|
|
15
|
+
| `mstar-coding-behavior` | 实现角色消费 DESIGN.md 前的通用编码约束 |
|
|
16
|
+
|
|
17
|
+
## Scope (DESIGN.md lifecycle)
|
|
18
|
+
|
|
19
|
+
| Topic | See |
|
|
20
|
+
|-------|-----|
|
|
21
|
+
| Normative spec: section definitions, token naming, light/dark rules, **YAML frontmatter structure** | `references/design-md-spec.md` |
|
|
22
|
+
| Three-level completeness checklist (MVP / Standard / Production) | `references/completeness-checklist.md` |
|
|
23
|
+
| Vercel Geist DESIGN.md as annotated reference | `references/vercel-example.md` |
|
|
24
|
+
| Full template with YAML frontmatter and Level 2/3 placeholders | `templates/DESIGN.md.template` |
|
|
25
|
+
| Dark theme template (same token names, different values) | `templates/DESIGN.dark.md.template` |
|
|
26
|
+
|
|
27
|
+
**YAML frontmatter is the SSOT for token values.** Colors, typography, spacing, rounded, and components live in the frontmatter as structured, machine-readable data. The Markdown body is supplementary documentation (rules, intent, usage guidance). When reading DESIGN.md, always parse the YAML frontmatter first; when writing, keep frontmatter and body in sync.
|
|
28
|
+
|
|
29
|
+
**Out of scope:** rendered UI preview tooling outside the repo; frontend implementation that consumes DESIGN.md tokens (use `@frontend-dev` / `@fullstack-dev`); QC review verdict rules (→ **`mstar-review-qc`**).
|
|
30
|
+
|
|
31
|
+
## Location
|
|
32
|
+
|
|
33
|
+
- **Primary**: project root `DESIGN.md` (human + agent visible, aligns with `AGENTS.md`)
|
|
34
|
+
- **Dark theme**: project root `DESIGN.dark.md` (same token names, different values)
|
|
35
|
+
- `DESIGN.md` is a **project-level design contract**, not a harness internal artifact. It lives beside `README.md` and `AGENTS.md`.
|
|
36
|
+
|
|
37
|
+
## Role lifecycle
|
|
38
|
+
|
|
39
|
+
### Creator: `@architect` (primary) + `@product-manager` (requirements)
|
|
40
|
+
|
|
41
|
+
`@architect` owns DESIGN.md content — token selection, naming, completeness level decisions. `@product-manager` provides design intent: brand identity, target audience, must-have UI patterns, accessibility requirements.
|
|
42
|
+
|
|
43
|
+
### Orchestrator: `@project-manager`
|
|
44
|
+
|
|
45
|
+
In Prepare phase, PM decides whether the project needs a DESIGN.md. If yes, dispatches to `@architect` with product requirements from `@product-manager`. PM checks DESIGN.md exists and meets the assigned completeness level before `plan(locked)`.
|
|
46
|
+
|
|
47
|
+
### Consumers
|
|
48
|
+
|
|
49
|
+
- `@frontend-dev` / `@fullstack-dev` — read DESIGN.md before implementing styled components; map tokens to CSS/theme variables
|
|
50
|
+
- `@qc-specialist` — verify UI implementation aligns with DESIGN.md tokens
|
|
51
|
+
- `@qa-engineer` — verify visual output matches design spec when **`QA gate: mandatory`**
|
|
52
|
+
|
|
53
|
+
## Phase gate integration
|
|
54
|
+
|
|
55
|
+
DESIGN.md is a **Prepare-stage artifact** (like spec). It must be created and reviewed before `plan(locked)` for any plan that includes UI work.
|
|
56
|
+
|
|
57
|
+
1. PM includes "DESIGN.md creation/audit" in Prepare tracking checklist when the plan involves UI
|
|
58
|
+
2. `@architect` creates or updates DESIGN.md; `@product-manager` reviews design intent alignment
|
|
59
|
+
3. PM gates on: DESIGN.md exists, meets completeness level declared in plan, `@product-manager` signed off
|
|
60
|
+
|
|
61
|
+
For **hotfix** or plans with no UI changes, DESIGN.md check may be skipped.
|
|
62
|
+
|
|
63
|
+
## Completeness levels
|
|
64
|
+
|
|
65
|
+
DESIGN.md supports three levels, each with built-in upgrade path:
|
|
66
|
+
|
|
67
|
+
1. **Level 1 — MVP** (minimal, prevents guesswork): palette, base typography, spacing scale
|
|
68
|
+
2. **Level 2 — Standard** (consistent components): full token scales, breakpoints, component tokens (Button, Input)
|
|
69
|
+
3. **Level 3 — Production** (complete design system): dual theme, elevation, motion, shapes, component library, voice
|
|
70
|
+
|
|
71
|
+
The template includes all levels; Level 2 and 3 sections are commented out with `<!-- LEVEL2_PLACEHOLDER: ... -->` markers that explain when to activate them. The audit workflow detects these placeholders and can recommend upgrade.
|
|
72
|
+
|
|
73
|
+
Full checklist → `references/completeness-checklist.md`.
|
|
74
|
+
|
|
75
|
+
## Workflows
|
|
76
|
+
|
|
77
|
+
### Workflow 1: Create DESIGN.md (Prepare phase)
|
|
78
|
+
|
|
79
|
+
1. Read `references/design-md-spec.md` for section definitions and YAML frontmatter structure
|
|
80
|
+
2. Copy `templates/DESIGN.md.template` to `{PROJECT_ROOT}/DESIGN.md` — the template includes the full YAML frontmatter skeleton
|
|
81
|
+
3. Interview `@product-manager` for brand colors, typography preferences, must-have patterns
|
|
82
|
+
4. Fill Level 1 frontmatter tokens (uncomment and replace `"[placeholder]"` values with concrete hex/px values)
|
|
83
|
+
5. If plan requires Level 2+ out of the gate, uncomment and fill those sections too
|
|
84
|
+
6. Update the body prose to match the frontmatter values (target audience, aesthetic principles, rhythm rules)
|
|
85
|
+
7. Run the completeness audit workflow below to confirm level
|
|
86
|
+
8. Report to PM: path created, level achieved, what's needed for next level
|
|
87
|
+
|
|
88
|
+
### Workflow 2: Audit DESIGN.md completeness
|
|
89
|
+
|
|
90
|
+
1. Read `DESIGN.md` and `DESIGN.dark.md` (if exists) — **parse the YAML frontmatter** for structured token values
|
|
91
|
+
2. Load `references/completeness-checklist.md`
|
|
92
|
+
3. Check each checklist item; note gaps in both frontmatter (missing/uncommented keys, placeholder values) and body (missing rules/documentation)
|
|
93
|
+
4. Report:
|
|
94
|
+
- Current completeness level
|
|
95
|
+
- Gaps preventing next level (frontmatter gaps vs. body gaps, tagged separately)
|
|
96
|
+
- Presence of upgrade placeholders (`LEVEL2_PLACEHOLDER`, `LEVEL3_PLACEHOLDER` in both frontmatter comments and body HTML comments)
|
|
97
|
+
- Recommendation: whether to upgrade now or defer
|
|
98
|
+
5. Update DESIGN.md level tag (e.g., `<!-- COMPLETENESS_LEVEL: 1 — last audited YYYY-MM-DD -->`) if changed
|
|
99
|
+
|
|
100
|
+
### Workflow 3: Add dark theme
|
|
101
|
+
|
|
102
|
+
1. Read existing `DESIGN.md` to extract token names
|
|
103
|
+
2. Copy `templates/DESIGN.dark.md.template` to `{PROJECT_ROOT}/DESIGN.dark.md`
|
|
104
|
+
3. For each token in DESIGN.md, define the dark-theme equivalent value
|
|
105
|
+
4. Preserve same token names; only values change (see `references/design-md-spec.md` § Light/Dark rules)
|
|
106
|
+
5. Audit with Workflow 2 to confirm Level 3 completeness
|
|
107
|
+
|
|
108
|
+
### Workflow 4: Consume DESIGN.md (implementation roles)
|
|
109
|
+
|
|
110
|
+
Before writing styled UI code:
|
|
111
|
+
1. Read `DESIGN.md` (and `DESIGN.dark.md` if exists)
|
|
112
|
+
2. **Parse the YAML frontmatter** for token values — this is the SSOT for colors, typography, spacing, rounded, and components
|
|
113
|
+
3. Resolve component `{colors.X}`, `{typography.X}`, `{rounded.X}` references by tracing back to the corresponding frontmatter keys
|
|
114
|
+
4. Extract tokens into implementation layer (CSS custom properties, Tailwind config, theme object, etc.)
|
|
115
|
+
5. Follow DESIGN.md body Voice & Content rules for copy text
|
|
116
|
+
6. If DESIGN.md is missing, has no frontmatter, or is incomplete, report to PM — do not guess tokens
|
|
117
|
+
|
|
118
|
+
## Light/Dark dual-theme rules
|
|
119
|
+
|
|
120
|
+
Dual theme uses **same token names, different values** across two files:
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
DESIGN.md DESIGN.dark.md
|
|
124
|
+
----------- --------------
|
|
125
|
+
gray-100: #fff gray-100: #111
|
|
126
|
+
gray-1000: #000 gray-1000: #eee
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
- Token names are the **SSOT interface** — consumers reference tokens by name, not raw values
|
|
130
|
+
- `references/design-md-spec.md` § Light/Dark rules defines the contract
|
|
131
|
+
|
|
132
|
+
> **Engine check (when available):** run `mstar design-md validate <dir>` (or `import { validateDesignTokenFrontmatter, assertLightDarkParity, completenessLevel } from "@mstar-harness/engine"` in a host hook) to validate the token frontmatter schema above, the light/dark parity of `DESIGN.dark.md` (same token names, different values), and the achieved completeness level. On `fail` -> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
|
|
133
|
+
|
|
134
|
+
## References
|
|
135
|
+
|
|
136
|
+
- `references/design-md-spec.md` — normative spec: section definitions, token naming conventions, light/dark contract
|
|
137
|
+
- `references/completeness-checklist.md` — three-level audit checklist with detailed criteria per level
|
|
138
|
+
- `references/vercel-example.md` — Vercel Geist DESIGN.md as annotated reference (read when creating from scratch or needing design inspiration)
|
|
139
|
+
|
|
140
|
+
**Templates (this skill):**
|
|
141
|
+
- `templates/DESIGN.md.template` — full template including all Level 1-3 sections with placeholder comments
|
|
142
|
+
- `templates/DESIGN.dark.md.template` — dark theme template with same token names, different values
|