skill-scaffold
Emit repo-native seed files (SKILL.md skeleton, routing entry, test snippets) when creating new skills, commands, or plugins
Best use case
skill-scaffold is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Emit repo-native seed files (SKILL.md skeleton, routing entry, test snippets) when creating new skills, commands, or plugins
Teams using skill-scaffold should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/skill-scaffold/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How skill-scaffold Compares
| Feature / Agent | skill-scaffold | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Emit repo-native seed files (SKILL.md skeleton, routing entry, test snippets) when creating new skills, commands, or plugins
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Skill Scaffold
Emit seed files for new additions to auto-claude-skills. Ensures agents follow existing patterns from the first file.
## When to Use
During DESIGN phase when creating new skills, commands, plugins, hooks, or modules. Co-selects with writing-skills.
## Step 1: Identify Addition Type
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. |
## Step 2: Emit SKILL.md Skeleton
Generate based on type. Include frontmatter, tiered detection where applicable, and output contract section.
**Description rule:** the frontmatter `description` states what the skill is for and when to use it. Do not summarize the workflow steps — an agent may follow the summary instead of reading the full skill.
**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.>
```
## Step 3: Emit Routing Entry Snippet
Generate a JSON snippet for `config/default-triggers.json`:
```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.
The routing entry `description` field follows the same description rule as the frontmatter: purpose and when-to-use, never workflow steps.
## Step 4: Emit Test Snippets
**Routing test** (for `tests/test-routing.sh`):
```bash
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:**
```bash
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}"
}
```
## Constraints
- Produces snippets, not complete files. The user or agent integrates them.
- Does not auto-register skills -- registration is a deliberate step during REVIEW.
- Adapts skeleton to skill type (domain, workflow, edge-overlay process).
- All output follows Bash 3.2 and repo JSON conventions.Related Skills
unified-context-stack
Tiered context retrieval across External Truth (docs), Internal Truth (dependencies), Historical Truth (memory), and Intent Truth (feature specs) with graceful degradation based on installed tools.
supply-chain-investigation
Use when investigating a published supply-chain attack on a registry package (npm, Maven, PyPI, Go, Gradle) — advisory-driven org-wide audit. Triggers on attack-language ("compromised", "malicious", "hijacked", "backdoored", "typosquatted"). NOT for routine CVE scanning — that routes to security-scanner.
security-scanner
Use when reviewing code changes for security issues — during REVIEW phase or on explicit security, vulnerability, SAST, or secret-scan requests — running available Semgrep/Opengrep, Trivy, and Gitleaks scanners with a self-healing fix loop
runtime-validation
Use when you need to prove a change actually works through its real interfaces — during REVIEW or on requests like validate the feature, does it work, run e2e, or smoke test — covering browser E2E, API smoke, CLI checks, and a11y audits with graceful tool-degradation
prototype-lab
Produce 3 thin comparable variants of a proposed design with a comparison artifact and mandatory Human Validation Plan
project-verification
Use when you need to run the repo's own declared test/lint/type gate locally and emit pass/fail evidence — during REVIEW, before requesting code review, or on a request to run the tests or verify the build — discovering the gate from CLAUDE.md, Makefile, pyproject, or .verify.yml
product-discovery
Use when starting a new feature or initiative and you need problem context, prior art, and acceptance criteria before design — the DISCOVER phase entry point — pulling Jira/Confluence context and synthesizing a discovery brief to validate problem framing
outcome-review
Use when reviewing a shipped feature's real-world outcome in the LEARN phase — checking adoption, error, or experiment metrics after release, validating ship-time hypotheses, or deciding follow-up work — querying PostHog and creating gated follow-up Jira work
openspec-ship
Use when shipping a completed feature and generating as-built OpenSpec docs before branch finalization
incident-trend-analyzer
On-demand postmortem trend analysis — recurrence grouping, trigger categorization, MTTR/MTTD from canonical docs/postmortems/ corpus
incident-analysis
Use when investigating production symptoms — connection failures, pod crashes/restarts, SIGTERM/OOM errors, latency spikes, Cloud SQL/proxy issues, deployment-correlated errors, ImagePullBackOff, CreateContainerConfigError, or node NotReady events
implementation-drift-check
Use when verifying an implementation still matches its spec or plan — during REVIEW or SHIP, or on demand to check drift, confirm you are still on plan, or run a spec check — surfacing spec deviations, unvalidated assumptions, and untested code paths against Intent Truth