refactor(skills): clean skill names (strip NN- prefix from name:) — convention change
Some checks failed
Verify Skills / verify-skills (push) Has been cancelled

Adopt: directory keeps its NN- ordering prefix; skill `name:` is the clean form
without it (dir 16-seo-schema-validator → name: seo-schema-validator). Nicer to
invoke, matches the original desktop/SKILL.md names, still globally unique.

- 71 root SKILL.md: name: NN-foo → name: foo (flat skills + reference-curator suite).
  Plugins (mac-optimizer/multi-agent-guide/dintel-bootstrap) already clean; 95 already clean.
- scripts/migrate_skill_root.py: derive name = dirname minus NN- prefix (skill_name()).
- CLAUDE.md + SKILL-MIGRATION-GUIDE.md: document the dir-prefix / clean-name convention.

verify_skills.py: 0 name collisions across all renamed skills. (The ~/.claude/skills
symlinks were re-pointed to the clean names separately — filesystem only.)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-28 02:11:01 +09:00
parent 08cb20fc67
commit 6ac547e78f
74 changed files with 84 additions and 75 deletions

View File

@@ -204,7 +204,7 @@ directly loadable. Migrate incrementally, not in bulk.
```markdown
---
name: skill-name-kebab-case # letters, numbers, hyphens only
name: skill-name-kebab-case # clean name: dir minus the NN- prefix
description: |
What it does + when to use. Triggers: keyword1, keyword2, 한국어 트리거.
---
@@ -214,6 +214,9 @@ description: |
Content starts here...
```
**Naming convention:** the directory keeps its `NN-` prefix for ordering
(`16-seo-schema-validator/`), but the skill `name:` is the **clean** form without it
(`name: seo-schema-validator`). Names must be kebab-case and globally unique.
Whole frontmatter ≤ 1024 chars. Full rules + migration recipe: `reference/SKILL-MIGRATION-GUIDE.md`.
## Directory Layout

View File

@@ -1,5 +1,5 @@
---
name: 01-ourdigital-brand-guide
name: ourdigital-brand-guide
description: |
OurDigital 브랜드 기준 및 스타일 가이드 참조 스킬.
Activated with "ourdigital" keyword for brand-related queries.

View File

@@ -1,5 +1,5 @@
---
name: 02-ourdigital-blog
name: ourdigital-blog
description: |
Korean blog draft creation for blog.ourdigital.org.
Activated with "ourdigital" keyword for blog writing tasks.

View File

@@ -1,5 +1,5 @@
---
name: 03-ourdigital-journal
name: ourdigital-journal
description: |
English essay and article creation for journal.ourdigital.org.
Activated with "ourdigital" keyword for English writing tasks.

View File

@@ -1,5 +1,5 @@
---
name: 04-ourdigital-research
name: ourdigital-research
description: |
Deep research and structured prompt generation for OurDigital workflows.
Activated with "ourdigital" keyword for research tasks.

View File

@@ -1,5 +1,5 @@
---
name: 05-ourdigital-document
name: ourdigital-document
description: |
Notion-to-presentation workflow for OurDigital.
Activated with "ourdigital" keyword for document creation.

View File

@@ -1,5 +1,5 @@
---
name: 06-ourdigital-designer
name: ourdigital-designer
description: |
Visual storytelling and image prompt generation for OurDigital.
Activated with "ourdigital" keyword for design tasks.

View File

@@ -1,5 +1,5 @@
---
name: 07-ourdigital-ad-manager
name: ourdigital-ad-manager
description: |
Ad copywriting and keyword research for OurDigital marketing.
Activated with "ourdigital" keyword for advertising tasks.

View File

@@ -1,5 +1,5 @@
---
name: 08-ourdigital-trainer
name: ourdigital-trainer
description: |
Training material creation and workshop planning for OurDigital.
Activated with "ourdigital" keyword for education tasks.

View File

@@ -1,5 +1,5 @@
---
name: 09-ourdigital-backoffice
name: ourdigital-backoffice
description: |
Business document creation for OurDigital consulting services.
Activated with "ourdigital" keyword for business documents.

