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: >4 · Create/review skills: frontmatter, triggers, overlaps, collection consistency, retrospective updates. Triggers: 'skill creator', 'new skill', 'skill audit', 'skill review', 'update skill library'.5license: MIT6compatibility: "Optional: git (for freshness and gitignore filtering)"7metadata:8 source: iuliandita/skills9 date_added: "2026-03-25"10 effort: high11 argument_hint: "<action> [skill-name]"12---1314# Skill Creator: Meta Skill for Skill Lifecycle Management1516Create, review, improve, audit, and maintain AI tool skills. Covers the full lifecycle from17initial draft through quality validation, cross-skill consistency checks, and trigger optimization.1819This skill enforces the conventions established across the custom skill collection. It exists20because consistency is what makes skills predictable - a skill that follows the established21patterns activates reliably, reads clearly, and plays well with the rest of the collection.2223## When to use2425- Creating a new custom skill from scratch26- Reviewing or improving an existing skill27- Auditing the skill collection for consistency, overlaps, or contradictions28- Validating versions, security references, or CVE mentions in skills29- Optimizing a skill's description for better triggering accuracy30- Checking cross-skill references and "Related Skills" sections31- Changing a skill's trigger text after a routing problem has been identified3233## When NOT to use3435- Reviewing application code for correctness or bugs - use **code-review**36- Auditing code for AI-generated patterns or style issues - use **anti-slop**37- Running a full codebase audit across multiple dimensions - use **full-review**38- Creating inline prompts within application code - use **prompt-generator**39- Batch-improving a whole skill collection via evaluation loops - use **skill-refiner**40- Choosing which installed skill should handle a concrete user request - use **skill-router**41- Syncing or refreshing third-party skills from upstream - handle that directly in the repo workflow42- Updating project documentation after infrastructure changes - use **update-docs**43- Writing application code, even if the code is for a tool a skill might use4445## AI Self-Check4647Before returning any generated or modified skill, verify against this list:4849- [ ] **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)50- [ ] **Name spec-valid**: lowercase alphanumeric + hyphens only, no leading/trailing/consecutive51 hyphens, no reserved words (`anthropic`, `claude`), matches directory name52- [ ] **No XML tags** in `name` or `description` fields (Anthropic platform restriction)53- [ ] **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`)54- [ ] **Compatibility field present** (when skill requires specific tools/platforms): quotes values containing colons55- [ ] **Scope sections present**: "When to use" with concrete scenarios, "When NOT to use"56 cross-referencing related skills by **bold** name (e.g., `use **skill-name**`)57- [ ] **Workflow section with numbered steps**: clear, sequential, actionable58- [ ] **Rules section at the end**: non-negotiable constraints in imperative form59- [ ] **Style compliant**: no banned words (per `CLAUDE.md`/`AGENTS.md`), ASCII by default60 except approved markers such as `· ` and output-contract box glyphs. No em-dashes, curly61 quotes, ligatures, or `--` dash substitutes in SKILL.md/reference prose; preserve real syntax in code and commands.62- [ ] **Target ~500 lines**: if over 500, extract to `references/` with clear pointers. Hard max 60063- [ ] **Reference files use `references/` relative paths**: not hardcoded or tool-specific paths64- [ ] **All references verified**: every tool, CLI flag, IaC resource, config snippet, and65 example command confirmed against actual docs, `--help` output, or registry - not assumed66 from training data. Specifically: tools exist and aren't deprecated/renamed, CLI flags are67 real (AI models invent plausible ones constantly), Terraform providers/resources match the68 registry, Ansible modules/params match `ansible-doc`, Helm values match upstream69 `values.yaml`, K8s fields match the target API version. When web access is unavailable,70 note unverified claims rather than blocking71- [ ] **Version numbers verified and dated**: searched the web for latest stable version of each72 tool, pinned with date (e.g., "v29.3.0 (March 2026)") so staleness is detectable73- [ ] **Cross-skill references are valid**: every mentioned skill name actually exists74- [ ] **AI-age awareness**: if the skill generates code, config, or structured files (including skill files), include an AI self-check section75- [ ] **Context budget justified**: every section earns its token cost (see `references/conventions.md`)76- [ ] **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.7778- [ ] **Current source checked**: dated versions, CLI flags, API names, and support windows are verified against primary docs before repeating them79- [ ] **Hidden state identified**: local config, credentials, caches, contexts, branches, cluster targets, or previous runs are made explicit before acting80- [ ] **Verification is real**: final checks exercise the actual runtime, parser, service, or integration point instead of only linting prose or happy paths81- [ ] **Routing overlap checked**: new or edited skills do not steal triggers from better-matched existing skills82- [ ] **Spec claims verified**: frontmatter, metadata, and compatibility guidance match the current Agent Skills specification8384## Performance8586- Keep `SKILL.md` compact; move deep examples into references loaded on demand.87- Prefer precise triggers over broad keyword lists that cause unnecessary skill loading.88- Run lint/spec checks before prose polishing so structural failures surface early.8990## Best Practices9192- Write skills as operational instructions, not essays about a domain.93- Include clear When to use/When NOT to use routing and realistic AI self-checks.94- Keep public skills tool-agnostic unless a tool is intrinsic to the skill.95- Treat install/copy/link steps as environment-specific. If skills are sourced directly from a96 repo, edit and verify there instead of distributing to tool dirs unless asked.9798## Workflow99100Before entering any mode, detect the operating context. This skill works on individual skills101or collections, whether inside a skill collection repo, a user's own project, or standalone.102103**Mode routing** - pick the mode that matches the user's signal. Retrospective-update104requests are explicit permission to edit the library, so do not stop at a report-only pass:105106| User signal | Mode |107|---|---|108| "create a skill", "new skill for X", "turn this into a skill" | Mode 1 (Create) |109| "review my skill", "improve this skill", "is this skill good" | Mode 2 (Review) |110| "audit the collection", "check all skills", "health check skills" | Mode 3 (Audit) |111| "fix the description", "skill isn't triggering", "trigger overlap" | Mode 4 (Optimize) |112| "review the conversation", "update the skill library", "what did we learn" | Mode 5 (Retrospective Update) |113114When the signal is ambiguous (e.g., "look at my skill"), ask before committing - Create and115Review diverge quickly and re-running wastes context. Modes can chain: Create -> Review,116Review -> Optimize, Audit -> per-skill Review for flagged items.117For explicit retrospective-update requests, act without asking for confirmation unless the only118possible update is destructive or would create a new class-level skill with uncertain scope.1191201. **Find the collection root** (if one exists): check for a `skills/` directory (common121 convention) or any path the user specifies. Different harnesses store skills in different122 locations - if the default doesn't match, ask or accept a user-supplied path. If no123 collection is found, skip collection-wide checks (cross-references, trigger overlap, audit124 mode) and note what was skipped.1252. **Record git state**: run `git rev-parse --git-dir`; record the branch and dirty paths.126 Report-only checks do not create or switch branches or modify tracked files.127 Before authorized tracked edits, create a task branch following repository conventions,128 unless already on one for this work. Preserve unrelated changes. Without git, report129 "branch unavailable" and fall back to file modification dates.1303. **Single skill vs collection**: Modes 1 (Create) and 2 (Review) work on individual skills131 with or without a collection - collection-dependent steps become best-effort. Mode 3132 (Audit) requires a collection. Mode 4 (Optimize) works standalone but benefits from133 collection context for overlap analysis.134135### Mode 1: Create a New Skill136137#### Step 1: Capture intent138139Understand what the skill should do. Extract from conversation context:140- **Core task**: what should the skill enable?141- **Trigger scenarios**: what user phrases or contexts should activate it?142- **Output format**: what does success look like?143- **Related skills**: which existing skills overlap or complement this one?144145If the user already described the workflow in the conversation (e.g., "turn what we just did into a146skill"), extract the steps, tools used, corrections made, and patterns observed.147148#### Step 2: Research the domain149150Before drafting, gather context:1511. **Check existing skills** for overlap (if a collection is available) - read the "When to use"152 / "When NOT to use" of potentially related skills. Don't create a skill that duplicates153 existing coverage.1542. **Verify tools exist** - for every tool, library, CLI, or platform the skill references,155 confirm it exists, is not deprecated or renamed, and is actively maintained. Search the web156 or check the project's GitHub/registry page. AI models hallucinate tool names, flag names,157 and API endpoints - treat every claim as unverified until checked. If a tool was replaced158 (e.g., CDKTF is deprecated in favor of native HCL, Ingress is frozen with new features159 going to Gateway API), reference the current recommended approach.1603. **Check versions** - search for the latest stable release of every tool mentioned. Don't161 guess or rely on training data - versions go stale fast. Pin them with dates so staleness162 is detectable later (e.g., "Docker Engine 29.3.0 (March 2026)").1634. **Check security** - search for recent CVEs, supply chain incidents, or known vulnerabilities164 relevant to the domain. The custom skill collection tracks these actively - verify current165 advisories rather than relying on specific CVE numbers from training data.1665. **Check compliance** - if the domain touches infrastructure, containers, CI/CD, auth, or data167 handling, consider PCI-DSS 4.0 relevance. Many users work in regulated environments or run168 self-hosted infrastructure where compliance matters.169170#### Step 3: Draft the skill171172Follow the structural pattern for the skill's effort tier in `references/conventions.md` (Section 3).173Key elements every custom skill needs:174175- **Frontmatter**: `name`, `description`, `license`, `metadata` block (see conventions Section 2)176- **"When to use" / "When NOT to use"**: concrete scenarios, cross-reference adjacent skills177- **Workflow**: numbered steps, sequential, actionable178- **Rules**: non-negotiable constraints at the end, imperative form179- **AI Self-Check**: required when the skill generates code, config, or structured files180- **Reference Files / Related Skills**: when applicable181182For tool/platform skills, include a **Target versions** block with pinned versions and dates.183184**Writing guidelines:**185- Imperative form in instructions ("Check the config", not "You should check the config")186- Explain **why**, not just **what** - models generalize from motivation187- Don't use ALL CAPS for emphasis unless it's genuinely critical. Calm, direct instructions188 outperform shouting across most modern models.189- Include "What NOT to flag" or "What NOT to do" sections where false positives are likely190- Use tables for reference data, prose for workflows, checklists for validation191- Consider headless execution: skills may run in non-interactive contexts (Claude Code `--bare`,192 Cursor Automations, Codex `exec`). Avoid blocking on user confirmation in steps that could193 run unattended - provide sensible defaults or document assumptions instead194195#### Step 4: Validate the draft196197Run through the AI Self-Check above. Then:1981991. **Cross-reference check**: grep the skill collection for every skill name mentioned in the draft.200 Verify they exist and the characterization is accurate.2012. **Trigger overlap check**: compare the description against all other skill descriptions. Flag202 any that share >50% of trigger keywords.2033. **Convention check**: compare frontmatter, structure, and style against 2-3 existing custom204 skills in the same `effort` tier.2054. **Script-runner reality check**: if the collection uses helper scripts like `lint-skills.sh`206 or `validate-spec.sh`, verify their expected input shape before trusting the result. Some207 collections expect a parent directory containing many skill subdirectories, not a direct path208 to one skill. For single-skill validation, stage the skill inside a temporary parent such as209 `<tmp>/skills/<skill-name>/SKILL.md` and run the scripts against `<tmp>/skills`.210211#### Step 5: Write the files212213- Write `SKILL.md` to the appropriate location: `<collection-root>/<skill-name>/SKILL.md` if214 inside a collection, or the user's specified path for standalone skills215- Write reference files (if any) to `<skill-dir>/references/`216- If a collection inventory exists, update it and re-run cross-reference checks217- If `skill_manage` cannot modify the target because the skill lives in an external repo or218 non-managed directory, fall back to direct file edits with `patch` or `write_file` on the219 actual repo paths. Do not stop at the tool limitation if the files are writable and the user220 asked for the change in-place.221222#### Step 6: Forward-test223224Forward-testing has a subagent use the skill on realistic tasks without seeing your diagnosis.225Use it for high-effort skills and for medium-effort skills with multi-step or scripted workflows.226Skip it for low-effort wrappers, unavailable subagents, production-only access, long-running227infra, missing credentials, or explicit user opt-out; note the skip reason.2282291. Pick 2-3 realistic tasks, including one edge case.2302. Launch with a real-user prompt and raw artifacts only.2313. Check whether the agent followed the workflow, missed steps, or hallucinated.2324. Clean up artifacts between iterations.233234If forward-testing only succeeds with leaked context, tighten the skill instead of weakening235the test.236237### Mode 2: Review / Improve an Existing Skill238239#### Step 1: Read the skill thoroughly240241Read the SKILL.md and all reference files. No skipping - the whole point is catching issues.242243#### Step 2: Run the quality checks244245**Structural checks:**246- Frontmatter completeness (name, description, license, metadata.source, metadata.date_added, metadata.effort)247- Section presence (When to use, When NOT to use, Workflow, Rules)248- AI Self-Check section (required for skills that generate code/config)249- Reference file paths resolve (check `references/` directory)250- Related Skills section present and accurate (when the skill interacts with other skills)251- Target ~500 lines (SKILL.md body), hard max 600252253**Content checks:**254- Tools exist? Every tool, CLI, library, or platform named in the skill must be verified as255 real, not deprecated, and not renamed. Search the web or check the project's GitHub/registry.256 AI hallucinates tool names, CLI flags, and API endpoints constantly - treat every reference257 as unverified until confirmed. If a tool was replaced, the skill should reference the258 replacement (e.g., CDKTF deprecated in favor of native HCL, Ingress frozen with Gateway API259 as the recommended path forward, lazy_static superseded by std::sync::LazyLock).260- CLI flags and IaC resources real? Verify flags/subcommands against actual `--help` or docs.261 For Terraform: confirm provider names and resource type arguments against the registry. For262 Ansible: confirm module names and parameters against `ansible-doc` or Galaxy. For Helm:263 confirm chart values against upstream `values.yaml`. For K8s: confirm API fields against264 the target API version. AI invents plausible-sounding arguments for all of these.265- Version numbers current? Search the web for latest stable versions of tools that appear in266 normative claims (pinned versions, "Target versions" blocks, compatibility fields). Don't267 verify every passing mention - focus on versions that drive behavior or could mislead.268- Security references current? Check for new CVEs since the skill's `date_added`.269- Cross-skill references valid (if a collection is available)? Every skill name mentioned must270 exist as a published (non-gitignored) skill in the collection. For standalone skills,271 note unverifiable references instead of failing them.272- "When NOT to use" complete? Should reference all skills with overlapping trigger space.273274**AI-age checks:**275- Does the skill generate code, config, structured output, or orchestrate other skills? If yes,276 does it have an AI Self-Check section? This is the #1 miss across skill collections -277 skills that produce output need a pre-flight checklist even if they're "just" orchestrators.278- Does the AI Self-Check cover the domain's common AI mistakes? (e.g., unpinned versions,279 missing security contexts, over-abstraction, hallucinated CLI flags)280- Are there patterns that would produce AI slop? (excessive MUSTs, over-defensive instructions,281 generic naming in examples)282283**Compliance checks** (for infrastructure skills):284- PCI-DSS 4.0 mapping present where applicable?285- All future-dated requirements (mandatory since March 31, 2025) reflected?286- No hardcoded secrets in examples?287288**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.289290#### Step 3: Report findings291292Use severity ratings:293- **P0**: wrong information, security risk, broken cross-references, or harmful generated instructions294- **P1**: stale versions, missing required sections, trigger overlap unhandled, or invalid output contracts295- **P2**: incomplete verification, weak behavioral coverage, or ambiguous workflow ordering296- **P3**: style inconsistency, missing "Related Skills", or wording that could be clearer297- **info**: confirmed strengths or scoped notes; note skipped checks in the report's skipped-checks field298299#### Step 4: Confirm scope300301For report-only requests, present findings without editing. Apply already-authorized fixes without302asking again. Ask only for missing scope or an unauthorized destructive or external action.303Explicit user instructions take precedence. Programmatic callers must pass the authorized scope;304otherwise report findings and stop.305306#### Step 5: Apply fixes307308Edit the skill files to address confirmed findings. For version updates, always search the web309first - don't guess. Do not modify `date_added` (it records when the skill was created, used310for historical tracking). If the skill needs a freshness marker, the `date_added` field serves311that purpose for the initial creation; substantial refreshes are tracked via git history.312313#### Step 6: Forward-test314315After substantial changes, forward-test the skill (see Mode 1, Step 6). Required for316high-effort skills after workflow restructuring, reordered steps, or new references.317Optional for narrow edits like version refreshes, wording cleanup, or metadata-only fixes.318Especially valuable when:319- The workflow was restructured or steps were reordered320- New reference files were added and need discovery testing321- Trigger description was rewritten (test activation, not just content)322323### Mode 3: Audit the Skill Collection324325Run a health check across all skills. Useful periodically or after adding/removing skills.326327#### Step 1: Inventory328329```bash330# Detect collection root - adapt to your layout331SKILL_ROOT="${SKILL_ROOT:-skills}"332[[ -d "$SKILL_ROOT" ]] || { echo "No skill collection at $SKILL_ROOT"; exit 1; }333334# Check git availability for gitignore filtering and freshness335IN_GIT=false336git -C "$SKILL_ROOT" rev-parse --git-dir &>/dev/null && IN_GIT=true337338for skill in "$SKILL_ROOT"/*/SKILL.md; do339 dir=$(dirname "$skill")340 name=$(basename "$dir")341 [[ "$name" == ".backups" || "$name" == ".cook" ]] && continue # tooling dirs, not skills342 $IN_GIT && git -C "$dir" check-ignore -q . 2>/dev/null && continue343 source=$(grep -m1 '[[:space:]]source:' "$skill" 2>/dev/null | sed 's/.*source: *//' || echo "unknown")344 date=$(grep -m1 '[[:space:]]date_added:' "$skill" 2>/dev/null | sed 's/.*date_added: *"//' | sed 's/"//' || echo "unknown")345 effort=$(grep -m1 '[[:space:]]effort:' "$skill" 2>/dev/null | sed 's/.*effort: *//' || echo "missing")346 if $IN_GIT; then347 last_mod=$(git -C "$SKILL_ROOT" log -1 --format=%cd --date=short - "$name" 2>/dev/null || echo "unknown")348 else349 # Portable: GNU stat then BSD stat; GNU date then BSD date350 mtime=$(stat -c %Y "$skill" 2>/dev/null || stat -f %m "$skill" 2>/dev/null || echo 0)351 last_mod=$(date -d "@$mtime" +%Y-%m-%d 2>/dev/null || date -r "$mtime" +%Y-%m-%d 2>/dev/null || echo "unknown")352 fi353 printf "%-25s %-10s %-12s %-12s %s\n" "$name" "$source" "$date" "$last_mod" "$effort"354done355```356357#### Step 2: Cross-reference matrix358359For each skill, check:3601. Every skill name mentioned in "When NOT to use" exists as a published (non-gitignored) skill3612. Every skill name mentioned in "Related Skills" exists as a published (non-gitignored) skill3623. Every declared reference file path has a corresponding file3634. Installer, publish, or registry files list the published skills correctly3645. Lint scripts, CI checks, and count tooling exclude gitignored (private) skills -365 tools that iterate `skills/*/` directly will overcount unless they filter with366 `git check-ignore`367368#### Step 3: Trigger overlap analysis369370Compare all skill descriptions pairwise. Flag pairs that share significant trigger keywords371without mutual disambiguation (no "When NOT to use" cross-reference).372373#### Step 4: Freshness sweep374375Flag skills where the last modification (per git history, or file mtime if git is unavailable)376is >30 days old AND the skill covers fast-moving domains:377378**Fast-moving** (>30 days = stale risk): docker, kubernetes, ci-cd, terraform, ansible,379databases, git, security-audit, code-review (AI-age patterns section), mcp, networking, arch-btw380381**Slow-moving** (>30 days = probably fine): firewall-appliance, command-prompt, prompt-generator,382update-docs, skill-creator, full-review, anti-slop, lockpick383384If the collection's conventions change significantly, temporarily reclassify skill-creator385as fast-moving until the conventions stabilize.386387For each stale high-effort skill, search the web for:388- New major/minor releases of referenced tools389- New CVEs affecting referenced tools390- Deprecated or renamed tools/features since the skill was written391- New supply chain incidents (these move the fastest - Trivy was 6 days old when we caught it)392393#### Step 5: Report394395Present findings grouped by severity. Include actionable fixes for each finding.396397### Mode 5: Retrospective Update398399When the user asks to review a completed conversation and update the skill library, capture400reusable class-level learning, not a session log. Patch a loaded or umbrella skill for401reusable workflow, routing, preference, or pitfall changes; create a new skill only when no402class-level fit exists. In the public skills repo, read gitignored instruction files such as403`AGENTS.md`, but do not force-add them; stage only intended public skill paths and validate.404405### Mode 4: Optimize Skill Description406407The `description` field in frontmatter is the primary triggering mechanism. Optimize it for408accurate activation.409410#### Step 1: Analyze current triggers411412Read the skill's description and identify:413- Primary trigger keywords414- Secondary trigger contexts415- Potential false-positive triggers (keywords shared with other skills)416- Missing triggers (scenarios where the skill should activate but the description doesn't cover)417418#### Step 2: Compare against the collection419420If a collection is available, check which other skills share trigger keywords. Ensure the421description differentiates clearly. For standalone skills, skip this step.422423#### Step 3: Rewrite the description424425Follow these patterns from high-performing custom skill descriptions:426- **Start with action verbs**: "Use when writing, reviewing, or architecting..."427- **Include specific trigger keywords**: list them inline, e.g., "Triggers: 'keyword1', 'keyword2'"428- **Mention adjacent skills to avoid**: "Not for X (use Y instead)"429- **Be slightly pushy**: many tools undertrigger skills by default. Include edge cases.430- **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.431- **Treat 1024 as the platform ceiling, not the collection target**: truncation happens there, but the repo convention is stricter432433#### Step 4: Validate434435After rewriting, list 5 user prompts that should trigger the skill and 5 that shouldn't. For436each, state whether the rewritten description would route correctly and why. This is a heuristic437check - actual routing depends on the harness's skill-matching logic, which varies by tool.438The goal is catching obvious gaps and false-positive magnets, not deterministic validation.439440#### Step 5: Apply441442Edit the skill's frontmatter with the rewritten description. If the skill is part of a443collection, run Mode 2 Step 2 (quality checks) to verify no regressions were introduced.444445## Run Report446447Record every run in a human-readable report, even for report-only checks. Include branch, mode,448scope, score or "not scored - report only", changed files, finding counts, verification results,449skipped checks, and next action. Keep metadata in the saved report; use compact inline output when applicable.450451For edited skills, report before/after checklist pass rate and behavioral or forward-test scores452plus keep/reject decisions. For audit-only runs, report structural gate and finding counts453instead of inventing a composite.454455## Reference Files456457- `references/conventions.md` - the complete convention guide: frontmatter fields, structural458 patterns by effort tier, style rules (ASCII, banned words), reference file organization,459 cross-skill patterns, AI Self-Check patterns, and a snapshot inventory of the upstream460 collection (useful as a reference, not an authoritative list for other repos)461462## Output Contract463464See `references/output-contract.md` for the full contract.465466- **Skill name:** SKILL-CREATOR467- **Deliverable bucket:** `audits`468- **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.469- **Severity scale:** `P0 | P1 | P2 | P3 | info` (see shared contract; only used in audit/review mode).470471## Related Skills472473- **anti-slop** - audits code quality. Apply it to example code and reference patterns.474- **full-review** - orchestrates four application-repo audits; this skill audits the skill collection.475- **prompt-generator** - targets one-off prompts in `docs/local/prompts/`, not reusable skill files.476- **code-review** - reviews application code for correctness. This skill reviews skill files477 for convention compliance, not code correctness.478- **skill-router** - chooses the best installed skill for one concrete request. This skill owns479 edits to trigger text and collection-wide overlap analysis after a routing defect is identified.480481## Rules4824831. **Read before edit.** Always read a skill's SKILL.md and reference files before modifying.4842. **Conventions are non-negotiable.** Custom skills need `metadata.source`, `date_added`,485 `effort`, "When to use", "When NOT to use", Workflow, and Rules sections.4863. **Verify everything, assume nothing.** Confirm tools, versions, flags, APIs, and behavior via487 source docs, `--help`, registries, or explicit "unverified" notes. Do not guess.4884. **Prefer dedicated skill workflows over generic helpers.**4895. **Update the inventory.** After creating, removing, or renaming a skill, update published490 inventories and verify counts from live public skills.4916. **No AI slop in skills.** Avoid comment noise, over-abstraction, ALL CAPS theater, and492 "just in case" instructions.4937. **ASCII by default.** Keep skill prose ASCII except collection-approved markers such as the494 public-description `· ` prefix and shared output-contract box glyphs. No em dashes, curly495 quotes, ligatures, or `--` dash substitutes. Prose only: never rewrite `--` inside code or496 fenced blocks - there it is real syntax (SQL comments, CLI `--` separators) and must stay.4978. **Run the AI Self-Check.** Every generated or modified skill gets checked before return.4989. **Separate review from edits.** Record the branch for reviews; create or reuse a task branch for tracked edits.49910. **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. Independent scanners report: SkillSpector: WARNING, Skill Scanner: PASS. 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.