skill-creator — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited skill-creator (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Meta-skill that scaffolds new skills for the ValarMindSkills repository following project conventions.
SKILL.md into a skill plus references/ filesscripts/install-plugin-claude.sh or scripts/install-antigravity.sh.claude-plugin/, hooks/) — that is a separate concern; this skill scaffolds skill content onlyProduce a complete, idiomatic skill under skills/<slug>/ that:
name, description, source)references/CHECKLIST.md before the turn ends@prompt-engineering for clarity, anti-hallucination, and token economy before being reported to the userThis skill scaffolds the structure; @prompt-engineering hardens the content. The two are paired: scaffold first (Steps 1–8), audit the prompt (Step 9), then validate structure (Step 10) and report (Step 11).
| Input | Required | How to obtain |
|---|---|---|
| Purpose | Yes | Ask: "What problem will this skill solve?" |
| Trigger phrases | Yes | Ask: "What will the user say or type to invoke it?" Collect PT and EN variants when applicable |
| Archetype fit | Yes | Derive from purpose using the decision matrix in references/ARCHETYPES.md |
| Canonical output | Only if Procedural / Best Practices | Ask for an example of the ideal output; it will seed EXAMPLE.md |
| External source | No | URL or credit if the skill is based on public material |
If any required input is missing, stop and ask before scaffolding.
Run, in order:
ls skills/ # existing slugs — avoid collisions
cat README.md # project format and contribution rules
cat CLAUDE.md 2>/dev/null # agent-facing instructionsPick one or two existing skills closest in purpose to the new one and read their SKILL.md. Cite their paths back to the user as reference models.
Apply the decision matrix from references/ARCHETYPES.md:
| Purpose | Archetype | Canonical example |
|---|---|---|
| Deterministic artifact from a trigger | Procedural | skills/github-commit/ |
| Multi-phase audit or hardening with branches | Lifecycle | skills/clean-code/ |
| Persona with capabilities and traits | Expert Profile | skills/code-review/ |
| Principles, heuristics, and worked examples | Best Practices | skills/api-security-best-practices/ |
| Catalog, schema, or spec reference | Reference | skills/obsidian-bases/ |
Pick exactly one archetype and state it explicitly before moving on. Full signals and counter-signals live in references/ARCHETYPES.md.
≤ 64 charactersanthropic or claude (Anthropic spec)code-review, not review-the-code)ls skills/If the requested name violates any rule, stop and propose an alternative before scaffolding.
Create:
skills/<slug>/
└── SKILL.mdAdd the rest conditionally:
references/FILE.md — one or more — when the body would exceed ~400 lines, when there is multi-framework or multi-language branching, or when there is a dense catalog to document. File names are UPPERCASE.md.EXAMPLE.md — when the output format is variable, when a canonical example is pedagogical, or when the archetype is Procedural with nontrivial output.scripts/ folder inside the skill — it is not a project convention. See references/STRUCTURE.md.Use the minimal project frontmatter:
---
name: <slug>
description: "<third-person sentence with trigger phrases, ≤ 1024 characters>"
source: ValarMindSkills
---Rules enforced by references/FRONTMATTER.md:
description written in the third person ("Use when the user asks...")when_to_use, allowed-tools, disable-model-invocation are listed for reference only and are not used in this repositoryFollow the archetype skeleton from references/ARCHETYPES.md. Target sections, in order:
references/For every axis the caller might want to override via extra prompt text (/my-skill in Spanish, /my-skill verbose), add an explicit row in Inputs with Required: No and a default. Rules that must survive adversarial extras go in Constraints using absolute verbs (Never, Must not). See references/EXTRA_INSTRUCTIONS.md for the full pattern catalog.
Hard budget: keep the SKILL.md body under 500 lines. If you exceed it, move detail into references/.
references/ (if applicable)One topic per file. Open each reference with a one-line companion banner:
> Reference companion for the [<slug>](../SKILL.md) skill.Link from SKILL.md using relative paths: [label](references/FILE.md). Do not link across skills with relative paths — use @<slug> text references instead.
EXAMPLE.md (if applicable)Keep it minimal and self-contained: one canonical input and one canonical output, no more. See skills/github-commit/EXAMPLE.md and skills/github-pr-review/EXAMPLE.md for the two dominant shapes (code blocks vs. worked document).
@prompt-engineeringMandatory step before validation. The previous steps produce a structurally correct skill — @prompt-engineering hardens the content of the prompt against the failure modes that scaffolding alone does not catch (vague success criteria, hallucination floors missing, silent omissions, redundant pleasantries, safety rules weakened during edits).
Run the audit in this order:
SKILL.md as input.role: skill, use case: skill. The @prompt-engineering skill loads its USE_CASES.md §1 skeleton and findings catalog automatically when this classification is set.@prompt-engineering against the draft. Every Critical and Major finding is a blocker; Minor findings are reported but do not block.@prompt-engineering is read-only; this skill mediates the apply step.If @prompt-engineering is unavailable (skill not installed in the current session), skip this step and surface the gap explicitly in Step 11 (prompt audit: skipped — @prompt-engineering not available). Do not silently omit the audit.
Walk through references/CHECKLIST.md item by item. Do not skip. If any item fails, fix it before reporting to the user. The "Prompt audit" section of the checklist verifies Step 9 ran and its findings were addressed.
Quick YAML sanity check:
python3 -c "import yaml; d=open('skills/<slug>/SKILL.md').read().split('---'); yaml.safe_load(d[1])"Deliver the report in the format below, then suggest updating README.md to add the new skill to the "Available skills" table.
skills/<slug>/description may be bilingualdescription ≤ 1024 characters, name ≤ 64 characters, body < 500 linesanthropic or claude in the name or descriptionreferences/FRONTMATTER.md documentsprompt audit: blocked — <count> Critical/Major findings unresolved.After creation, report exactly:
Created skills/<slug>/
SKILL.md (<N> lines, archetype: <X>)
references/<FILE>.md (<N> lines) [if any]
EXAMPLE.md (<N> lines) [if any]
Frontmatter:
name: <slug>
source: ValarMindSkills
description: <first 120 chars…>
Prompt audit (@prompt-engineering):
clarity: <N>/8 axes pass
anti-hallucination: <N>/12 strategies covered
token delta: <signed Δ tokens>
risk tag (overall): SAFE | REVIEW | BREAKING
blocking findings: <count> (resolved before report)
Install:
bash scripts/install-plugin-claude.sh # Claude Code CLI (plugin valarmindskills@valarmindskills)
bash scripts/install-all.sh # Claude Code + Antigravity
Invoke:
/valarmindskills:<slug>Then offer to update README.md and, if the user agrees, add the new row to the "Available skills" table.
See EXAMPLE.md for a worked end-to-end creation of hello-skill.
Typical activating phrases:
@prompt-engineering — paired sibling. Audits the prompt content of the just-scaffolded SKILL.md (Step 9) before validation. Scaffold first, audit second.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.