View File

@@ -1,5 +1,5 @@
---
name: 10-ourdigital-skill-creator
name: ourdigital-skill-creator
description: |
Meta skill for creating and managing OurDigital Claude Skills.
Activated when user includes "ourdigital" keyword with skill creation requests.

View File

@@ -1,5 +1,5 @@
---
name: 11-seo-comprehensive-audit
name: seo-comprehensive-audit
description: |
Comprehensive SEO audit orchestrator. Runs 6-stage audit pipeline (Technical, On-Page, CWV, Schema, Local, GSC) and produces a unified report with weighted health score.
Triggers: comprehensive SEO, full SEO audit, 종합 SEO 감사, site audit, SEO health check.

View File

@@ -1,5 +1,5 @@
---
name: 12-seo-technical-audit
name: seo-technical-audit
description: |
Technical SEO analyzer for robots.txt, sitemap, and crawlability fundamentals.
Triggers: technical SEO, robots.txt, sitemap validation, crawlability, URL accessibility.

View File

@@ -1,5 +1,5 @@
---
name: 13-seo-on-page-audit
name: seo-on-page-audit
description: |
On-page SEO analyzer for meta tags, headings, links, images, and Open Graph.
Triggers: on-page SEO, meta tags, title tag, heading structure, alt text.

View File

@@ -1,5 +1,5 @@
---
name: 14-seo-core-web-vitals
name: seo-core-web-vitals
description: |
Core Web Vitals analyzer for LCP, FID, CLS, and INP optimization recommendations.
Triggers: Core Web Vitals, page speed, LCP optimization, CLS fix, INP analysis.

View File

@@ -1,5 +1,5 @@
---
name: 15-seo-search-console
name: seo-search-console
description: |
Google Search Console data analyzer for performance, queries, and index coverage.
Triggers: Search Console, GSC analysis, search performance, rankings, CTR optimization.

View File

@@ -1,5 +1,5 @@
---
name: 16-seo-schema-validator
name: seo-schema-validator
description: |
Validates an AUTHORED JSON-LD schema dataset (pre-deployment QA) and audits
live structured data (post-deployment). Runs a 5-layer offline validation

View File

@@ -1,5 +1,5 @@
---
name: 17-seo-schema-generator
name: seo-schema-generator
description: |
Generates validation-ready JSON-LD structured data for a site, covering BOTH
scenarios: (1) from an existing website — extract facts from live pages; and

View File

@@ -1,5 +1,5 @@
---
name: 18-seo-local-audit
name: seo-local-audit
description: |
Local business SEO auditor for Korean-market businesses. Covers business identity extraction,
NAP consistency, Google Business Profile, Naver Smart Place, Kakao Map, local citations,

View File

@@ -1,5 +1,5 @@
---
name: 19-seo-keyword-strategy
name: seo-keyword-strategy
description: |
Keyword strategy and research for SEO campaigns.
Triggers: keyword research, keyword analysis, keyword gap, search volume,

View File

@@ -1,5 +1,5 @@
---
name: 20-seo-serp-analysis
name: seo-serp-analysis
description: |
SERP analysis for Google and Naver search results.
Triggers: SERP analysis, search results, featured snippet, SERP features, Naver SERP, 검색결과 분석, SERP 분석.

View File

@@ -1,5 +1,5 @@
---
name: 21-seo-position-tracking
name: seo-position-tracking
description: |
Keyword position tracking for keyword ranking monitoring.
Triggers: rank tracking, position monitoring, keyword rankings, visibility score, ranking report, 키워드 순위, 순위 추적.

View File

@@ -1,5 +1,5 @@
---
name: 22-seo-link-building
name: seo-link-building
description: |
Link building diagnosis and backlink analysis tool.
Triggers: backlink audit, link building, referring domains, toxic links, link gap, broken backlinks, 백링크 분석, 링크빌딩.

View File

@@ -1,5 +1,5 @@
---
name: 23-seo-content-strategy
name: seo-content-strategy
description: |
Content strategy and planning for SEO. Triggers: content audit, content strategy, content gap, topic clusters, content brief, editorial calendar, content decay, 콘텐츠 전략, 콘텐츠 감사.
---

