Skill Creator: Meta Skill for Skill Lifecycle Management
Create, review, improve, audit, and maintain AI tool skills. Covers the full lifecycle from
initial draft through quality validation, cross-skill consistency checks, and trigger optimization.
This skill enforces the conventions established across the custom skill collection. It exists
because consistency is what makes skills predictable - a skill that follows the established
patterns activates reliably, reads clearly, and plays well with the rest of the collection.
When to use
Creating a new custom skill from scratch
Reviewing or improving an existing skill
Auditing the skill collection for consistency, overlaps, or contradictions
Validating versions, security references, or CVE mentions in skills
Optimizing a skill's description for better triggering accuracy
Checking cross-skill references and "Related Skills" sections
Changing a skill's trigger text after a routing problem has been identified
When NOT to use
Reviewing application code for correctness or bugs - use code-review
Auditing code for AI-generated patterns or style issues - use anti-slop
Running a full codebase audit across multiple dimensions - use full-review
Creating inline prompts within application code - use prompt-generator
Batch-improving a whole skill collection via evaluation loops - use skill-refiner
Choosing which installed skill should handle a concrete user request - use skill-router
Syncing or refreshing third-party skills from upstream - handle that directly in the repo workflow
Updating project documentation after infrastructure changes - use update-docs
Writing application code, even if the code is for a tool a skill might use
AI Self-Check
Before returning any generated or modified skill, verify against this list:
Frontmatter complete: name, description, license, metadata.source (owner/repo for published collections or custom for unpublished skills), metadata.date_added (ISO), metadata.effort (low/medium/high)
Name spec-valid: lowercase alphanumeric + hyphens only, no leading/trailing/consecutive
hyphens, no reserved words (anthropic, claude), matches directory name
No XML tags in name or description fields (Anthropic platform restriction)
Description is trigger-optimized: starts with action verbs, includes trigger keywords, mentions related contexts, stays near 200 chars for the collection (240 warn and 600 hard max in lint-skills.sh; the portable spec ceiling is 1024 in validate-spec.sh)
Compatibility field present (when skill requires specific tools/platforms): quotes values containing colons
Scope sections present: "When to use" with concrete scenarios, "When NOT to use"
cross-referencing related skills by bold name (e.g., use **skill-name**)
Workflow section with numbered steps: clear, sequential, actionable
Rules section at the end: non-negotiable constraints in imperative form
Style compliant: no banned words (per CLAUDE.md/AGENTS.md), ASCII by default
except approved markers such as · and output-contract box glyphs. No em-dashes, curly
quotes, ligatures, or -- dash substitutes in SKILL.md/reference prose; preserve real syntax in code and commands.
Target ~500 lines: if over 500, extract to references/ with clear pointers. Hard max 600
Reference files use references/ relative paths: not hardcoded or tool-specific paths
All references verified: every tool, CLI flag, IaC resource, config snippet, and
example command confirmed against actual docs, --help output, or registry - not assumed
from training data. Specifically: tools exist and aren't deprecated/renamed, CLI flags are
real (AI models invent plausible ones constantly), Terraform providers/resources match the
registry, Ansible modules/params match ansible-doc, Helm values match upstream
values.yaml, K8s fields match the target API version. When web access is unavailable,
note unverified claims rather than blocking
Version numbers verified and dated: searched the web for latest stable version of each
tool, pinned with date (e.g., "v29.3.0 (March 2026)") so staleness is detectable
Cross-skill references are valid: every mentioned skill name actually exists
AI-age awareness: if the skill generates code, config, or structured files (including skill files), include an AI self-check section
Context budget justified: every section earns its token cost (see references/conventions.md)
Forward-tested (high-effort skills, when feasible): during review, a subagent used the skill on a realistic task without leaked context. This is a process check on the reviewer, not a content requirement on the skill - the skill does not need a "forward-test" section. The reviewer notes what was tested or skipped and why.
Current source checked: dated versions, CLI flags, API names, and support windows are verified against primary docs before repeating them
Hidden state identified: local config, credentials, caches, contexts, branches, cluster targets, or previous runs are made explicit before acting
Verification is real: final checks exercise the actual runtime, parser, service, or integration point instead of only linting prose or happy paths
Routing overlap checked: new or edited skills do not steal triggers from better-matched existing skills
Spec claims verified: frontmatter, metadata, and compatibility guidance match the current Agent Skills specification
Performance
Keep SKILL.md compact; move deep examples into references loaded on demand.
Prefer precise triggers over broad keyword lists that cause unnecessary skill loading.
Run lint/spec checks before prose polishing so structural failures surface early.
Best Practices
Write skills as operational instructions, not essays about a domain.
Include clear When to use/When NOT to use routing and realistic AI self-checks.
Keep public skills tool-agnostic unless a tool is intrinsic to the skill.
Treat install/copy/link steps as environment-specific. If skills are sourced directly from a
repo, edit and verify there instead of distributing to tool dirs unless asked.
Workflow
Before entering any mode, detect the operating context. This skill works on individual skills
or collections, whether inside a skill collection repo, a user's own project, or standalone.
Mode routing - pick the mode that matches the user's signal. Retrospective-update
requests are explicit permission to edit the library, so do not stop at a report-only pass:
User signal
Mode
"create a skill", "new skill for X", "turn this into a skill"
Mode 1 (Create)
"review my skill", "improve this skill", "is this skill good"
Mode 2 (Review)
"audit the collection", "check all skills", "health check skills"
Mode 3 (Audit)
"fix the description", "skill isn't triggering", "trigger overlap"
Mode 4 (Optimize)
"review the conversation", "update the skill library", "what did we learn"
Mode 5 (Retrospective Update)
When the signal is ambiguous (e.g., "look at my skill"), ask before committing - Create and
Review diverge quickly and re-running wastes context. Modes can chain: Create -> Review,
Review -> Optimize, Audit -> per-skill Review for flagged items.
For explicit retrospective-update requests, act without asking for confirmation unless the only
possible update is destructive or would create a new class-level skill with uncertain scope.
Find the collection root (if one exists): check for a skills/ directory (common
convention) or any path the user specifies. Different harnesses store skills in different
locations - if the default doesn't match, ask or accept a user-supplied path. If no
collection is found, skip collection-wide checks (cross-references, trigger overlap, audit
mode) and note what was skipped.
Record git state: run git rev-parse --git-dir; record the branch and dirty paths.
Report-only checks do not create or switch branches or modify tracked files.
Before authorized tracked edits, create a task branch following repository conventions,
unless already on one for this work. Preserve unrelated changes. Without git, report
"branch unavailable" and fall back to file modification dates.
Single skill vs collection: Modes 1 (Create) and 2 (Review) work on individual skills
with or without a collection - collection-dependent steps become best-effort. Mode 3
(Audit) requires a collection. Mode 4 (Optimize) works standalone but benefits from
collection context for overlap analysis.
Mode 1: Create a New Skill
Step 1: Capture intent
Understand what the skill should do. Extract from conversation context:
Core task: what should the skill enable?
Trigger scenarios: what user phrases or contexts should activate it?
Output format: what does success look like?
Related skills: which existing skills overlap or complement this one?
If the user already described the workflow in the conversation (e.g., "turn what we just did into a
skill"), extract the steps, tools used, corrections made, and patterns observed.
Step 2: Research the domain
Before drafting, gather context:
Check existing skills for overlap (if a collection is available) - read the "When to use"
/ "When NOT to use" of potentially related skills. Don't create a skill that duplicates
existing coverage.
Verify tools exist - for every tool, library, CLI, or platform the skill references,
confirm it exists, is not deprecated or renamed, and is actively maintained. Search the web
or check the project's GitHub/registry page. AI models hallucinate tool names, flag names,
and API endpoints - treat every claim as unverified until checked. If a tool was replaced
(e.g., CDKTF is deprecated in favor of native HCL, Ingress is frozen with new features
going to Gateway API), reference the current recommended approach.
Check versions - search for the latest stable release of every tool mentioned. Don't
guess or rely on training data - versions go stale fast. Pin them with dates so staleness
is detectable later (e.g., "Docker Engine 29.3.0 (March 2026)").
Check security - search for recent CVEs, supply chain incidents, or known vulnerabilities
relevant to the domain. The custom skill collection tracks these actively - verify current
advisories rather than relying on specific CVE numbers from training data.
Check compliance - if the domain touches infrastructure, containers, CI/CD, auth, or data
handling, consider PCI-DSS 4.0 relevance. Many users work in regulated environments or run
self-hosted infrastructure where compliance matters.
Step 3: Draft the skill
Follow the structural pattern for the skill's effort tier in references/conventions.md (Section 3).
Key elements every custom skill needs:
Frontmatter: name, description, license, metadata block (see conventions Section 2)
"When to use" / "When NOT to use": concrete scenarios, cross-reference adjacent skills
Workflow: numbered steps, sequential, actionable
Rules: non-negotiable constraints at the end, imperative form
AI Self-Check: required when the skill generates code, config, or structured files
Reference Files / Related Skills: when applicable
For tool/platform skills, include a Target versions block with pinned versions and dates.
Writing guidelines:
Imperative form in instructions ("Check the config", not "You should check the config")
Explain why, not just what - models generalize from motivation
Don't use ALL CAPS for emphasis unless it's genuinely critical. Calm, direct instructions
outperform shouting across most modern models.
Include "What NOT to flag" or "What NOT to do" sections where false positives are likely
Use tables for reference data, prose for workflows, checklists for validation
Consider headless execution: skills may run in non-interactive contexts (Claude Code --bare,
Cursor Automations, Codex exec). Avoid blocking on user confirmation in steps that could
run unattended - provide sensible defaults or document assumptions instead
Step 4: Validate the draft
Run through the AI Self-Check above. Then:
Cross-reference check: grep the skill collection for every skill name mentioned in the draft.
Verify they exist and the characterization is accurate.
Trigger overlap check: compare the description against all other skill descriptions. Flag
any that share >50% of trigger keywords.
Convention check: compare frontmatter, structure, and style against 2-3 existing custom
skills in the same effort tier.
Script-runner reality check: if the collection uses helper scripts like lint-skills.sh
or validate-spec.sh, verify their expected input shape before trusting the result. Some
collections expect a parent directory containing many skill subdirectories, not a direct path
to one skill. For single-skill validation, stage the skill inside a temporary parent such as
<tmp>/skills/<skill-name>/SKILL.md and run the scripts against <tmp>/skills.
Step 5: Write the files
Write SKILL.md to the appropriate location: <collection-root>/<skill-name>/SKILL.md if
inside a collection, or the user's specified path for standalone skills
Write reference files (if any) to <skill-dir>/references/
If a collection inventory exists, update it and re-run cross-reference checks
If skill_manage cannot modify the target because the skill lives in an external repo or
non-managed directory, fall back to direct file edits with patch or write_file on the
actual repo paths. Do not stop at the tool limitation if the files are writable and the user
asked for the change in-place.
Step 6: Forward-test
Forward-testing has a subagent use the skill on realistic tasks without seeing your diagnosis.
Use it for high-effort skills and for medium-effort skills with multi-step or scripted workflows.
Skip it for low-effort wrappers, unavailable subagents, production-only access, long-running
infra, missing credentials, or explicit user opt-out; note the skip reason.
Pick 2-3 realistic tasks, including one edge case.
Launch with a real-user prompt and raw artifacts only.
Check whether the agent followed the workflow, missed steps, or hallucinated.
Clean up artifacts between iterations.
If forward-testing only succeeds with leaked context, tighten the skill instead of weakening
the test.
Mode 2: Review / Improve an Existing Skill
Step 1: Read the skill thoroughly
Read the SKILL.md and all reference files. No skipping - the whole point is catching issues.
Related Skills section present and accurate (when the skill interacts with other skills)
Target ~500 lines (SKILL.md body), hard max 600
Content checks:
Tools exist? Every tool, CLI, library, or platform named in the skill must be verified as
real, not deprecated, and not renamed. Search the web or check the project's GitHub/registry.
AI hallucinates tool names, CLI flags, and API endpoints constantly - treat every reference
as unverified until confirmed. If a tool was replaced, the skill should reference the
replacement (e.g., CDKTF deprecated in favor of native HCL, Ingress frozen with Gateway API
as the recommended path forward, lazy_static superseded by std::sync::LazyLock).
CLI flags and IaC resources real? Verify flags/subcommands against actual --help or docs.
For Terraform: confirm provider names and resource type arguments against the registry. For
Ansible: confirm module names and parameters against ansible-doc or Galaxy. For Helm:
confirm chart values against upstream values.yaml. For K8s: confirm API fields against
the target API version. AI invents plausible-sounding arguments for all of these.
Version numbers current? Search the web for latest stable versions of tools that appear in
normative claims (pinned versions, "Target versions" blocks, compatibility fields). Don't
verify every passing mention - focus on versions that drive behavior or could mislead.
Security references current? Check for new CVEs since the skill's date_added.
Cross-skill references valid (if a collection is available)? Every skill name mentioned must
exist as a published (non-gitignored) skill in the collection. For standalone skills,
note unverifiable references instead of failing them.
"When NOT to use" complete? Should reference all skills with overlapping trigger space.
AI-age checks:
Does the skill generate code, config, structured output, or orchestrate other skills? If yes,
does it have an AI Self-Check section? This is the #1 miss across skill collections -
skills that produce output need a pre-flight checklist even if they're "just" orchestrators.
Does the AI Self-Check cover the domain's common AI mistakes? (e.g., unpinned versions,
missing security contexts, over-abstraction, hallucinated CLI flags)
Are there patterns that would produce AI slop? (excessive MUSTs, over-defensive instructions,
generic naming in examples)
Compliance checks (for infrastructure skills):
PCI-DSS 4.0 mapping present where applicable?
All future-dated requirements (mandatory since March 31, 2025) reflected?
No hardcoded secrets in examples?
Script-runner reality check: verify helper script input shape. If a single-skill run reports zero skills or odd output, re-run against the collection root and filter for the target.
P1: stale versions, missing required sections, trigger overlap unhandled, or invalid output contracts
P2: incomplete verification, weak behavioral coverage, or ambiguous workflow ordering
P3: style inconsistency, missing "Related Skills", or wording that could be clearer
info: confirmed strengths or scoped notes; note skipped checks in the report's skipped-checks field
Step 4: Confirm scope
For report-only requests, present findings without editing. Apply already-authorized fixes without
asking again. Ask only for missing scope or an unauthorized destructive or external action.
Explicit user instructions take precedence. Programmatic callers must pass the authorized scope;
otherwise report findings and stop.
Step 5: Apply fixes
Edit the skill files to address confirmed findings. For version updates, always search the web
first - don't guess. Do not modify date_added (it records when the skill was created, used
for historical tracking). If the skill needs a freshness marker, the date_added field serves
that purpose for the initial creation; substantial refreshes are tracked via git history.
Step 6: Forward-test
After substantial changes, forward-test the skill (see Mode 1, Step 6). Required for
high-effort skills after workflow restructuring, reordered steps, or new references.
Optional for narrow edits like version refreshes, wording cleanup, or metadata-only fixes.
Especially valuable when:
The workflow was restructured or steps were reordered
New reference files were added and need discovery testing
Trigger description was rewritten (test activation, not just content)
Mode 3: Audit the Skill Collection
Run a health check across all skills. Useful periodically or after adding/removing skills.
Step 1: Inventory
# Detect collection root - adapt to your layout
SKILL_ROOT="${SKILL_ROOT:-skills}"
[[ -d "$SKILL_ROOT" ]] || { echo "No skill collection at $SKILL_ROOT"; exit 1; }
# Check git availability for gitignore filtering and freshness
IN_GIT=false
git -C "$SKILL_ROOT" rev-parse --git-dir &>/dev/null && IN_GIT=true
for skill in "$SKILL_ROOT"/*/SKILL.md; do
dir=$(dirname "$skill")
name=$(basename "$dir")
[[ "$name" == ".backups" || "$name" == ".cook" ]] && continue # tooling dirs, not skills
$IN_GIT && git -C "$dir" check-ignore -q . 2>/dev/null && continue
source=$(grep -m1 '[[:space:]]source:' "$skill" 2>/dev/null | sed 's/.*source: *//' || echo "unknown")
date=$(grep -m1 '[[:space:]]date_added:' "$skill" 2>/dev/null | sed 's/.*date_added: *"//' | sed 's/"//' || echo "unknown")
effort=$(grep -m1 '[[:space:]]effort:' "$skill" 2>/dev/null | sed 's/.*effort: *//' || echo "missing")
if $IN_GIT; then
last_mod=$(git -C "$SKILL_ROOT" log -1 --format=%cd --date=short - "$name" 2>/dev/null || echo "unknown")
else
# Portable: GNU stat then BSD stat; GNU date then BSD date
mtime=$(stat -c %Y "$skill" 2>/dev/null || stat -f %m "$skill" 2>/dev/null || echo 0)
last_mod=$(date -d "@$mtime" +%Y-%m-%d 2>/dev/null || date -r "$mtime" +%Y-%m-%d 2>/dev/null || echo "unknown")
fi
printf "%-25s %-10s %-12s %-12s %s\n" "$name" "$source" "$date" "$last_mod" "$effort"
done
Step 2: Cross-reference matrix
For each skill, check:
Every skill name mentioned in "When NOT to use" exists as a published (non-gitignored) skill
Every skill name mentioned in "Related Skills" exists as a published (non-gitignored) skill
Every declared reference file path has a corresponding file
Installer, publish, or registry files list the published skills correctly
Lint scripts, CI checks, and count tooling exclude gitignored (private) skills -
tools that iterate skills/*/ directly will overcount unless they filter with
git check-ignore
Step 3: Trigger overlap analysis
Compare all skill descriptions pairwise. Flag pairs that share significant trigger keywords
without mutual disambiguation (no "When NOT to use" cross-reference).
Step 4: Freshness sweep
Flag skills where the last modification (per git history, or file mtime if git is unavailable)
is >30 days old AND the skill covers fast-moving domains:
If the collection's conventions change significantly, temporarily reclassify skill-creator
as fast-moving until the conventions stabilize.
For each stale high-effort skill, search the web for:
New major/minor releases of referenced tools
New CVEs affecting referenced tools
Deprecated or renamed tools/features since the skill was written
New supply chain incidents (these move the fastest - Trivy was 6 days old when we caught it)
Step 5: Report
Present findings grouped by severity. Include actionable fixes for each finding.
Mode 5: Retrospective Update
When the user asks to review a completed conversation and update the skill library, capture
reusable class-level learning, not a session log. Patch a loaded or umbrella skill for
reusable workflow, routing, preference, or pitfall changes; create a new skill only when no
class-level fit exists. In the public skills repo, read gitignored instruction files such as
AGENTS.md, but do not force-add them; stage only intended public skill paths and validate.
Mode 4: Optimize Skill Description
The description field in frontmatter is the primary triggering mechanism. Optimize it for
accurate activation.
Step 1: Analyze current triggers
Read the skill's description and identify:
Primary trigger keywords
Secondary trigger contexts
Potential false-positive triggers (keywords shared with other skills)
Missing triggers (scenarios where the skill should activate but the description doesn't cover)
Step 2: Compare against the collection
If a collection is available, check which other skills share trigger keywords. Ensure the
description differentiates clearly. For standalone skills, skip this step.
Step 3: Rewrite the description
Follow these patterns from high-performing custom skill descriptions:
Start with action verbs: "Use when writing, reviewing, or architecting..."
Include specific trigger keywords: list them inline, e.g., "Triggers: 'keyword1', 'keyword2'"
Mention adjacent skills to avoid: "Not for X (use Y instead)"
Be slightly pushy: many tools undertrigger skills by default. Include edge cases.
Stay near 200 characters: the collection warns above 240 and errors above 600. Codex loads every skill description at startup, so concise descriptions prevent startup truncation.
Treat 1024 as the platform ceiling, not the collection target: truncation happens there, but the repo convention is stricter
Step 4: Validate
After rewriting, list 5 user prompts that should trigger the skill and 5 that shouldn't. For
each, state whether the rewritten description would route correctly and why. This is a heuristic
check - actual routing depends on the harness's skill-matching logic, which varies by tool.
The goal is catching obvious gaps and false-positive magnets, not deterministic validation.
Step 5: Apply
Edit the skill's frontmatter with the rewritten description. If the skill is part of a
collection, run Mode 2 Step 2 (quality checks) to verify no regressions were introduced.
Run Report
Record every run in a human-readable report, even for report-only checks. Include branch, mode,
scope, score or "not scored - report only", changed files, finding counts, verification results,
skipped checks, and next action. Keep metadata in the saved report; use compact inline output when applicable.
For edited skills, report before/after checklist pass rate and behavioral or forward-test scores
plus keep/reject decisions. For audit-only runs, report structural gate and finding counts
instead of inventing a composite.
Reference Files
references/conventions.md - the complete convention guide: frontmatter fields, structural
patterns by effort tier, style rules (ASCII, banned words), reference file organization,
cross-skill patterns, AI Self-Check patterns, and a snapshot inventory of the upstream
collection (useful as a reference, not an authoritative list for other repos)
Output Contract
See references/output-contract.md for the full contract.
Skill name: SKILL-CREATOR
Deliverable bucket:audits
Mode: conditional. When invoked to analyze, review, audit, or improve existing repo content (e.g., Mode 2 review or Mode 3 audit), emit the full contract - monospace inline header, severity-grouped inline summary, linked Markdown deliverable, and concise monospace conclusion - and write the deliverable to docs/local/audits/skill-creator/<YYYY-MM-DD>-<slug>.md. When invoked to answer a question, teach a concept, build a new artifact, or generate content (e.g., Mode 1 create), respond freely without the contract; the existing ## Run Report guidance applies to that build path.
Severity scale:P0 | P1 | P2 | P3 | info (see shared contract; only used in audit/review mode).
Related Skills
anti-slop - audits code quality. Apply it to example code and reference patterns.
full-review - orchestrates four application-repo audits; this skill audits the skill collection.
prompt-generator - targets one-off prompts in docs/local/prompts/, not reusable skill files.
code-review - reviews application code for correctness. This skill reviews skill files
for convention compliance, not code correctness.
skill-router - chooses the best installed skill for one concrete request. This skill owns
edits to trigger text and collection-wide overlap analysis after a routing defect is identified.
Rules
Read before edit. Always read a skill's SKILL.md and reference files before modifying.
Conventions are non-negotiable. Custom skills need metadata.source, date_added,
effort, "When to use", "When NOT to use", Workflow, and Rules sections.
Verify everything, assume nothing. Confirm tools, versions, flags, APIs, and behavior via
source docs, --help, registries, or explicit "unverified" notes. Do not guess.
Prefer dedicated skill workflows over generic helpers.
Update the inventory. After creating, removing, or renaming a skill, update published
inventories and verify counts from live public skills.
No AI slop in skills. Avoid comment noise, over-abstraction, ALL CAPS theater, and
"just in case" instructions.
ASCII by default. Keep skill prose ASCII except collection-approved markers such as the
public-description · prefix and shared output-contract box glyphs. No em dashes, curly
quotes, ligatures, or -- dash substitutes. Prose only: never rewrite -- inside code or
fenced blocks - there it is real syntax (SQL comments, CLI -- separators) and must stay.
Run the AI Self-Check. Every generated or modified skill gets checked before return.
Separate review from edits. Record the branch for reviews; create or reuse a task branch for tracked edits.
Report every run. Use the Run Report format; never substitute lint/spec status for behavioral scoring.
1---2name: skill-creator3description: · Create/review skills: frontmatter, triggers, overlaps, collection consistency, retrospective updates. Triggers: 'skill creator', 'new skill', 'skill audit', 'skill review', 'update skill library'.4license: MIT5---67# Skill Creator: Meta Skill for Skill Lifecycle Management89Create, review, improve, audit, and maintain AI tool skills. Covers the full lifecycle from10initial draft through quality validation, cross-skill consistency checks, and trigger optimization.1112This skill enforces the conventions established across the custom skill collection. It exists13because consistency is what makes skills predictable - a skill that follows the established14patterns activates reliably, reads clearly, and plays well with the rest of the collection.1516## When to use1718- Creating a new custom skill from scratch19- Reviewing or improving an existing skill20- Auditing the skill collection for consistency, overlaps, or contradictions21- Validating versions, security references, or CVE mentions in skills22- Optimizing a skill's description for better triggering accuracy23- Checking cross-skill references and "Related Skills" sections24- Changing a skill's trigger text after a routing problem has been identified2526## When NOT to use2728- Reviewing application code for correctness or bugs - use **code-review**29- Auditing code for AI-generated patterns or style issues - use **anti-slop**30- Running a full codebase audit across multiple dimensions - use **full-review**31- Creating inline prompts within application code - use **prompt-generator**32- Batch-improving a whole skill collection via evaluation loops - use **skill-refiner**33- Choosing which installed skill should handle a concrete user request - use **skill-router**34- Syncing or refreshing third-party skills from upstream - handle that directly in the repo workflow35- Updating project documentation after infrastructure changes - use **update-docs**36- Writing application code, even if the code is for a tool a skill might use3738## AI Self-Check3940Before returning any generated or modified skill, verify against this list:4142- [ ] **Frontmatter complete**: `name`, `description`, `license`, `metadata.source` (`owner/repo` for published collections or `custom` for unpublished skills), `metadata.date_added` (ISO), `metadata.effort` (low/medium/high)43- [ ] **Name spec-valid**: lowercase alphanumeric + hyphens only, no leading/trailing/consecutive44 hyphens, no reserved words (`anthropic`, `claude`), matches directory name45- [ ] **No XML tags** in `name` or `description` fields (Anthropic platform restriction)46- [ ] **Description is trigger-optimized**: starts with action verbs, includes trigger keywords, mentions related contexts, stays near 200 chars for the collection (240 warn and 600 hard max in `lint-skills.sh`; the portable spec ceiling is 1024 in `validate-spec.sh`)47- [ ] **Compatibility field present** (when skill requires specific tools/platforms): quotes values containing colons48- [ ] **Scope sections present**: "When to use" with concrete scenarios, "When NOT to use"49 cross-referencing related skills by **bold** name (e.g., `use **skill-name**`)50- [ ] **Workflow section with numbered steps**: clear, sequential, actionable51- [ ] **Rules section at the end**: non-negotiable constraints in imperative form52- [ ] **Style compliant**: no banned words (per `CLAUDE.md`/`AGENTS.md`), ASCII by default53 except approved markers such as `· ` and output-contract box glyphs. No em-dashes, curly54 quotes, ligatures, or `--` dash substitutes in SKILL.md/reference prose; preserve real syntax in code and commands.55- [ ] **Target ~500 lines**: if over 500, extract to `references/` with clear pointers. Hard max 60056- [ ] **Reference files use `references/` relative paths**: not hardcoded or tool-specific paths57- [ ] **All references verified**: every tool, CLI flag, IaC resource, config snippet, and58 example command confirmed against actual docs, `--help` output, or registry - not assumed59 from training data. Specifically: tools exist and aren't deprecated/renamed, CLI flags are60 real (AI models invent plausible ones constantly), Terraform providers/resources match the61 registry, Ansible modules/params match `ansible-doc`, Helm values match upstream62 `values.yaml`, K8s fields match the target API version. When web access is unavailable,63 note unverified claims rather than blocking64- [ ] **Version numbers verified and dated**: searched the web for latest stable version of each65 tool, pinned with date (e.g., "v29.3.0 (March 2026)") so staleness is detectable66- [ ] **Cross-skill references are valid**: every mentioned skill name actually exists67- [ ] **AI-age awareness**: if the skill generates code, config, or structured files (including skill files), include an AI self-check section68- [ ] **Context budget justified**: every section earns its token cost (see `references/conventions.md`)69- [ ] **Forward-tested** (high-effort skills, when feasible): during review, a subagent used the skill on a realistic task without leaked context. This is a process check on the reviewer, not a content requirement on the skill - the skill does not need a "forward-test" section. The reviewer notes what was tested or skipped and why.7071- [ ] **Current source checked**: dated versions, CLI flags, API names, and support windows are verified against primary docs before repeating them72- [ ] **Hidden state identified**: local config, credentials, caches, contexts, branches, cluster targets, or previous runs are made explicit before acting73- [ ] **Verification is real**: final checks exercise the actual runtime, parser, service, or integration point instead of only linting prose or happy paths74- [ ] **Routing overlap checked**: new or edited skills do not steal triggers from better-matched existing skills75- [ ] **Spec claims verified**: frontmatter, metadata, and compatibility guidance match the current Agent Skills specification7677## Performance7879- Keep `SKILL.md` compact; move deep examples into references loaded on demand.80- Prefer precise triggers over broad keyword lists that cause unnecessary skill loading.81- Run lint/spec checks before prose polishing so structural failures surface early.8283## Best Practices8485- Write skills as operational instructions, not essays about a domain.86- Include clear When to use/When NOT to use routing and realistic AI self-checks.87- Keep public skills tool-agnostic unless a tool is intrinsic to the skill.88- Treat install/copy/link steps as environment-specific. If skills are sourced directly from a89 repo, edit and verify there instead of distributing to tool dirs unless asked.9091## Workflow9293Before entering any mode, detect the operating context. This skill works on individual skills94or collections, whether inside a skill collection repo, a user's own project, or standalone.9596**Mode routing** - pick the mode that matches the user's signal. Retrospective-update97requests are explicit permission to edit the library, so do not stop at a report-only pass:9899| User signal | Mode |100|---|---|101| "create a skill", "new skill for X", "turn this into a skill" | Mode 1 (Create) |102| "review my skill", "improve this skill", "is this skill good" | Mode 2 (Review) |103| "audit the collection", "check all skills", "health check skills" | Mode 3 (Audit) |104| "fix the description", "skill isn't triggering", "trigger overlap" | Mode 4 (Optimize) |105| "review the conversation", "update the skill library", "what did we learn" | Mode 5 (Retrospective Update) |106107When the signal is ambiguous (e.g., "look at my skill"), ask before committing - Create and108Review diverge quickly and re-running wastes context. Modes can chain: Create -> Review,109Review -> Optimize, Audit -> per-skill Review for flagged items.110For explicit retrospective-update requests, act without asking for confirmation unless the only111possible update is destructive or would create a new class-level skill with uncertain scope.1121131. **Find the collection root** (if one exists): check for a `skills/` directory (common114 convention) or any path the user specifies. Different harnesses store skills in different115 locations - if the default doesn't match, ask or accept a user-supplied path. If no116 collection is found, skip collection-wide checks (cross-references, trigger overlap, audit117 mode) and note what was skipped.1182. **Record git state**: run `git rev-parse --git-dir`; record the branch and dirty paths.119 Report-only checks do not create or switch branches or modify tracked files.120 Before authorized tracked edits, create a task branch following repository conventions,121 unless already on one for this work. Preserve unrelated changes. Without git, report122 "branch unavailable" and fall back to file modification dates.1233. **Single skill vs collection**: Modes 1 (Create) and 2 (Review) work on individual skills124 with or without a collection - collection-dependent steps become best-effort. Mode 3125 (Audit) requires a collection. Mode 4 (Optimize) works standalone but benefits from126 collection context for overlap analysis.127128### Mode 1: Create a New Skill129130#### Step 1: Capture intent131132Understand what the skill should do. Extract from conversation context:133- **Core task**: what should the skill enable?134- **Trigger scenarios**: what user phrases or contexts should activate it?135- **Output format**: what does success look like?136- **Related skills**: which existing skills overlap or complement this one?137138If the user already described the workflow in the conversation (e.g., "turn what we just did into a139skill"), extract the steps, tools used, corrections made, and patterns observed.140141#### Step 2: Research the domain142143Before drafting, gather context:1441. **Check existing skills** for overlap (if a collection is available) - read the "When to use"145 / "When NOT to use" of potentially related skills. Don't create a skill that duplicates146 existing coverage.1472. **Verify tools exist** - for every tool, library, CLI, or platform the skill references,148 confirm it exists, is not deprecated or renamed, and is actively maintained. Search the web149 or check the project's GitHub/registry page. AI models hallucinate tool names, flag names,150 and API endpoints - treat every claim as unverified until checked. If a tool was replaced151 (e.g., CDKTF is deprecated in favor of native HCL, Ingress is frozen with new features152 going to Gateway API), reference the current recommended approach.1533. **Check versions** - search for the latest stable release of every tool mentioned. Don't154 guess or rely on training data - versions go stale fast. Pin them with dates so staleness155 is detectable later (e.g., "Docker Engine 29.3.0 (March 2026)").1564. **Check security** - search for recent CVEs, supply chain incidents, or known vulnerabilities157 relevant to the domain. The custom skill collection tracks these actively - verify current158 advisories rather than relying on specific CVE numbers from training data.1595. **Check compliance** - if the domain touches infrastructure, containers, CI/CD, auth, or data160 handling, consider PCI-DSS 4.0 relevance. Many users work in regulated environments or run161 self-hosted infrastructure where compliance matters.162163#### Step 3: Draft the skill164165Follow the structural pattern for the skill's effort tier in `references/conventions.md` (Section 3).166Key elements every custom skill needs:167168- **Frontmatter**: `name`, `description`, `license`, `metadata` block (see conventions Section 2)169- **"When to use" / "When NOT to use"**: concrete scenarios, cross-reference adjacent skills170- **Workflow**: numbered steps, sequential, actionable171- **Rules**: non-negotiable constraints at the end, imperative form172- **AI Self-Check**: required when the skill generates code, config, or structured files173- **Reference Files / Related Skills**: when applicable174175For tool/platform skills, include a **Target versions** block with pinned versions and dates.176177**Writing guidelines:**178- Imperative form in instructions ("Check the config", not "You should check the config")179- Explain **why**, not just **what** - models generalize from motivation180- Don't use ALL CAPS for emphasis unless it's genuinely critical. Calm, direct instructions181 outperform shouting across most modern models.182- Include "What NOT to flag" or "What NOT to do" sections where false positives are likely183- Use tables for reference data, prose for workflows, checklists for validation184- Consider headless execution: skills may run in non-interactive contexts (Claude Code `--bare`,185 Cursor Automations, Codex `exec`). Avoid blocking on user confirmation in steps that could186 run unattended - provide sensible defaults or document assumptions instead187188#### Step 4: Validate the draft189190Run through the AI Self-Check above. Then:1911921. **Cross-reference check**: grep the skill collection for every skill name mentioned in the draft.193 Verify they exist and the characterization is accurate.1942. **Trigger overlap check**: compare the description against all other skill descriptions. Flag195 any that share >50% of trigger keywords.1963. **Convention check**: compare frontmatter, structure, and style against 2-3 existing custom197 skills in the same `effort` tier.1984. **Script-runner reality check**: if the collection uses helper scripts like `lint-skills.sh`199 or `validate-spec.sh`, verify their expected input shape before trusting the result. Some200 collections expect a parent directory containing many skill subdirectories, not a direct path201 to one skill. For single-skill validation, stage the skill inside a temporary parent such as202 `<tmp>/skills/<skill-name>/SKILL.md` and run the scripts against `<tmp>/skills`.203204#### Step 5: Write the files205206- Write `SKILL.md` to the appropriate location: `<collection-root>/<skill-name>/SKILL.md` if207 inside a collection, or the user's specified path for standalone skills208- Write reference files (if any) to `<skill-dir>/references/`209- If a collection inventory exists, update it and re-run cross-reference checks210- If `skill_manage` cannot modify the target because the skill lives in an external repo or211 non-managed directory, fall back to direct file edits with `patch` or `write_file` on the212 actual repo paths. Do not stop at the tool limitation if the files are writable and the user213 asked for the change in-place.214215#### Step 6: Forward-test216217Forward-testing has a subagent use the skill on realistic tasks without seeing your diagnosis.218Use it for high-effort skills and for medium-effort skills with multi-step or scripted workflows.219Skip it for low-effort wrappers, unavailable subagents, production-only access, long-running220infra, missing credentials, or explicit user opt-out; note the skip reason.2212221. Pick 2-3 realistic tasks, including one edge case.2232. Launch with a real-user prompt and raw artifacts only.2243. Check whether the agent followed the workflow, missed steps, or hallucinated.2254. Clean up artifacts between iterations.226227If forward-testing only succeeds with leaked context, tighten the skill instead of weakening228the test.229230### Mode 2: Review / Improve an Existing Skill231232#### Step 1: Read the skill thoroughly233234Read the SKILL.md and all reference files. No skipping - the whole point is catching issues.235236#### Step 2: Run the quality checks237238**Structural checks:**239- Frontmatter completeness (name, description, license, metadata.source, metadata.date_added, metadata.effort)240- Section presence (When to use, When NOT to use, Workflow, Rules)241- AI Self-Check section (required for skills that generate code/config)242- Reference file paths resolve (check `references/` directory)243- Related Skills section present and accurate (when the skill interacts with other skills)244- Target ~500 lines (SKILL.md body), hard max 600245246**Content checks:**247- Tools exist? Every tool, CLI, library, or platform named in the skill must be verified as248 real, not deprecated, and not renamed. Search the web or check the project's GitHub/registry.249 AI hallucinates tool names, CLI flags, and API endpoints constantly - treat every reference250 as unverified until confirmed. If a tool was replaced, the skill should reference the251 replacement (e.g., CDKTF deprecated in favor of native HCL, Ingress frozen with Gateway API252 as the recommended path forward, lazy_static superseded by std::sync::LazyLock).253- CLI flags and IaC resources real? Verify flags/subcommands against actual `--help` or docs.254 For Terraform: confirm provider names and resource type arguments against the registry. For255 Ansible: confirm module names and parameters against `ansible-doc` or Galaxy. For Helm:256 confirm chart values against upstream `values.yaml`. For K8s: confirm API fields against257 the target API version. AI invents plausible-sounding arguments for all of these.258- Version numbers current? Search the web for latest stable versions of tools that appear in259 normative claims (pinned versions, "Target versions" blocks, compatibility fields). Don't260 verify every passing mention - focus on versions that drive behavior or could mislead.261- Security references current? Check for new CVEs since the skill's `date_added`.262- Cross-skill references valid (if a collection is available)? Every skill name mentioned must263 exist as a published (non-gitignored) skill in the collection. For standalone skills,264 note unverifiable references instead of failing them.265- "When NOT to use" complete? Should reference all skills with overlapping trigger space.266267**AI-age checks:**268- Does the skill generate code, config, structured output, or orchestrate other skills? If yes,269 does it have an AI Self-Check section? This is the #1 miss across skill collections -270 skills that produce output need a pre-flight checklist even if they're "just" orchestrators.271- Does the AI Self-Check cover the domain's common AI mistakes? (e.g., unpinned versions,272 missing security contexts, over-abstraction, hallucinated CLI flags)273- Are there patterns that would produce AI slop? (excessive MUSTs, over-defensive instructions,274 generic naming in examples)275276**Compliance checks** (for infrastructure skills):277- PCI-DSS 4.0 mapping present where applicable?278- All future-dated requirements (mandatory since March 31, 2025) reflected?279- No hardcoded secrets in examples?280281**Script-runner reality check:** verify helper script input shape. If a single-skill run reports zero skills or odd output, re-run against the collection root and filter for the target.282283#### Step 3: Report findings284285Use severity ratings:286- **P0**: wrong information, security risk, broken cross-references, or harmful generated instructions287- **P1**: stale versions, missing required sections, trigger overlap unhandled, or invalid output contracts288- **P2**: incomplete verification, weak behavioral coverage, or ambiguous workflow ordering289- **P3**: style inconsistency, missing "Related Skills", or wording that could be clearer290- **info**: confirmed strengths or scoped notes; note skipped checks in the report's skipped-checks field291292#### Step 4: Confirm scope293294For report-only requests, present findings without editing. Apply already-authorized fixes without295asking again. Ask only for missing scope or an unauthorized destructive or external action.296Explicit user instructions take precedence. Programmatic callers must pass the authorized scope;297otherwise report findings and stop.298299#### Step 5: Apply fixes300301Edit the skill files to address confirmed findings. For version updates, always search the web302first - don't guess. Do not modify `date_added` (it records when the skill was created, used303for historical tracking). If the skill needs a freshness marker, the `date_added` field serves304that purpose for the initial creation; substantial refreshes are tracked via git history.305306#### Step 6: Forward-test307308After substantial changes, forward-test the skill (see Mode 1, Step 6). Required for309high-effort skills after workflow restructuring, reordered steps, or new references.310Optional for narrow edits like version refreshes, wording cleanup, or metadata-only fixes.311Especially valuable when:312- The workflow was restructured or steps were reordered313- New reference files were added and need discovery testing314- Trigger description was rewritten (test activation, not just content)315316### Mode 3: Audit the Skill Collection317318Run a health check across all skills. Useful periodically or after adding/removing skills.319320#### Step 1: Inventory321322```bash323# Detect collection root - adapt to your layout324SKILL_ROOT="${SKILL_ROOT:-skills}"325[[ -d "$SKILL_ROOT" ]] || { echo "No skill collection at $SKILL_ROOT"; exit 1; }326327# Check git availability for gitignore filtering and freshness328IN_GIT=false329git -C "$SKILL_ROOT" rev-parse --git-dir &>/dev/null && IN_GIT=true330331for skill in "$SKILL_ROOT"/*/SKILL.md; do332 dir=$(dirname "$skill")333 name=$(basename "$dir")334 [[ "$name" == ".backups" || "$name" == ".cook" ]] && continue # tooling dirs, not skills335 $IN_GIT && git -C "$dir" check-ignore -q . 2>/dev/null && continue336 source=$(grep -m1 '[[:space:]]source:' "$skill" 2>/dev/null | sed 's/.*source: *//' || echo "unknown")337 date=$(grep -m1 '[[:space:]]date_added:' "$skill" 2>/dev/null | sed 's/.*date_added: *"//' | sed 's/"//' || echo "unknown")338 effort=$(grep -m1 '[[:space:]]effort:' "$skill" 2>/dev/null | sed 's/.*effort: *//' || echo "missing")339 if $IN_GIT; then340 last_mod=$(git -C "$SKILL_ROOT" log -1 --format=%cd --date=short - "$name" 2>/dev/null || echo "unknown")341 else342 # Portable: GNU stat then BSD stat; GNU date then BSD date343 mtime=$(stat -c %Y "$skill" 2>/dev/null || stat -f %m "$skill" 2>/dev/null || echo 0)344 last_mod=$(date -d "@$mtime" +%Y-%m-%d 2>/dev/null || date -r "$mtime" +%Y-%m-%d 2>/dev/null || echo "unknown")345 fi346 printf "%-25s %-10s %-12s %-12s %s\n" "$name" "$source" "$date" "$last_mod" "$effort"347done348```349350#### Step 2: Cross-reference matrix351352For each skill, check:3531. Every skill name mentioned in "When NOT to use" exists as a published (non-gitignored) skill3542. Every skill name mentioned in "Related Skills" exists as a published (non-gitignored) skill3553. Every declared reference file path has a corresponding file3564. Installer, publish, or registry files list the published skills correctly3575. Lint scripts, CI checks, and count tooling exclude gitignored (private) skills -358 tools that iterate `skills/*/` directly will overcount unless they filter with359 `git check-ignore`360361#### Step 3: Trigger overlap analysis362363Compare all skill descriptions pairwise. Flag pairs that share significant trigger keywords364without mutual disambiguation (no "When NOT to use" cross-reference).365366#### Step 4: Freshness sweep367368Flag skills where the last modification (per git history, or file mtime if git is unavailable)369is >30 days old AND the skill covers fast-moving domains:370371**Fast-moving** (>30 days = stale risk): docker, kubernetes, ci-cd, terraform, ansible,372databases, git, security-audit, code-review (AI-age patterns section), mcp, networking, arch-btw373374**Slow-moving** (>30 days = probably fine): firewall-appliance, command-prompt, prompt-generator,375update-docs, skill-creator, full-review, anti-slop, lockpick376377If the collection's conventions change significantly, temporarily reclassify skill-creator378as fast-moving until the conventions stabilize.379380For each stale high-effort skill, search the web for:381- New major/minor releases of referenced tools382- New CVEs affecting referenced tools383- Deprecated or renamed tools/features since the skill was written384- New supply chain incidents (these move the fastest - Trivy was 6 days old when we caught it)385386#### Step 5: Report387388Present findings grouped by severity. Include actionable fixes for each finding.389390### Mode 5: Retrospective Update391392When the user asks to review a completed conversation and update the skill library, capture393reusable class-level learning, not a session log. Patch a loaded or umbrella skill for394reusable workflow, routing, preference, or pitfall changes; create a new skill only when no395class-level fit exists. In the public skills repo, read gitignored instruction files such as396`AGENTS.md`, but do not force-add them; stage only intended public skill paths and validate.397398### Mode 4: Optimize Skill Description399400The `description` field in frontmatter is the primary triggering mechanism. Optimize it for401accurate activation.402403#### Step 1: Analyze current triggers404405Read the skill's description and identify:406- Primary trigger keywords407- Secondary trigger contexts408- Potential false-positive triggers (keywords shared with other skills)409- Missing triggers (scenarios where the skill should activate but the description doesn't cover)410411#### Step 2: Compare against the collection412413If a collection is available, check which other skills share trigger keywords. Ensure the414description differentiates clearly. For standalone skills, skip this step.415416#### Step 3: Rewrite the description417418Follow these patterns from high-performing custom skill descriptions:419- **Start with action verbs**: "Use when writing, reviewing, or architecting..."420- **Include specific trigger keywords**: list them inline, e.g., "Triggers: 'keyword1', 'keyword2'"421- **Mention adjacent skills to avoid**: "Not for X (use Y instead)"422- **Be slightly pushy**: many tools undertrigger skills by default. Include edge cases.423- **Stay near 200 characters**: the collection warns above 240 and errors above 600. Codex loads every skill description at startup, so concise descriptions prevent startup truncation.424- **Treat 1024 as the platform ceiling, not the collection target**: truncation happens there, but the repo convention is stricter425426#### Step 4: Validate427428After rewriting, list 5 user prompts that should trigger the skill and 5 that shouldn't. For429each, state whether the rewritten description would route correctly and why. This is a heuristic430check - actual routing depends on the harness's skill-matching logic, which varies by tool.431The goal is catching obvious gaps and false-positive magnets, not deterministic validation.432433#### Step 5: Apply434435Edit the skill's frontmatter with the rewritten description. If the skill is part of a436collection, run Mode 2 Step 2 (quality checks) to verify no regressions were introduced.437438## Run Report439440Record every run in a human-readable report, even for report-only checks. Include branch, mode,441scope, score or "not scored - report only", changed files, finding counts, verification results,442skipped checks, and next action. Keep metadata in the saved report; use compact inline output when applicable.443444For edited skills, report before/after checklist pass rate and behavioral or forward-test scores445plus keep/reject decisions. For audit-only runs, report structural gate and finding counts446instead of inventing a composite.447448## Reference Files449450- `references/conventions.md` - the complete convention guide: frontmatter fields, structural451 patterns by effort tier, style rules (ASCII, banned words), reference file organization,452 cross-skill patterns, AI Self-Check patterns, and a snapshot inventory of the upstream453 collection (useful as a reference, not an authoritative list for other repos)454455## Output Contract456457See `references/output-contract.md` for the full contract.458459- **Skill name:** SKILL-CREATOR460- **Deliverable bucket:** `audits`461- **Mode:** conditional. When invoked to **analyze, review, audit, or improve** existing repo content (e.g., Mode 2 review or Mode 3 audit), emit the full contract - monospace inline header, severity-grouped inline summary, linked Markdown deliverable, and concise monospace conclusion - and write the deliverable to `docs/local/audits/skill-creator/<YYYY-MM-DD>-<slug>.md`. When invoked to **answer a question, teach a concept, build a new artifact, or generate content** (e.g., Mode 1 create), respond freely without the contract; the existing `## Run Report` guidance applies to that build path.462- **Severity scale:** `P0 | P1 | P2 | P3 | info` (see shared contract; only used in audit/review mode).463464## Related Skills465466- **anti-slop** - audits code quality. Apply it to example code and reference patterns.467- **full-review** - orchestrates four application-repo audits; this skill audits the skill collection.468- **prompt-generator** - targets one-off prompts in `docs/local/prompts/`, not reusable skill files.469- **code-review** - reviews application code for correctness. This skill reviews skill files470 for convention compliance, not code correctness.471- **skill-router** - chooses the best installed skill for one concrete request. This skill owns472 edits to trigger text and collection-wide overlap analysis after a routing defect is identified.473474## Rules4754761. **Read before edit.** Always read a skill's SKILL.md and reference files before modifying.4772. **Conventions are non-negotiable.** Custom skills need `metadata.source`, `date_added`,478 `effort`, "When to use", "When NOT to use", Workflow, and Rules sections.4793. **Verify everything, assume nothing.** Confirm tools, versions, flags, APIs, and behavior via480 source docs, `--help`, registries, or explicit "unverified" notes. Do not guess.4814. **Prefer dedicated skill workflows over generic helpers.**4825. **Update the inventory.** After creating, removing, or renaming a skill, update published483 inventories and verify counts from live public skills.4846. **No AI slop in skills.** Avoid comment noise, over-abstraction, ALL CAPS theater, and485 "just in case" instructions.4867. **ASCII by default.** Keep skill prose ASCII except collection-approved markers such as the487 public-description `· ` prefix and shared output-contract box glyphs. No em dashes, curly488 quotes, ligatures, or `--` dash substitutes. Prose only: never rewrite `--` inside code or489 fenced blocks - there it is real syntax (SQL comments, CLI `--` separators) and must stay.4908. **Run the AI Self-Check.** Every generated or modified skill gets checked before return.4919. **Separate review from edits.** Record the branch for reviews; create or reuse a task branch for tracked edits.49210. **Report every run.** Use the Run Report format; never substitute lint/spec status for behavioral scoring.
Run npx skillmds@latest add iuliandita/skill-creator in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
· Create/review skills: frontmatter, triggers, overlaps, collection consistency, retrospective updates. Triggers: 'skill creator', 'new skill', 'skill audit', 'skill review', 'update skill library'. It is listed under Security on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Capability flags: reads secrets. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under MIT.
iuliandita (@iuliandita) published this skill. Their other Agent Skills are listed on their SkillMD profile.