universal-dev-standards 3.2.0 → 3.2.2-beta.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.md CHANGED
@@ -273,6 +273,7 @@ Git 鉤子透過 Git Bash 運作,它包含在 Git for Windows 中。不需要
273
273
 
274
274
  | Version | Date | Changes |
275
275
  |---------|------|---------|
276
+ | 3.2.0 | 2026-01-02 | Added: Marketplace installation support; Fixed: wildcard paths, process hanging |
276
277
  | 3.0.0 | 2025-12-30 | Published to npm, enhanced init with AI tools selection |
277
278
  | 1.0.1 | 2025-12-24 | Added: Bilingual support (English + Chinese) |
278
279
  | 1.0.0 | 2025-12-23 | Initial CLI documentation |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "universal-dev-standards",
3
- "version": "3.2.0",
3
+ "version": "3.2.2-beta.1",
4
4
  "description": "CLI tool for adopting Universal Development Standards",
5
5
  "keywords": [
6
6
  "documentation",
@@ -103,18 +103,24 @@ export function checkCommand() {
103
103
  // Skills status
104
104
  console.log(chalk.cyan('Skills Status:'));
105
105
  if (manifest.skills.installed) {
106
- const skillsDir = join(process.env.HOME || '', '.claude', 'skills');
107
- const hasGlobalSkills = existsSync(skillsDir);
108
- const hasProjectSkills = existsSync(join(projectPath, '.claude', 'skills'));
109
-
110
- if (hasGlobalSkills || hasProjectSkills) {
111
- console.log(chalk.green(' ✓ Claude Code Skills installed'));
112
- if (hasGlobalSkills) console.log(chalk.gray(' Global: ~/.claude/skills/'));
113
- if (hasProjectSkills) console.log(chalk.gray(' Project: .claude/skills/'));
106
+ if (manifest.skills.location === 'marketplace') {
107
+ console.log(chalk.green(' ✓ Skills installed via Plugin Marketplace'));
108
+ console.log(chalk.gray(' Managed by Claude Code plugin system'));
109
+ console.log(chalk.gray(' To verify: /plugin list'));
114
110
  } else {
115
- console.log(chalk.yellow(' ⚠ Skills marked as installed but not found'));
116
- console.log(chalk.gray(' Run: git clone https://github.com/AsiaOstrich/universal-dev-skills.git'));
117
- console.log(chalk.gray(' cd universal-dev-skills && ./install.sh'));
111
+ const skillsDir = join(process.env.HOME || '', '.claude', 'skills');
112
+ const hasGlobalSkills = existsSync(skillsDir);
113
+ const hasProjectSkills = existsSync(join(projectPath, '.claude', 'skills'));
114
+
115
+ if (hasGlobalSkills || hasProjectSkills) {
116
+ console.log(chalk.green(' ✓ Claude Code Skills installed'));
117
+ if (hasGlobalSkills) console.log(chalk.gray(' Global: ~/.claude/skills/'));
118
+ if (hasProjectSkills) console.log(chalk.gray(' Project: .claude/skills/'));
119
+ } else {
120
+ console.log(chalk.yellow(' ⚠ Skills marked as installed but not found'));
121
+ console.log(chalk.gray(' Run: git clone https://github.com/AsiaOstrich/universal-dev-skills.git'));
122
+ console.log(chalk.gray(' cd universal-dev-skills && ./install.sh'));
123
+ }
118
124
  }
119
125
  } else {
120
126
  console.log(chalk.gray(' Skills not installed (using reference documents only)'));
@@ -218,4 +218,7 @@ export async function configureCommand(options) {
218
218
  }
219
219
 
220
220
  console.log();
221
+
222
+ // Exit explicitly to prevent hanging due to inquirer's readline interface
223
+ process.exit(0);
221
224
  }
@@ -154,9 +154,12 @@ export async function initCommand(options) {
154
154
  });
155
155
 
156
156
  const useClaudeCode = aiTools.includes('claude-code');
157
+ const onlyClaudeCode = aiTools.length === 1 && useClaudeCode;
157
158
 
158
- // STEP 4: Skills handling (only if Claude Code is selected)
159
- if (useClaudeCode) {
159
+ // STEP 4: Skills handling (only if Claude Code is the ONLY selected tool)
160
+ // When other AI tools are also selected, they need full standards,
161
+ // so we skip the Skills prompt to avoid minimal installation affecting them
162
+ if (onlyClaudeCode) {
160
163
  const projectSkillsInfo = getProjectInstalledSkillsInfo(projectPath);
161
164
  const userSkillsInfo = getInstalledSkillsInfo();
162
165
  const repoInfo = getRepositoryInfo();
@@ -218,8 +221,8 @@ export async function initCommand(options) {
218
221
  skillsConfig = {
219
222
  installed: true,
220
223
  location,
221
- needsInstall: true,
222
- updateTargets: [location]
224
+ needsInstall: location !== 'marketplace', // marketplace doesn't need install via CLI
225
+ updateTargets: location === 'marketplace' ? [] : [location]
223
226
  };
224
227
  }
225
228
  }
@@ -353,9 +356,14 @@ export async function initCommand(options) {
353
356
  console.log(chalk.gray(` Integrations: ${integrations.length > 0 ? integrations.join(', ') : 'none'}`));
354
357
 
355
358
  if (skillsConfig.installed) {
356
- const skillsStatus = skillsConfig.needsInstall
357
- ? `install/update to ${skillsConfig.location}`
358
- : `using existing (${skillsConfig.location})`;
359
+ let skillsStatus;
360
+ if (skillsConfig.location === 'marketplace') {
361
+ skillsStatus = 'Plugin Marketplace (managed by Claude Code)';
362
+ } else {
363
+ skillsStatus = skillsConfig.needsInstall
364
+ ? `install/update to ${skillsConfig.location}`
365
+ : `using existing (${skillsConfig.location})`;
366
+ }
359
367
  console.log(chalk.gray(` Skills: ${skillsStatus}`));
360
368
  }
361
369
 
@@ -543,6 +551,41 @@ export async function initCommand(options) {
543
551
  intSpinner.succeed(`Generated ${results.integrations.length} integration files`);
544
552
  }
545
553
 
554
+ // Generate CLAUDE.md for Claude Code if selected
555
+ const claudeCodeSelected = aiTools.includes('claude-code');
556
+ if (claudeCodeSelected && !integrationFileExists('claude-code', projectPath)) {
557
+ const claudeSpinner = ora('Generating CLAUDE.md...').start();
558
+
559
+ // Determine language setting from locale or format
560
+ let claudeLanguage = 'en';
561
+ if (locale === 'zh-tw') {
562
+ claudeLanguage = 'zh-tw';
563
+ } else if (standardOptions?.commit_language === 'bilingual') {
564
+ claudeLanguage = 'bilingual';
565
+ } else if (standardOptions?.commit_language === 'traditional-chinese') {
566
+ claudeLanguage = 'zh-tw';
567
+ }
568
+
569
+ const claudeConfig = {
570
+ tool: 'claude-code',
571
+ categories: ['anti-hallucination', 'commit-standards', 'code-review'],
572
+ languages: [],
573
+ exclusions: [],
574
+ customRules: [],
575
+ detailLevel: 'standard',
576
+ language: claudeLanguage
577
+ };
578
+
579
+ const result = writeIntegrationFile('claude-code', claudeConfig, projectPath);
580
+ if (result.success) {
581
+ results.integrations.push(result.path);
582
+ claudeSpinner.succeed('Generated CLAUDE.md');
583
+ } else {
584
+ claudeSpinner.warn('Could not generate CLAUDE.md');
585
+ results.errors.push(`CLAUDE.md: ${result.error}`);
586
+ }
587
+ }
588
+
546
589
  // Install Skills if needed
547
590
  if (skillsConfig.needsInstall && skillsConfig.updateTargets.length > 0) {
548
591
  const skillSpinner = ora('Installing Claude Code Skills...').start();
@@ -616,7 +659,7 @@ export async function initCommand(options) {
616
659
  skills: {
617
660
  installed: skillsConfig.installed,
618
661
  location: skillsConfig.location,
619
- names: results.skills,
662
+ names: skillsConfig.location === 'marketplace' ? ['all-via-plugin'] : results.skills,
620
663
  version: skillsConfig.installed ? repoInfo.skills.version : null
621
664
  }
622
665
  };
@@ -631,15 +674,19 @@ export async function initCommand(options) {
631
674
  const totalFiles = results.standards.length + results.extensions.length + results.integrations.length;
632
675
  console.log(chalk.gray(` ${totalFiles} files copied to project`));
633
676
 
634
- if (results.skills.length > 0) {
635
- const skillLocations = [];
636
- if (skillsConfig.updateTargets.includes('user')) {
637
- skillLocations.push('~/.claude/skills/');
638
- }
639
- if (skillsConfig.updateTargets.includes('project')) {
640
- skillLocations.push('.claude/skills/');
677
+ if (skillsConfig.installed) {
678
+ if (skillsConfig.location === 'marketplace') {
679
+ console.log(chalk.gray(' Skills: Using Plugin Marketplace installation'));
680
+ } else if (results.skills.length > 0) {
681
+ const skillLocations = [];
682
+ if (skillsConfig.updateTargets.includes('user')) {
683
+ skillLocations.push('~/.claude/skills/');
684
+ }
685
+ if (skillsConfig.updateTargets.includes('project')) {
686
+ skillLocations.push('.claude/skills/');
687
+ }
688
+ console.log(chalk.gray(` ${results.skills.length} Skills installed to ${skillLocations.join(' and ')}`));
641
689
  }
642
- console.log(chalk.gray(` ${results.skills.length} Skills installed to ${skillLocations.join(' and ')}`));
643
690
  }
644
691
  console.log(chalk.gray(' Manifest created at .standards/manifest.json'));
645
692
 
@@ -662,4 +709,7 @@ export async function initCommand(options) {
662
709
  console.log(chalk.gray(' 3. Run `uds check` to verify adoption status'));
663
710
  }
664
711
  console.log();
712
+
713
+ // Exit explicitly to prevent hanging due to inquirer's readline interface
714
+ process.exit(0);
665
715
  }
@@ -183,4 +183,7 @@ export async function updateCommand(options) {
183
183
  }
184
184
 
185
185
  console.log();
186
+
187
+ // Exit explicitly to prevent hanging due to inquirer's readline interface
188
+ process.exit(0);
186
189
  }
@@ -81,7 +81,11 @@ export async function promptSkillsInstallLocation() {
81
81
  message: 'Where should Skills be installed?',
82
82
  choices: [
83
83
  {
84
- name: `${chalk.green('User Level')} ${chalk.gray('(推薦)')} - ~/.claude/skills/ (shared across projects)`,
84
+ name: `${chalk.green('Plugin Marketplace')} ${chalk.gray('(推薦)')} - Already installed via /plugin install`,
85
+ value: 'marketplace'
86
+ },
87
+ {
88
+ name: `${chalk.blue('User Level')} - ~/.claude/skills/ (shared across projects)`,
85
89
  value: 'user'
86
90
  },
87
91
  {
@@ -93,13 +97,19 @@ export async function promptSkillsInstallLocation() {
93
97
  value: 'none'
94
98
  }
95
99
  ],
96
- default: 'user'
100
+ default: 'marketplace'
97
101
  }
98
102
  ]);
99
103
 
100
104
  // Show explanation
101
105
  console.log();
102
- if (location === 'user') {
106
+ if (location === 'marketplace') {
107
+ console.log(chalk.gray(' → Skills managed by Claude Code Plugin system'));
108
+ console.log(chalk.gray(' → Automatic updates when new versions are released'));
109
+ console.log(chalk.gray(' → If not installed yet, run:'));
110
+ console.log(chalk.gray(' /plugin marketplace add AsiaOstrich/universal-dev-standards'));
111
+ console.log(chalk.gray(' /plugin install universal-dev-standards@universal-dev-standards'));
112
+ } else if (location === 'user') {
103
113
  console.log(chalk.gray(' → Skills will be installed to ~/.claude/skills/'));
104
114
  console.log(chalk.gray(' → Available across all your projects'));
105
115
  } else if (location === 'project') {
@@ -1431,76 +1431,116 @@ const TOOL_HEADERS = {
1431
1431
  # Generated by Universal Dev Standards CLI
1432
1432
  # https://github.com/AsiaOstrich/universal-dev-standards
1433
1433
 
1434
- You are an expert software engineer assistant. Follow these project standards:`,
1434
+ You are an expert software engineer assistant. Follow these project standards.
1435
+
1436
+ ## Conversation Language
1437
+ All responses should be in **English**.`,
1435
1438
  'zh-tw': `# Cursor 規則
1436
1439
  # 由 Universal Dev Standards CLI 生成
1437
1440
  # https://github.com/AsiaOstrich/universal-dev-standards
1438
1441
 
1439
- 您是專業的軟體工程助手。請遵循以下專案標準:`,
1442
+ 您是專業的軟體工程助手。請遵循以下專案標準。
1443
+
1444
+ ## 對話語言 / Conversation Language
1445
+ 所有回覆必須使用**繁體中文 (Traditional Chinese)**。`,
1440
1446
  bilingual: `# Cursor Rules | Cursor 規則
1441
1447
  # Generated by Universal Dev Standards CLI
1442
1448
  # 由 Universal Dev Standards CLI 生成
1443
1449
  # https://github.com/AsiaOstrich/universal-dev-standards
1444
1450
 
1445
1451
  You are an expert software engineer assistant. Follow these project standards.
1446
- 您是專業的軟體工程助手。請遵循以下專案標準。`
1452
+ 您是專業的軟體工程助手。請遵循以下專案標準。
1453
+
1454
+ ## Conversation Language / 對話語言
1455
+ All responses should be in **Traditional Chinese (繁體中文)**, with technical terms in English where appropriate.
1456
+ 所有回覆必須使用**繁體中文**,技術術語可保留英文。`
1447
1457
  },
1448
1458
  windsurf: {
1449
1459
  en: `# Windsurf Rules
1450
1460
  # Generated by Universal Dev Standards CLI
1451
1461
  # https://github.com/AsiaOstrich/universal-dev-standards
1452
1462
 
1453
- You are an expert software engineer assistant. Follow these project standards:`,
1463
+ You are an expert software engineer assistant. Follow these project standards.
1464
+
1465
+ ## Conversation Language
1466
+ All responses should be in **English**.`,
1454
1467
  'zh-tw': `# Windsurf 規則
1455
1468
  # 由 Universal Dev Standards CLI 生成
1456
1469
  # https://github.com/AsiaOstrich/universal-dev-standards
1457
1470
 
1458
- 您是專業的軟體工程助手。請遵循以下專案標準:`,
1471
+ 您是專業的軟體工程助手。請遵循以下專案標準。
1472
+
1473
+ ## 對話語言 / Conversation Language
1474
+ 所有回覆必須使用**繁體中文 (Traditional Chinese)**。`,
1459
1475
  bilingual: `# Windsurf Rules | Windsurf 規則
1460
1476
  # Generated by Universal Dev Standards CLI
1461
1477
  # 由 Universal Dev Standards CLI 生成
1462
1478
  # https://github.com/AsiaOstrich/universal-dev-standards
1463
1479
 
1464
1480
  You are an expert software engineer assistant. Follow these project standards.
1465
- 您是專業的軟體工程助手。請遵循以下專案標準。`
1481
+ 您是專業的軟體工程助手。請遵循以下專案標準。
1482
+
1483
+ ## Conversation Language / 對話語言
1484
+ All responses should be in **Traditional Chinese (繁體中文)**, with technical terms in English where appropriate.
1485
+ 所有回覆必須使用**繁體中文**,技術術語可保留英文。`
1466
1486
  },
1467
1487
  cline: {
1468
1488
  en: `# Cline Rules
1469
1489
  # Generated by Universal Dev Standards CLI
1470
1490
  # https://github.com/AsiaOstrich/universal-dev-standards
1471
1491
 
1472
- You are an expert software engineer assistant. Follow these project standards:`,
1492
+ You are an expert software engineer assistant. Follow these project standards.
1493
+
1494
+ ## Conversation Language
1495
+ All responses should be in **English**.`,
1473
1496
  'zh-tw': `# Cline 規則
1474
1497
  # 由 Universal Dev Standards CLI 生成
1475
1498
  # https://github.com/AsiaOstrich/universal-dev-standards
1476
1499
 
1477
- 您是專業的軟體工程助手。請遵循以下專案標準:`,
1500
+ 您是專業的軟體工程助手。請遵循以下專案標準。
1501
+
1502
+ ## 對話語言 / Conversation Language
1503
+ 所有回覆必須使用**繁體中文 (Traditional Chinese)**。`,
1478
1504
  bilingual: `# Cline Rules | Cline 規則
1479
1505
  # Generated by Universal Dev Standards CLI
1480
1506
  # 由 Universal Dev Standards CLI 生成
1481
1507
  # https://github.com/AsiaOstrich/universal-dev-standards
1482
1508
 
1483
1509
  You are an expert software engineer assistant. Follow these project standards.
1484
- 您是專業的軟體工程助手。請遵循以下專案標準。`
1510
+ 您是專業的軟體工程助手。請遵循以下專案標準。
1511
+
1512
+ ## Conversation Language / 對話語言
1513
+ All responses should be in **Traditional Chinese (繁體中文)**, with technical terms in English where appropriate.
1514
+ 所有回覆必須使用**繁體中文**,技術術語可保留英文。`
1485
1515
  },
1486
1516
  copilot: {
1487
1517
  en: `# GitHub Copilot Instructions
1488
1518
  # Generated by Universal Dev Standards CLI
1489
1519
  # https://github.com/AsiaOstrich/universal-dev-standards
1490
1520
 
1491
- You are an expert software engineer assistant. Follow these project standards:`,
1521
+ You are an expert software engineer assistant. Follow these project standards.
1522
+
1523
+ ## Conversation Language
1524
+ All responses should be in **English**.`,
1492
1525
  'zh-tw': `# GitHub Copilot 說明
1493
1526
  # 由 Universal Dev Standards CLI 生成
1494
1527
  # https://github.com/AsiaOstrich/universal-dev-standards
1495
1528
 
1496
- 您是專業的軟體工程助手。請遵循以下專案標準:`,
1529
+ 您是專業的軟體工程助手。請遵循以下專案標準。
1530
+
1531
+ ## 對話語言 / Conversation Language
1532
+ 所有回覆必須使用**繁體中文 (Traditional Chinese)**。`,
1497
1533
  bilingual: `# GitHub Copilot Instructions | GitHub Copilot 說明
1498
1534
  # Generated by Universal Dev Standards CLI
1499
1535
  # 由 Universal Dev Standards CLI 生成
1500
1536
  # https://github.com/AsiaOstrich/universal-dev-standards
1501
1537
 
1502
1538
  You are an expert software engineer assistant. Follow these project standards.
1503
- 您是專業的軟體工程助手。請遵循以下專案標準。`
1539
+ 您是專業的軟體工程助手。請遵循以下專案標準。
1540
+
1541
+ ## Conversation Language / 對話語言
1542
+ All responses should be in **Traditional Chinese (繁體中文)**, with technical terms in English where appropriate.
1543
+ 所有回覆必須使用**繁體中文**,技術術語可保留英文。`
1504
1544
  },
1505
1545
  antigravity: {
1506
1546
  en: `# Antigravity System Instructions
@@ -1508,20 +1548,54 @@ You are an expert software engineer assistant. Follow these project standards.
1508
1548
  # https://github.com/AsiaOstrich/universal-dev-standards
1509
1549
 
1510
1550
  Recommended system instructions for Google Antigravity (Gemini Advanced Agent).
1511
- Follow these project standards:`,
1551
+ Follow these project standards.
1552
+
1553
+ ## Conversation Language
1554
+ All responses should be in **English**.`,
1512
1555
  'zh-tw': `# Antigravity 系統指令
1513
1556
  # 由 Universal Dev Standards CLI 生成
1514
1557
  # https://github.com/AsiaOstrich/universal-dev-standards
1515
1558
 
1516
1559
  Google Antigravity (Gemini Advanced Agent) 的推薦系統指令。
1517
- 請遵循以下專案標準:`,
1560
+ 請遵循以下專案標準。
1561
+
1562
+ ## 對話語言 / Conversation Language
1563
+ 所有回覆必須使用**繁體中文 (Traditional Chinese)**。`,
1518
1564
  bilingual: `# Antigravity System Instructions | Antigravity 系統指令
1519
1565
  # Generated by Universal Dev Standards CLI
1520
1566
  # 由 Universal Dev Standards CLI 生成
1521
1567
  # https://github.com/AsiaOstrich/universal-dev-standards
1522
1568
 
1523
1569
  Recommended system instructions for Google Antigravity (Gemini Advanced Agent).
1524
- Google Antigravity (Gemini Advanced Agent) 的推薦系統指令。`
1570
+ Google Antigravity (Gemini Advanced Agent) 的推薦系統指令。
1571
+
1572
+ ## Conversation Language / 對話語言
1573
+ All responses should be in **Traditional Chinese (繁體中文)**, with technical terms in English where appropriate.
1574
+ 所有回覆必須使用**繁體中文**,技術術語可保留英文。`
1575
+ },
1576
+ 'claude-code': {
1577
+ en: `# Project Guidelines for Claude Code
1578
+ # Generated by Universal Dev Standards CLI
1579
+ # https://github.com/AsiaOstrich/universal-dev-standards
1580
+
1581
+ ## Conversation Language
1582
+ All responses should be in **English**.`,
1583
+ 'zh-tw': `# Claude Code 專案指南
1584
+ # 由 Universal Dev Standards CLI 生成
1585
+ # https://github.com/AsiaOstrich/universal-dev-standards
1586
+
1587
+ ## 對話語言 / Conversation Language
1588
+ 所有回覆必須使用**繁體中文 (Traditional Chinese)**。
1589
+ AI 助手應以繁體中文回覆使用者的問題與請求。`,
1590
+ bilingual: `# Project Guidelines for Claude Code | Claude Code 專案指南
1591
+ # Generated by Universal Dev Standards CLI
1592
+ # 由 Universal Dev Standards CLI 生成
1593
+ # https://github.com/AsiaOstrich/universal-dev-standards
1594
+
1595
+ ## Conversation Language / 對話語言
1596
+ All responses should be in **Traditional Chinese (繁體中文)**, with technical terms in English where appropriate.
1597
+ 所有回覆必須使用**繁體中文**,技術術語可保留英文。
1598
+ AI 助手應以繁體中文回覆使用者的問題與請求。`
1525
1599
  }
1526
1600
  };
1527
1601
 
@@ -1642,7 +1716,8 @@ export function writeIntegrationFile(tool, config, projectPath) {
1642
1716
  windsurf: '.windsurfrules',
1643
1717
  cline: '.clinerules',
1644
1718
  copilot: '.github/copilot-instructions.md',
1645
- antigravity: 'INSTRUCTIONS.md'
1719
+ antigravity: 'INSTRUCTIONS.md',
1720
+ 'claude-code': 'CLAUDE.md'
1646
1721
  };
1647
1722
 
1648
1723
  const fileName = TOOL_FILES[tool];
@@ -1686,7 +1761,8 @@ export function integrationFileExists(tool, projectPath) {
1686
1761
  windsurf: '.windsurfrules',
1687
1762
  cline: '.clinerules',
1688
1763
  copilot: '.github/copilot-instructions.md',
1689
- antigravity: 'INSTRUCTIONS.md'
1764
+ antigravity: 'INSTRUCTIONS.md',
1765
+ 'claude-code': 'CLAUDE.md'
1690
1766
  };
1691
1767
 
1692
1768
  const fileName = TOOL_FILES[tool];
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "3.0.0",
4
- "lastUpdated": "2025-12-30",
3
+ "version": "3.2.0",
4
+ "lastUpdated": "2026-01-02",
5
5
  "description": "Standards registry for universal-dev-standards with integrated skills and AI-optimized formats",
6
6
  "formats": {
7
7
  "ai": {
@@ -48,14 +48,14 @@
48
48
  "standards": {
49
49
  "name": "universal-dev-standards",
50
50
  "url": "https://github.com/AsiaOstrich/universal-dev-standards",
51
- "version": "3.0.0"
51
+ "version": "3.2.0"
52
52
  },
53
53
  "skills": {
54
54
  "name": "universal-dev-standards",
55
55
  "url": "https://github.com/AsiaOstrich/universal-dev-standards",
56
56
  "localPath": "skills/claude-code",
57
57
  "rawUrl": "https://raw.githubusercontent.com/AsiaOstrich/universal-dev-standards/main/skills/claude-code",
58
- "version": "3.0.0",
58
+ "version": "3.2.0",
59
59
  "note": "Skills are now included in the main repository under skills/"
60
60
  }
61
61
  },
@@ -634,14 +634,34 @@
634
634
  "note": "SDD tool, not AI coding assistant. Manual integration only."
635
635
  },
636
636
  {
637
- "id": "requirement-templates",
638
- "name": "Requirement Document Templates",
637
+ "id": "requirement-checklist",
638
+ "name": "Requirement Checklist Template",
639
+ "nameZh": "需求檢核清單模板",
640
+ "source": "templates/requirement-checklist.md",
641
+ "category": "skill",
642
+ "skillName": "requirement-assistant",
643
+ "level": 2,
644
+ "description": "Checklist for reviewing requirement documents"
645
+ },
646
+ {
647
+ "id": "requirement-template",
648
+ "name": "Requirement Template",
649
+ "nameZh": "需求模板",
650
+ "source": "templates/requirement-template.md",
651
+ "category": "skill",
652
+ "skillName": "requirement-assistant",
653
+ "level": 2,
654
+ "description": "Template for writing user stories"
655
+ },
656
+ {
657
+ "id": "requirement-document-template",
658
+ "name": "Requirement Document Template",
639
659
  "nameZh": "需求文件模板",
640
- "source": "templates/requirement-*.md",
660
+ "source": "templates/requirement-document-template.md",
641
661
  "category": "skill",
642
662
  "skillName": "requirement-assistant",
643
663
  "level": 2,
644
- "description": "Templates for writing requirement documents and user stories"
664
+ "description": "Template for writing comprehensive requirement documents"
645
665
  },
646
666
  {
647
667
  "id": "migration-template",