skills/skill-architect/SKILL.md
Design, create, audit, and improve Claude Agent Skills with expert-level progressive disclosure. Use when building new skills, reviewing existing skills, debugging activation failures, encoding domain expertise, designing skills for subagent consumption, or understanding platform constraints and distribution surfaces. NOT for general Claude Code features, runtime debugging, non-skill coding, or MCP server implementation.
npx skillsauth add curiositech/windags-skills skill-architectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The unified authority for creating expert-level Agent Skills. Encodes the knowledge that separates a skill that merely exists from one that activates precisely, teaches efficiently, and makes users productive immediately.
Great skills are progressive disclosure machines. They encode real domain expertise (shibboleths), not surface instructions. They follow a three-layer architecture: lightweight metadata for discovery, lean SKILL.md for core process, and reference files for deep dives loaded only on demand.
Query analysis:
├─ Contains "new skill" OR "create skill" → CREATE path
├─ Contains "audit" OR "review" OR "improve existing" → AUDIT path
├─ Contains "won't activate" OR "false positive" → DEBUG path
├─ Contains "subagent" OR "orchestration" → SUBAGENT-DESIGN path
└─ Contains example expertise but no skill → EXTRACT path
User expertise level:
├─ Has domain examples → Guide through 6-step process
│ ├─ Has working code → Initialize with scripts first
│ └─ No working code → Start with reference gathering
├─ Has general idea only → Use knowledge engineering methods
│ ├─ Technical domain → Apply protocol analysis
│ └─ Business domain → Use repertory grid technique
└─ Template request → Refuse (NOT for templates without expertise)
Skill performance issue:
├─ Never activates → Description analysis + trigger testing
│ ├─ Description too vague → Apply formula: [What][When]NOT[Exclusions]
│ ├─ Missing shibboleths → Add domain-specific anti-patterns
│ └─ Catalog competition → Check overlap with existing skills
├─ False positives → Boundary tightening
│ ├─ Missing NOT clause → Add explicit exclusions
│ └─ Description too broad → Split into focused skills
└─ Poor user experience → Progressive disclosure analysis
├─ SKILL.md >500 lines → Move depth to references
└─ Missing decision trees → Convert prose to Mermaid flowcharts
Subagent consumption context:
├─ Preloaded skills (2-5 core) → Standard operating procedures
├─ Dynamic selection → Catalog + filtering logic
└─ Execution-time → Protocol compliance patterns
Detection: SKILL.md >500 lines, reference files unused, agent takes >30 seconds to respond
Symptoms: Slow activation, user confusion, context window exhaustion
Fix: Move depth to /references, create lazy-loading index in SKILL.md
Timeline: Became critical with context window limits in 2024
Detection: Skill activates on queries containing ANY keyword from domain, NOT clause missing Symptoms: User gets wrong skill 80%+ of time, productivity drops Fix: Add NOT clause with 3-5 explicit exclusions, test with negative cases Root cause: Undertrigger bias leads to overly broad descriptions as compensation
Detection: SKILL.md references files that don't exist, scripts fail on execution
Symptoms: Agent wastes tool calls, user sees "file not found" errors
Fix: Run check_self_contained.py, delete references or create missing files
Common source: Copy-paste from other skills without adapting file paths
Detection: No anti-patterns section, LLM gives 2019 advice for 2025 problems Symptoms: Expert users reject skill output, temporal knowledge gaps Fix: Add 2-3 anti-patterns using Novice/Expert/Timeline template Example: Recommending React classes instead of hooks, or CLIP for counting tasks
Detection: Instructions like "read all reference files before starting" Symptoms: Context overflow, slow performance, irrelevant information Fix: Replace with specific loading conditions: "Read X when dealing with Y" Architecture violation: Breaks progressive disclosure model
User request: "Help me create a skill for database migrations"
Step 1 - Gather examples: Expert provides 3 real migration scenarios:
Step 2 - Extract shibboleths:
Step 3 - Design decision tree:
Migration type:
├─ Schema change → Zero-downtime strategy required
├─ Data transformation → Backfill + validation pipeline
└─ Index/constraint → Size analysis + batching strategy
Step 4 - Create progressive disclosure:
references/strategies.md: Detailed techniques per migration typescripts/migration_planner.py: Generates rollback scriptsWhat novice would miss: No rollback planning, no performance impact analysis What expert catches: Always plan rollback first, test on production-sized data, monitor key metrics during migration
Scenario: User wants single "web development" skill covering React + Node + deployment
Analysis: This violates focused expertise principle
Trade-off decision:
react-patterns, node-api-design, deployment-pipelines)
Expert choice: Always choose layered. Better to have precise activation on narrower domains than broad activation with poor results.
Implementation: Create 3 separate skills, each with strong NOT clauses to prevent overlap
User report: "My skill never activates even with obvious queries"
Diagnostic process:
Step 1 - Test explicit queries:
Query: "Help me plan a database migration"
Expected: db-migration-skill activates
Actual: No skill activated
Step 2 - Analyze description: Original: "Database utilities and migration help" Problem: Too vague, no trigger keywords, no NOT clause
Step 3 - Apply formula: Fixed: "Plans database schema migrations with rollback strategies and zero-downtime deployment. Use for ALTER TABLE, data backfills, index creation on production systems. NOT for database design, query optimization, or backup strategies."
Step 4 - Test negative cases:
Query: "How do I optimize this SQL query?"
Expected: db-migration-skill does NOT activate
Actual: Still activates (needs stronger NOT clause)
Final fix: Add explicit exclusion for "query optimization" and test with 5 positive + 5 negative cases.
name and description fields[What][When to use]NOT[Exclusions] formulaThis skill should NOT be used for:
Delegate to these skills instead:
mcp-server-builderdebug-masterapi-documentariantest-architectdata-ai
license: Apache-2.0 NOT for unrelated tasks outside this domain.
development
Use when designing caching strategies (cache-aside, write-through, write-behind), implementing distributed locks, building rate limiters, leaderboards, real-time streams (XADD/consumer groups), pub/sub, or tuning eviction policies. Triggers: thundering-herd on cache miss, dogpile on key expiry, Redlock vs SET-NX-PX choice, sliding-window rate limiter, hot-key on a single cluster slot, big-key blowup, MULTI/EXEC across slots, KEYS in production. NOT for Redis Cluster operations/admin (different domain), embedded KV (SQLite, leveldb), in-process LRU caches, or Memcached.
tools
Drawing the `'use client'` boundary correctly in React Server Components apps (Next.js App Router, RSC frameworks) — leaf-pushing, slot composition, serialization rules, and environment poisoning prevention. Grounded in react.dev and Next.js 16 docs.
development
Use when designing rate limiting for an API, choosing between token bucket / sliding window / leaky bucket / fixed window, implementing it in Redis, deciding edge (Cloudflare/Upstash) vs origin enforcement, sizing per-user vs per-IP vs per-endpoint quotas, returning the right 429 response with Retry-After, or fixing the boundary-burst bug in fixed-window limiters. Triggers: 429 too many requests, INCR + EXPIRE, ZADD + ZREMRANGEBYSCORE + ZCARD, X-RateLimit-Remaining header, Cloudflare WAF rate limiting rules, Upstash @upstash/ratelimit, leaky bucket shaping vs policing, distributed rate limiter consistency. NOT for DDoS mitigation specifically (different scale), CAPTCHA / bot management, full WAF design, or per-user quota billing.