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-architecttools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.