From 446265577d573340555c70259660e03f1a0d20f9 Mon Sep 17 00:00:00 2001 From: Katoshy Date: Sun, 22 Mar 2026 12:33:02 +0200 Subject: [PATCH] fix: fix naming for custom skills (kebab-case) --- .claude/skills/architecture-analysis/SKILL.md | 2 +- .claude/skills/clean-code/SKILL.md | 2 +- .claude/skills/code-review/SKILL.md | 2 +- .claude/skills/planning/SKILL.md | 2 +- .claude/skills/routing/SKILL.md | 2 +- .claude/skills/security-check/SKILL.md | 2 +- .claude/skills/test-first/SKILL.md | 2 +- .claude/skills/triage/SKILL.md | 2 +- src/renderers/claude/skill-md.ts | 4 ++-- tests/unit/generator/skill-md.test.ts | 4 ++-- 10 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.claude/skills/architecture-analysis/SKILL.md b/.claude/skills/architecture-analysis/SKILL.md index 5da2dfc..d83d43c 100644 --- a/.claude/skills/architecture-analysis/SKILL.md +++ b/.claude/skills/architecture-analysis/SKILL.md @@ -1,5 +1,5 @@ --- -name: Architecture Analysis +name: architecture-analysis description: Deep codebase analysis: module boundaries, dependency graph, design patterns. --- diff --git a/.claude/skills/clean-code/SKILL.md b/.claude/skills/clean-code/SKILL.md index 2c241aa..f1df8d7 100644 --- a/.claude/skills/clean-code/SKILL.md +++ b/.claude/skills/clean-code/SKILL.md @@ -1,5 +1,5 @@ --- -name: Clean Code +name: clean-code description: Follow clean code principles: small functions, meaningful names, no duplication. --- diff --git a/.claude/skills/code-review/SKILL.md b/.claude/skills/code-review/SKILL.md index dd55c18..d31240c 100644 --- a/.claude/skills/code-review/SKILL.md +++ b/.claude/skills/code-review/SKILL.md @@ -1,5 +1,5 @@ --- -name: Code Review +name: code-review description: Review code for correctness, style, performance, and security issues. --- diff --git a/.claude/skills/planning/SKILL.md b/.claude/skills/planning/SKILL.md index 7a2a061..a72960b 100644 --- a/.claude/skills/planning/SKILL.md +++ b/.claude/skills/planning/SKILL.md @@ -1,5 +1,5 @@ --- -name: Planning +name: planning description: Analyze the codebase and produce a step-by-step implementation plan before coding. --- diff --git a/.claude/skills/routing/SKILL.md b/.claude/skills/routing/SKILL.md index 718b581..bebe1db 100644 --- a/.claude/skills/routing/SKILL.md +++ b/.claude/skills/routing/SKILL.md @@ -1,5 +1,5 @@ --- -name: Routing +name: routing description: Route tasks to the appropriate specialist agent based on the request type. --- diff --git a/.claude/skills/security-check/SKILL.md b/.claude/skills/security-check/SKILL.md index 6a0796f..f9c2b6d 100644 --- a/.claude/skills/security-check/SKILL.md +++ b/.claude/skills/security-check/SKILL.md @@ -1,5 +1,5 @@ --- -name: Security Check +name: security-check description: Check code for common security vulnerabilities and OWASP top 10 issues. --- diff --git a/.claude/skills/test-first/SKILL.md b/.claude/skills/test-first/SKILL.md index f96b12a..943196e 100644 --- a/.claude/skills/test-first/SKILL.md +++ b/.claude/skills/test-first/SKILL.md @@ -1,5 +1,5 @@ --- -name: Test First +name: test-first description: Write tests before implementation. Verify each change with a failing test first. --- diff --git a/.claude/skills/triage/SKILL.md b/.claude/skills/triage/SKILL.md index 74ddbec..753d909 100644 --- a/.claude/skills/triage/SKILL.md +++ b/.claude/skills/triage/SKILL.md @@ -1,5 +1,5 @@ --- -name: Triage +name: triage description: Assess incoming requests: classify priority, estimate scope, identify blockers. --- diff --git a/src/renderers/claude/skill-md.ts b/src/renderers/claude/skill-md.ts index 4617bd1..40fba8e 100644 --- a/src/renderers/claude/skill-md.ts +++ b/src/renderers/claude/skill-md.ts @@ -7,7 +7,7 @@ import { defaultRegistry } from '../../registry/index.js'; function buildFrontmatter(skill: SkillDefinition): string { const lines: string[] = ['---']; - lines.push(`name: ${skill.name}`); + lines.push(`name: ${skill.id}`); lines.push(`description: ${skill.description}`); if (skill.allowed_tools?.length) { lines.push(`allowed-tools:`); @@ -28,7 +28,7 @@ function generateSkillStub(skillName: string): string { .join(' '); return `--- -name: ${title} +name: ${skillName} description: --- diff --git a/tests/unit/generator/skill-md.test.ts b/tests/unit/generator/skill-md.test.ts index b6d2091..b7b04b3 100644 --- a/tests/unit/generator/skill-md.test.ts +++ b/tests/unit/generator/skill-md.test.ts @@ -51,7 +51,7 @@ describe('renderSkillMd', () => { const files = renderSkillMd(normalizeManifest(applyDefaults(manifest), claudeTarget)); const content = files.find((f) => f.path.endsWith('SKILL.md'))!.content; expect(content).toMatch(/^---\n/); - expect(content).toContain('name: Test First'); + expect(content).toContain('name: test-first'); expect(content).toContain('description: '); expect(content).toMatch(/---\n\n# Test First/); }); @@ -79,7 +79,7 @@ describe('renderSkillMd', () => { const files = renderSkillMd(normalizeManifest(applyDefaults(manifest), claudeTarget)); const content = files[0].content; expect(content).toMatch(/^---\n/); - expect(content).toContain('name: My Custom Skill'); + expect(content).toContain('name: my-custom-skill'); expect(content).toContain('## When to use this skill'); expect(content).toContain('## Steps'); expect(content).toContain('## Output');