From metaskill
Optimize skill triggers and descriptions for reliable activation. Use when skill is not triggering, optimizing trigger keywords, writing frontmatter, debugging activation, or when user mentions "trigger", "frontmatter", "description", "skill not triggering", "optimize trigger", "skill won't fire", "skill activation", "trigger keywords".
npx claudepluginhub gigaverse-app/skillet --plugin metaskillThis skill uses the workspace's default tool permissions.
**ONLY the `description` field affects triggering.** All other frontmatter fields affect execution, not discovery.
Guides creating skills from scratch, modifying existing ones, or optimizing trigger descriptions via intent capture, SKILL.md structure, testing, and progressive disclosure.
Create, improve, and test SKILL.md files to extend Claude Code with project-specific knowledge and reusable workflows.
Creates, modifies, improves, tests, and benchmarks Claude Code skills using category-aware design, gotchas-driven development, eval prompts, and performance analysis.
Share bugs, ideas, or general feedback.
ONLY the description field affects triggering. All other frontmatter fields affect execution, not discovery.
At startup, Claude loads ONLY name + description (not full SKILL.md body). Matching is keyword-based, not deeply semantic.
description: <What it does> + <Specific actions> + <When to use it> + <Trigger keywords>
# ✅ OPTIMAL - Hits all four parts
description: Write and review tests following TDD and best practices. ALWAYS use this skill BEFORE writing or modifying any test code. Triggers on "test", "tests", "testing", "TDD", "test-driven", "pytest", "add tests", "write tests", "test this", "unit test", "integration test", "test coverage", "bug fix", "fix bug", "verify", "edge case", or when about to create/edit files in tests/ directory.
| Part | Example Content |
|---|---|
| What it does | "Write and review tests following TDD and best practices" |
| Specific actions | "BEFORE writing or modifying any test code" |
| When to use | "when about to create/edit files in tests/ directory" |
| Trigger keywords | "test", "tests", "testing", "TDD", "pytest"... |
# ✅ All forms of the word
"test", "tests", "testing", "test-driven"
# ❌ Only one form - misses variations
"testing"
# ✅ Actual phrases users say
"add tests", "write tests", "test this", "TDD this"
# ❌ Only formal terms
"implement unit tests"
# ✅ Action-oriented
"write", "create", "fix", "review", "optimize"
# ❌ Passive/noun-only
"tests", "code", "documentation"
# ✅ How users actually talk
"TDD", "mf" (if appropriate), common abbreviations
# ❌ Only formal language
"test-driven development methodology"
# ❌ FAILS - No specific keywords
description: Helps with testing stuff.
# ✅ WORKS - Specific and keyword-rich
description: Write and run pytest tests. Use when creating tests, fixing test failures, or when user mentions "test", "pytest", "fixture", "mock".
# ❌ FAILS - Misses "tests" and "testing"
description: Write test code...
# ✅ WORKS - All variants
description: ...triggers on "test", "tests", "testing"...
# ❌ FAILS - Claude doesn't know WHEN to use it
description: Handles test code.
# ✅ WORKS - Clear trigger conditions
description: ...Use when writing tests, reviewing test code, or debugging test failures.
# ❌ FAILS - Formal terms only
description: Implements unit test suites.
# ✅ WORKS - Includes casual phrases
description: ...triggers on "add tests", "write tests", "test this", "TDD this mf"...
| Field | Effect on Triggering |
|---|---|
name | Used with /skill-name invocation |
description | ONLY field that affects auto-triggering |
disable-model-invocation | true = blocks ALL auto-discovery |
| Field | Purpose |
|---|---|
allowed-tools | Restricts tools available during skill |
skills | Makes other skills available (for groups) |
Claude should trigger skills when IT plans actions, not just when user says keywords:
# ✅ Includes Claude's planned actions
description: ...or when about to create/edit files in tests/ directory.
Can't specify directly, but make description specific enough:
# ✅ Specific enough to avoid false positives
description: Write PYTEST tests for Python code...
# Won't trigger on "test the API endpoint" (manual testing)
~1024 characters. Prioritize keywords over prose.
Use the metaskill-trigger-tester agent to probe skill triggering.
disable-model-invocation - true blocks auto-discovery/metaskill-naming/metaskill-authoring/metaskill-grouping/metaskill-packagingmetaskill-trigger-tester agent