writing-skills-75f47d — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited writing-skills-75f47d (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.
Any task involving authoring, designing, or reviewing MindForge skill files. This includes creating new skills from scratch, refactoring existing skills, reviewing skill quality, or understanding the skill schema and conventions.
.mindforge/skills/ to ensure:compose: parent-skill): extends a parent skill with specialization.The parent's instructions apply AND the child's instructions add specificity.
#### Frontmatter Schema (YAML)
---
name: skill-name-kebab-case # Required. Unique identifier.
version: 1.0.0 # Required. SemVer.
min_mindforge_version: 10.0.6 # Required. Minimum framework version.
status: stable # Required. One of: draft, beta, stable, deprecated.
triggers: keyword1, keyword2, compound phrase, another trigger
# Required. Comma-separated. 12+ recommended.
compose: parent-skill-name # Optional. Name of parent skill this extends.
---Field rules:
name: Must match the directory name. Kebab-case. Globally unique across the registry.version: Follows semantic versioning. Bump minor for new content, major for breaking trigger changes.min_mindforge_version: The oldest framework version that supports this skill's features.status:draft — Work in progress, may have incomplete sections.beta — Functional but not battle-tested. May change.stable — Production-ready. Trigger changes require major version bump.deprecated — Superseded by another skill. Include migration note in body.triggers: The activation keywords. See "Trigger Design" section below.compose: If set, this skill inherits all instructions from the named parent skill.The agent applies BOTH the parent and this skill when activated.
#### Body Structure
# Skill — [Human-Readable Name]
## When this skill activates
[1-3 sentences describing the exact scenarios. Be specific enough that an agent
can determine yes/no whether this skill applies.]
## Mandatory actions when this skill is active
### Before [writing code / starting the task]
[Numbered list of preparation steps. What must be checked/read/decided first.]
### During [implementation / the task]
[The core instructions. Checklists, patterns, code examples, decision trees.
This is the largest section. Organize with sub-headings.]
### After [implementation / the task]
[Verification steps. What to check, run, or validate before marking done.]
## [Optional: Domain-specific sections]
[Tables, reference data, anti-patterns, decision matrices, etc.]
## Self-check before task completion
[Checkbox list. Every skill MUST end with this section. These are the minimum
criteria that must be true before the agent considers the task complete.]#### Trigger Design (Critical for Activation Accuracy)
Quantity: Aim for 12-20 triggers per skill. Fewer = missed activations. More = false positives.
Types of triggers to include:
kubernetes deployment, react performance.cProfile, React.memo, helm chart.python bottleneck, unnecessary re-render.write a plan, create a skill.discriminated union not just union.Trigger design rules:
type alone would fire onevery TypeScript task. conditional type is specific.
profiling AND profile python.If the answer is "maybe" — the trigger is too vague.
code, fix, build, test).Trigger conflict resolution:
performance and react-performance trigger on "performance".Resolution: react-performance uses react performance (compound), the generic performance skill handles the unqualified keyword.
#### Content Principles
without them the type parameter is too broad and you lose type safety."
<T extends Base> not bare <T>."Split into a parent skill + composed children.
performance (parent, 120 lines of general principles) +python-performance (child, composes performance, 400 lines of Python specifics).
provide explicit if/then:
- IF the list has > 50 items → use virtualization
- IF the list has 10-50 items → use React.memo on list items
- IF the list has < 10 items → no optimization neededfrom knowing what NOT to do as much as what to do.
#### Quality Standards for Skill Content
version is valid SemVer.
contains it and verify the skill SHOULD activate:
Trigger: "discriminated union"
Test prompt: "I need to model payment states as a discriminated union"
Should activate? YES — this is exactly about TypeScript advanced types. grep -r "^triggers:" .mindforge/skills/*/SKILL.mdFlag any overlap and resolve per the rules above.
with name, version, status, and trigger count.
mindforge eval-skill --skill=new-skill-name --prompts=20Verify activation precision > 90% and recall > 85%.
| Criterion | Pass/Fail |
|---|---|
| Frontmatter has all required fields | |
| 12+ triggers, all compound (2+ words) | |
| No single-word triggers | |
| No trigger conflicts with existing skills | |
| "When this skill activates" is specific (yes/no determinable) | |
| Mandatory actions cover Before/During/After | |
| Self-check section present with checkboxes | |
| Content is actionable (imperatives, not suggestions) | |
| Code examples are syntactically valid | |
| Under 500 lines total | |
| No placeholder language ("as appropriate", "etc.") |
| Status | Meaning | Allowed changes |
|---|---|---|
| draft | Under construction | Anything |
| beta | Functional, being tested | Content changes, trigger additions |
| stable | Production | Content patches only. Trigger changes = major version bump |
| deprecated | Being replaced | Only add migration notes pointing to successor |
Before marking a task done when this skill was active:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.