@modus-ai/modus 0.2.2 → 0.2.4

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.
Files changed (42) hide show
  1. package/README.md +9 -9
  2. package/dist/cli/index.js +1 -1
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.js +1 -1
  5. package/dist/commands/init.js.map +1 -1
  6. package/dist/generators/claude.js +24 -24
  7. package/dist/generators/claude.js.map +1 -1
  8. package/dist/generators/codebuddy.js +24 -24
  9. package/dist/generators/codebuddy.js.map +1 -1
  10. package/dist/generators/cursor.d.ts +2 -1
  11. package/dist/generators/cursor.d.ts.map +1 -1
  12. package/dist/generators/cursor.js +46 -70
  13. package/dist/generators/cursor.js.map +1 -1
  14. package/package.json +1 -1
  15. package/schemas/harness-schema.yaml +7 -7
  16. package/schemas/knowledge-schema.yaml +12 -0
  17. package/templates/agents/{modus-harness-01-analysis.md → modus-analyst.md} +2 -2
  18. package/templates/agents/{modus-harness-07-deploy.md → modus-deployer.md} +2 -2
  19. package/templates/agents/{modus-harness-01-5-design.md → modus-designer.md} +3 -3
  20. package/templates/agents/{modus-harness-02-dev.md → modus-developer.md} +2 -2
  21. package/templates/agents/{modus-harness-04-perf.md → modus-perf-auditor.md} +2 -2
  22. package/templates/agents/{modus-harness-06-review.md → modus-reviewer.md} +2 -2
  23. package/templates/agents/{modus-harness-05-security.md → modus-security-auditor.md} +2 -2
  24. package/templates/agents/{modus-harness-00-skills-builder.md → modus-skill-creator.md} +2 -2
  25. package/templates/agents/{modus-harness-03-test.md → modus-tester.md} +2 -2
  26. package/templates/commands/vibe.md +12 -8
  27. package/templates/knowledge-catalog.md +27 -0
  28. package/templates/skills/{modus-harness-agents/01-analysis → modus-agents/analyst}/SKILL.md +2 -2
  29. package/templates/skills/{modus-harness-agents/07-deploy → modus-agents/deployer}/SKILL.md +2 -2
  30. package/templates/skills/{modus-harness-agents/01-5-design → modus-agents/designer}/SKILL.md +2 -2
  31. package/templates/skills/{modus-harness-agents/02-dev → modus-agents/developer}/SKILL.md +2 -2
  32. package/templates/skills/{modus-harness-agents/04-perf → modus-agents/perf-auditor}/SKILL.md +2 -2
  33. package/templates/skills/{modus-harness-agents/06-review → modus-agents/reviewer}/SKILL.md +2 -2
  34. package/templates/skills/{modus-harness-agents/05-security → modus-agents/security-auditor}/SKILL.md +2 -2
  35. package/templates/skills/{modus-harness-agents/00-skills-builder → modus-agents/skill-creator}/SKILL.md +9 -9
  36. package/templates/skills/{modus-harness-agents/03-test → modus-agents/tester}/SKILL.md +2 -2
  37. package/templates/skills/modus-design-brief/SKILL.md +1 -1
  38. package/templates/skills/modus-harness/SKILL.md +16 -16
  39. package/templates/skills/modus-init/SKILL.md +58 -29
  40. package/templates/skills/modus-plan/SKILL.md +1 -1
  41. package/templates/skills/modus-spec/SKILL.md +2 -2
  42. package/templates/skills/modus-vibe/SKILL.md +200 -93
@@ -1,70 +1,51 @@
1
1
  import path from 'node:path';
2
2
  import { writeFile, readTemplate, fileExists, readFile } from '../utils/file-system.js';
3
+ const SKILLS_BASE = path.join('.cursor', 'skills');
3
4
  const RULES_BASE = path.join('.cursor', 'rules');
4
5
  const MCP_PATH = path.join('.cursor', 'mcp.json');
5
6
  // ---------------------------------------------------------------------------
