explain — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited explain (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.
You are running scriptorium's explain skill. Your job is to produce a clear, grounded explanation of scriptorium itself, a named skill, or a named MANUSCRIPT_STATE.yaml field — by reading the plugin's own files (SKILL.md, knowledge/*.md, schemas/manuscript-state.schema.json) and synthesizing.
You consume no manuscript content. This skill is read-only relative to the user's project.
Invoke this skill when:
/scriptorium:explain (whole-system overview)./scriptorium:explain <name> where <name> is askill name (init, citation-audit, reviewer-simulation, argumentative-flow, explain itself) or a MANUSCRIPT_STATE.yaml field (e.g. core_claims, known_weaknesses, meta.guidance_level).
full guidance level has suggestedthe user might want a tour before invoking it.
Do not invoke explain as a side-effect of running another skill, and do not chain into a follow-up skill after explaining. Explanation is a discrete action; the user invokes what they want next.
Look at the argument string the user passed:
skills/<name>/ thatcontains a SKILL.md. Recognised names in v0.1: init, citation-audit, reviewer-simulation, argumentative-flow, explain.
schemas/manuscript-state.schema.json as a property key (top-level or nested, dotted: e.g. meta.guidance_level, terminology.forbidden).
under knowledge/ (resolve a [[slug]] by basename match across the tree).
If the argument is ambiguous (matches both a skill and a field, or no candidate found), ask the user to disambiguate; do not guess.
Read in this order, then synthesize a single markdown response:
.claude-plugin/plugin.json for theproject's tagline and version.
schemas/manuscript-state.schema.json for the canonical statefields, their descriptions, and which are required.
skills/<name>/SKILL.md frontmatter (name, description,grounding) for the per-skill summary.
knowledge/conventions/guidance-level.md for theframing-vs-execute convention every skill respects.
Produce the output described in Output format → A. System overview below. Aim for one screenful, not a manual.
skills/<name>/SKILL.md. Extract the description,operational protocol, output format, "what this skill does NOT do" / "what you must not do" sections.
grounding: list. For each, writeone sentence connecting the grounding note to a specific design choice in the skill.
schemas/manuscript-state.schema.json to identify whichstate fields the skill consumes (cross-reference any field names mentioned in SKILL.md).
explanation** below.
schemas/manuscript-state.schema.json and locate the field(top-level or nested). Extract its type, enum (if any), default (if any), and description.
skills/*/SKILL.md and grep for the field name; listthe skills that read or write it.
meta.guidance_level → knowledge/conventions/guidance-level.md), read it and summarise the rationale.
explanation** below.
Implementation priority for scriptorium section if present.
skills/*/SKILL.md and check which skills cite thenote in their grounding.
note summary** below.
SKILL.md or knowledge notes are bloat; the user can read the source if they want depth. Your job is synthesis.
Sources section at theend so the user can verify or read further.
MANUSCRIPT_STATE.yaml is inthe current directory. At terse, suppress the "why this matters" prose; emit only the structured summary. At standard and full, keep the framing.
Use exactly these section structures so the explanations are predictable and skimmable.
# Scriptorium
<one-paragraph synthesis: what scriptorium is, what problem it
solves, what makes its approach distinctive>
## How it works
<2-4 sentences on the shared-state-plus-skills architecture; mention
MANUSCRIPT_STATE.yaml as the editorial source of truth>
## Skills in v0.1
- **`init`** — <one-sentence what + when>
- **`citation-audit`** — <one-sentence what + when>
- **`reviewer-simulation`** — <one-sentence what + when>
- **`argumentative-flow`** — <one-sentence what + when>
- **`tour`** — <one-sentence what + when>
- **`explain`** — <one-sentence what + when>
## Evidence base
<3-5 sentences. Lead with: every skill cites the published research
it grounds in. Knowledge syntheses live under `knowledge/` (browse
the README there for the layout). Name 2-3 anchor citations across
the corpus — Greenberg 2009 BMJ for citation-distortion;
Bornmann's inter-reviewer agreement κ ≈ 0.17 for the multi-lens
reviewer design; Gopen & Swan reader-expectation theory for
argumentative-flow. Close by saying this is what makes the
behaviours auditable rather than vibes-based: any user can trace a
skill's design choice back to a paper.>
## The shared state file
<2-3 sentences on MANUSCRIPT_STATE.yaml; required fields; that every
skill reads it>
## Scope — what scriptorium does and does not operate on
<3-4 sentences. Lead with: scriptorium operates on prose the author
has written or scaffolding the author has declared; it does not
produce prose from blankness. Cite the
[[declared-work-scope]] convention and the Hayes 2012
proposer/translator/evaluator framing. Name one concrete
implication (e.g., "gap-finder names missing sections as gaps but
doesn't draft them"; "no skill helps figure out what to study
before there's a draft"). Close by saying generation skills like
the planned v0.4 specific-aims are in scope because they transform
declared scaffolding — the cut is generation-from-blankness, not
generation-as-such.>
## How scriptorium talks to you
<2-3 sentences on `meta.guidance_level` and the three modes>
## Where to go next
- `scriptorium:init` if you don't have a `MANUSCRIPT_STATE.yaml` yet.
- `scriptorium:explain <skill>` to drill into a specific skill.
- `INSTALL.md` for non-Claude-Code install paths.
## Sources
- `.claude-plugin/plugin.json`
- `schemas/manuscript-state.schema.json`
- `skills/*/SKILL.md`
- `knowledge/README.md`
- `knowledge/conventions/guidance-level.md`
- `knowledge/conventions/declared-work-scope.md`# scriptorium:<name>
<one-paragraph what-it-does>
## When to use
<one-paragraph triggers + non-triggers, lifted from invocation
discipline + non-goals>
## What it consumes
- From `MANUSCRIPT_STATE.yaml`: <list of fields>
- From the manuscript: <prose, bibliography, etc.>
- Other inputs: <e.g. full text of cited papers, when available>
## What it produces
<sentence on the output shape — structured markdown report, file
write, etc. — with the section headings the output uses>
## How it's grounded
<Lead with one sentence: this skill grounds in specific published
research — its behaviours trace back to papers, not LLM intuition
alone. Then list each grounding entry with a one-sentence "this
informs <which specific design choice>". Do not just restate the
note's title. Where a grounding note cites a load-bearing paper
(e.g. Greenberg 2009 BMJ, Bornmann inter-reviewer agreement),
name the paper, not only the note.>
## What it explicitly will not do
<bullet list lifted from the skill's "what you must not do" /
"non-goals" section>
## Sources
- `skills/<name>/SKILL.md`
- <each grounding file># MANUSCRIPT_STATE.yaml: `<field>`
**Type:** <type, enum, default>
<one-paragraph: what this field declares about the manuscript or
about scriptorium's behaviour>
## Which skills use it
- **`<skill>`** — <how it consumes the field>
- ...
## How to choose a value
<2-3 sentences of guidance; reference any rationale knowledge note
if one exists>
## Sources
- `schemas/manuscript-state.schema.json`
- <any relevant knowledge notes>
- <skills that read this field># knowledge: <note title>
<2-3 sentence synthesis lifted from the note's own synthesis section,
in your own words>
## What scriptorium does with this
<2-3 sentences: which skills ground here and which specific design
choice it informs>
## Bottom line
<one sentence: takeaway for an author who isn't going to read the
full note>
## Sources
- `knowledge/<path>/<note>.md`
- <skills citing this note>feel they've understood; a reader of the source should agree the synthesis is faithful.
don't invent it; say "no dedicated knowledge note; see the skill's SKILL.md for design rationale".
finishes; the user chooses.
the plugin tree.
scriptorium itself, not about the user's project.
init, citation-audit, etc.) at the end of anexplanation. Suggest only.
screenful; expand only on follow-up.
This skill is grounded in:
explain itself honors whenrendering its output, and the convention it introduces to new users during a system overview.
knowledge/README.md — the layout of the knowledge layer, so theskill can navigate when asked about a knowledge note by slug or topic.
This skill's evidence base is its own plugin tree; it does not synthesize external literature.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.