formal-review
This skill should be used when the user asks to \"formal review\", \"formal lens review\", or invokes /formal-review. A…
This skill should be used when the user asks to \"audit plugin encapsulation\", \"check self-containment semantics\", \"find contributor-knowledge assumptions\", or invokes /encapsulation. Reviews LLM-facing prose in this project's plugin SKILL.md files and plugin description
$ npx -y skills add jongwony/epistemic-protocols --skill encapsulation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/encapsulationContext preview
The summary Claude sees to decide when to auto-load this skill.
This skill should be used when the user asks to \"audit plugin encapsulation\", \"check self-containment semantics\", \"find contributor-knowledge assumptions\", or invokes /encapsulation. Reviews LLM-facing prose in this project's plugin SKILL.md files and plugin description
name: encapsulation description: "This skill should be used when the user asks to \"audit plugin encapsulation\", \"check self-containment semantics\", \"find contributor-knowledge assumptions\", or invokes /encapsulation. Reviews LLM-facing prose in this project's plugin SKILL.md files and plugin description metadata for Plugin Encapsulation compliance: prose that assumes contributor documentation knowledge or rephrases banned references to bypass deterministic checks. Project-local contributor tooling." allowed-tools: Read, Grep, Glob
The project-local instance of the **semantic-audit engine** (`references/audit-engine.md`). The shared mechanism — read-only Claude-judge review, the scope shape, severity calibration, self-application stance, and on-demand slash invocation — is defined in that engine document; read it for the parts this skill holds in common with its published siblings. Below is this instance's principle parameter and the one place its output schema extends the engine's base.
This instance audits LLM-facing prose for Plugin Encapsulation: the runtime contract surface (`SKILL.md` plus plugin description metadata) must be self-contained and intelligible without contributor documentation. Project-local — its principle is coupled to this repo's deterministic encapsulation check and contributor model, and so (unlike `white-bear` and `zero-shot`) it is not decouplable into a portable skill. Read-only: it emits structured findings and writes no fixes.
Surface encapsulation drift that the deterministic verify check (`artifact-self-containment` BANNED patterns) cannot catch — prose that assumes contributor sidecar knowledge in plain language, or rephrases banned references to evade pattern matching. Findings are presented for review; the human author decides which to rewrite, mark as load-bearing, or dismiss.
**Manual invocation only** (interactive `/encapsulation`):
The engine's scope shape applies, specialized to the runtime contract surface this principle governs:
**In scope** (the runtime contract surface where this principle applies):
**Out of scope**:
**The principle.** The packaged runtime contract is `SKILL.md` plus plugin description metadata; the surface must be self-contained, with no external references (axiom identifiers, rule file paths, design-philosophy concepts, mission/vision docs) that require reading contributor documentation. The deterministic verify check covers literal pattern matches; this audit covers semantic encapsulation.
Two signal types — this instance extends the engine's single-failure-kind shape with a failure-kind dimension:
**`contributor_assumption`** — a prose passage that assumes contributor documentation knowledge to be intelligible at the runtime contract surface. The reader of the runtime contract is the LLM agent acting on the protocol, plus the user invoking the skill — neither has read `.claude/rules/`, `.claude/principles/`, or `docs/`. Test: "Does this sentence remain intelligible when read with only the SKILL.md itself and standard background knowledge?" If a sentence references a project-internal concept by name without inline definition, and the concept is not defined elsewhere in the same SKILL.md, the sentence is a finding.
**`bypass_rephrasing`** — a prose passage that conveys a banned reference's content without using its banned token. The deterministic check passes; the encapsulation invariant fails. Test: "Would the deterministic check have flagged this if the original token had remained?" If yes, it is a bypass-rephrasing finding.
For each candidate finding, prefer the rewrite that carries the meaning into the runtime surface (compile the relevant rule into `SKILL.md` Rules sections per CLAUDE.md guidance) or replaces it with a self-contained restatement. Treat ambiguous cases as `severity: low` and surface them for human triage.
Emit a single JSON object as the final assistant message. This is the engine's base schema plus a failure-kind dimension (`by_signal` in the summary, `signal` on each finding):
{
"summary": {
"files_audited": 0,
"findings_total": 0,
"by_signal": {"contributor_assumption": 0, "bypass_rephrasing": 0},
"by_severity": {"high": 0, "medium": 0, "low": 0}
},
"findings": [
{
"file": "<repo-relative path>",
"line": 0,
"signal": "contributor_assumption",
"severity": "high",
"excerpt": "<verbatim text from the file — single line or short span>",
"rationale": "<one sentence: which contributor knowledge is assumed, or which banned reference's content is being rephrased>",
"suggested_rewrite": "<a candidate restatement that compiles the meaning into the runtime surface or removes the assumption>"
}
]
}Severity calibration (per the engine):
| Severity | Surface | |----------|---------| | `high` | Rules sections, Phase prose, plugin description — places
한국어 When AI collaboration goes off-track, you redo everything. These protocols bring the decisions that set the direction to you early — often at the plan level, before a wrong one hardens into code or other downstream work — and leave each one yours to
This skill should be used when the user asks to \"formal review\", \"formal lens review\", or invokes /formal-review. A…
This skill should be used when the user asks to "run the outcome eval", "paired bare vs protocol", "which decisions did the…
This skill should be used when the user asks to "run the eval", "test whether the protocol actually works at runtime", "check…
This skill should be used when a contributor names a skill whose Lean contract is to be re-derived — a core protocol, or a…