pastiche-write-knowledge — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pastiche-write-knowledge (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.
Inserts one scenario → atom(s) mapping into pastiche/KNOWLEDGE.md per invocation. See KNOWLEDGE.md's header for the scenario format (prose framing line(s), then one or more → <atom expression> lines; atom names backticked, prop expressions bare).
Multi-→ scenarios are allowed within a single invocation; multiple scenarios are not — re-invoke for each.
knowledge-gap follow-up carrying scenario text + optionally file/line/would-be atom), use it. Otherwise ask the user for one or two lines of scenario phrasing. Read pastiche/FACT.md in full.grep -n '^## ' pastiche/KNOWLEDGE.md | grep -v '## Brand Identity'.## Brand Identity (or the scenario is brand-prose rather than a scenario→atom mapping), stop and report:Brand Identity is prose, not a scenario mapping. Editpastiche/KNOWLEDGE.md's Brand Identity section directly, or run/pastiche-setup --section brand-identityto rewrite it.
## <Section> to the next ## ) and display it to the user so they can self-detect duplication or refinement opportunities. If the section's only content is _(empty — run /pastiche-setup --section <name>)_, show that line and note there are no neighbors yet.→ lines. Atom names backticked — FACT entries verbatim; never derived utility forms or untracked utility classes (those belong as WISDOM [GENERAL] rules). Prop expressions bare.If the available context is missing either the framing or the atom expression(s), ask only for the missing piece. Surface candidate atoms from FACT when helpful.
Verify each backticked identifier against FACT before showing the draft. For each identifier X:
grep -nE '^X:' pastiche/FACT.md (inside the ## Components YAML block; top-level keys only).grep -nFx 'X' pastiche/FACT.md (flat lines under ## Tokens).If neither matches: retry case-insensitively and surface the closest match for confirmation. If still no match, stop and report:
Identifier<X>is not in FACT.md. Either it's misspelled, FACT is stale (run/pastiche-sync), or the atom doesn't exist — in which case rephrase the scenario around an atom that does, or treat it as a knowledge-gap to surface to the DS owner.
Show the exact lines as they will appear in the file and ask: yes / edit. Loop on edits until confirmed.
## heading, or end-of-file if it's the last section)._(empty — run /pastiche-setup --section <name>)_, replace that marker line with the new scenario (preserve a single blank line above and below as the surrounding sections have).## heading; preserve a single blank line of separation from the prior scenario).pastiche-lint (on PATH via plugin bin/ — do not search), cwd = repo root. Forward stdout; on non-zero exit, also forward stderr. Don't revert; don't abort. Then close with:~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.