6
- // Framework Skillsindividual .mdc rules
7
- // ---------------------------------------------------------------------------
8
- const SKILL_RULES = [
9
- {
10
- id: 'modus-init',
11
- templatePath: 'skills/modus-init/SKILL.md',
12
- description: 'Run /modus:init to scan the codebase and build Business Skills for each domain',
13
- },
14
- {
15
- id: 'modus-vibe',
16
- templatePath: 'skills/modus-vibe/SKILL.md',
17
- description: 'Run /modus:vibe to start context-aware vibe coding with business Skill preloading',
18
- },
19
- {
20
- id: 'modus-plan',
21
- templatePath: 'skills/modus-plan/SKILL.md',
22
- description: 'Run /modus:plan to create structured feature proposals with complexity grading',
23
- },
24
- {
25
- id: 'modus-spec',
26
- templatePath: 'skills/modus-spec/SKILL.md',
27
- description: 'Run /modus:spec for OpenSpec-driven development with delta specs and GIVEN/WHEN/THEN scenarios',
28
- },
29
- {
30
- id: 'modus-auto',
31
- templatePath: 'skills/modus-auto/SKILL.md',
32
- description: 'Run /modus:auto with a TAPD story URL to get AI-recommended mode (vibe/plan/spec/harness)',
33
- },
34
- {
35
- id: 'modus-harness',
36
- templatePath: 'skills/modus-harness/SKILL.md',
37
- description: 'Run /modus:harness to execute the full dual-loop multi-agent development pipeline',
38
- },
7
+ // Framework command skills → .cursor/skills/modus-{cmd}/SKILL.md
8
+ // ---------------------------------------------------------------------------
9
+ const COMMAND_SKILLS = [
10
+ { id: 'modus-init', templatePath: 'skills/modus-init/SKILL.md' },
11
+ { id: 'modus-vibe', templatePath: 'skills/modus-vibe/SKILL.md' },
12
+ { id: 'modus-plan', templatePath: 'skills/modus-plan/SKILL.md' },
13
+ { id: 'modus-spec', templatePath: 'skills/modus-spec/SKILL.md' },
14
+ { id: 'modus-auto', templatePath: 'skills/modus-auto/SKILL.md' },
15
+ { id: 'modus-harness', templatePath: 'skills/modus-harness/SKILL.md' },
39
16
  ];
40
- // Harness sub-agent templates to merge into the single harness rule
41
- const HARNESS_SUB_AGENT_TEMPLATES = [
42
- { id: '00-skills-builder', templatePath: 'skills/modus-harness-agents/00-skills-builder/SKILL.md' },
43
- { id: '01-analysis', templatePath: 'skills/modus-harness-agents/01-analysis/SKILL.md' },
44
- { id: '02-dev', templatePath: 'skills/modus-harness-agents/02-dev/SKILL.md' },
45
- { id: '03-test', templatePath: 'skills/modus-harness-agents/03-test/SKILL.md' },
46
- { id: '04-perf', templatePath: 'skills/modus-harness-agents/04-perf/SKILL.md' },
47
- { id: '05-security', templatePath: 'skills/modus-harness-agents/05-security/SKILL.md' },
48
- { id: '06-review', templatePath: 'skills/modus-harness-agents/06-review/SKILL.md' },
49
- { id: '07-deploy', templatePath: 'skills/modus-harness-agents/07-deploy/SKILL.md' },
17
+ // ---------------------------------------------------------------------------
18
+ // Harness SubAgent skills → .cursor/skills/modus-harness-{id}/SKILL.md
19
+ // Cursor uses the Task tool for real parallel SubAgent dispatching.
20
+ // ---------------------------------------------------------------------------
21
+ const HARNESS_AGENT_SKILLS = [
22
+ { id: 'modus-skill-creator', templatePath: 'skills/modus-agents/skill-creator/SKILL.md' },
23
+ { id: 'modus-analyst', templatePath: 'skills/modus-agents/analyst/SKILL.md' },
24
+ { id: 'modus-designer', templatePath: 'skills/modus-agents/designer/SKILL.md' },
25
+ { id: 'modus-developer', templatePath: 'skills/modus-agents/developer/SKILL.md' },
26
+ { id: 'modus-tester', templatePath: 'skills/modus-agents/tester/SKILL.md' },
27
+ { id: 'modus-perf-auditor', templatePath: 'skills/modus-agents/perf-auditor/SKILL.md' },
28
+ { id: 'modus-security-auditor', templatePath: 'skills/modus-agents/security-auditor/SKILL.md' },
29
+ { id: 'modus-reviewer', templatePath: 'skills/modus-agents/reviewer/SKILL.md' },
30
+ { id: 'modus-deployer', templatePath: 'skills/modus-agents/deployer/SKILL.md' },
50
31
  ];
51
32
  // ---------------------------------------------------------------------------
52
33
  // Main entry
53
34
  // ---------------------------------------------------------------------------
54
35
  export function generateCursorFiles(projectRoot, config, _opts = {}) {
55
- generateCursorSkillRules(projectRoot, config);
56
- generateCursorHarnessRule(projectRoot);
36
+ generateCursorCommandSkills(projectRoot, config);
37
+ generateCursorHarnessAgentSkills(projectRoot);
57
38
  generateCursorConstitution(projectRoot, config);
58
39
  generateCursorAutoVibe(projectRoot);
59
40
  generateCursorMcp(projectRoot, config);
60
41
  }
61
42
  // ---------------------------------------------------------------------------
62
- // Individual skill rules
43
+ // Command skills → .cursor/skills/modus-{cmd}/SKILL.md
44
+ // These are loaded by Cursor when the user types /modus:* commands.
63
45
  // ---------------------------------------------------------------------------
64
- function generateCursorSkillRules(projectRoot, config) {
46
+ function generateCursorCommandSkills(projectRoot, config) {
65
47
  const enabled = new Set(config.commands.enabled);
66
- for (const skill of SKILL_RULES) {
67
- // Only generate command-backed skills if the command is enabled
48
+ for (const skill of COMMAND_SKILLS) {
68
49
  const cmdId = skill.id.replace('modus-', '');
69
50
  if (['init', 'vibe', 'plan', 'spec', 'auto', 'harness'].includes(cmdId) && !enabled.has(cmdId)) {
70
51
  continue;
@@ -76,25 +57,18 @@ function generateCursorSkillRules(projectRoot, config) {
76
57
  catch {
77
58
  continue;
78
59
  }
79
- const content = buildMdcFile(skill.description, false, body);
80
- writeFile(path.join(projectRoot, RULES_BASE, `${skill.id}.mdc`), content);
60
+ const destPath = path.join(projectRoot, SKILLS_BASE, skill.id, 'SKILL.md');
61
+ writeFile(destPath, body);
81
62
  }
82
63
  }
83
64
  // ---------------------------------------------------------------------------
84
- // Harness rule single-agent degradation
65
+ // Harness SubAgent skills → .cursor/skills/modus-harness-{id}/SKILL.md
66
+ // The Harness orchestrator uses Cursor's Task tool to dispatch these agents
67
+ // in parallel (SA03/04/05) or sequentially (SA01 → SA02 → SA06 → SA07).
68
+ // No single-agent degradation — full dual-loop multi-agent mode is supported.
85
69
  // ---------------------------------------------------------------------------
86
- function generateCursorHarnessRule(projectRoot) {
87
- const sections = [
88
- '# Modus Harness — Single-Agent Mode',
89
- '',
90
- '> **Note:** Cursor does not support native Sub-Agents. The Harness pipeline runs in',
91
- '> single-agent mode: the orchestrator executes each step sequentially within one context.',
92
- '> For full parallel Sub-Agent support, use CodeBuddy or Claude Code.',
93
- '',
94
- '## Pipeline Steps (sequential)',
95
- '',
96
- ];
97
- for (const agent of HARNESS_SUB_AGENT_TEMPLATES) {
70
+ function generateCursorHarnessAgentSkills(projectRoot) {
71
+ for (const agent of HARNESS_AGENT_SKILLS) {
98
72
  let body;
99
73
  try {
100
74
  body = readTemplate(agent.templatePath);
@@ -102,13 +76,13 @@ function generateCursorHarnessRule(projectRoot) {
102
76
  catch {
103
77
  continue;
104
78
  }
105
- sections.push(`### Step ${agent.id}`, '', body, '', '---', '');
79
+ const destPath = path.join(projectRoot, SKILLS_BASE, agent.id, 'SKILL.md');
80
+ writeFile(destPath, body);
106
81
  }
107
- const content = buildMdcFile('Modus Harness orchestration steps (single-agent mode for Cursor)', false, sections.join('\n'));
108
- writeFile(path.join(projectRoot, RULES_BASE, 'modus-harness-agents.mdc'), content);
109
82
  }
110
83
  // ---------------------------------------------------------------------------
111
- // Constitution rule
84
+ // Constitution rule — alwaysApply: true
85
+ // Injects project hard rules into every Cursor conversation.
112
86
  // ---------------------------------------------------------------------------
113
87
  function generateCursorConstitution(projectRoot, config) {
114
88
  const any = config;
@@ -147,7 +121,8 @@ function generateCursorConstitution(projectRoot, config) {
147
121
  writeFile(path.join(projectRoot, RULES_BASE, 'modus-constitution.mdc'), content);
148
122
  }
149
123
  // ---------------------------------------------------------------------------
150
- // Auto-vibe — always-on rule that activates vibe behavior automatically
124
+ // Auto-vibe rule alwaysApply: true
125
+ // Loads business context automatically at the start of each conversation.
151
126
  // ---------------------------------------------------------------------------
152
127
  function generateCursorAutoVibe(projectRoot) {
153
128
  const body = [
@@ -211,7 +186,8 @@ function buildMdcFile(description, alwaysApply, body) {
211
186
  // ---------------------------------------------------------------------------
212
187
  /**
213
188
  * Sync a single business Skill to Cursor format.
214
- * Creates a rule at .cursor/rules/modus-biz-{domain}.mdc
189
+ * Business Skills are stored as rules (.cursor/rules/modus-biz-{domain}.mdc)
190
+ * so they can be injected as context when the relevant domain is active.
215
191
  */
216
192
  export function syncBizSkillToCursor(projectRoot, domain, skillContent) {
217
193
  const content = buildMdcFile(`Business rules and conventions for the ${domain} domain`, false, skillContent);
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/generators/cursor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/generators/cursor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modus-ai/modus",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Modus — Business-grounded AI coding accelerator for CodeBuddy IDE",
5
5
  "keywords": [
6
6
  "ai",
@@ -5,14 +5,14 @@ description: 双 Loop 多智能体 Harness — 全自动需求分析、开发、
5
5
 
6
6
  subAgents:
7
7
  - id: "01"
8
- skill: modus-harness-01-analysis
8
+ skill: modus-analyst
9
9
  name: 需求分析
10
10
  generates: 01-analysis.md
11
11
  requires: []
12
12
  loop: 1
13
13
 
14
14
  - id: "02"
15
- skill: modus-harness-02-dev
15
+ skill: modus-developer
16
16
  name: 代码开发
17
17
  generates: 02-sprint-contract.md
18
18
  requires: ["01"]
@@ -20,7 +20,7 @@ subAgents:
20
20
  gateAfter: compile # Gate A: 编译验证
21
21
 
22
22
  - id: "03"
23
- skill: modus-harness-03-test
23
+ skill: modus-tester
24
24
  name: 代码测试
25
25
  generates: 03-test-report.md
26
26
  requires: ["02"]
@@ -28,7 +28,7 @@ subAgents:
28
28
  parallel: ["03", "04", "05"] # 与 04/05 并行
29
29
 
30
30
  - id: "04"
31
- skill: modus-harness-04-perf
31
+ skill: modus-perf-auditor
32
32
  name: 性能审计
33
33
  generates: 04-perf-report.md
34
34
  requires: ["02"]
@@ -36,7 +36,7 @@ subAgents:
36
36
  parallel: ["03", "04", "05"]
37
37
 
38
38
  - id: "05"
39
- skill: modus-harness-05-security
39
+ skill: modus-security-auditor
40
40
  name: 安全审计
41
41
  generates: 05-security-report.md
42
42
  requires: ["02"]
@@ -44,14 +44,14 @@ subAgents:
44
44
  parallel: ["03", "04", "05"]
45
45
 
46
46
  - id: "06"
47
- skill: modus-harness-06-review
47
+ skill: modus-reviewer
48
48
  name: 代码评审
49
49
  generates: cr-report.md
50
50
  requires: ["03", "04", "05"] # Gate B: 等待 03/04/05 全部完成
51
51
  loop: 2
52
52
 
53
53
  - id: "07"
54
- skill: modus-harness-07-deploy
54
+ skill: modus-deployer
55
55
  name: 部署发布
56
56
  generates: 07-deploy-status.md
57
57
  requires: ["06"]
@@ -69,6 +69,18 @@ skill_frontmatter:
69
69
  type: date
70
70
  required: true
71
71
  description: 最近一次被工作流引用的日期,用于衰减计算
72
+
73
+ - name: last_hash
74
+ type: string
75
+ required: true
76
+ description: key_files 内容的 SHA-1 哈希值,用于检测代码变更。初始值为空字符串,首次使用时自动计算
77
+ default: ""
78
+
79
+ - name: key_files
80
+ type: list
81
+ required: true
82
+ description: 关键源文件路径列表(最多20个),用于计算 last_hash。按优先级选取:Service/Manager/Mapper/Entity(必选),Enum/Exception(强烈建议),MQ/Config(有则加入)
83
+ default: []
72
84
 
73
85
  - name: usage_count
74
86
  type: integer
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: modus-harness-01-analysis
2
+ name: modus-analyst
3
3
  description: Use this agent when the Harness orchestrator needs to perform requirements analysis for a TAPD Story. Fetches the story content, identifies affected business domains and code files at method level, assesses risk level, and produces 01-analysis.md with a machine-readable HANDOFF block. Triggered as the first sequential step in Harness Loop 1 after knowledge injection.
4
4
  agentMode: agentic
5
5
  tools: Read, Write, Glob, WebFetch
@@ -7,7 +7,7 @@ enabledAutoRun: true
7
7
  enabled: true
8
8
  ---
9
9
 
10
- 读取并严格遵循 `.codebuddy/skills/modus-harness-01-analysis/SKILL.md` 中的执行规范。
10
+ 读取并严格遵循 `.codebuddy/skills/modus-analyst/SKILL.md` 中的执行规范。
11
11
 
12
12
  产出物路径:`modus/plans/active/{story-id}/01-analysis.md`
13
13
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: modus-harness-07-deploy
2
+ name: modus-deployer
3
3
  description: Use this agent when the Harness orchestrator needs to verify deployment after Gate C passes (cr-report has no P1/P2 issues). Monitors CI/CD pipeline status, validates service health across environments (dev→uat→pre→prd), executes smoke tests on P0 interfaces, monitors ERROR log volume for 30 minutes post-deployment, and produces 07-deploy-status.md. prd environment requires manual confirmation.
4
4
  agentMode: agentic
5
5
  tools: Read, Write, Glob, Bash, WebFetch
@@ -7,7 +7,7 @@ enabledAutoRun: false
7
7
  enabled: true
8
8
  ---
9
9
 
10
- 读取并严格遵循 `.codebuddy/skills/modus-harness-07-deploy/SKILL.md` 中的执行规范。
10
+ 读取并严格遵循 `.codebuddy/skills/modus-deployer/SKILL.md` 中的执行规范。
11
11
 
12
12
  输入依赖:`cr-report.md`(HANDOFF.gate_status = passed)+ `02-sprint-contract.md`。
13
13
 
@@ -1,10 +1,10 @@
1
- # modus-harness-01-5-design
1
+ # modus-designer
2
2
 
3
- SubAgent 01.5 设计方案生成。
3
+ SubAgent — 技术方案设计。
4
4
 
5
5
  ## Instructions
6
6
 
7
- Read and follow the skill at `.codebuddy/skills/modus-harness-agents/01-5-design/SKILL.md` to execute this SubAgent.
7
+ Read and follow the skill at `.codebuddy/skills/modus-designer/SKILL.md` to execute this SubAgent.
8
8
 
9
9
  ## Quick Summary
10
10
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: modus-harness-02-dev
2
+ name: modus-developer
3
3
  description: Use this agent when the Harness orchestrator needs to implement code based on 01-analysis.md. Implements changes layer by layer (data → service → orchestration → interface), runs build compilation as Gate A check, and produces 02-sprint-contract.md. Also triggered during Loop 2 re-entry to fix P1/P2 issues identified in cr-report.md.
4
4
  agentMode: agentic
5
5
  tools: Read, Write, Glob, Bash
@@ -7,7 +7,7 @@ enabledAutoRun: true
7
7
  enabled: true
8
8
  ---
9
9
 
10
- 读取并严格遵循 `.codebuddy/skills/modus-harness-02-dev/SKILL.md` 中的执行规范。
10
+ 读取并严格遵循 `.codebuddy/skills/modus-developer/SKILL.md` 中的执行规范。
11
11
 
12
12
  输入依赖:`modus/plans/active/{story-id}/01-analysis.md` 的 HANDOFF 块 + 相关业务 Skill 内容(由 Orchestrator 传入)。
13
13
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: modus-harness-04-perf
2
+ name: modus-perf-auditor
3
3
  description: Use this agent when the Harness orchestrator needs to perform static performance audit on code changes after Gate A passes. Detects N+1 queries (DB calls inside loops), missing batch operations, unbounded large data fetches without pagination protection, ES queries missing fetchSource/trackTotalHits, and deep pagination risks. Runs in parallel with SubAgents 03 and 05.
4
4
  agentMode: agentic
5
5
  tools: Read, Write, Glob
@@ -7,7 +7,7 @@ enabledAutoRun: true
7
7
  enabled: true
8
8
  ---
9
9
 
10
- 读取并严格遵循 `.codebuddy/skills/modus-harness-04-perf/SKILL.md` 中的执行规范。
10
+ 读取并严格遵循 `.codebuddy/skills/modus-perf-auditor/SKILL.md` 中的执行规范。
11
11
 
12
12
  输入依赖:`modus/plans/active/{story-id}/02-sprint-contract.md` 的 HANDOFF 块 + 代码变更文件。
13
13
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: modus-harness-06-review
2
+ name: modus-reviewer
3
3
  description: Use this agent when the Harness orchestrator needs comprehensive code review after all audit reports are ready (Gate B passed). Reviews all artifacts (01-analysis.md through 05-security-report.md) plus actual code changes, grades issues as P1/P2/P3, and produces cr-report.md. If P1/P2 issues exist, orchestrator triggers Loop 2 re-entry into SubAgent 02.
4
4
  agentMode: agentic
5
5
  tools: Read, Write, Glob
@@ -7,7 +7,7 @@ enabledAutoRun: true
7
7
  enabled: true
8
8
  ---
9
9
 
10
- 读取并严格遵循 `.codebuddy/skills/modus-harness-06-review/SKILL.md` 中的执行规范。
10
+ 读取并严格遵循 `.codebuddy/skills/modus-reviewer/SKILL.md` 中的执行规范。
11
11
 
12
12
  输入依赖:全部产出物(01-analysis.md 至 05-security-report.md)的 HANDOFF 块 + 代码变更。
13
13
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: modus-harness-05-security
2
+ name: modus-security-auditor
3
3
  description: Use this agent when the Harness orchestrator needs to perform security audit on code changes after Gate A passes. Checks multi-tenant data isolation (tenantId source), missing @UserAuthorization on Facade layer, sensitive data logging (bank card/ID/phone), SQL injection via ${} concatenation, and bypass interfaces lacking tenantId protection. Runs in parallel with SubAgents 03 and 04.
4
4
  agentMode: agentic
5
5
  tools: Read, Write, Glob
@@ -7,7 +7,7 @@ enabledAutoRun: true
7
7
  enabled: true
8
8
  ---
9
9
 
10
- 读取并严格遵循 `.codebuddy/skills/modus-harness-05-security/SKILL.md` 中的执行规范。
10
+ 读取并严格遵循 `.codebuddy/skills/modus-security-auditor/SKILL.md` 中的执行规范。
11
11
 
12
12
  输入依赖:`modus/plans/active/{story-id}/02-sprint-contract.md` 的 HANDOFF 块 + 代码变更文件。
13
13
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: modus-harness-00-skills-builder
2
+ name: modus-skill-creator
3
3
  description: Use this agent when any Modus workflow needs to create, update, or extract knowledge to/from Business Skill files. Examples: - Harness orchestrator calls this during INIT phase to refresh business Skills before analysis. - /modus:plan calls this for pre/post Skill update. - /modus:init calls this to generate initial Business Skill files from codebase scan. - Harness ARCHIVE phase calls this to extract decision/guideline/pitfall from artifacts into Skills.
4
4
  agentMode: agentic
5
5
  tools: Read, Write, Glob, Bash
@@ -7,6 +7,6 @@ enabledAutoRun: true
7
7
  enabled: true
8
8
  ---
9
9
 
10
- 读取并严格遵循 `.codebuddy/skills/modus-harness-00-skills-builder/SKILL.md` 中的执行规范和五种工作模式(A: 新建 Skill / B: 增量更新 / C: 知识回写 / D: Harness 归档提取 / E: 基础 Skill 初始化)。
10
+ 读取并严格遵循 `.codebuddy/skills/modus-skill-creator/SKILL.md` 中的执行规范和五种工作模式(A: 新建 Skill / B: 增量更新 / C: 知识回写 / D: Harness 归档提取 / E: 基础 Skill 初始化)。
11
11
 
12
12
  调用方必须在 prompt 中明确指定工作模式(A/B/C/D/E)和目标业务域列表。
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: modus-harness-03-test
2
+ name: modus-tester
3
3
  description: Use this agent when the Harness orchestrator needs to generate unit tests for code changes after Gate A passes. Covers Happy Path, boundary conditions (null/empty/max), exception paths (lock failure, transaction rollback, auth check), and concurrency scenarios using @MockBean to isolate dependencies. Runs in parallel with SubAgents 04 and 05.
4
4
  agentMode: agentic
5
5
  tools: Read, Write, Glob, Bash
@@ -7,7 +7,7 @@ enabledAutoRun: true
7
7
  enabled: true
8
8
  ---
9
9
 
10
- 读取并严格遵循 `.codebuddy/skills/modus-harness-03-test/SKILL.md` 中的执行规范。
10
+ 读取并严格遵循 `.codebuddy/skills/modus-tester/SKILL.md` 中的执行规范。
11
11
 
12
12
  输入依赖:`modus/plans/active/{story-id}/02-sprint-contract.md` 的 HANDOFF 块 + 代码变更文件。
13
13
 
@@ -1,6 +1,6 @@
1
1
  # /modus:vibe
2
2
 
3
- Context-aware vibe coding. Load relevant business Skills before coding so AI works as a knowledgeable project member.
3
+ Context-aware vibe coding. Intelligently loads relevant business Skills, auto-syncs stale knowledge, and applies rule-driven clarification before coding so AI works as a knowledgeable project member.
4
4
 
5
5
  ## Instructions
6
6
 
@@ -8,11 +8,15 @@ Read and follow the skill at `.codebuddy/skills/modus-vibe/SKILL.md` to execute
8
8
 
9
9
  ## Quick Summary
10
10
 
11
- 1. Check if `.codebuddy/skills/modus-biz-*` directories exist
12
- - If not: offer to run `/modus:init` or continue in degraded mode
13
- 2. Match user's prompt to relevant business domains
14
- 3. Confirm domain selection with user
15
- 4. Load the selected Skill files as context
16
- 5. Execute the coding task with business context
11
+ 1. Read `modus/config.yaml` for hard constraints (constitution)
12
+ 2. Load `modus/knowledge-catalog.md` (Level 1, ~200 tokens)
13
+ 3. **Smart Analysis Engine**: auto-match domains (confidence ≥ 85% → auto-confirm, no user input needed), assess task complexity (Simple / Medium / Complex), detect ambiguity
14
+ 4. **Conditional Skill Pre-sync** (silent): check if matched Skills are stale via hash; update if needed; show one-line status `[已同步 {domain} 域知识]`
15
+ 5. **Rule-driven AskUserQuestion**: check 5 ambiguity rules (R1–R5); skip entirely for clear tasks; ask at most 2 questions when rules are hit
16
+ 6. Load matched Skill files as context (Level 2, ~3000 tokens each)
17
+ 7. **Adaptive Design Brief**: Simple tasks → 3-section inline brief; Medium/Complex → full 9-section brief
18
+ 8. Execute the coding task with business context (Level 3 on-demand file reads)
19
+ 9. **Auto Skill write-back** (silent): if new knowledge discovered, call skill-creator Mode C to persist; show one-line `[已更新 {domain} 域知识: ...]`; if nothing new, stay silent
20
+ 10. Append session log to `modus/sessions/vibe-log.md`
17
21
 
18
- **Degraded mode** (no business Skills): proceed without domain context, but note that code quality may be lower without project-specific knowledge.
22
+ **Degraded mode** (no business Skills): proceed without domain context, note quality may be lower, show `[降级模式:无业务上下文,建议先运行 /modus:init]`.
@@ -24,3 +24,30 @@ updated: {YYYY-MM-DD}
24
24
  Level 3(按需,无上限): 执行任务时读 Skill 引用的实际代码文件
25
25
 
26
26
  目标:不相关的 Skill 不加载,大幅降低 token 消耗。
27
+
28
+ ## Skill 状态生命周期
29
+
30
+ ### 成熟度状态(基于 usage_count)
31
+ - **draft** → 初始生成,未经验证(usage_count = 0)
32
+ - **verified** → 经至少1次真实使用验证(usage_count ≥ 1,运行 `/modus:verify` 升级)
33
+ - **proven** → 经≥2个不同工作流验证有效(usage_count ≥ 2)
34
+ - **stale** → last_hash 不匹配或距 last_referenced 超过 stale_after_days,需更新(禁止直接引用)
35
+ - **archived** → 域已废弃,不再维护
36
+
37
+ ### 衰减规则(基于 last_referenced)
38
+ - proven + 距 last_referenced 超过 12 个月 → verified
39
+ - verified + 距 last_referenced 超过 6 个月 → stale
40
+ - stale + 距 last_referenced 超过 stale_after_days → archived(需人工二次确认)
41
+
42
+ ### 防腐机制核心字段
43
+ 每个 Skill frontmatter 必须包含以下字段,缺一不可:
44
+ - **last_referenced**: 最后引用时间(用于衰减计算)
45
+ - **usage_count**: 使用次数(用于成熟度升级)
46
+ - **last_hash**: key_files 内容 SHA-1 哈希(用于检测代码变更,初始留空)
47
+ - **key_files**: 关键源文件列表(最多20个,用于 hash 计算)
48
+
49
+ 缺少任一防腐字段将导致:
50
+ - 无法自动检测代码变更
51
+ - 无法触发 Skill 更新
52
+ - 无法计算知识衰减
53
+ - 防腐机制完全失效
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: modus-harness-01-analysis
2
+ name: modus-analyst
3
3
  description: Use this skill when the Harness orchestrator needs to perform TAPD Story requirements analysis. Reads the TAPD story, extracts business intent, identifies affected code scope at method level, and generates 01-analysis.md with HANDOFF block. Triggered automatically by modus-harness orchestrator as the first step in Loop 1.
4
4
  allowed-tools: Read, Write, Glob, WebFetch
5
5
  disable: false
6
6
  ---
7
7
 
8
- # modus-harness-01-analysis(需求分析 SubAgent)
8
+ # modus-analyst(需求分析 SubAgent)
9
9
 
10
10
  **调用方:** Harness Orchestrator(`modus-harness`)
11
11
  **输入:** TAPD Story URL + 相关业务 Skill 内容
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: modus-harness-07-deploy
2
+ name: modus-deployer
3
3
  description: Use this skill when the Harness orchestrator needs to verify deployment after code review passes (no P1/P2 issues). Monitors CI/CD pipeline status, validates service health across environments (dev→uat→pre→prd), runs smoke tests on P0 interfaces, and generates 07-deploy-status.md. Triggered by modus-harness after Gate C passes.
4
4
  allowed-tools: Read, Write, Glob, Bash, WebFetch
5
5
  disable: false
6
6
  ---
7
7
 
8
- # modus-harness-07-deploy(部署发布 SubAgent)
8
+ # modus-deployer(部署发布 SubAgent)
9
9
 
10
10
  **调用方:** Harness Orchestrator(Gate C 通过后触发)
11
11
  **输入:** `cr-report.md`(无 P1/P2)+ `02-sprint-contract.md`
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: modus-harness-01-5-design
2
+ name: modus-designer
3
3
  description: Use this skill when the Harness orchestrator needs to generate a design-brief between requirements analysis (01-analysis.md) and code development (02-dev). Reads 01-analysis.md and business Skills, asks architecture clarification questions, and produces 01.5-design-brief.md with HANDOFF block. Triggered automatically by modus-harness after SubAgent 01 completes.
4
4
  allowed-tools: Read, Write, Glob
5
5
  disable: false
6
6
  ---
7
7
 
8
- # modus-harness-01-5-design(设计方案 SubAgent)
8
+ # modus-designer(技术方案设计 SubAgent)
9
9
 
10
10
  **调用方:** Harness Orchestrator(`modus-harness`)
11
11
  **输入:** `modus/plans/active/{story-id}/01-analysis.md` + 相关业务 Skill + constitution
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: modus-harness-02-dev
2
+ name: modus-developer
3
3
  description: Use this skill when the Harness orchestrator needs to implement code changes based on the requirements analysis (01-analysis.md). Implements code layer by layer (data → service → orchestration → interface), runs build compilation, and generates 02-sprint-contract.md. Triggered by modus-harness after SubAgent 01 completes or during Loop 2 re-entry for P1/P2 fixes.
4
4
  allowed-tools: Read, Write, Glob, Bash
5
5
  disable: false
6
6
  ---
7
7
 
8
- # modus-harness-02-dev(代码开发 SubAgent)
8
+ # modus-developer(代码开发 SubAgent)
9
9
 
10
10
  **调用方:** Harness Orchestrator
11
11
  **输入:** `01-analysis.md` + 相关业务 Skill
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: modus-harness-04-perf
2
+ name: modus-perf-auditor
3
3
  description: Use this skill when the Harness orchestrator needs to perform static performance audit on code changes. Detects N+1 queries, missing batch operations, unbounded data fetches, deep pagination risks, and ES query issues. Generates 04-perf-report.md. Triggered by modus-harness in parallel with SubAgents 03 and 05 after Gate A passes.
4
4
  allowed-tools: Read, Write, Glob
5
5
  disable: false
6
6
  ---
7
7
 
8
- # modus-harness-04-perf(性能审计 SubAgent)
8
+ # modus-perf-auditor(性能审计 SubAgent)
9
9
 
10
10
  **调用方:** Harness Orchestrator(与 03/05 并行启动)
11
11
  **输入:** `02-sprint-contract.md` + 代码变更
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: modus-harness-06-review
2
+ name: modus-reviewer
3
3
  description: Use this skill when the Harness orchestrator needs to perform comprehensive code review after all audit reports are ready. Evaluates all artifacts (01-analysis.md through 05-security-report.md), grades issues as P1/P2/P3, and generates cr-report.md with HANDOFF block. Gate C: if P1/P2 issues found, triggers Loop 2 re-entry. Triggered by modus-harness after Gate B passes.
4
4
  allowed-tools: Read, Write, Glob
5
5
  disable: false
6
6
  ---
7
7
 
8
- # modus-harness-06-review(代码评审 SubAgent)
8
+ # modus-reviewer(代码评审 SubAgent)
9
9
 
10
10
  **调用方:** Harness Orchestrator(Gate B 通过后触发)
11
11
  **输入:** 全部产出物(01-analysis.md 至 05-security-report.md)+ 代码变更
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: modus-harness-05-security
2
+ name: modus-security-auditor
3
3
  description: Use this skill when the Harness orchestrator needs to perform security audit on code changes. Checks multi-tenant data isolation, missing authorization annotations, sensitive data logging, SQL injection risks, and bypass interface protection. Generates 05-security-report.md. Triggered by modus-harness in parallel with SubAgents 03 and 04 after Gate A passes.
4
4
  allowed-tools: Read, Write, Glob
5
5
  disable: false
6
6
  ---
7
7
 
8
- # modus-harness-05-security(安全审计 SubAgent)
8
+ # modus-security-auditor(安全审计 SubAgent)
9
9
 
10
10
  **调用方:** Harness Orchestrator(与 03/04 并行启动)
11
11
  **输入:** `02-sprint-contract.md` + 代码变更