From auto-claude-skills
Emit repo-native seed files (SKILL.md skeleton, routing entry, test snippets) when creating new skills, commands, or plugins
npx claudepluginhub damianpapadopoulos/auto-claude-skillsThis skill uses the workspace's default tool permissions.
Emit seed files for new additions to auto-claude-skills. Ensures agents follow existing patterns from the first file.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Emit seed files for new additions to auto-claude-skills. Ensures agents follow existing patterns from the first file.
During DESIGN phase when creating new skills, commands, plugins, hooks, or modules. Co-selects with writing-skills.
Ask: What are we creating?
| Type | Skeleton | Notes |
|---|---|---|
| Domain skill | SKILL.md + routing entry + routing test + content assertion | Default. Most new additions are domain skills. |
| Workflow skill | SKILL.md + routing entry + routing test + composition test | Include precedes/requires fields. |
| Edge-overlay process skill | SKILL.md + routing entry + routing test + content assertion | Restricted to DISCOVER and LEARN phases only. If the user requests a process skill for a superpowers-owned phase (DESIGN, PLAN, IMPLEMENT, REVIEW, SHIP, DEBUG), emit a warning: "This phase's process driver is owned by superpowers. Consider a domain skill instead." |
| Hook | Script + config entry + syntax test | Bash 3.2 compatible. |
| Command | Command markdown + setup registration | Follow existing commands/ pattern. |
Generate based on type. Include frontmatter, tiered detection where applicable, and output contract section.
Domain skill SKILL.md skeleton:
---
name: <skill-name>
description: <one-line description>
---
# <Skill Name>
<One paragraph purpose statement.>
## When to Use
<Phase and activation context.>
## Step 1: Detect Available Tools
<Tiered detection pattern if the skill depends on external tools.>
## Step 2: <Primary Action>
<Core behavior.>
## Output Contract
<What the skill produces -- artifacts, reports, structured data.>
Generate a JSON snippet for config/default-triggers.json:
{
"name": "<skill-name>",
"role": "domain",
"phase": "<PHASE>",
"triggers": [
"<regex-pattern>"
],
"keywords": ["<keyword1>", "<keyword2>"],
"trigger_mode": "regex",
"priority": 15,
"precedes": [],
"requires": [],
"description": "<one-line description>",
"invoke": "Skill(auto-claude-skills:<skill-name>)"
}
Note: Also needs a matching entry in config/fallback-registry.json using compact single-line trigger format.
Routing test (for tests/test-routing.sh):
test_<skill_name>_triggers() {
echo "-- test: <skill-name> triggers on <trigger phrase> --"
setup_test_env
install_registry_with_<appropriate_helper>
local output
output="$(run_hook "<sample prompt>")"
local context
context="$(extract_context "${output}")"
assert_contains "<skill-name> fires" "<skill-name>" "${context}"
teardown_test_env
}
Content/behavior assertion:
test_<skill_name>_content_contract() {
echo "-- test: <skill-name> SKILL.md has required sections --"
local skill_file="${PROJECT_ROOT}/skills/<skill-name>/SKILL.md"
local content
content="$(cat "${skill_file}" 2>/dev/null || echo "")"
assert_not_empty "<skill-name> SKILL.md exists and is non-empty" "${content}"
assert_contains "<skill-name> has frontmatter name field" "name:" "${content}"
}