[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7BJSJ6CFGAG6G34AS8FFYJF":3,"skill-same:01M7BJSJ6CFGAG6G34AS8FFYJF":73},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":6,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M7BJSJ6CFGAG6G34AS8FFYJF","skill-developer",null,"Create and manage Claude Code skills following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns, file paths, content patterns), enforcement levels (block, suggest, warn), hook mechanisms (UserPromptSubmit, PreToolUse), session tracking, and the 500-line rule.","YYC-Cube\u002FYYC3-Knowledge-Base","YYC-Cube","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F235006543?v=4","01M79J2PH4SWD2X0825X6PN748","yyc3","01M79J2PHVK3F6ZBYT8K2SCZCW",1,"MIT","https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-AI-应用工具\u002FYYC3-AI-应用工具-claude-code-templates-main\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-developer\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: skill-developer\ndescription: Create and manage Claude Code skills following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns, file paths, content patterns), enforcement levels (block, suggest, warn), hook mechanisms (UserPromptSubmit, PreToolUse), session tracking, and the 500-line rule.\n---\n\n# Skill Developer Guide\n\n## Purpose\n\nComprehensive guide for creating and managing skills in Claude Code with auto-activation system, following Anthropic's official best practices including the 500-line rule and progressive disclosure pattern.\n\n## When to Use This Skill\n\nAutomatically activates when you mention:\n- Creating or adding skills\n- Modifying skill triggers or rules\n- Understanding how skill activation works\n- Debugging skill activation issues\n- Working with skill-rules.json\n- Hook system mechanics\n- Claude Code best practices\n- Progressive disclosure\n- YAML frontmatter\n- 500-line rule\n\n---\n\n## System Overview\n\n### Two-Hook Architecture\n\n**1. UserPromptSubmit Hook** (Proactive Suggestions)\n- **File**: `.claude\u002Fhooks\u002Fskill-activation-prompt.ts`\n- **Trigger**: BEFORE Claude sees user's prompt\n- **Purpose**: Suggest relevant skills based on keywords + intent patterns\n- **Method**: Injects formatted reminder as context (stdout → Claude's input)\n- **Use Cases**: Topic-based skills, implicit work detection\n\n**2. Stop Hook - Error Handling Reminder** (Gentle Reminders)\n- **File**: `.claude\u002Fhooks\u002Ferror-handling-reminder.ts`\n- **Trigger**: AFTER Claude finishes responding\n- **Purpose**: Gentle reminder to self-assess error handling in code written\n- **Method**: Analyzes edited files for risky patterns, displays reminder if needed\n- **Use Cases**: Error handling awareness without blocking friction\n\n**Philosophy Change (2025-10-27):** We moved away from blocking PreToolUse for Sentry\u002Ferror handling. Instead, use gentle post-response reminders that don't block workflow but maintain code quality awareness.\n\n### Configuration File\n\n**Location**: `.claude\u002Fskills\u002Fskill-rules.json`\n\nDefines:\n- All skills and their trigger conditions\n- Enforcement levels (block, suggest, warn)\n- File path patterns (glob)\n- Content detection patterns (regex)\n- Skip conditions (session tracking, file markers, env vars)\n\n---\n\n## Skill Types\n\n### 1. Guardrail Skills\n\n**Purpose:** Enforce critical best practices that prevent errors\n\n**Characteristics:**\n- Type: `\"guardrail\"`\n- Enforcement: `\"block\"`\n- Priority: `\"critical\"` or `\"high\"`\n- Block file edits until skill used\n- Prevent common mistakes (column names, critical errors)\n- Session-aware (don't repeat nag in same session)\n\n**Examples:**\n- `database-verification` - Verify table\u002Fcolumn names before Prisma queries\n- `frontend-dev-guidelines` - Enforce React\u002FTypeScript patterns\n\n**When to Use:**\n- Mistakes that cause runtime errors\n- Data integrity concerns\n- Critical compatibility issues\n\n### 2. Domain Skills\n\n**Purpose:** Provide comprehensive guidance for specific areas\n\n**Characteristics:**\n- Type: `\"domain\"`\n- Enforcement: `\"suggest\"`\n- Priority: `\"high\"` or `\"medium\"`\n- Advisory, not mandatory\n- Topic or domain-specific\n- Comprehensive documentation\n\n**Examples:**\n- `backend-dev-guidelines` - Node.js\u002FExpress\u002FTypeScript patterns\n- `frontend-dev-guidelines` - React\u002FTypeScript best practices\n- `error-tracking` - Sentry integration guidance\n\n**When to Use:**\n- Complex systems requiring deep knowledge\n- Best practices documentation\n- Architectural patterns\n- How-to guides\n\n---\n\n## Quick Start: Creating a New Skill\n\n### Step 1: Create Skill File\n\n**Location:** `.claude\u002Fskills\u002F{skill-name}\u002FSKILL.md`\n\n**Template:**\n```markdown\n---\nname: my-new-skill\ndescription: Brief description including keywords that trigger this skill. Mention topics, file types, and use cases. Be explicit about trigger terms.\n---\n\n# My New Skill\n\n## Purpose\nWhat this skill helps with\n\n## When to Use\nSpecific scenarios and conditions\n\n## Key Information\nThe actual guidance, documentation, patterns, examples\n```\n\n**Best Practices:**\n- ✅ **Name**: Lowercase, hyphens, gerund form (verb + -ing) preferred\n- ✅ **Description**: Include ALL trigger keywords\u002Fphrases (max 1024 chars)\n- ✅ **Content**: Under 500 lines - use reference files for details\n- ✅ **Examples**: Real code examples\n- ✅ **Structure**: Clear headings, lists, code blocks\n\n### Step 2: Add to skill-rules.json\n\nSee [SKILL_RULES_REFERENCE.md](SKILL_RULES_REFERENCE.md) for complete schema.\n\n**Basic Template:**\n```json\n{\n  \"my-new-skill\": {\n    \"type\": \"domain\",\n    \"enforcement\": \"suggest\",\n    \"priority\": \"medium\",\n    \"promptTriggers\": {\n      \"keywords\": [\"keyword1\", \"keyword2\"],\n      \"intentPatterns\": [\"(create|add).*?something\"]\n    }\n  }\n}\n```\n\n### Step 3: Test Triggers\n\n**Test UserPromptSubmit:**\n```bash\necho '{\"session_id\":\"test\",\"prompt\":\"your test prompt\"}' | \\\n  npx tsx .claude\u002Fhooks\u002Fskill-activation-prompt.ts\n```\n\n**Test PreToolUse:**\n```bash\ncat \u003C\u003C'EOF' | npx tsx .claude\u002Fhooks\u002Fskill-verification-guard.ts\n{\"session_id\":\"test\",\"tool_name\":\"Edit\",\"tool_input\":{\"file_path\":\"test.ts\"}}\nEOF\n```\n\n### Step 4: Refine Patterns\n\nBased on testing:\n- Add missing keywords\n- Refine intent patterns to reduce false positives\n- Adjust file path patterns\n- Test content patterns against actual files\n\n### Step 5: Follow Anthropic Best Practices\n\n✅ Keep SKILL.md under 500 lines\n✅ Use progressive disclosure with reference files\n✅ Add table of contents to reference files > 100 lines\n✅ Write detailed description with trigger keywords\n✅ Test with 3+ real scenarios before documenting\n✅ Iterate based on actual usage\n\n---\n\n## Enforcement Levels\n\n### BLOCK (Critical Guardrails)\n\n- Physically prevents Edit\u002FWrite tool execution\n- Exit code 2 from hook, stderr → Claude\n- Claude sees message and must use skill to proceed\n- **Use For**: Critical mistakes, data integrity, security issues\n\n**Example:** Database column name verification\n\n### SUGGEST (Recommended)\n\n- Reminder injected before Claude sees prompt\n- Claude is aware of relevant skills\n- Not enforced, just advisory\n- **Use For**: Domain guidance, best practices, how-to guides\n\n**Example:** Frontend development guidelines\n\n### WARN (Optional)\n\n- Low priority suggestions\n- Advisory only, minimal enforcement\n- **Use For**: Nice-to-have suggestions, informational reminders\n\n**Rarely used** - most skills are either BLOCK or SUGGEST.\n\n---\n\n## Skip Conditions & User Control\n\n### 1. Session Tracking\n\n**Purpose:** Don't nag repeatedly in same session\n\n**How it works:**\n- First edit → Hook blocks, updates session state\n- Second edit (same session) → Hook allows\n- Different session → Blocks again\n\n**State File:** `.claude\u002Fhooks\u002Fstate\u002Fskills-used-{session_id}.json`\n\n### 2. File Markers\n\n**Purpose:** Permanent skip for verified files\n\n**Marker:** `\u002F\u002F @skip-validation`\n\n**Usage:**\n```typescript\n\u002F\u002F @skip-validation\nimport { PrismaService } from '.\u002Fprisma';\n\u002F\u002F This file has been manually verified\n```\n\n**NOTE:** Use sparingly - defeats the purpose if overused\n\n### 3. Environment Variables\n\n**Purpose:** Emergency disable, temporary override\n\n**Global disable:**\n```bash\nexport SKIP_SKILL_GUARDRAILS=true  # Disables ALL PreToolUse blocks\n```\n\n**Skill-specific:**\n```bash\nexport SKIP_DB_VERIFICATION=true\nexport SKIP_ERROR_REMINDER=true\n```\n\n---\n\n## Testing Checklist\n\nWhen creating a new skill, verify:\n\n- [ ] Skill file created in `.claude\u002Fskills\u002F{name}\u002FSKILL.md`\n- [ ] Proper frontmatter with name and description\n- [ ] Entry added to `skill-rules.json`\n- [ ] Keywords tested with real prompts\n- [ ] Intent patterns tested with variations\n- [ ] File path patterns tested with actual files\n- [ ] Content patterns tested against file contents\n- [ ] Block message is clear and actionable (if guardrail)\n- [ ] Skip conditions configured appropriately\n- [ ] Priority level matches importance\n- [ ] No false positives in testing\n- [ ] No false negatives in testing\n- [ ] Performance is acceptable (\u003C100ms or \u003C200ms)\n- [ ] JSON syntax validated: `jq . skill-rules.json`\n- [ ] **SKILL.md under 500 lines** ⭐\n- [ ] Reference files created if needed\n- [ ] Table of contents added to files > 100 lines\n\n---\n\n## Reference Files\n\nFor detailed information on specific topics, see:\n\n### [TRIGGER_TYPES.md](TRIGGER_TYPES.md)\nComplete guide to all trigger types:\n- Keyword triggers (explicit topic matching)\n- Intent patterns (implicit action detection)\n- File path triggers (glob patterns)\n- Content patterns (regex in files)\n- Best practices and examples for each\n- Common pitfalls and testing strategies\n\n### [SKILL_RULES_REFERENCE.md](SKILL_RULES_REFERENCE.md)\nComplete skill-rules.json schema:\n- Full TypeScript interface definitions\n- Field-by-field explanations\n- Complete guardrail skill example\n- Complete domain skill example\n- Validation guide and common errors\n\n### [HOOK_MECHANISMS.md](HOOK_MECHANISMS.md)\nDeep dive into hook internals:\n- UserPromptSubmit flow (detailed)\n- PreToolUse flow (detailed)\n- Exit code behavior table (CRITICAL)\n- Session state management\n- Performance considerations\n\n### [TROUBLESHOOTING.md](TROUBLESHOOTING.md)\nComprehensive debugging guide:\n- Skill not triggering (UserPromptSubmit)\n- PreToolUse not blocking\n- False positives (too many triggers)\n- Hook not executing at all\n- Performance issues\n\n### [PATTERNS_LIBRARY.md](PATTERNS_LIBRARY.md)\nReady-to-use pattern collection:\n- Intent pattern library (regex)\n- File path pattern library (glob)\n- Content pattern library (regex)\n- Organized by use case\n- Copy-paste ready\n\n### [ADVANCED.md](ADVANCED.md)\nFuture enhancements and ideas:\n- Dynamic rule updates\n- Skill dependencies\n- Conditional enforcement\n- Skill analytics\n- Skill versioning\n\n---\n\n## Quick Reference Summary\n\n### Create New Skill (5 Steps)\n\n1. Create `.claude\u002Fskills\u002F{name}\u002FSKILL.md` with frontmatter\n2. Add entry to `.claude\u002Fskills\u002Fskill-rules.json`\n3. Test with `npx tsx` commands\n4. Refine patterns based on testing\n5. Keep SKILL.md under 500 lines\n\n### Trigger Types\n\n- **Keywords**: Explicit topic mentions\n- **Intent**: Implicit action detection\n- **File Paths**: Location-based activation\n- **Content**: Technology-specific detection\n\nSee [TRIGGER_TYPES.md](TRIGGER_TYPES.md) for complete details.\n\n### Enforcement\n\n- **BLOCK**: Exit code 2, critical only\n- **SUGGEST**: Inject context, most common\n- **WARN**: Advisory, rarely used\n\n### Skip Conditions\n\n- **Session tracking**: Automatic (prevents repeated nags)\n- **File markers**: `\u002F\u002F @skip-validation` (permanent skip)\n- **Env vars**: `SKIP_SKILL_GUARDRAILS` (emergency disable)\n\n### Anthropic Best Practices\n\n✅ **500-line rule**: Keep SKILL.md under 500 lines\n✅ **Progressive disclosure**: Use reference files for details\n✅ **Table of contents**: Add to reference files > 100 lines\n✅ **One level deep**: Don't nest references deeply\n✅ **Rich descriptions**: Include all trigger keywords (max 1024 chars)\n✅ **Test first**: Build 3+ evaluations before extensive documentation\n✅ **Gerund naming**: Prefer verb + -ing (e.g., \"processing-pdfs\")\n\n### Troubleshoot\n\nTest hooks manually:\n```bash\n# UserPromptSubmit\necho '{\"prompt\":\"test\"}' | npx tsx .claude\u002Fhooks\u002Fskill-activation-prompt.ts\n\n# PreToolUse\ncat \u003C\u003C'EOF' | npx tsx .claude\u002Fhooks\u002Fskill-verification-guard.ts\n{\"tool_name\":\"Edit\",\"tool_input\":{\"file_path\":\"test.ts\"}}\nEOF\n```\n\nSee [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for complete debugging guide.\n\n---\n\n## Related Files\n\n**Configuration:**\n- `.claude\u002Fskills\u002Fskill-rules.json` - Master configuration\n- `.claude\u002Fhooks\u002Fstate\u002F` - Session tracking\n- `.claude\u002Fsettings.json` - Hook registration\n\n**Hooks:**\n- `.claude\u002Fhooks\u002Fskill-activation-prompt.ts` - UserPromptSubmit\n- `.claude\u002Fhooks\u002Ferror-handling-reminder.ts` - Stop event (gentle reminders)\n\n**All Skills:**\n- `.claude\u002Fskills\u002F*\u002FSKILL.md` - Skill content files\n\n---\n\n**Skill Status**: COMPLETE - Restructured following Anthropic best practices ✅\n**Line Count**: \u003C 500 (following 500-line rule) ✅\n**Progressive Disclosure**: Reference files for detailed information ✅\n\n**Next**: Create more skills, refine patterns based on usage\n","# Skill Developer Guide\n\n## Purpose\n\nComprehensive guide for creating and managing skills in Claude Code with auto-activation system, following Anthropic's official best practices including the 500-line rule and progressive disclosure pattern.\n\n## When to Use This Skill\n\nAutomatically activates when you mention:\n- Creating or adding skills\n- Modifying skill triggers or rules\n- Understanding how skill activation works\n- Debugging skill activation issues\n- Working with skill-rules.json\n- Hook system mechanics\n- Claude Code best practices\n- Progressive disclosure\n- YAML frontmatter\n- 500-line rule\n\n---\n\n## System Overview\n\n### Two-Hook Architecture\n\n**1. UserPromptSubmit Hook** (Proactive Suggestions)\n- **File**: `.claude\u002Fhooks\u002Fskill-activation-prompt.ts`\n- **Trigger**: BEFORE Claude sees user's prompt\n- **Purpose**: Suggest relevant skills based on keywords + intent patterns\n- **Method**: Injects formatted reminder as context (stdout → Claude's input)\n- **Use Cases**: Topic-based skills, implicit work detection\n\n**2. Stop Hook - Error Handling Reminder** (Gentle Reminders)\n- **File**: `.claude\u002Fhooks\u002Ferror-handling-reminder.ts`\n- **Trigger**: AFTER Claude finishes responding\n- **Purpose**: Gentle reminder to self-assess error handling in code written\n- **Method**: Analyzes edited files for risky patterns, displays reminder if needed\n- **Use Cases**: Error handling awareness without blocking friction\n\n**Philosophy Change (2025-10-27):** We moved away from blocking PreToolUse for Sentry\u002Ferror handling. Instead, use gentle post-response reminders that don't block workflow but maintain code quality awareness.\n\n### Configuration File\n\n**Location**: `.claude\u002Fskills\u002Fskill-rules.json`\n\nDefines:\n- All skills and their trigger conditions\n- Enforcement levels (block, suggest, warn)\n- File path patterns (glob)\n- Content detection patterns (regex)\n- Skip conditions (session tracking, file markers, env vars)\n\n---\n\n## Skill Types\n\n### 1. Guardrail Skills\n\n**Purpose:** Enforce critical best practices that prevent errors\n\n**Characteristics:**\n- Type: `\"guardrail\"`\n- Enforcement: `\"block\"`\n- Priority: `\"critical\"` or `\"high\"`\n- Block file edits until skill used\n- Prevent common mistakes (column names, critical errors)\n- Session-aware (don't repeat nag in same session)\n\n**Examples:**\n- `database-verification` - Verify table\u002Fcolumn names before Prisma queries\n- `frontend-dev-guidelines` - Enforce React\u002FTypeScript patterns\n\n**When to Use:**\n- Mistakes that cause runtime errors\n- Data integrity concerns\n- Critical compatibility issues\n\n### 2. Domain Skills\n\n**Purpose:** Provide comprehensive guidance for specific areas\n\n**Characteristics:**\n- Type: `\"domain\"`\n- Enforcement: `\"suggest\"`\n- Priority: `\"high\"` or `\"medium\"`\n- Advisory, not mandatory\n- Topic or domain-specific\n- Comprehensive documentation\n\n**Examples:**\n- `backend-dev-guidelines` - Node.js\u002FExpress\u002FTypeScript patterns\n- `frontend-dev-guidelines` - React\u002FTypeScript best practices\n- `error-tracking` - Sentry integration guidance\n\n**When to Use:**\n- Complex systems requiring deep knowledge\n- Best practices documentation\n- Architectural patterns\n- How-to guides\n\n---\n\n## Quick Start: Creating a New Skill\n\n### Step 1: Create Skill File\n\n**Location:** `.claude\u002Fskills\u002F{skill-name}\u002FSKILL.md`\n\n**Template:**\n```markdown\n---\nname: my-new-skill\ndescription: Brief description including keywords that trigger this skill. Mention topics, file types, and use cases. Be explicit about trigger terms.\n---\n\n# My New Skill\n\n## Purpose\nWhat this skill helps with\n\n## When to Use\nSpecific scenarios and conditions\n\n## Key Information\nThe actual guidance, documentation, patterns, examples\n```\n\n**Best Practices:**\n- ✅ **Name**: Lowercase, hyphens, gerund form (verb + -ing) preferred\n- ✅ **Description**: Include ALL trigger keywords\u002Fphrases (max 1024 chars)\n- ✅ **Content**: Under 500 lines - use reference files for details\n- ✅ **Examples**: Real code examples\n- ✅ **Structure**: Clear headings, lists, code blocks\n\n### Step 2: Add to skill-rules.json\n\nSee [SKILL_RULES_REFERENCE.md](SKILL_RULES_REFERENCE.md) for complete schema.\n\n**Basic Template:**\n```json\n{\n  \"my-new-skill\": {\n    \"type\": \"domain\",\n    \"enforcement\": \"suggest\",\n    \"priority\": \"medium\",\n    \"promptTriggers\": {\n      \"keywords\": [\"keyword1\", \"keyword2\"],\n      \"intentPatterns\": [\"(create|add).*?something\"]\n    }\n  }\n}\n```\n\n### Step 3: Test Triggers\n\n**Test UserPromptSubmit:**\n```bash\necho '{\"session_id\":\"test\",\"prompt\":\"your test prompt\"}' | \\\n  npx tsx .claude\u002Fhooks\u002Fskill-activation-prompt.ts\n```\n\n**Test PreToolUse:**\n```bash\ncat \u003C\u003C'EOF' | npx tsx .claude\u002Fhooks\u002Fskill-verification-guard.ts\n{\"session_id\":\"test\",\"tool_name\":\"Edit\",\"tool_input\":{\"file_path\":\"test.ts\"}}\nEOF\n```\n\n### Step 4: Refine Patterns\n\nBased on testing:\n- Add missing keywords\n- Refine intent patterns to reduce false positives\n- Adjust file path patterns\n- Test content patterns against actual files\n\n### Step 5: Follow Anthropic Best Practices\n\n✅ Keep SKILL.md under 500 lines\n✅ Use progressive disclosure with reference files\n✅ Add table of contents to reference files > 100 lines\n✅ Write detailed description with trigger keywords\n✅ Test with 3+ real scenarios before documenting\n✅ Iterate based on actual usage\n\n---\n\n## Enforcement Levels\n\n### BLOCK (Critical Guardrails)\n\n- Physically prevents Edit\u002FWrite tool execution\n- Exit code 2 from hook, stderr → Claude\n- Claude sees message and must use skill to proceed\n- **Use For**: Critical mistakes, data integrity, security issues\n\n**Example:** Database column name verification\n\n### SUGGEST (Recommended)\n\n- Reminder injected before Claude sees prompt\n- Claude is aware of relevant skills\n- Not enforced, just advisory\n- **Use For**: Domain guidance, best practices, how-to guides\n\n**Example:** Frontend development guidelines\n\n### WARN (Optional)\n\n- Low priority suggestions\n- Advisory only, minimal enforcement\n- **Use For**: Nice-to-have suggestions, informational reminders\n\n**Rarely used** - most skills are either BLOCK or SUGGEST.\n\n---\n\n## Skip Conditions & User Control\n\n### 1. Session Tracking\n\n**Purpose:** Don't nag repeatedly in same session\n\n**How it works:**\n- First edit → Hook blocks, updates session state\n- Second edit (same session) → Hook allows\n- Different session → Blocks again\n\n**State File:** `.claude\u002Fhooks\u002Fstate\u002Fskills-used-{session_id}.json`\n\n### 2. File Markers\n\n**Purpose:** Permanent skip for verified files\n\n**Marker:** `\u002F\u002F @skip-validation`\n\n**Usage:**\n```typescript\n\u002F\u002F @skip-validation\nimport { PrismaService } from '.\u002Fprisma';\n\u002F\u002F This file has been manually verified\n```\n\n**NOTE:** Use sparingly - defeats the purpose if overused\n\n### 3. Environment Variables\n\n**Purpose:** Emergency disable, temporary override\n\n**Global disable:**\n```bash\nexport SKIP_SKILL_GUARDRAILS=true  # Disables ALL PreToolUse blocks\n```\n\n**Skill-specific:**\n```bash\nexport SKIP_DB_VERIFICATION=true\nexport SKIP_ERROR_REMINDER=true\n```\n\n---\n\n## Testing Checklist\n\nWhen creating a new skill, verify:\n\n- [ ] Skill file created in `.claude\u002Fskills\u002F{name}\u002FSKILL.md`\n- [ ] Proper frontmatter with name and description\n- [ ] Entry added to `skill-rules.json`\n- [ ] Keywords tested with real prompts\n- [ ] Intent patterns tested with variations\n- [ ] File path patterns tested with actual files\n- [ ] Content patterns tested against file contents\n- [ ] Block message is clear and actionable (if guardrail)\n- [ ] Skip conditions configured appropriately\n- [ ] Priority level matches importance\n- [ ] No false positives in testing\n- [ ] No false negatives in testing\n- [ ] Performance is acceptable (\u003C100ms or \u003C200ms)\n- [ ] JSON syntax validated: `jq . skill-rules.json`\n- [ ] **SKILL.md under 500 lines** ⭐\n- [ ] Reference files created if needed\n- [ ] Table of contents added to files > 100 lines\n\n---\n\n## Reference Files\n\nFor detailed information on specific topics, see:\n\n### [TRIGGER_TYPES.md](TRIGGER_TYPES.md)\nComplete guide to all trigger types:\n- Keyword triggers (explicit topic matching)\n- Intent patterns (implicit action detection)\n- File path triggers (glob patterns)\n- Content patterns (regex in files)\n- Best practices and examples for each\n- Common pitfalls and testing strategies\n\n### [SKILL_RULES_REFERENCE.md](SKILL_RULES_REFERENCE.md)\nComplete skill-rules.json schema:\n- Full TypeScript interface definitions\n- Field-by-field explanations\n- Complete guardrail skill example\n- Complete domain skill example\n- Validation guide and common errors\n\n### [HOOK_MECHANISMS.md](HOOK_MECHANISMS.md)\nDeep dive into hook internals:\n- UserPromptSubmit flow (detailed)\n- PreToolUse flow (detailed)\n- Exit code behavior table (CRITICAL)\n- Session state management\n- Performance considerations\n\n### [TROUBLESHOOTING.md](TROUBLESHOOTING.md)\nComprehensive debugging guide:\n- Skill not triggering (UserPromptSubmit)\n- PreToolUse not blocking\n- False positives (too many triggers)\n- Hook not executing at all\n- Performance issues\n\n### [PATTERNS_LIBRARY.md](PATTERNS_LIBRARY.md)\nReady-to-use pattern collection:\n- Intent pattern library (regex)\n- File path pattern library (glob)\n- Content pattern library (regex)\n- Organized by use case\n- Copy-paste ready\n\n### [ADVANCED.md](ADVANCED.md)\nFuture enhancements and ideas:\n- Dynamic rule updates\n- Skill dependencies\n- Conditional enforcement\n- Skill analytics\n- Skill versioning\n\n---\n\n## Quick Reference Summary\n\n### Create New Skill (5 Steps)\n\n1. Create `.claude\u002Fskills\u002F{name}\u002FSKILL.md` with frontmatter\n2. Add entry to `.claude\u002Fskills\u002Fskill-rules.json`\n3. Test with `npx tsx` commands\n4. Refine patterns based on testing\n5. Keep SKILL.md under 500 lines\n\n### Trigger Types\n\n- **Keywords**: Explicit topic mentions\n- **Intent**: Implicit action detection\n- **File Paths**: Location-based activation\n- **Content**: Technology-specific detection\n\nSee [TRIGGER_TYPES.md](TRIGGER_TYPES.md) for complete details.\n\n### Enforcement\n\n- **BLOCK**: Exit code 2, critical only\n- **SUGGEST**: Inject context, most common\n- **WARN**: Advisory, rarely used\n\n### Skip Conditions\n\n- **Session tracking**: Automatic (prevents repeated nags)\n- **File markers**: `\u002F\u002F @skip-validation` (permanent skip)\n- **Env vars**: `SKIP_SKILL_GUARDRAILS` (emergency disable)\n\n### Anthropic Best Practices\n\n✅ **500-line rule**: Keep SKILL.md under 500 lines\n✅ **Progressive disclosure**: Use reference files for details\n✅ **Table of contents**: Add to reference files > 100 lines\n✅ **One level deep**: Don't nest references deeply\n✅ **Rich descriptions**: Include all trigger keywords (max 1024 chars)\n✅ **Test first**: Build 3+ evaluations before extensive documentation\n✅ **Gerund naming**: Prefer verb + -ing (e.g., \"processing-pdfs\")\n\n### Troubleshoot\n\nTest hooks manually:\n```bash\n# UserPromptSubmit\necho '{\"prompt\":\"test\"}' | npx tsx .claude\u002Fhooks\u002Fskill-activation-prompt.ts\n\n# PreToolUse\ncat \u003C\u003C'EOF' | npx tsx .claude\u002Fhooks\u002Fskill-verification-guard.ts\n{\"tool_name\":\"Edit\",\"tool_input\":{\"file_path\":\"test.ts\"}}\nEOF\n```\n\nSee [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for complete debugging guide.\n\n---\n\n## Related Files\n\n**Configuration:**\n- `.claude\u002Fskills\u002Fskill-rules.json` - Master configuration\n- `.claude\u002Fhooks\u002Fstate\u002F` - Session tracking\n- `.claude\u002Fsettings.json` - Hook registration\n\n**Hooks:**\n- `.claude\u002Fhooks\u002Fskill-activation-prompt.ts` - UserPromptSubmit\n- `.claude\u002Fhooks\u002Ferror-handling-reminder.ts` - Stop event (gentle reminders)\n\n**All Skills:**\n- `.claude\u002Fskills\u002F*\u002FSKILL.md` - Skill content files\n\n---\n\n**Skill Status**: COMPLETE - Restructured following Anthropic best practices ✅\n**Line Count**: \u003C 500 (following 500-line rule) ✅\n**Progressive Disclosure**: Reference files for detailed information ✅\n\n**Next**: Create more skills, refine patterns based on usage\n",{"name":5,"description":7},"main","87afe6ce96220accf50a345dea46784c8c9f210e","YYC3-AI-应用工具\u002FYYC3-AI-应用工具-claude-code-templates-main\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-developer",0,"https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base","https:\u002F\u002Fkb.yyc3.top\u002F","https:\u002F\u002Fgithub.com\u002FYYC-Cube","万象归元于云枢 | 深栈智启新纪元","2026-11-10 10:37:32",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add YYC-Cube\u002FYYC3-Knowledge-Base --skill skill-developer",{"tool":39,"command":40},"bunx","bunx skills add YYC-Cube\u002FYYC3-Knowledge-Base --skill skill-developer",{"tool":42,"command":43},"pnpm","pnpm dlx skills add YYC-Cube\u002FYYC3-Knowledge-Base --skill skill-developer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-AI-应用工具\u002FYYC3-AI-应用工具-claude-code-templates-main\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-developer\u002FSKILL.md",true,[47,53,57,61,65,69],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"ADVANCED.md","REFERENCE","参考文档",3979,"https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-AI-应用工具\u002FYYC3-AI-应用工具-claude-code-templates-main\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-developer\u002FADVANCED.md",{"path":54,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":55,"sourceHtmlUrl":56},"HOOK_MECHANISMS.md",7920,"https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-AI-应用工具\u002FYYC3-AI-应用工具-claude-code-templates-main\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-developer\u002FHOOK_MECHANISMS.md",{"path":58,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":59,"sourceHtmlUrl":60},"PATTERNS_LIBRARY.md",3347,"https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-AI-应用工具\u002FYYC3-AI-应用工具-claude-code-templates-main\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-developer\u002FPATTERNS_LIBRARY.md",{"path":62,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":63,"sourceHtmlUrl":64},"SKILL_RULES_REFERENCE.md",8692,"https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-AI-应用工具\u002FYYC3-AI-应用工具-claude-code-templates-main\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-developer\u002FSKILL_RULES_REFERENCE.md",{"path":66,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":67,"sourceHtmlUrl":68},"TRIGGER_TYPES.md",7709,"https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-AI-应用工具\u002FYYC3-AI-应用工具-claude-code-templates-main\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-developer\u002FTRIGGER_TYPES.md",{"path":70,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":71,"sourceHtmlUrl":72},"TROUBLESHOOTING.md",10080,"https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-AI-应用工具\u002FYYC3-AI-应用工具-claude-code-templates-main\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-developer\u002FTROUBLESHOOTING.md",[74,81,88,95,102,109],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":19},"01M7CTDWHERCXPQCP0K03A86AS","vercel-sandbox","Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include \"Vercel Sandbox browser\", \"microVM Chrome\", \"agent-browser in sandbox\", \"browser automation on Vercel\", or any task requiring Chrome in a Vercel Sandbox.","https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-WebSpec-Web标准\u002FYYC3-WebSpec-Web标准-standards\u002Fbrowser-agent\u002Fskills\u002Fvercel-sandbox\u002FSKILL.md",[],[],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":19},"01M7CTD8D2BNJY54S65M47HEJA","slack","Interact with Slack workspaces using browser automation. Use when the user needs to check unread channels, navigate Slack, send messages, extract data, find information, search conversations, or automate any Slack task. Triggers include \"check my Slack\", \"what channels have unreads\", \"send a message to\", \"search Slack for\", \"extract from Slack\", \"find who said\", or any task requiring programmatic Slack interaction.","https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-WebSpec-Web标准\u002FYYC3-WebSpec-Web标准-standards\u002Fbrowser-agent\u002Fskills\u002Fslack\u002FSKILL.md",[],[],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":19},"01M7CTCSSB8ZP3Q58C3YZDZK1W","electron","Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include \"automate Slack app\", \"control VS Code\", \"interact with Discord app\", \"test this Electron app\", \"connect to desktop app\", or any task requiring automation of a native Electron application.","https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-WebSpec-Web标准\u002FYYC3-WebSpec-Web标准-standards\u002Fbrowser-agent\u002Fskills\u002Felectron\u002FSKILL.md",[],[],{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":19},"01M7CTCBJY76688V4DCZGWFHGQ","dogfood","Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to \"dogfood\", \"QA\", \"exploratory test\", \"find issues\", \"bug hunt\", \"test this app\u002Fsite\u002Fplatform\", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.","https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-WebSpec-Web标准\u002FYYC3-WebSpec-Web标准-standards\u002Fbrowser-agent\u002Fskills\u002Fdogfood\u002FSKILL.md",[],[],{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":19},"01M7CTC4H0FFGVEAQR9PA4GA1A","agent-browser","Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to \"open a website\", \"fill out a form\", \"click a button\", \"take a screenshot\", \"scrape data from a page\", \"test this web app\", \"login to a site\", \"automate browser actions\", or any task requiring programmatic web interaction.","https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-WebSpec-Web标准\u002FYYC3-WebSpec-Web标准-standards\u002Fbrowser-agent\u002Fskills\u002Fagent-browser\u002FSKILL.md",[],[],{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":19},"01M7CTBKVFYBG78FDSABSDJTTQ","shadcn","Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI, including chat interfaces. Provides project context, component docs, and usage examples. Applies when working with shadcn\u002Fui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for \"shadcn init\", \"create an app with --preset\", \"switch to --preset\", and for building a design system or applying a DESIGN.md or brand spec to shadcn\u002Fui.","https:\u002F\u002Fgithub.com\u002FYYC-Cube\u002FYYC3-Knowledge-Base\u002Fblob\u002Fmain\u002FYYC3-UI-界面组件\u002FYYC3-UI-界面组件-ui\u002Fskills\u002Fshadcn\u002FSKILL.md",[],[]]