View File

@@ -1,5 +1,5 @@
---
name: 24-seo-ecommerce
name: seo-ecommerce
description: |
E-commerce SEO audit and optimization for product pages, product schema, category taxonomy,
and Korean marketplace presence.

View File

@@ -1,5 +1,5 @@
---
name: 25-seo-kpi-framework
name: seo-kpi-framework
description: |
SEO KPI and performance framework for unified metrics, health scores, ROI, and period-over-period reporting.
Triggers: SEO KPI, performance report, health score, SEO metrics, ROI,

View File

@@ -1,5 +1,5 @@
---
name: 26-seo-international
name: seo-international
description: |
International SEO audit and hreflang validation for multi-language and multi-region websites.
Triggers: hreflang, international SEO, multi-language, multi-region, content parity, x-default, ccTLD, 다국어 SEO.

View File

@@ -1,5 +1,5 @@
---
name: 27-seo-ai-visibility
name: seo-ai-visibility
description: |
AI search visibility and brand radar monitoring. Tracks how a brand appears
in AI-generated search answers using our-seo-agent CLI or pre-fetched data.

View File

@@ -1,5 +1,5 @@
---
name: 28-seo-knowledge-graph
name: seo-knowledge-graph
description: |
Knowledge Graph and entity SEO analysis.
Triggers: knowledge panel, entity SEO, knowledge graph, PAA, FAQ schema,

View File

@@ -1,5 +1,5 @@
---
name: 29-seo-gateway-architect
name: seo-gateway-architect
description: |
Gateway page strategy planner for keyword research, content architecture, and SEO KPIs.
Triggers: SEO strategy, gateway pages, keyword research, content architecture.

View File

@@ -1,5 +1,5 @@
---
name: 30-seo-gateway-builder
name: seo-gateway-builder
description: |
Gateway page content builder with templates, schema markup, and local SEO optimization.
Triggers: build gateway page, create landing page, local service page, location pages.

View File

@@ -1,5 +1,5 @@
---
name: 31-notion-organizer
name: notion-organizer
description: |
Notion workspace manager for database optimization, property cleanup, and bulk operations.
Triggers: organize Notion, workspace cleanup, database schema, property standardization.

View File

@@ -1,5 +1,5 @@
---
name: 31-seo-competitor-intel
name: seo-competitor-intel
description: |
Competitor intelligence and SEO benchmarking.
Triggers: competitor analysis, competitive intelligence, competitor comparison,

View File

@@ -1,5 +1,5 @@
---
name: 32-notion-writer
name: notion-writer
description: |
Markdown to Notion page writer with database row creation support.
Triggers: write to Notion, export to Notion, push content, create Notion page.

View File

@@ -1,5 +1,5 @@
---
name: 32-seo-crawl-budget
name: seo-crawl-budget
description: |
Crawl budget optimization and server log analysis for search engine bots.
Triggers: crawl budget, log analysis, bot crawling, Googlebot, crawl waste,

View File

@@ -1,5 +1,5 @@
---
name: 33-seo-migration-planner
name: seo-migration-planner
description: |
SEO site migration planning and monitoring. Triggers: site migration, domain move, redirect mapping, platform migration, URL restructuring, HTTPS migration, subdomain consolidation, 사이트 이전, 도메인 이전, 리디렉트 매핑.
---

View File

@@ -1,5 +1,5 @@
---
name: 34-seo-reporting-dashboard
name: seo-reporting-dashboard
description: |
SEO reporting dashboard and executive report generation. Aggregates data from all SEO skills
into stakeholder-ready reports and interactive HTML dashboards.

View File

@@ -1,5 +1,5 @@
---
name: 40-jamie-brand-editor
name: jamie-brand-editor
description: |
Jamie Plastic Surgery branded content generator for blog posts and marketing.
Triggers: write Jamie blog, Jamie content, brand copywriting, 제이미 콘텐츠.

View File

