[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M714MGFZW0PYBR7A26XYEY91":3,"skill-same:01M714MGFZW0PYBR7A26XYEY91":100},{"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":28,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":14,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":59,"install":60,"resources":73},"01M714MGFZW0PYBR7A26XYEY91","skill-developer",null,"Comprehensive 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.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-developer\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"developer","skill developer","activation","progressive","2026","progressive disclosure","unknown","for","with","rule","line","pattern","official","community","auto","guide","system","best practices","code","2026-11-10 10:12:30",false,"---\nname: skill-developer\ndescription: \"Comprehensive 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.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\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,"risk":35,"source":42,"date_added":53,"description":7},"2026-02-27","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Fskill-developer","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill skill-developer",{"tool":66,"command":67},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill skill-developer",{"tool":69,"command":70},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill skill-developer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-developer\u002FSKILL.md",true,[74,80,84,88,92,96],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"ADVANCED.md","REFERENCE","参考文档",3979,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-developer\u002FADVANCED.md",{"path":81,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":82,"sourceHtmlUrl":83},"HOOK_MECHANISMS.md",7920,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-developer\u002FHOOK_MECHANISMS.md",{"path":85,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":86,"sourceHtmlUrl":87},"PATTERNS_LIBRARY.md",3347,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-developer\u002FPATTERNS_LIBRARY.md",{"path":89,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":90,"sourceHtmlUrl":91},"SKILL_RULES_REFERENCE.md",8692,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-developer\u002FSKILL_RULES_REFERENCE.md",{"path":93,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":94,"sourceHtmlUrl":95},"TRIGGER_TYPES.md",7709,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-developer\u002FTRIGGER_TYPES.md",{"path":97,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":98,"sourceHtmlUrl":99},"TROUBLESHOOTING.md",10080,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fskill-developer\u002FTROUBLESHOOTING.md",[101,121,147,157,170,187],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":110,"publishedAt":48},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[107],{"categoryNo":108,"categoryName":109,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务",[111,112,113,114,115,116,117,118,119,41,120,37],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","fetch",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":48},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[128,129,130,131,132,133,113,134,135,136,137,138,139,140,141,142,143,144,145,146],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":48},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[154,155,128,139,140,141,142,132,113,144,156,145,146,138,136,135,134,143,133,131],"trend radar","radar","pulse",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":48},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[164,165,166,167,168,169],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":179,"publishedAt":48},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[176],{"categoryNo":177,"categoryName":178,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[172,119,180,181,182,37,139,183,184,185,130,186,143],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":193,"publishedAt":48},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[189,194,195,196,143,197,184,198,199,200,201,202],"status","play","go","latest","github","discover","control","cmd","volume"]