codex/skills/doctrine-compiler/SKILL.md
Use when non-trivial work needs Challenge Escalation, latent-intelligence activation, frame-market selection, doctrine operators, dominant-move selection, ablation/surface-tax judgment, reification, review comment law, negative capability, route receipts, or proof-bearing refusal to mutate.
npx skillsauth add tkersey/dotfiles doctrine-compilerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Compile doctrine words into artifacts. Do not use them as tone. A doctrine word is valid only when it changes the frame, route, proof obligation, owner boundary, deletion/collapse decision, review disposition, closure gate, certificate, or normal-form progress.
Frontier models often expose only a competent local answer first. This repo prefers the highest-value route-changing answer that can be grounded, implemented, and proven.
For non-trivial work, run this silently before committing to a route:
observe -> frame -> operator -> artifact -> countercase -> dominant move -> proof
Activation does not mean verbosity. It means choosing the right operator and leaving the smallest useful receipt.
Activate this skill when any of these are true:
When the route is non-obvious, create 2-4 competing frames before selecting a skill or edit. Do not keep all frames alive as prose; select the dominant frame and route through it.
Possible frames:
Pick the frame that changes the route and has the best proof path. Preserve rejected frames only when they explain a material non-choice.
| Operator | Use when | Governing question | Required artifact |
|---|---|---|---|
| ACCRETIVE | implementing, repairing, or extending code | What is the smallest change that increases system capability without corrupting existing guarantees? | Chosen Cut: contract, invariant, seam, not-smaller, not-larger, proof signal |
| UNSOUND | claims, guarantees, proofs, review findings, or reasoning may overreach | What is being asserted without a valid witness or derivation? | Soundness Ledger row |
| WITNESS-BEARING | any material claim or guarantee matters | What concrete artifact proves this claim? | Witness receipt: file, diff, command, test, log, trace, citation, or certificate |
| CANONICALIZING | multiple owners, paths, states, formats, representations, or proof surfaces exist | Which owner/representation/path should be the source of truth? | Canonical Owner Map with rejected shadow owners |
| INVARIANT-SEEKING | repeated local fixes, comments, or failures orbit the same shape | What invariant is being violated, and who owns it? | Governing Invariant row |
| ADVERSARIAL | first answer may be locally valid but globally wrong | What would make the preferred route fail? | Strongest Countercase + disposition |
| DE NOVO | prior reviews, summaries, or conclusions may anchor the agent | What do current artifacts prove from scratch? | Candidate Inventory tied to current artifact state |
| FIXED-POINT | review/fix/proof loops keep reopening | What state would make another full review produce no new material work? | Material Fixed-Point Gate |
| ABLATIVE | work may add helpers, wrappers, fallbacks, flags, adapters, branches, public symbols, or duplicate truth surfaces | What can be deleted, collapsed, privatized, decommissioned, reused, or canonicalized instead? | Ablation Activation Receipt plus Ablation Ledger or evidence-backed not-required |
| ISOMORPHIC | deleting, collapsing, merging, reusing, or canonicalizing behavior | What proof shows observable behavior is preserved? | Ablative Isomorphism Card |
| DOMINATED | another route covers the same obligation with less surface or stronger proof | Is this path strictly worse than an existing path? | Dominance row: surface, replacement, proof, delete/collapse/keep decision |
| SUBSUMED | helper/module/adapter no longer owns a distinct obligation | Has this abstraction’s job moved into a better owner? | Subsumption row: old obligation, new owner, deletion/collapse path |
| VESTIGIAL | code exists because it once mattered | What former obligation justified this surface, and does it still exist? | Obligation-history row with decommission/delete/keep decision |
| REIFYING | behavior hides in callbacks, closures, handlers, lambdas, dynamic dispatch, hooks, or registries | Should hidden behavior become explicit data? | Behavior Algebra: constructors, payloads, total interpreter, preservation proof |
| TOTALIZING | handlers, interpreters, parsers, state machines, or eliminators may be partial | Are all legal cases handled? | Totality Table: constructors × eliminator coverage |
| FORENSIC | extracting knowledge from sessions, memories, traces, issues, PRs, or logs | What is known, how is it known, and what is merely remembered or inferred? | Provenance Map |
| CARTOGRAPHIC | the system is large, unfamiliar, or poorly mapped | What are the knowledge surfaces, authority gradients, and blind spots? | System Map |
| SATURATING | search/review should continue until marginal evidence stops changing the route | What new evidence would still change the model? | Saturation Stop Rule |
| ABDUCTIVE | competing explanations fit the evidence | Which explanation best accounts for observations, and what would falsify it? | Hypothesis Ledger with disconfirming checks |
| TRACEABLE | conclusions or plans may need review or handoff | What evidence lets another agent verify the claim? | File/test/log/diff/command citation for every material claim |
| UNIVERSALIST | worlds meet, composition is arbitrary, context is uncertified, abstraction is inexact, or categorical mechanics are needed | What canonical artifact/certificate makes the boundary exact? | Composition, Context, Sheafification, Presentation, or Normal Form artifact |
If the artifact is missing, demote the doctrine word as ornamental and either create the artifact or drop the word.
The highest-value answer is often not the first correct local answer. Before implementing a non-trivial local fix, ask whether the local fix is dominated by one of these higher-order moves:
If one of these dominates, route there instead of patching the symptom.
A local patch is suspect when it:
Before accepting such a patch, run invariant, canonical-owner, ablative, soundness, proof, and universalist checks as applicable. If any check dominates the local patch, reroute.
Every new helper, wrapper, adapter, fallback, compatibility branch, flag, knob, public symbol, state variant, parser tolerance, catch-and-continue path, coercion, retry, pass-through layer, duplicate truth surface, prompt-stuffing path, context shortcut, or uncertified boundary pays a surface tax.
For mutation-capable work, emit one of:
ablation_activation: required
ablation_activation: not-required
ablation_activation: blocked
not-required is legal only when evidence shows no mutation-capable keep/delete/collapse decision exists.
If ablation is required, downstream work must produce at least one of: Ablation Ledger row, Ablative Counterproposal, Ablative Isomorphism Card, review/ablation packet, or keep warrant.
A review comment is not a task. It is a claim plus, sometimes, a proposed fix.
Before code mutation from review feedback, classify each material comment as one of: address, validate-only, resolve-thread-only, do-not-address, rebut, defer, investigate, route, or blocked.
address requires current artifact evidence, defeated no-change countercase, proposed-fix validity, direction/ownership clearance, ablative clearance, proof path, and active Resolution Warrant.
If multiple comments orbit the same invariant, do not address them as independent tasks. Promote them into one Governing Invariant Candidate.
When behavior is hidden in callbacks, closures, handlers, lambdas, dynamic dispatch, hook chains, plugin registries, or ad hoc function values, ask whether the behavior space should be reified.
Use REIFYING when the behavior set is closed or enumerable; behavior needs logging, replay, serialization, diffing, caching, routing, validation, or exhaustive testing; correctness depends on total handling; or ownership is smeared across higher-order call sites.
Cash-out: constructors/variants/tags/commands, payload shape per case, one canonical interpreter/eliminator, totality table, and preservation proof. Do not reify genuinely open plugin or extension surfaces unless the task is to close or govern the extension boundary.
High intelligence often appears as a refusal to mutate. Prefer no-change, validate-first, proof-only, rebut, defer, delete, collapse, canonicalize, certify, or report obstruction when those dominate mutation.
A no-change decision is high-quality only if it has current evidence, countercase survival, explicit scope, proof or missing-proof statement, and downstream consequence.
universalist is the single top-level Universal Architecture skill in this repo. The former standalone Kan skill has been folded into universalist as an internal mechanics layer. Do not route to a separate Kan skill.
Use universalist when the main question is the smallest honest construction, a canonical boundary artifact, Composition Certificate, Boundary Normal Form move, Exact Context, Context Certificate, Context Normal Form, semantic consumption boundary, presentation strategy, Possibility Sheafification, Sheafification Certificate, Abstraction Normal Form, or inexact abstraction repair.
Prefer universalist only when it changes code shape, proof obligations, owner boundaries, certificates, or normal-form progress. If a local implementation path is sufficient and no certified boundary/context/abstraction is at stake, do the local work.
For doctrine-activated work, end with a compact receipt when the activation shaped the route or the user needs to audit the decision:
Route Receipt:
- frame:
- operator:
- artifact:
- countercase:
- dominant move:
- proof:
- next:
If no route change occurred and the user needs the rationale:
Route Receipt:
- frame: local
- operator: none
- reason: bounded task with obvious proof
- proof:
- next:
Do not add a receipt for tiny direct edits unless omission would hide a material routing decision.
testing
Use before local patching when bugs, regressions, malformed state, crashes, parser failures, migrations, cache drift, protocol problems, compatibility requests, tolerant readers, fallbacks, coercions, retries, catch-and-continue logic, or local workarounds may broaden accepted invalid state.
testing
Use for bug reports, PR/issue prose, reviewer comments, user diagnoses, generated summaries, memories, retrieved context, public tracker context, claimed root causes, proposed fixes, fake-minimal repro risk, or any investigation where natural-language context could anchor the implementation scope.
development
Apply Algebra-Driven Design. Use for ADD, denotational design, combinator models, law-driven architecture, domain algebra, property tests, codebase modeling, event sourcing, workflow design, or agentic skill design. If the canonical bundle is unavailable, use this wrapper as the minimal ADD kernel and report the missing bundle path.
testing
Kernelized, warrant-issued adjudication for PR review comments, CAS findings, and review-like claims before implementation or thread resolution. Treat each comment as a claim to test, preserve raw identity and artifact state, emit a tiny always-on Claim Decision Kernel, then issue scoped Resolution Warrants and triggered annexes for address, validation, proof-only resolution, do-not-address, delete/collapse/canonicalize, or blocked routes. Mutation is permitted only by an active surface-budgeted warrant. Trigger for `$review-adjudication`, review the review, adjudicate PR comments, refine this list to just those worth resolving, select review comments to resolve, gate review comments before implementation, or route review/CAS findings into `$fixed-point-driver`. Not for implementing fixes, writing rebuttals only, or final merge closure.