@@ -1,5 +1,5 @@
---
name: 41-jamie-brand-audit
name: jamie-brand-audit
description: |
Jamie Plastic Surgery brand compliance reviewer and content evaluator.
Triggers: review content, brand audit, 제이미 브랜드 검토, tone and manner check.

View File

@@ -1,5 +1,5 @@
---
name: 42-jamie-faq-entry
name: jamie-faq-entry
description: "카카오톡 플러스 채널 Kanana 상담매니저 Q&A 답변 생성 및 검토 스킬. 제이미성형외과의 카카오톡 채널에 등록할 고객 문의 질문과 답변 엔트리를 생성, 검토, 수정합니다. 의료광고 심의 준수, 브랜드 보이스 일관성, 카카오 카나나 가이드 규격을 모두 반영합니다. Triggers: 카나나 답변, Kanana Q&A, 카카오톡 챗봇, 카카오 상담 답변, 챗봇 문답, 자동답변 등록, 카나나 엔트리, chatbot QA, KakaoTalk channel reply, 카카오 자동응답. jamie-marketing-editor 및 jamie-brand-guardian 스킬과 연계하여 사용합니다."
---

View File

@@ -1,5 +1,5 @@
---
name: 43-jamie-youtube-manager
name: jamie-youtube-manager
description: |
Jamie Clinic YouTube channel SEO auditor and content manager.
Triggers: YouTube SEO, video audit, 제이미 유튜브, channel optimization.

View File

@@ -1,5 +1,5 @@
---
name: 44-jamie-youtube-subtitle-checker
name: jamie-youtube-subtitle-checker
description: |
SBV subtitle file typo corrector and YouTube metadata generator for Jamie Clinic.
Triggers: check subtitles, subtitle QA, SBV correction, 자막 교정.

View File

@@ -1,5 +1,5 @@
---
name: 45-jamie-instagram-manager
name: jamie-instagram-manager
description: |
Jamie Clinic Instagram account manager for engagement, content planning, and boost strategy.
Triggers: Instagram management, 제이미 인스타그램, IG strategy, social media.

View File

@@ -1,5 +1,5 @@
---
name: 46-jamie-journal-editor
name: jamie-journal-editor
description: |
Jamie Clinic journal/blog content editor for "정기호의 성형외과 진료실 이야기" (journal.jamie.clinic).
Creates educational medical blog posts in Dr. Jung's authentic voice with Korean medical ad compliance.

View File

@@ -1,5 +1,5 @@
---
name: 47-jamie-marketing-editor
name: jamie-marketing-editor
description: |
Jamie Clinic marketing content editor for digital channels, ads, communications, and internal docs.
Creates compliant marketing copy for website, blog, SNS, ads, and patient communications.

View File

@@ -1,5 +1,5 @@
---
name: 50-notebooklm-agent
name: notebooklm-agent
description: |
Q&A agent for NotebookLM notebooks. Ask questions and get grounded, citation-backed answers from your sources.
Triggers: ask NotebookLM, query notebook, research question, 노트북 질문, NotebookLM 에이전트.

View File

@@ -1,5 +1,5 @@
---
name: 51-notebooklm-automation
name: notebooklm-automation
description: |
Complete NotebookLM automation for notebooks, sources, and artifacts management.
Triggers: manage NotebookLM, create notebook, add sources, 노트북 관리, NotebookLM 자동화.

View File

@@ -1,5 +1,5 @@
---
name: 52-notebooklm-studio
name: notebooklm-studio
description: |
Content generation for NotebookLM Studio artifacts - podcasts, videos, quizzes, flashcards, and more.
Triggers: create podcast, generate video, make quiz, 팟캐스트 만들기, 퀴즈 생성, NotebookLM 스튜디오.

View File

@@ -1,5 +1,5 @@
---
name: 53-notebooklm-research
name: notebooklm-research
description: |
Research and source discovery for NotebookLM. Web/Drive research, auto-import, and source text extraction.
Triggers: research topic, find sources, web research, 리서치, 자료 조사, NotebookLM 연구.

View File

@@ -1,5 +1,5 @@
---
name: 60-gtm-audit
name: gtm-audit
description: |
GTM container audit using Chrome DevTools and DTM Agent for tag verification.
Triggers: audit GTM, GTM analysis, tag debugging, dataLayer inspection.

