pastiche-setup — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pastiche-setup (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.
Resumes from setup_progress in pastiche/config.yaml. Unit of work is one section per turn; within a section, draft candidates as a numbered list, confirm in natural language, write once after agreement.
pastiche/config.yaml. On parse failure: print the parser error verbatim and stop — "Fix the YAML and re-invoke."pastiche/FACT.md. If empty or missing, stop: "`pastiche/FACT.md` is empty or missing. Run `/pastiche-sync` (or re-run `/pastiche-init`) and re-invoke."stub, otherwise done. For general-wisdom: any [GENERAL] bullet present in pastiche/WISDOM.md → done, otherwise stub. Update config silently.Every lint call below: shell pastiche-lint (on PATH via plugin bin/ — do not search for it), cwd = repo root. Forward stdout; on non-zero exit, also forward stderr. Don't revert; don't abort.
If every setup_progress entry is stub, this is a first run.
First run:
design_md_reference is set in config, skip. Otherwise scan repo root for DESIGN.md:design_md_reference: ./DESIGN.md to config. Scan the body for ^## Overview or ^## Brand & Style; if either is present, copy that section's body into KNOWLEDGE.md's ## Brand Identity (replacing the placeholder).design_md_reference: null.Returning run: skip greet and handshake. Print: "Picking up where we left off — `<X>` of 13 done. Next up: `<next stub>`. Continue?" Then resume.
Pick the next section: lowest stub in canonical order, or --section <name> if provided.
After each section, prompt: "Next section: `<next stub in canonical order>`. Continue / switch / pause?"
If --all was passed, skip this prompt. Stop only when every stub is done (then run Wrap).
Auto-ported case (the placeholder was replaced from DESIGN.md): show the ported prose verbatim. Offer keep / edit / rewrite.
keep → write + flip + lint.edit → take natural-language patches, re-show, loop until keep.rewrite → fall through to the freeform case.Freeform case (no auto-port, or adopter chose rewrite): prompt:
"Write or paste your Brand Identity prose — voice, posture, density, restraint, anything that matters for downstream design decisions. Length is your call; round-1 reads this in full on every task.
>
Not sure where to start? Say "guide me" and I'll walk you through 4–5 prompts to draft it together."
yes.Write the final prose into ## Brand Identity (replacing whatever was there). Flip setup_progress.brand-identity: done. Run lint.
Canonical order: Action buttons, Forms & input collection, Feedback & status, Overlays, Navigation & wayfinding, Content display, Layout & page structure, Date & time selection, Iconography, Visual hierarchy, Domain-specific patterns.
Per section:
design_md_reference is set): mine narrative for scenarios in this section's territory.Adapt to the adopter's FACT: drop seeds whose atoms aren't in FACT; add candidates suggested by FACT atoms that no canonical seed covered. Atom names backticked (FACT entries verbatim); prop expressions bare. Example: ` → Button variant="primary" `. Soft target 5–8; no hard cap, no padding.
_(empty — …)_ marker with the confirmed scenarios. Each scenario: one or more prose framing lines, then one or more → <atom expression> lines.setup_progress.<section>: done in config. Run lint.--all).[GENERAL] WISDOM phase (last)Runs only when every KNOWLEDGE stub is done. Same shape as a scenario section; writes to pastiche/WISDOM.md; the unit is a tagged rule.
Adapt seed wording to the adopter's FACT token naming.
- [GENERAL] <rule text>. Append to WISDOM.md (after any existing content, before EOF). Flip setup_progress.general-wisdom: done. Run lint.After every section write, check setup_progress. If every entry is done, run the wrap on this turn (includes --section and --all invocations).
Print:
[GENERAL] rules added.No emoji, no theatrics.
If design_md_reference is set but DESIGN.md becomes unreadable during the session (deleted, renamed, exceeds 200KB cap), warn once: "`DESIGN.md` at `<path>` is no longer readable. Continuing without DESIGN.md context — candidates fall back to canonical seeds." Do not clear design_md_reference in config. Proceed with canonical seeds for the rest of the session.
--section <name> — jump to a specific section (revise a done section, or skip ahead). Wrap fires if this invocation lands the final flip.--all — same flow, no continue / switch / pause prompt between sections.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.