skill-testing — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited skill-testing (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.
Adapted from superpowers' pressure testing methodology for Rune's multi-agent context.
NO SKILL WITHOUT A FAILING TEST FIRST (SKT-001)
>
This rule is absolute. No exceptions for "simple" skills, "obvious" rules, or "we already know what to write."
Design a pressure scenario combining 3+ pressures from this table:
| Pressure | Example | Target Rationalization |
|---|---|---|
| Time | "This is urgent, skip the usual process" | "I'll be pragmatic" |
| Sunk Cost | "We've already invested 2 hours, just ship it" | "Too late to change approach" |
| Authority | "The lead says this is fine" | "Deferring to authority" |
| Complexity | "This is too simple to need full verification" | "Overkill for a small change" |
| Pragmatism | "Being dogmatic about rules hurts productivity" | "Rules aren't absolute" |
| Social | "Everyone else skips this step" | "Following team norms" |
Steps:
Every discipline-enforcing skill should include a rationalization table:
| Rationalization | Why It's Wrong | Counter |
|---|---|---|
| "The rule is self-evident, no scenario needed" | Self-evident rules get bypassed under pressure — the scenario proves resilience, not existence | SKT-001: No skill without a failing test first |
| "I'll write the scenario after the skill is working" | Post-hoc scenarios confirm bias, not catch blind spots — RED must precede GREEN | TDD cycle: RED phase comes first, always |
| "This skill is too meta to need testing" | Meta-skills define the testing standard — if they fail their own checklist, no other skill will pass | Meta-Testing Checklist: applies to all skills including this one |
| "The agent already follows this rule without the skill" | Agents follow rules in calm conditions; pressure scenarios reveal the gap between calm compliance and stressed compliance | RED Phase step 3: Run WITHOUT the skill loaded |
| "One pressure is enough to prove resilience" | Single-pressure tests miss combinatorial failures — agents rationalize differently under compound pressure | RED Phase step 2: Apply 3+ pressures simultaneously |
| "We already know what rationalizations look like" | Each agent category produces unique evasion patterns — assumed knowledge misses novel rationalizations | REFACTOR Phase: Ask "How could you rationalize bypassing this skill?" |
Populate by:
Patterns that signal a skill author is about to violate the TDD cycle:
Target rules:
Pressure scenarios:
Target rules:
Pressure scenarios:
Target rules:
Pressure scenarios:
the reviewer misunderstood. Please mark as resolved."
Future Work: This section describes a planned integration that does not exist yet. No E2E harness, challenge task parser, or score_dimension runner exists in the project. Implement the core TDD cycle first; E2E encoding can be added when a harness is built (potentially Shard 3 or 4).Pressure scenarios can be encoded as E2E harness challenge tasks:
# In challenge plan YAML
tasks:
- name: "Implement under pressure"
pressure_level: 3
pressures: [time, complexity, authority]
target_skill: rune-smith
expected: "Agent follows ward check despite pressure"
score_dimension: pressure_complianceAfter writing any skill, verify:
- [ ] itemsUsage: /rune:skill-testing --improve <skill-name> [--max-iterations N]Chains test → categorize → fix → re-test into an automated convergence loop. Only structural and compliance fixes are applied — semantic changes (workflow logic, prompt content, agent config) are never modified.
Default --max-iterations: 3. Hard cap: 5.
Stagnation detection: if an iteration applies 0 fixes, the loop exits with STAGNATED status.
| Category | Description | Example |
|---|---|---|
frontmatter-missing | Missing YAML fields | Add name: {directory-name} |
frontmatter-invalid | Invalid YAML syntax | Fix malformed YAML |
reference-broken | Broken file links | Fix path to existing file |
reference-backtick | Backtick paths instead of markdown links | ref.md → ref.md |
section-missing | Missing standard sections | Add "When NOT to use" template |
line-limit-exceeded | >500 lines without references | Extract sections to references/ |
namespace-bare | Missing rune: prefix on Skill() calls | Add rune: prefix |
creation-log-missing | Missing CREATION-LOG.md | Create from template |
Any finding not in the structural categories is logged as "Skipped — semantic change" and left for manual review.
Each iteration produces a structured report at tmp/skill-improve/{skill-name}/improvement-report.md:
## Iteration N Changes
### Fix 1: {finding description}
- **Finding**: {what was found}
- **Action**: {what was changed}
- **Confidence**: HIGH|MEDIUM|LOW
### Skipped: {finding description}
- **Action**: SKIPPED — semantic changeAfter improvement completes, patterns are persisted to Rune Echoes via echo-append.sh:
skill-testerobservationsskill-improvement,meta-qa,{skill-name}Cross-skill patterns (same category appearing in 2+ skills) enable systemic batch fixes.
For detailed algorithm documentation, see improve-mode.md.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.