View File

@@ -1,5 +1,5 @@
---
name: 61-gtm-editor
name: gtm-editor
description: >
GTM implementation toolkit. Creates, updates, and modifies GTM tags, triggers,
variables via API. Generates Custom HTML with ES5 compliance. Handles workspace

View File

@@ -1,5 +1,5 @@
---
name: 62-gtm-validator
name: gtm-validator
description: >
GTM QA and validation toolkit. Verifies tags fire correctly on live pages,
tests trigger conditions against actual DOM, validates dataLayer schemas,

View File

@@ -1,5 +1,5 @@
---
name: 70-dintel-brand-guardian
name: dintel-brand-guardian
version: 1.2.0
last_updated: 2026-05-18
canon_compliance: v1.3

View File

@@ -1,5 +1,5 @@
---
name: 71-dintel-brand-editor
name: dintel-brand-editor
description: |
This skill should be used when the user asks to "write D.intelligence content",
"create Magazine D. article", "evaluate brand compliance", "check brand tone",

View File

@@ -1,5 +1,5 @@
---
name: 72-dintel-doc-secretary
name: dintel-doc-secretary
description: |
D.intelligence Documentation Secretary. Format meeting notes, reports, proposals, and deliverables with brand-compliant templates. Triggers: "format meeting notes", "회의록 정리", "prepare deliverable", "산출물 준비", "format report", "리포트 포맷팅", "apply brand template", "브랜드 템플릿 적용", "convert to DOCX", "문서 변환", "quality check document", "문서 품질 검토", "meeting minutes", "의사록 작성", "document formatting", "문서 정리"
version: 1.1.0

View File

@@ -1,5 +1,5 @@
---
name: 73-dintel-quotation-mgr
name: dintel-quotation-mgr
version: 1.1.0
last_updated: 2026-05-18
canon_compliance: v1.3

View File

@@ -1,5 +1,5 @@
---
name: 74-dintel-service-architect
name: dintel-service-architect
version: 1.1.0
last_updated: 2026-05-18
canon_compliance: v1.3

View File

@@ -1,5 +1,5 @@
---
name: 75-dintel-marketing-mgr
name: dintel-marketing-mgr
description: |
This skill should be used when the user asks to "draft Magazine D. article",
"prepare newsletter", "draft LinkedIn post", "plan content calendar",

View File

@@ -1,5 +1,5 @@
---
name: 76-dintel-backoffice-mgr
name: dintel-backoffice-mgr
version: 1.1.0
last_updated: 2026-05-18
canon_compliance: v1.3

View File

@@ -1,5 +1,5 @@
---
name: 77-dintel-account-mgr
name: dintel-account-mgr
version: 1.1.0
last_updated: 2026-05-18
canon_compliance: v1.3

View File

@@ -1,5 +1,5 @@
---
name: 79-dintel-skill-update
name: dintel-skill-update
description: |
Meta-agent for D.intelligence Agent Corps cross-skill consistency.
Use when updating brand guide, pricing, service architecture, terms, or any shared reference

View File

@@ -1,5 +1,5 @@
---
name: 80-claude-settings-optimizer
name: claude-settings-optimizer
description: |
Diagnose all Claude Desktop errors and optimize context usage.
Covers 8 error categories: context limits, output interruption,

View File

@@ -1,5 +1,5 @@
---
name: 82-our-gdrive-organizer
name: our-gdrive-organizer
description: |
Organize a Google Drive folder under OurDigital conventions: refresh the
root README.md index, refresh per-subfolder README.md meta files, propose

View File

@@ -1,5 +1,5 @@
---
name: 01-reference-discovery
name: reference-discovery
description: |
Search and discover authoritative reference sources with credibility validation.
Triggers: find sources, search documentation, discover references, source validation.

View File

@@ -1,5 +1,5 @@
---
name: 02-web-crawler-orchestrator
name: web-crawler-orchestrator
description: |
Multi-backend web crawler with Firecrawl MCP, rate limiting, and format handling.
Triggers: crawl URLs, fetch pages, scrape content, web crawler.

