@jennie-shawn/starwork 0.1.0-alpha.2 → 0.1.0-alpha.21
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.md +111 -99
- package/adapters/README.md +34 -0
- package/adapters/claude-code/profile.json +55 -0
- package/adapters/claude-code/rules.md +13 -0
- package/adapters/claude-code/safety.md +6 -0
- package/adapters/codex/profile.json +55 -0
- package/adapters/codex/rules.md +12 -0
- package/adapters/codex/safety.md +5 -0
- package/adapters/contract.md +64 -0
- package/adapters/cursor/profile.json +60 -0
- package/adapters/cursor/rules.md +7 -0
- package/adapters/cursor/safety.md +6 -0
- package/adapters/trae/profile.json +61 -0
- package/adapters/trae/rules.md +7 -0
- package/adapters/trae/safety.md +7 -0
- package/cli/README.md +50 -9
- package/cli/audit-spec.md +403 -0
- package/cli/doctor-spec.md +109 -17
- package/cli/init-spec.md +81 -53
- package/cli/repair-spec.md +361 -0
- package/cli/spawn-blueprint-spec.md +18 -18
- package/cli/spawn-spec.md +103 -108
- package/cli/src/cli.js +9403 -1059
- package/cli/test/init.test.js +2566 -51
- package/cli/upgrade-spec.md +488 -0
- package/core/README.md +14 -3
- package/core/agent-lanes-session-naming-spec.md +364 -0
- package/core/agent-lanes-spec.md +507 -0
- package/core/baseline/file-boundaries.md +11 -3
- package/core/baseline/health-check.md +2 -2
- package/core/baseline/roles.md +0 -1
- package/core/baseline/spec.md +3 -2
- package/core/capabilities/README.md +5 -2
- package/core/capabilities/agent-lanes/capability.md +40 -0
- package/core/capabilities/decisions/capability.md +2 -2
- package/core/capabilities/knowledge/capability.md +72 -0
- package/core/capabilities/knowledge/skills/starworkKnowledgeProject/SKILL.md +57 -0
- package/core/capabilities/knowledge/skills/starworkKnowledgeProject/agents/openai.yaml +6 -0
- package/core/capabilities/knowledge/templates/en/README.md +20 -0
- package/core/capabilities/knowledge/templates/en/index.md +19 -0
- package/core/capabilities/knowledge/templates/en/log.md +16 -0
- package/core/capabilities/knowledge/templates/en/schema.md +60 -0
- package/core/capabilities/knowledge/templates/zh/README.md +20 -0
- package/core/capabilities/knowledge/templates/zh/index.md +19 -0
- package/core/capabilities/knowledge/templates/zh/log.md +16 -0
- package/core/capabilities/knowledge/templates/zh/schema.md +60 -0
- package/core/capabilities/main-repo-sync/capability.md +57 -34
- package/core/capabilities/skill-mount/capability.md +19 -5
- package/core/capabilities/starter-outputs/capability.md +9 -11
- package/core/capabilities/starter-outputs/templates/outputs/final/README.md +1 -1
- package/core/core-v0.1-protocol.md +23 -21
- package/core/kits/README.md +9 -1
- package/core/kits/hub/.incoming/README.md +4 -2
- package/core/kits/hub/.incoming/reports/.gitkeep +1 -0
- package/core/kits/hub/.incoming/skills/.gitkeep +1 -0
- package/core/kits/hub/.internal/twin-bot-merge-policy.md +5 -0
- package/core/kits/hub/.internal/twin-bot-writeback-protocol.md +5 -0
- package/core/kits/hub/.starwork/handoff/archived/.gitkeep +1 -0
- package/core/kits/hub/.starwork/handoff/inbox/.gitkeep +1 -0
- package/core/kits/hub/.starwork/handoff/outbox/.gitkeep +1 -0
- package/core/kits/hub/.starwork/handoff/sent/.gitkeep +1 -0
- package/core/kits/hub/.starwork/handoff/state.json +5 -0
- package/core/kits/hub/AGENTS.md +18 -12
- package/core/kits/hub/README.md +17 -9
- package/core/kits/hub/identity/README.md +2 -2
- package/core/kits/hub/knowledge/README.md +5 -0
- package/core/kits/hub/lessons/README.md +2 -2
- package/core/kits/hub/projects/README.md +5 -0
- package/core/kits/hub/projects/coordination/README.md +5 -0
- package/core/kits/hub/projects/coordination/messages/acknowledged/.gitkeep +1 -0
- package/core/kits/hub/projects/coordination/messages/closed/.gitkeep +1 -0
- package/core/kits/hub/projects/coordination/messages/delivered/.gitkeep +1 -0
- package/core/kits/hub/projects/coordination/messages/queued/.gitkeep +1 -0
- package/core/kits/hub/projects/coordination/reports/.gitkeep +1 -0
- package/core/kits/hub/skills/README.md +4 -2
- package/core/kits/hub/skills/registry.json +6 -0
- package/core/kits/hub/workspace/README.md +5 -0
- package/core/kits/kit-structure-reference.md +104 -191
- package/core/kits/project/.agents/skills/README.md +5 -0
- package/core/kits/project/.claude/skills/README.md +5 -0
- package/core/kits/project/.obsidian/README.md +5 -0
- package/core/kits/project/.starwork/handoff/archived/.gitkeep +1 -0
- package/core/kits/project/.starwork/handoff/inbox/.gitkeep +1 -0
- package/core/kits/project/.starwork/handoff/outbox/.gitkeep +1 -0
- package/core/kits/project/.starwork/handoff/sent/.gitkeep +1 -0
- package/core/kits/project/.starwork/handoff/state.json +5 -0
- package/core/kits/project/AGENTS.md +38 -0
- package/core/kits/project/README.md +44 -0
- package/core/kits/project/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md +25 -0
- package/core/kits/project/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +17 -0
- package/core/kits/project/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +17 -0
- package/core/kits/project/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +24 -0
- package/core/kits/two-kit-architecture-spec.md +695 -0
- package/core/legacy/README.md +16 -0
- package/core/legacy/kits/satellite-starter/.starwork/handoff/archived/.gitkeep +1 -0
- package/core/legacy/kits/satellite-starter/.starwork/handoff/inbox/.gitkeep +1 -0
- package/core/legacy/kits/satellite-starter/.starwork/handoff/outbox/.gitkeep +1 -0
- package/core/legacy/kits/satellite-starter/.starwork/handoff/sent/.gitkeep +1 -0
- package/core/legacy/kits/satellite-starter/.starwork/handoff/state.json +5 -0
- package/core/{kits → legacy/kits}/satellite-starter/AGENTS.md +7 -1
- package/core/{kits → legacy/kits}/satellite-starter/README.md +4 -4
- package/core/{kits → legacy/kits}/satellite-starter/_/347/263/273/347/273/237//344/270/273/345/272/223/345/220/214/346/255/245/README.md +3 -3
- package/core/legacy/kits/satellite-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +5 -0
- package/core/{presets → legacy/presets}/satellite-starter.yaml +1 -1
- package/core/presets/README.md +17 -7
- package/core/presets/hub.yaml +23 -4
- package/core/presets/project.yaml +11 -0
- package/core/profiles/en/labels.json +2 -4
- package/core/profiles/en/paths.json +3 -4
- package/core/profiles/en/profile.md +7 -4
- package/core/profiles/en/templates/AGENTS.md +13 -9
- package/core/profiles/en/{reference-kits/local-starter/_system/context/project-status.md → templates/_system/context/current-project.md} +1 -1
- package/core/profiles/zh/labels.json +2 -4
- package/core/profiles/zh/paths.json +3 -5
- package/core/profiles/zh/profile.md +7 -4
- package/core/profiles/zh/templates/AGENTS.md +13 -9
- package/core/{kits/local-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md → profiles/zh/templates/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md} +1 -1
- package/core/project-rules-optimization-spec.md +510 -0
- package/core/skill-management-spec.md +591 -0
- package/core/starwork-runtime-layer-spec.md +344 -0
- package/docs/README.md +18 -4
- package/docs/agent-install-guide.md +132 -0
- package/docs/ai-consultant-brief.md +648 -0
- package/docs/alpha-test-guide.md +274 -17
- package/docs/cli-capabilities.html +206 -115
- package/docs/cli-skill-registry.html +801 -0
- package/docs/doctor-capabilities.html +631 -0
- package/docs/hub-management.html +60 -59
- package/docs/index.html +7 -5
- package/docs/issue-feedback-tracking-guide.md +447 -0
- package/docs/m2.10-core-kit-pack-boundary-cleanup-spec.md +567 -0
- package/docs/m2.6-alpha-core-flows-optimization-spec.md +441 -0
- package/docs/m2.6-project-init-feedback/README.md +27 -0
- package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-01-identity-spec.md +194 -0
- package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-02-hub-sync-boundary-spec.md +198 -0
- package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-03-current-project-purity-spec.md +238 -0
- package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-04-system-placeholder-templates-spec.md +213 -0
- package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-05-agents-guardrails-spec.md +265 -0
- package/docs/m2.7-init-github-issues-optimization-spec.md +350 -0
- package/docs/m2.8-workspace-naming-optimization-spec.md +633 -0
- package/docs/multiagent/01-codex-session-capabilities-and-starwork-implications.md +280 -0
- package/docs/multiagent/02-cursor-session-management-research-instructions.md +204 -0
- package/docs/multiagent/03-trae-session-management-research-instructions.md +205 -0
- package/docs/multiagent/04-claude-code-session-management-research-instructions.md +209 -0
- package/docs/multiagent/05-trae-solo-session-management-research-instructions.md +222 -0
- package/docs/multiagent/claude-code-session-management-research-result.md +201 -0
- package/docs/multiagent/cursor-session-management-research-result.md +101 -0
- package/docs/multiagent/session-control-support-matrix.md +20 -0
- package/docs/multiagent/trae-session-management-research-result.md +353 -0
- package/docs/multiagent/trae-solo-session-management-research-result.md +467 -0
- package/docs/product-direction.md +17 -9
- package/docs/product-shape-business-model.html +1 -1
- package/docs/roadmap.html +34 -20
- package/docs/roadmap.md +185 -20
- package/docs/v0.1-plan.md +32 -12
- package/kit-skills/README.md +11 -0
- package/kit-skills/neat-freak/SKILL.md +32 -0
- package/kit-skills/neat-freak/agents/openai.yaml +2 -0
- package/kit-skills/starworkAudit/SKILL.md +127 -0
- package/kit-skills/starworkAudit/references/issue-taxonomy.md +10 -0
- package/kit-skills/starworkAudit/references/repair-blueprint-guide.md +54 -0
- package/kit-skills/starworkAudit/references/response-guide.md +34 -0
- package/{skills → kit-skills}/starworkSpawn/SKILL.md +36 -14
- package/package.json +4 -3
- package/packs/content-creator/languages/en.json +4 -4
- package/packs/content-creator/languages/zh.json +4 -4
- package/packs/content-creator/pack.json +5 -5
- package/packs/general/languages/en.json +19 -2
- package/packs/general/languages/zh.json +19 -2
- package/packs/general/pack.json +8 -3
- package/packs/hub-management/languages/en.json +2 -2
- package/packs/hub-management/languages/zh.json +11 -10
- package/packs/hub-management/pack.json +2 -2
- package/packs/hub-management/rules/en/overview.md +2 -0
- package/packs/hub-management/rules/en/workflow.md +2 -1
- package/packs/hub-management/rules/zh/overview.md +4 -2
- package/packs/hub-management/rules/zh/workflow.md +3 -2
- package/packs/hub-management/seed/en/projects/coordination/README.md +2 -2
- package/packs/hub-management/seed/zh/projects/coordination/README.md +5 -0
- package/packs/pack-structure-spec.md +4 -4
- package/skills/README.md +28 -3
- package/skills/starwork/SKILL.md +81 -0
- package/skills/starwork/references/install.md +64 -0
- package/skills/starwork/references/routing.md +44 -0
- package/skills/starworkAudit-spec.md +354 -0
- package/skills/starworkDoctor/SKILL.md +435 -0
- package/skills/starworkDoctor/agents/openai.yaml +7 -0
- package/skills/starworkDoctor/references/agent-rules-template.md +64 -0
- package/skills/starworkDoctor/references/hub-upgrade.md +73 -0
- package/skills/starworkDoctor/references/response-guide.md +57 -0
- package/skills/starworkDoctor/references/rules-extraction-guide.md +92 -0
- package/skills/starworkDoctor-spec.md +764 -0
- package/skills/starworkInit/SKILL.md +285 -50
- package/skills/starworkInit-spec.md +106 -75
- package/skills/starworkKnowledge/SKILL.md +195 -0
- package/skills/starworkKnowledge/agents/openai.yaml +3 -0
- package/skills/starworkMultiagent/SKILL.md +302 -0
- package/skills/starworkMultiagent/agents/openai.yaml +7 -0
- package/skills/starworkMultiagent-skill-plan.md +234 -0
- package/skills/starworkMultiagent-spec.md +181 -0
- package/core/capabilities/matter-mode/capability.md +0 -46
- package/core/capabilities/matter-mode/templates/matters/_matter-template/README.md +0 -17
- package/core/capabilities/matter-mode/templates/matters/_matter-template/handoff.md +0 -3
- package/core/capabilities/matter-mode/templates/matters/_matter-template/notes.md +0 -5
- package/core/capabilities/matter-mode/templates/matters/_matter-template/progress.md +0 -5
- package/core/capabilities/matter-mode/templates/matters/registry.md +0 -16
- package/core/kits/hub/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -24
- package/core/kits/hub//347/237/245/350/257/206/README.md +0 -5
- package/core/kits/hub//351/241/271/347/233/256/README.md +0 -5
- package/core/kits/hub//351/241/271/347/233/256//350/201/224/347/273/234/README.md +0 -5
- package/core/kits/local-matter/AGENTS.md +0 -23
- package/core/kits/local-matter/README.md +0 -22
- package/core/kits/local-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/206/263/347/255/226.md +0 -7
- package/core/kits/local-matter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
- package/core/kits/local-matter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -5
- package/core/kits/local-matter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
- package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277/README.md +0 -17
- package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//344/272/244/346/216/245.md +0 -3
- package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//347/254/224/350/256/260.md +0 -5
- package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/277/233/345/272/246.md +0 -5
- package/core/kits/local-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +0 -16
- package/core/kits/local-matter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
- package/core/kits/local-starter/AGENTS.md +0 -23
- package/core/kits/local-starter/README.md +0 -23
- package/core/kits/local-starter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -25
- package/core/kits/local-starter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
- package/core/kits/local-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -5
- package/core/kits/local-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
- package/core/kits/local-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
- package/core/kits/local-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
- package/core/kits/local-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
- package/core/kits/satellite-matter/AGENTS.md +0 -27
- package/core/kits/satellite-matter/README.md +0 -40
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/206/263/347/255/226.md +0 -7
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/270/273/345/272/223/345/220/214/346/255/245/README.md +0 -42
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +0 -9
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/inbox/README.md +0 -5
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/outbox/README.md +0 -5
- package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277/README.md +0 -17
- package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//344/272/244/346/216/245.md +0 -3
- package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//347/254/224/350/256/260.md +0 -5
- package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/277/233/345/272/246.md +0 -5
- package/core/kits/satellite-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +0 -16
- package/core/kits/satellite-matter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
- package/core/kits/satellite-matter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
- package/core/kits/satellite-matter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
- package/core/kits/satellite-starter/.agents/skills/README.md +0 -5
- package/core/kits/satellite-starter/.claude/skills/README.md +0 -5
- package/core/kits/satellite-starter/.core-sync.json +0 -31
- package/core/kits/satellite-starter/.internal/README.md +0 -5
- package/core/kits/satellite-starter/.obsidian/README.md +0 -5
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md +0 -29
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -8
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +0 -9
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/inbox/README.md +0 -5
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/outbox/README.md +0 -5
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
- package/core/kits/satellite-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
- package/core/kits/satellite-starter//347/237/245/350/257/206/README.md +0 -5
- package/core/kits/satellite-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
- package/core/kits/satellite-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
- package/core/presets/local-matter.yaml +0 -14
- package/core/presets/local-starter.yaml +0 -12
- package/core/presets/satellite-matter.yaml +0 -17
- package/core/profiles/en/reference-kits/local-starter/AGENTS.md +0 -23
- package/core/profiles/en/reference-kits/local-starter/README.md +0 -23
- package/core/profiles/en/reference-kits/local-starter/_system/identity/README.md +0 -5
- package/core/profiles/en/reference-kits/local-starter/_system/lessons/README.md +0 -5
- package/core/profiles/en/reference-kits/local-starter/_system/tasks/current-work.md +0 -17
- package/core/profiles/en/reference-kits/local-starter/outputs/drafts/README.md +0 -5
- package/core/profiles/en/reference-kits/local-starter/outputs/final/README.md +0 -5
- package/core/profiles/en/reference-kits/local-starter/references/README.md +0 -5
- package/core/profiles/en/reference-presets/local-starter.yaml +0 -12
- package/core/profiles/en/templates/_system/context/project-status.md +0 -25
- package/core/profiles/zh/templates/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -25
- package/packs/hub-management/seed/zh//351/241/271/347/233/256//350/201/224/347/273/234/README.md +0 -5
- /package/core/{capabilities/matter-mode/templates/matters/_matter-template/drafts → kits/hub/.incoming/identity}/.gitkeep +0 -0
- /package/core/kits/{local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/215/211/347/250/277/.gitkeep" → hub/.incoming/knowledge/.gitkeep} +0 -0
- /package/core/kits/{satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/215/211/347/250/277/.gitkeep" → hub/.incoming/lessons/.gitkeep} +0 -0
- /package/core/kits/hub/{/351/241/271/347/233/256/registry.json" → projects/registry.json} +0 -0
- /package/core/kits/{satellite-matter → project}/CLAUDE.md +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.agents/skills/README.md +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.claude/skills/README.md +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.core-sync.json +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.internal/README.md +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.obsidian/README.md +0 -0
- /package/core/{kits → legacy/kits}/satellite-starter/CLAUDE.md +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md" +0 -0
- /package/core/{kits/hub → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md" +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md" +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md" +0 -0
- /package/core/{kits/local-matter → legacy/kits/satellite-starter}//345/217/202/350/200/203/350/265/204/346/226/231/README.md" +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}//347/237/245/350/257/206/README.md" +0 -0
- /package/core/{kits/local-matter → legacy/kits/satellite-starter}//350/276/223/345/207/272//350/215/211/347/250/277/README.md" +0 -0
- /package/{skills → kit-skills}/starworkSpawn/agents/openai.yaml +0 -0
- /package/packs/hub-management/seed/zh/{/351/241/271/347/233/256/registry.json" → projects/registry.json} +0 -0
|
@@ -0,0 +1,764 @@
|
|
|
1
|
+
# `starworkDoctor` Skill SPEC
|
|
2
|
+
|
|
3
|
+
## 状态
|
|
4
|
+
|
|
5
|
+
- 版本:v0.1 draft
|
|
6
|
+
- 所属模块:StarWork Skills
|
|
7
|
+
- Skill 名称:`starworkDoctor`
|
|
8
|
+
- 相关命令:`starwork doctor`、`starwork upgrade`
|
|
9
|
+
- 实现状态:已实现第一版;本版合并原独立升级 skill 的升级蓝图设计能力
|
|
10
|
+
- 目标:帮助 Agent 基于 `doctor` 暴露的探测信息,判断当前目录和 StarWork Core 工作逻辑的贴近程度;对普通旧模板和 Hub-like 主库分别给出清晰诊断,并在用户要求升级时生成可 dry-run、可执行的 `upgrade blueprint`
|
|
11
|
+
|
|
12
|
+
## 一句话定义
|
|
13
|
+
|
|
14
|
+
`starworkDoctor` 是 StarWork 工作区诊断与升级蓝图设计 skill。
|
|
15
|
+
|
|
16
|
+
它不是 `doctor` 命令本身,也不是 `upgrade` 执行器,而是 CLI 探测之后的 AI 分析层:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
starwork doctor --json
|
|
20
|
+
↓
|
|
21
|
+
目录结构、关键文件、signals、checks
|
|
22
|
+
↓
|
|
23
|
+
starworkDoctor skill 理解 Core 逻辑
|
|
24
|
+
↓
|
|
25
|
+
诊断报告 / 整理建议
|
|
26
|
+
↓ 用户明确要求升级
|
|
27
|
+
upgrade-blueprint.json / rules / dry-run 命令
|
|
28
|
+
↓
|
|
29
|
+
starwork upgrade --blueprint
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 核心修正
|
|
33
|
+
|
|
34
|
+
本 skill 的主线任务不是判断“当前目录像哪个 Kit / Pack”。
|
|
35
|
+
|
|
36
|
+
主线任务是:
|
|
37
|
+
|
|
38
|
+
> 判断当前目录和 StarWork Core 的工作逻辑有多贴近,以及应该如何整理成一个可升级、可维护、可被 Agent 接手的工作台。
|
|
39
|
+
|
|
40
|
+
原独立升级 skill 不再作为系统 Skill 维护。它不能脱离 `starworkDoctor` 诊断独立使用,因此升级蓝图设计能力合并进 `starworkDoctor`:
|
|
41
|
+
|
|
42
|
+
- 诊断阶段:默认只解释现状、风险和整理建议。
|
|
43
|
+
- 升级阶段:用户明确要求升级时,继续采访并生成 blueprint。
|
|
44
|
+
|
|
45
|
+
Kit / Pack 只是落地执行时的候选参数,不是诊断主轴。v0.1 单项目升级默认 `general` Pack;Hub-like 主库升级默认 `hub + preserve-names + pack:null`,不创建重复标准目录。
|
|
46
|
+
|
|
47
|
+
## 产品边界
|
|
48
|
+
|
|
49
|
+
| 层 | 负责 | 不负责 |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| `doctor` CLI | 探测目录、列事实、输出 JSON、暴露信号和不确定性 | 做复杂语义判断、输出 next steps |
|
|
52
|
+
| `starworkDoctor` skill | 解释、判断 Core 贴近度、追问、建议整理路径、生成 upgrade blueprint | 静默改文件、替用户做不可逆迁移 |
|
|
53
|
+
| `starwork upgrade` CLI | 校验和执行用户确认过的 blueprint | 自行判断业务语义 |
|
|
54
|
+
|
|
55
|
+
## 对 `doctor` 输出的要求
|
|
56
|
+
|
|
57
|
+
`doctor --json` 只输出事实和信号,不输出行动建议。
|
|
58
|
+
|
|
59
|
+
应包含:
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"schema": "starwork.doctor.result.v0.1",
|
|
64
|
+
"target": "/path/to/workspace",
|
|
65
|
+
"workspace_root": null,
|
|
66
|
+
"workspace": null,
|
|
67
|
+
"inventory": {
|
|
68
|
+
"directories": [
|
|
69
|
+
{ "path": "资料库", "depth": 1, "children_count": 8 },
|
|
70
|
+
{ "path": "成稿", "depth": 1, "children_count": 3 }
|
|
71
|
+
],
|
|
72
|
+
"files": [
|
|
73
|
+
{ "path": "README.md", "size": 2048 },
|
|
74
|
+
{ "path": "AGENTS.md", "size": 512 }
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"signals": {
|
|
78
|
+
"agent_entry": ["AGENTS.md"],
|
|
79
|
+
"agent_rule_files": ["AGENTS.md"],
|
|
80
|
+
"system_dirs": ["_系统"],
|
|
81
|
+
"matter_dirs": ["事项"],
|
|
82
|
+
"possible_reference_dirs": ["资料库", "素材"],
|
|
83
|
+
"possible_output_dirs": ["成稿", "交付物"],
|
|
84
|
+
"possible_draft_dirs": ["草稿"],
|
|
85
|
+
"possible_current_work_dirs": ["推进"],
|
|
86
|
+
"project_status_files": ["_系统/上下文/当前项目.md"],
|
|
87
|
+
"current_work_files": ["_系统/任务/当前工作.md"],
|
|
88
|
+
"decision_files": ["_系统/上下文/decisions.md"],
|
|
89
|
+
"identity_dirs": ["identity"],
|
|
90
|
+
"lessons_dirs": ["lessons"],
|
|
91
|
+
"hub_project_dirs": ["projects"],
|
|
92
|
+
"hub_coordination_dirs": ["projects/coordination"],
|
|
93
|
+
"hub_incoming_dirs": [".incoming"],
|
|
94
|
+
"hub_knowledge_dirs": ["knowledge"],
|
|
95
|
+
"project_registry_files": ["projects/registry.json"],
|
|
96
|
+
"hub_candidate_paths": ["projects", "projects/registry.json", "projects/coordination", ".incoming", "identity", "lessons", "knowledge", "skills"],
|
|
97
|
+
"readonly_candidate_dirs": ["资料库", "identity", "lessons"],
|
|
98
|
+
"writable_candidate_dirs": ["草稿", "推进", "事项"]
|
|
99
|
+
},
|
|
100
|
+
"upgrade": {
|
|
101
|
+
"candidate": true,
|
|
102
|
+
"source": "legacy-template",
|
|
103
|
+
"confidence": "medium",
|
|
104
|
+
"inferred": {
|
|
105
|
+
"language": "zh",
|
|
106
|
+
"workspace_type": "project",
|
|
107
|
+
"references": ["资料库"],
|
|
108
|
+
"outputs": ["成稿"],
|
|
109
|
+
"reasons": {
|
|
110
|
+
"language": ["_系统 是中文工作区信号"],
|
|
111
|
+
"workspace_type": ["事项 表示存在事项或多线推进推进结构"],
|
|
112
|
+
"references": ["资料库 命中参考资料候选信号"],
|
|
113
|
+
"outputs": ["成稿 命中成果或输出候选信号"]
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"checks": []
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
`upgrade` 中不应包含 `next_steps`,避免影响 Agent 基于 skill 做判断。
|
|
122
|
+
|
|
123
|
+
## 话术原则
|
|
124
|
+
|
|
125
|
+
`starworkDoctor` 的产品气质是“温和诊断师”,不是严格 linter。
|
|
126
|
+
|
|
127
|
+
诊断结论的第一屏必须先说人话:
|
|
128
|
+
|
|
129
|
+
1. 能不能接入 StarWork。
|
|
130
|
+
2. 会不会移动、改名或覆盖旧目录。
|
|
131
|
+
3. 下一步是确认语义、生成 dry-run blueprint,还是不建议升级。
|
|
132
|
+
|
|
133
|
+
必须使用三段式表达:
|
|
134
|
+
|
|
135
|
+
1. `我看到的事实`:来自 CLI、目录和关键文件。
|
|
136
|
+
2. `我推测的角色`:AI 基于事实做的 Core 角色映射。
|
|
137
|
+
3. `需要你确认的地方`:影响升级蓝图的语义判断。
|
|
138
|
+
|
|
139
|
+
推荐表达:
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
我先把它当作“历史工作区候选”来看。当前它还不是标准 StarWork 工作台,但目录里已经有资料、成果或推进痕迹,适合先走无损诊断路线。
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
“成稿/”很可能是正式成果区,但我还不能只凭目录名确认。需要你确认:这里是否只放已经认可的最终版本?
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
```text
|
|
150
|
+
现在缺少一个稳定的“当前工作入口”。这不代表目录有问题,只是新 Agent 进来时会比较难判断下一步该接哪里。
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
禁止把低置信度判断说成事实,避免使用“坏了”“不合格”“必须迁移”等压迫性表达。
|
|
154
|
+
|
|
155
|
+
第一次出现 `workspace state` 时,必须解释为“StarWork 工作台身份证”。`Core fit` 和 `upgrade readiness` 必须分开表达。需要用户回答的问题最多 3 个,只问会影响 blueprint 的语义。
|
|
156
|
+
|
|
157
|
+
## Skill 输入
|
|
158
|
+
|
|
159
|
+
用户可能这样触发:
|
|
160
|
+
|
|
161
|
+
- “帮我看看这个旧模板怎么升级 StarWork”
|
|
162
|
+
- “这个文件夹能不能用 StarWork doctor 检查一下”
|
|
163
|
+
- “doctor 输出我看不懂,你帮我解释一下”
|
|
164
|
+
- “这个目录和 StarWork Core 的逻辑接近吗”
|
|
165
|
+
- “我应该怎么整理这个工作区”
|
|
166
|
+
- “帮我生成 upgrade blueprint”
|
|
167
|
+
- “我想保留现在的目录名,但让它符合 StarWork”
|
|
168
|
+
|
|
169
|
+
skill 启动后应优先运行:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
starwork doctor --target <path> --json --inventory-depth all
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
如果用户没有指定路径,先确认目标目录。
|
|
176
|
+
|
|
177
|
+
## Skill 工作流程
|
|
178
|
+
|
|
179
|
+
### Step 1:读取 doctor 探测结果
|
|
180
|
+
|
|
181
|
+
读取 JSON 后先判断:
|
|
182
|
+
|
|
183
|
+
- 是否已有标准 StarWork workspace
|
|
184
|
+
- 是否缺少 workspace state
|
|
185
|
+
- 是否有 inventory
|
|
186
|
+
- 是否有 signals
|
|
187
|
+
- fail 是结构缺失,还是非 StarWork 目录
|
|
188
|
+
|
|
189
|
+
把 doctor 输出当作事实和信号,不当作最终结论。
|
|
190
|
+
|
|
191
|
+
### Step 2:读取少量关键文件
|
|
192
|
+
|
|
193
|
+
在不扩大上下文的前提下,读取最能解释项目性质的文件:
|
|
194
|
+
|
|
195
|
+
- `README.md`
|
|
196
|
+
- `AGENTS.md`
|
|
197
|
+
- `CLAUDE.md`
|
|
198
|
+
- `_系统/上下文/项目状态.md`
|
|
199
|
+
- `_系统/上下文/当前项目.md`
|
|
200
|
+
- `_系统/任务/当前工作.md`
|
|
201
|
+
- `matters/registry.md`
|
|
202
|
+
- `事项/注册表.md`
|
|
203
|
+
|
|
204
|
+
如果文件不存在,只记录缺失。
|
|
205
|
+
|
|
206
|
+
### Step 3:建立 Core 角色映射
|
|
207
|
+
|
|
208
|
+
基于目录名称、父子关系、README 和少量关键文件,推断目录和 Core 角色的候选映射。
|
|
209
|
+
|
|
210
|
+
Core 角色包括:
|
|
211
|
+
|
|
212
|
+
- Agent 入口规则
|
|
213
|
+
- 项目状态
|
|
214
|
+
- 当前工作
|
|
215
|
+
- 参考资料 / 原始资料
|
|
216
|
+
- 草稿 / 临时产物
|
|
217
|
+
- 正式成果 / 事实源
|
|
218
|
+
- 事项推进
|
|
219
|
+
- 决策记录
|
|
220
|
+
- 身份偏好
|
|
221
|
+
- 经验教训
|
|
222
|
+
- Hub-like 主库:项目登记、项目注册表、跨项目联络、回写待审、共享身份、共享教训、共享知识、共享 skills
|
|
223
|
+
|
|
224
|
+
输出时使用“候选 + 置信度 + 理由 + 是否需要用户确认”。
|
|
225
|
+
|
|
226
|
+
### Step 4:判断 Core 逻辑贴近程度
|
|
227
|
+
|
|
228
|
+
诊断矩阵必须覆盖:
|
|
229
|
+
|
|
230
|
+
| 维度 | 判断问题 |
|
|
231
|
+
|---|---|
|
|
232
|
+
| 入口规则 | Agent 进来先读什么? |
|
|
233
|
+
| 项目状态 | 项目现在是什么状态? |
|
|
234
|
+
| 当前工作 | 下一步正在推进什么? |
|
|
235
|
+
| 信息边界 | 资料、草稿、正式成果是否分开? |
|
|
236
|
+
| 长期记忆 | 身份、教训、决策是否有稳定位置? |
|
|
237
|
+
| 事项机制 | 项目工作台是否有过程记录和交接结构? |
|
|
238
|
+
| 写入风险 | 哪些目录应只读,哪些目录允许 Agent 写? |
|
|
239
|
+
|
|
240
|
+
每项状态使用:
|
|
241
|
+
|
|
242
|
+
- 清楚
|
|
243
|
+
- 部分清楚
|
|
244
|
+
- 缺失
|
|
245
|
+
- 不确定
|
|
246
|
+
|
|
247
|
+
整体贴近度使用:
|
|
248
|
+
|
|
249
|
+
- 高
|
|
250
|
+
- 中
|
|
251
|
+
- 低
|
|
252
|
+
- 不确定
|
|
253
|
+
|
|
254
|
+
不要伪造精确分数。
|
|
255
|
+
|
|
256
|
+
升级准备度单独判断:
|
|
257
|
+
|
|
258
|
+
- `ready`:关键目录语义已确认,可以生成 blueprint。
|
|
259
|
+
- `needs-confirmation`:目录逻辑贴近,但还需要确认正式事实源、当前工作或 Hub 映射。
|
|
260
|
+
- `not-recommended`:目标已经是健康 StarWork 工作台,或不适合升级。
|
|
261
|
+
|
|
262
|
+
### Step 5:形成整理和升级建议
|
|
263
|
+
|
|
264
|
+
建议应围绕 Core 逻辑补齐:
|
|
265
|
+
|
|
266
|
+
- 哪些现有目录应保留原名
|
|
267
|
+
- 哪些目录应映射为 Core 角色
|
|
268
|
+
- 哪些 Core 必需文件需要补齐
|
|
269
|
+
- 是否需要事项机制
|
|
270
|
+
- 是否是 Hub-like 主库;如果是,是否应使用 `hub + preserve-names + pack:null`
|
|
271
|
+
- 是否需要先保持旧模板,只补 state 和入口规则
|
|
272
|
+
- 是否适合进入 `starwork upgrade --blueprint --dry-run`
|
|
273
|
+
|
|
274
|
+
如果用户只是要诊断,到这里停止,不生成 blueprint。
|
|
275
|
+
|
|
276
|
+
### Step 6:用户要求升级时确认关键语义
|
|
277
|
+
|
|
278
|
+
只有用户明确说“帮我升级”“生成 blueprint”“走 dry-run”“整理成 StarWork 工作台”时,才进入升级设计。
|
|
279
|
+
|
|
280
|
+
必须确认:
|
|
281
|
+
|
|
282
|
+
1. 哪个目录是正式成果 / 确认事实源?
|
|
283
|
+
2. 哪个目录是当前工作 / 日常推进区?
|
|
284
|
+
3. 哪些目录是只读参考资料?
|
|
285
|
+
4. 是否需要事项机制?
|
|
286
|
+
5. 希望保留旧目录名,还是逐步标准化?
|
|
287
|
+
|
|
288
|
+
Hub-like 主库必须优先确认:
|
|
289
|
+
|
|
290
|
+
1. 哪个目录是项目总登记区?
|
|
291
|
+
2. 哪个目录是跨项目协调入口?
|
|
292
|
+
3. 哪个目录是回写待审区?
|
|
293
|
+
|
|
294
|
+
一次最多问 3 个问题。
|
|
295
|
+
|
|
296
|
+
友好问法:
|
|
297
|
+
|
|
298
|
+
```text
|
|
299
|
+
未来你希望 Agent 把哪里当成“不能乱改的正式成果”?
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
```text
|
|
303
|
+
你平时真正干活的地方在哪里?比如推进事项、写草稿、放待办、记录阶段判断。
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
```text
|
|
307
|
+
这些旧目录你想继续保留原名,还是希望我帮你慢慢整理成 StarWork 的标准中文结构?
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Step 7:选择升级策略
|
|
311
|
+
|
|
312
|
+
默认选择:
|
|
313
|
+
|
|
314
|
+
```text
|
|
315
|
+
preserve-names
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
也就是保留用户已有目录名,通过 `.starwork/workspace.json` 和 Agent 规则建立 StarWork Core 映射。
|
|
319
|
+
|
|
320
|
+
除非用户明确要求,不要建议移动历史内容。
|
|
321
|
+
|
|
322
|
+
默认 base:
|
|
323
|
+
|
|
324
|
+
| 诊断类型 | base |
|
|
325
|
+
|---|---|
|
|
326
|
+
| 单事务旧模板 | `single-light + local-starter + general` |
|
|
327
|
+
| 多线推进旧模板 | `project + project + general` |
|
|
328
|
+
| Hub-like 主库 | `hub + hub + pack:null` |
|
|
329
|
+
|
|
330
|
+
### Step 8:生成升级蓝图目录
|
|
331
|
+
|
|
332
|
+
推荐输出:
|
|
333
|
+
|
|
334
|
+
```text
|
|
335
|
+
<workspace>-upgrade/
|
|
336
|
+
├── upgrade-blueprint.json
|
|
337
|
+
├── rules/
|
|
338
|
+
│ ├── core-boundaries.md
|
|
339
|
+
│ ├── file-boundaries.md
|
|
340
|
+
│ └── upgrade-notes.md
|
|
341
|
+
└── seed/
|
|
342
|
+
└── ...
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
`rules/core-boundaries.md` 应说明:
|
|
346
|
+
|
|
347
|
+
- 哪些目录是正式成果
|
|
348
|
+
- 哪些目录是当前工作区
|
|
349
|
+
- 哪些目录是参考资料
|
|
350
|
+
- 哪些目录保留历史命名
|
|
351
|
+
- Agent 不能覆盖或移动哪些历史内容
|
|
352
|
+
|
|
353
|
+
### Step 9:生成 `upgrade-blueprint.json`
|
|
354
|
+
|
|
355
|
+
蓝图必须符合:
|
|
356
|
+
|
|
357
|
+
```json
|
|
358
|
+
{
|
|
359
|
+
"schema": "starwork.upgrade_blueprint.v0.1",
|
|
360
|
+
"target": ".",
|
|
361
|
+
"generated_by": "starworkDoctor",
|
|
362
|
+
"source": {
|
|
363
|
+
"doctor_schema": "starwork.doctor.result.v0.1",
|
|
364
|
+
"diagnosis": "legacy-template",
|
|
365
|
+
"core_fit": "medium"
|
|
366
|
+
},
|
|
367
|
+
"base": {
|
|
368
|
+
"workspace_type": "project",
|
|
369
|
+
"kit": "project",
|
|
370
|
+
"language": "zh",
|
|
371
|
+
"pack": "general"
|
|
372
|
+
},
|
|
373
|
+
"strategy": "preserve-names",
|
|
374
|
+
"paths": {
|
|
375
|
+
"formal_source": "成稿/",
|
|
376
|
+
"business_work_area": "事项/"
|
|
377
|
+
},
|
|
378
|
+
"core_role_mapping": [
|
|
379
|
+
{
|
|
380
|
+
"role": "references",
|
|
381
|
+
"path": "资料库/",
|
|
382
|
+
"confidence": "high",
|
|
383
|
+
"reason": "用户确认资料库是参考资料区"
|
|
384
|
+
}
|
|
385
|
+
],
|
|
386
|
+
"actions": [
|
|
387
|
+
{ "type": "ensure_dir", "path": ".starwork/" },
|
|
388
|
+
{ "type": "write_workspace_state" },
|
|
389
|
+
{ "type": "copy_kit_missing_files" },
|
|
390
|
+
{
|
|
391
|
+
"type": "inject_agent_rules",
|
|
392
|
+
"target": "AGENTS.md",
|
|
393
|
+
"from": "rules/core-boundaries.md",
|
|
394
|
+
"slot": "upgrade.core_boundaries"
|
|
395
|
+
}
|
|
396
|
+
],
|
|
397
|
+
"preserve": [
|
|
398
|
+
"资料库/",
|
|
399
|
+
"成稿/",
|
|
400
|
+
"事项/"
|
|
401
|
+
],
|
|
402
|
+
"verification": {
|
|
403
|
+
"run_doctor_after": true,
|
|
404
|
+
"expected_workspace_type": "project"
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
## 输出格式
|
|
410
|
+
|
|
411
|
+
诊断模式:
|
|
412
|
+
|
|
413
|
+
```text
|
|
414
|
+
## 诊断结论
|
|
415
|
+
|
|
416
|
+
## 我看到的事实
|
|
417
|
+
|
|
418
|
+
## 我推测的角色
|
|
419
|
+
|
|
420
|
+
## Core 逻辑贴近程度
|
|
421
|
+
|
|
422
|
+
## 缺失和风险
|
|
423
|
+
|
|
424
|
+
## 整理升级建议
|
|
425
|
+
|
|
426
|
+
## 需要你确认的问题
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
升级设计模式:
|
|
430
|
+
|
|
431
|
+
```text
|
|
432
|
+
## 升级判断
|
|
433
|
+
|
|
434
|
+
## 用户已确认的目录语义
|
|
435
|
+
|
|
436
|
+
## 升级策略
|
|
437
|
+
|
|
438
|
+
## 生成的 blueprint 文件
|
|
439
|
+
|
|
440
|
+
## dry-run 命令
|
|
441
|
+
|
|
442
|
+
## 执行前请再次确认
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
dry-run 命令:
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
starwork upgrade --target <workspace> --blueprint <workspace>-upgrade/upgrade-blueprint.json --dry-run
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
用户确认后:
|
|
452
|
+
|
|
453
|
+
```bash
|
|
454
|
+
starwork upgrade --target <workspace> --blueprint <workspace>-upgrade/upgrade-blueprint.json --yes
|
|
455
|
+
starwork doctor --target <workspace>
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
## 机器可读建议
|
|
459
|
+
|
|
460
|
+
如果需要给 CLI 或后续流程使用,可以附加:
|
|
461
|
+
|
|
462
|
+
```json
|
|
463
|
+
{
|
|
464
|
+
"schema": "starwork.doctor_skill.recommendation.v0.1",
|
|
465
|
+
"target": "/path/to/workspace",
|
|
466
|
+
"diagnosis": "legacy-template",
|
|
467
|
+
"core_fit": "medium",
|
|
468
|
+
"upgrade_readiness": "needs-confirmation",
|
|
469
|
+
"core_role_mapping_candidates": {
|
|
470
|
+
"formal_source": [
|
|
471
|
+
{
|
|
472
|
+
"path": "成稿/",
|
|
473
|
+
"confidence": "high",
|
|
474
|
+
"reason": "目录名表示最终稿",
|
|
475
|
+
"needs_user_confirmation": true
|
|
476
|
+
}
|
|
477
|
+
],
|
|
478
|
+
"references": [
|
|
479
|
+
{
|
|
480
|
+
"path": "资料库/",
|
|
481
|
+
"confidence": "high",
|
|
482
|
+
"reason": "目录名表示资料沉淀",
|
|
483
|
+
"needs_user_confirmation": true
|
|
484
|
+
}
|
|
485
|
+
],
|
|
486
|
+
"business_work_area": [
|
|
487
|
+
{
|
|
488
|
+
"path": "事项/",
|
|
489
|
+
"confidence": "high",
|
|
490
|
+
"reason": "已有事项结构",
|
|
491
|
+
"needs_user_confirmation": true
|
|
492
|
+
}
|
|
493
|
+
]
|
|
494
|
+
},
|
|
495
|
+
"blocking_risks": [
|
|
496
|
+
"缺少 workspace state,CLI 无法把目录识别为标准 StarWork 工作台。"
|
|
497
|
+
],
|
|
498
|
+
"confirmation_questions": [
|
|
499
|
+
"成稿/ 是否就是你确认后的正式成果?",
|
|
500
|
+
"资料库/ 是否默认只读?"
|
|
501
|
+
]
|
|
502
|
+
}
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
## 话术验收样例
|
|
506
|
+
|
|
507
|
+
以下样例是 `starworkDoctor` 的 golden examples。后续改写 skill 时,输出可以更自然,但必须保留“事实 / 推断 / 待确认”的边界和温和诊断语气。
|
|
508
|
+
|
|
509
|
+
### 样例一:标准 StarWork 工作台
|
|
510
|
+
|
|
511
|
+
输入特征:
|
|
512
|
+
|
|
513
|
+
- `doctor --json` 中 `workspace` 存在。
|
|
514
|
+
- `checks.fail = 0`。
|
|
515
|
+
- `AGENTS.md`、项目状态、当前工作、正式事实源和业务工作区都存在。
|
|
516
|
+
|
|
517
|
+
期望输出:
|
|
518
|
+
|
|
519
|
+
```text
|
|
520
|
+
## 诊断结论
|
|
521
|
+
|
|
522
|
+
这个目录已经是一个健康的 StarWork 工作台。当前不需要走 upgrade;如果你只是想继续扩展能力,应优先考虑 `adapt`、`pack install` 或后续版本的 `update`,而不是历史模板升级。
|
|
523
|
+
|
|
524
|
+
## 我看到的事实
|
|
525
|
+
|
|
526
|
+
- CLI 已识别到 `.starwork/workspace.json`。
|
|
527
|
+
- `doctor` 没有发现阻塞项。
|
|
528
|
+
- Agent 入口、项目状态、当前工作和 workspace state 声明的事实源都存在。
|
|
529
|
+
|
|
530
|
+
## 我推测的角色
|
|
531
|
+
|
|
532
|
+
- `AGENTS.md`:Agent 入口规则,置信度高。
|
|
533
|
+
- workspace state 中的 `paths.formal_source`:正式事实源,置信度高。
|
|
534
|
+
- workspace state 中的 `paths.business_work_area`:日常工作区,置信度高。
|
|
535
|
+
|
|
536
|
+
## Core 逻辑贴近程度
|
|
537
|
+
|
|
538
|
+
整体贴近度:高。
|
|
539
|
+
|
|
540
|
+
诊断矩阵:
|
|
541
|
+
- 入口规则:清楚。
|
|
542
|
+
- 项目状态:清楚。
|
|
543
|
+
- 当前工作:清楚。
|
|
544
|
+
- 信息边界:清楚。
|
|
545
|
+
- 长期记忆:按当前 Kit 配置判断为清楚或部分清楚。
|
|
546
|
+
- 事项机制:按 workspace type 判断;如果是 single-light,不需要额外补事项机制。
|
|
547
|
+
- 写入风险:基本可控。
|
|
548
|
+
|
|
549
|
+
## 整理升级建议
|
|
550
|
+
|
|
551
|
+
不建议使用 `starwork upgrade`。这个命令只面向还不是 StarWork 的历史目录。
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
验收点:
|
|
555
|
+
|
|
556
|
+
- 不说“需要升级”。
|
|
557
|
+
- 不要求用户生成 blueprint。
|
|
558
|
+
- 不把 `single-light` 说成“缺少事项机制”的问题。
|
|
559
|
+
|
|
560
|
+
### 样例二:轻量旧模板
|
|
561
|
+
|
|
562
|
+
输入特征:
|
|
563
|
+
|
|
564
|
+
- 没有 `.starwork/workspace.json`。
|
|
565
|
+
- 存在 `AGENTS.md`、`references/`、`outputs/final/`、`outputs/drafts/`。
|
|
566
|
+
- 没有 `事项/` 或 `matters/`。
|
|
567
|
+
|
|
568
|
+
期望输出:
|
|
569
|
+
|
|
570
|
+
```text
|
|
571
|
+
## 诊断结论
|
|
572
|
+
|
|
573
|
+
我先把它当作“历史工作区候选”来看。当前它还不是标准 StarWork 工作台,但已经有 Agent 入口、参考资料和输出分区,适合走无损补齐路线。
|
|
574
|
+
|
|
575
|
+
## 我看到的事实
|
|
576
|
+
|
|
577
|
+
- `doctor` 没有找到 `.starwork/workspace.json`。
|
|
578
|
+
- 目录里有 `AGENTS.md`,说明已有 Agent 入口规则。
|
|
579
|
+
- `references/` 命中参考资料候选信号。
|
|
580
|
+
- `outputs/final/` 和 `outputs/drafts/` 命中成果 / 草稿候选信号。
|
|
581
|
+
- 未看到事项或多线推进推进目录。
|
|
582
|
+
|
|
583
|
+
## 我推测的角色
|
|
584
|
+
|
|
585
|
+
- `references/`:可能是参考资料区,置信度高,但仍建议确认是否默认只读。
|
|
586
|
+
- `outputs/final/`:可能是正式成果区,置信度中到高,需要确认这里是否只放最终确认版本。
|
|
587
|
+
- `outputs/drafts/`:可能是草稿区,置信度高。
|
|
588
|
+
|
|
589
|
+
## Core 逻辑贴近程度
|
|
590
|
+
|
|
591
|
+
整体贴近度:中。
|
|
592
|
+
|
|
593
|
+
诊断矩阵:
|
|
594
|
+
- 入口规则:部分清楚。
|
|
595
|
+
- 项目状态:缺失。
|
|
596
|
+
- 当前工作:缺失。
|
|
597
|
+
- 信息边界:部分清楚。
|
|
598
|
+
- 长期记忆:缺失或不确定。
|
|
599
|
+
- 事项机制:不需要直接补;当前更像单事务工作区。
|
|
600
|
+
- 写入风险:部分可控,正式成果区需要用户确认。
|
|
601
|
+
|
|
602
|
+
## 整理升级建议
|
|
603
|
+
|
|
604
|
+
建议先保留原目录名,不移动历史内容。可以通过 `starworkDoctor` 生成 `upgrade-blueprint.json`,让 `starwork upgrade --blueprint --dry-run` 只补 `.starwork/workspace.json`、缺失的 Core 入口文件和必要的 Agent 边界说明。
|
|
605
|
+
|
|
606
|
+
## 需要你确认的问题
|
|
607
|
+
|
|
608
|
+
- `outputs/final/` 是否就是不能被 Agent 随意改写的正式成果区?
|
|
609
|
+
- `references/` 是否默认只读?
|
|
610
|
+
- 你希望日常推进继续放在 `outputs/drafts/`,还是另设一个当前工作入口?
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
验收点:
|
|
614
|
+
|
|
615
|
+
- 使用“可能是”“需要确认”,不把目录名推断说成事实。
|
|
616
|
+
- 建议 `single-light + local-starter`,但不直接声称用户必须迁移。
|
|
617
|
+
- 强调无损补齐。
|
|
618
|
+
|
|
619
|
+
### 样例三:多线推进旧模板
|
|
620
|
+
|
|
621
|
+
输入特征:
|
|
622
|
+
|
|
623
|
+
- 没有 `.starwork/workspace.json`。
|
|
624
|
+
- 存在 `_系统/`、`事项/`、`资料库/`、`成稿/`、`推进/`。
|
|
625
|
+
- 中文路径占主导。
|
|
626
|
+
|
|
627
|
+
期望输出:
|
|
628
|
+
|
|
629
|
+
```text
|
|
630
|
+
## 诊断结论
|
|
631
|
+
|
|
632
|
+
这个目录还不是标准 StarWork 工作台,但它已经有系统目录、事项推进、资料区和成果区信号。它和 StarWork 的多线推进工作逻辑比较接近,适合按“保留旧目录名”的方式做无损升级。
|
|
633
|
+
|
|
634
|
+
## 我看到的事实
|
|
635
|
+
|
|
636
|
+
- `doctor` 没有找到 `.starwork/workspace.json`。
|
|
637
|
+
- `_系统/` 命中系统目录信号。
|
|
638
|
+
- `事项/` 命中多线推进推进信号。
|
|
639
|
+
- `资料库/` 命中参考资料候选信号。
|
|
640
|
+
- `成稿/` 命中成果候选信号。
|
|
641
|
+
- `推进/` 命中当前工作候选信号。
|
|
642
|
+
|
|
643
|
+
## 我推测的角色
|
|
644
|
+
|
|
645
|
+
- `事项/`:可能是多线推进过程记录区,置信度高。
|
|
646
|
+
- `资料库/`:可能是参考资料区,置信度高,需要确认是否默认只读。
|
|
647
|
+
- `成稿/`:可能是正式成果区,置信度中到高,需要确认是否只放确认后的版本。
|
|
648
|
+
- `推进/`:可能是当前工作区,也可能只是临时任务区,置信度中,需要确认。
|
|
649
|
+
|
|
650
|
+
## Core 逻辑贴近程度
|
|
651
|
+
|
|
652
|
+
整体贴近度:中到高。
|
|
653
|
+
|
|
654
|
+
诊断矩阵:
|
|
655
|
+
- 入口规则:看是否存在 `AGENTS.md`;不存在则缺失。
|
|
656
|
+
- 项目状态:部分清楚或缺失,取决于 `_系统/` 内是否有状态文件。
|
|
657
|
+
- 当前工作:部分清楚,`推进/` 是候选但需确认。
|
|
658
|
+
- 信息边界:部分清楚。
|
|
659
|
+
- 长期记忆:部分清楚。
|
|
660
|
+
- 事项机制:清楚。
|
|
661
|
+
- 写入风险:需要明确 `成稿/` 和 `资料库/` 的只读边界。
|
|
662
|
+
|
|
663
|
+
## 整理升级建议
|
|
664
|
+
|
|
665
|
+
建议生成 `project + project` 的升级 blueprint,策略使用 `preserve-names`。第一步只补 StarWork state、Core 缺失文件和 Agent 边界说明,不移动 `资料库/`、`成稿/`、`事项/`、`推进/` 的历史内容。
|
|
666
|
+
|
|
667
|
+
## 需要你确认的问题
|
|
668
|
+
|
|
669
|
+
- `成稿/` 是否就是正式事实源?
|
|
670
|
+
- `推进/` 是否是日常工作区,还是只是一类临时任务?
|
|
671
|
+
- `资料库/` 是否默认只读?
|
|
672
|
+
- `事项/` 是否要作为多线推进过程记录继续保留?
|
|
673
|
+
```
|
|
674
|
+
|
|
675
|
+
验收点:
|
|
676
|
+
|
|
677
|
+
- 可以建议 `project + project`,但必须说明来自事项/多阶段信号。
|
|
678
|
+
- `推进/` 必须保持不确定,不可直接写入 blueprint 除非用户确认。
|
|
679
|
+
- 输出应让用户感到这是“可整理”,不是“目录坏了”。
|
|
680
|
+
|
|
681
|
+
### 样例四:Hub-like 主库候选
|
|
682
|
+
|
|
683
|
+
输入特征:
|
|
684
|
+
|
|
685
|
+
- 没有 `.starwork/workspace.json`。
|
|
686
|
+
- 存在 `identity/`、`lessons/`、`knowledge/`、`skills/`、`projects/registry.json`、`projects/coordination/`、`.incoming/`。
|
|
687
|
+
- `doctor --json` 的 `upgrade.source` 为 `hub-like-main-repository`,或 `signals.hub_candidate_paths` 命中多个主库信号。
|
|
688
|
+
|
|
689
|
+
期望输出:
|
|
690
|
+
|
|
691
|
+
```text
|
|
692
|
+
## 诊断结论
|
|
693
|
+
|
|
694
|
+
结论:这个目录更像“主库 / 多项目中枢”候选,而不是普通单项目旧模板。它可以考虑接入 StarWork,但建议走无损接入:保留 `projects/`、`knowledge/`、`skills/` 等原名,不移动、不改名、不覆盖历史内容。
|
|
695
|
+
|
|
696
|
+
现在缺的是 StarWork 工作台身份证,也就是 `.starwork/workspace.json`。没有它,CLI 还不能稳定识别这个目录的类型、写入边界和目录映射。
|
|
697
|
+
|
|
698
|
+
下一步不是直接迁移,而是先确认 3 个 Hub 语义,再生成只预览不写入的 dry-run blueprint。
|
|
699
|
+
|
|
700
|
+
## 我看到的事实
|
|
701
|
+
|
|
702
|
+
- `doctor` 没有找到 `.starwork/workspace.json`。
|
|
703
|
+
- `projects/registry.json` 像项目总登记。
|
|
704
|
+
- `projects/coordination/` 像跨项目协调入口。
|
|
705
|
+
- `.incoming/` 像回写待审区。
|
|
706
|
+
- `identity/`、`lessons/`、`knowledge/`、`skills/` 都是主库共享资源信号。
|
|
707
|
+
|
|
708
|
+
## 我推测的角色
|
|
709
|
+
|
|
710
|
+
- `projects/`:候选角色是项目登记区。依据是存在 `projects/registry.json`;置信度高。需要确认:这里是否仍是主库维护的项目总登记?
|
|
711
|
+
- `projects/coordination/`:候选角色是跨项目协调入口。依据是目录名和主库结构;置信度高。需要确认:这里是否继续放跨项目联络和协调记录?
|
|
712
|
+
- `.incoming/`:候选角色是回写待审区。依据是目录名和主库流程;置信度中到高。需要确认:这里是否继续接收待审核沉淀?
|
|
713
|
+
|
|
714
|
+
## Core 逻辑贴近程度
|
|
715
|
+
|
|
716
|
+
整体贴近度:高。
|
|
717
|
+
升级准备度:needs-confirmation。
|
|
718
|
+
|
|
719
|
+
诊断矩阵:
|
|
720
|
+
- 入口规则:清楚或部分清楚,取决于 `AGENTS.md` / `CLAUDE.md`。
|
|
721
|
+
- 项目状态:部分清楚,主库有项目登记,但还缺 StarWork 工作台身份证。
|
|
722
|
+
- 当前工作:部分清楚,跨项目协调入口存在,但需要确认是否写入 `business_work_area`。
|
|
723
|
+
- 信息边界:清楚。
|
|
724
|
+
- 长期记忆:清楚。
|
|
725
|
+
- 事项机制:不按单项目事项判断,应按 Hub / 主库判断。
|
|
726
|
+
- 写入风险:可控,但必须保护共享身份、教训、知识和 skills。
|
|
727
|
+
|
|
728
|
+
## 整理升级建议
|
|
729
|
+
|
|
730
|
+
建议生成 `hub + hub + pack:null` 的升级 blueprint,策略使用 `preserve-names`。这表示保留旧目录名,只补 StarWork 工作台身份证和 Agent 边界规则,不安装 `hub-management` Pack,也不创建重复标准目录。
|
|
731
|
+
|
|
732
|
+
## 需要你确认的问题
|
|
733
|
+
|
|
734
|
+
- `projects/` 是否就是项目总登记区?
|
|
735
|
+
- `projects/coordination/` 是否就是跨项目协调入口?
|
|
736
|
+
- `.incoming/` 是否继续作为回写待审区?
|
|
737
|
+
```
|
|
738
|
+
|
|
739
|
+
验收点:
|
|
740
|
+
|
|
741
|
+
- 不建议 `project + project`。
|
|
742
|
+
- 明确说明 `pack:null` 是为了避免创建重复标准目录。
|
|
743
|
+
- 首屏必须回答能否接入、是否移动旧目录、下一步做什么。
|
|
744
|
+
|
|
745
|
+
## 约束
|
|
746
|
+
|
|
747
|
+
- 不静默修改用户文件。
|
|
748
|
+
- 不把低置信度判断说成事实。
|
|
749
|
+
- 不把 Kit / Pack 贴近度当作主线诊断。
|
|
750
|
+
- 不只根据一个目录名判断目录角色。
|
|
751
|
+
- 不鼓励用户立即执行破坏性迁移。
|
|
752
|
+
- 不读取大量内容文件,除非用户明确要求深入审计。
|
|
753
|
+
- 不把 `doctor` 的 legacy 判断当作最终结论;它只是信号。
|
|
754
|
+
- 不直接执行 `starwork upgrade --yes`,除非用户明确要求。
|
|
755
|
+
- 不生成包含绝对路径、`..`、`.git/`、`node_modules/` 写入动作的 blueprint。
|
|
756
|
+
- 不主动推荐未定稿业务 Pack;v0.1 单项目升级默认 `general`,Hub-like 主库默认 `pack:null`。
|
|
757
|
+
|
|
758
|
+
## 与 CLI 的关系
|
|
759
|
+
|
|
760
|
+
后续保持三层:
|
|
761
|
+
|
|
762
|
+
1. `doctor --json` 持续增强 `inventory`、`signals`、`checks` 和推断理由输出。
|
|
763
|
+
2. `starworkDoctor` 基于这些信息输出诊断建议;用户要求升级时生成 blueprint。
|
|
764
|
+
3. `starwork upgrade --blueprint` 在用户确认后执行低风险升级动作。
|