View File

@@ -1,5 +1,5 @@
---
name: 03-content-repository
name: content-repository
description: |
MySQL storage manager for reference library with versioning and deduplication.
Triggers: store content, manage repository, document database, content storage.

View File

@@ -1,5 +1,5 @@
---
name: 04-content-distiller
name: content-distiller
description: |
Raw content summarizer extracting key concepts, code snippets, and structured output.
Triggers: distill content, summarize document, extract key concepts, compress content.

View File

@@ -1,5 +1,5 @@
---
name: 05-quality-reviewer
name: quality-reviewer
description: |
Content quality evaluator with multi-criteria scoring and decision routing.
Triggers: review quality, score content, QA review, approve refactor reject.

View File

@@ -1,5 +1,5 @@
---
name: 06-markdown-exporter
name: markdown-exporter
description: |
Export approved content to markdown files or JSONL for fine-tuning.
Triggers: export markdown, generate files, create JSONL, export content.

View File

@@ -1,5 +1,5 @@
---
name: 07-pipeline-orchestrator
name: pipeline-orchestrator
description: |
Full reference curation pipeline coordinator with QA loop and state management.
Triggers: run pipeline, orchestrate workflow, full curation, pipeline start.

View File

@@ -1,5 +1,5 @@
---
name: 90-reference-curator
name: reference-curator
description: |
Full reference-documentation curation pipeline: discover authoritative sources →
crawl → store → distill → quality-review (QA loop) → export to markdown / project files

View File

@@ -1,5 +1,5 @@
---
name: 92-tui-design-template
name: tui-design-template
description: Build Norton Commander / Gopher style TUI wizard interfaces for CLI tools using Python Rich. Covers architecture, components, keyboard input, bilingual i18n, and battle-tested gotchas.
version: 1.0.0
triggers:

View File

@@ -51,7 +51,7 @@ description: | # third person; START with "Use when…" / wh
---
```
- [ ] `name`: kebab-case, no spaces/parens/special chars. (May keep the `NN-` prefix.)
- [ ] `name`: the **clean** skill name = directory name **minus its `NN-` ordering prefix** (dir `16-seo-schema-validator``name: seo-schema-validator`). kebab-case, no spaces/parens/special chars. Dirs keep the number prefix for ordering; the skill `name` never carries it.
- [ ] `description`: third-person; says **when to use** + trigger keywords (EN + KO).
- [ ] **Whole frontmatter ≤ 1024 characters.**
- [ ] Body: concise markdown (aim < 500 words of always-on content); push detail into

View File

@@ -4,7 +4,8 @@ migrate_skill_root.py — additive bulk migration: give each skill a root SKILL.
Non-destructive. For every skill directory under custom-skills/ that lacks a root
SKILL.md, it generates one by copying the skill's existing directive and:
- setting `name:` to the directory name (guaranteed kebab-case + unique),
- setting `name:` to the directory name MINUS its NN- ordering prefix
(dir `16-seo-schema-validator` -> name `seo-schema-validator`; clean + unique),
- preserving `description` and the markdown body verbatim,
- validating the result (frontmatter <= 1024 chars, kebab name, description present).
@@ -29,6 +30,11 @@ FM_RE = re.compile(r"^---\n(.*?)\n---\n?(.*)$", re.S)
MAX_FM = 1024
def skill_name(dirname):
"""Skill `name:` = directory name without its NN- ordering prefix."""
return re.sub(r"^\d+-", "", dirname)
def is_skill_dir(d):
"""A skill dir is a real skill, not shared infra."""
if not d.is_dir():
@@ -106,7 +112,7 @@ def main(argv=None):
rows.append((name, "MANUAL", "no desktop/ or code/ SKILL.md source (commands/README only)"))
manual += 1
continue
text, issues = build_root_skill(src.read_text(encoding="utf-8"), d.name)
text, issues = build_root_skill(src.read_text(encoding="utf-8"), skill_name(d.name))
rel = src.relative_to(d)
if text is None:
rows.append((name, "MANUAL", f"{rel}: {issues[0]}"))