plugins/d-nd-core/skills/non-dual-copy/SKILL.md
Pre-commit check for public-facing copy (knowledge base definitions, page content, docs). Detects apologetic hedging — phrases that declare 'degrees of truth' (possible/necessary, current/future, one-of-many/the) and open a dualistic framing the model transcends. Use when drafting or reviewing any copy that describes the model, its transductions, or its tools.
npx skillsauth add grazianoguiducci/d-nd-seed non-dual-copyInstall 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.
A model that operates on possibility itself cannot be described through phrases that declare its own contingency. The hedge does not add honesty — it adds a dual framing (possible/necessary, actual/future, this/others) that the model specifically works beyond. Context opens the door. The hedge closes it.
Copy describes what happens, not declared degrees of truth.
When a draft uses phrases like "one of the possible formalizations", "in this phase of the lab", "a possible transduction", "we might say", the intent is usually honesty about contingency — but the effect is a dualistic framing (P vs not-P) that contradicts the model's own stance.
The context already carries the contingency. A matrix citation to "Paper Zero" already tells the reader this is a specific formalization. A tool reference to "the lab's current inversion" already situates it in time. Adding "— one among many" or "— in this phase" is redundant at best and model-contradicting at worst.
The "excluded third" (P or not-P, possible or necessary) is a training bias of LLMs, not a property of the model being described. Remove it at every draft.
| Form | Example | Why it fails | |------|---------|--------------| | Modal | "one of the possible formalizations", "not the only one", "a possible transduction" | Opens possible/necessary duality | | Temporal | "in this phase of the lab", "currently the system uses", "might be abandoned tomorrow" | Opens present/future duality as disclaimer | | Epistemic | "we might say", "one could consider", "in a certain sense" | Opens certain/uncertain duality as apology | | Comparative-apologetic | "more than a framework", "not only mathematics", "beyond just a theory" | Opens this/others duality as defense |
The model has no adversaries to argue against. It describes what happens.
Factual-descriptive: "A specific transduction: the matrix [[1,1],[1,0]] used in Paper Zero to project the dipole into linear algebra." Period. The reader understands from the context that this is one specific form — no explicit disclaimer needed.
Pointer without hedge: "Paper Zero is the formalization" → states where the formal form lives, not "is one possible formalization".
Property over apology: when multiple contexts matter, describe what other contexts produce (when relevant) instead of declaring "possible alternatives". The content carries the opening; the hedge declares it.
Before writing a sentence into a knowledge base entry or public copy:
If (2) is "stop doubting" → it is a hedge. Remove. If (3) is yes → it is training-bias contamination. Remove.
Trigger on:
Skip when:
publish-safe enforces mechanical gates on the publish pipeline (sanitize, integrity, safe write, verify, rebuild). non-dual-copy enforces a content-quality gate that runs BEFORE publish-safe: if the draft contains apologetic markers, it should be rewritten before the publish pipeline begins.
Canonical enforcement path: draft → non-dual-copy scan → rewrite if flags → publish-safe gates → deploy.
This skill is itself copy. Does it pass its own test?
The skill is the pattern applied to itself.
When integrating this skill into a mechanical gate, do not apply raw regex alone — the four anti-pattern forms have legitimate uses (narrative questions, workflow instructions, quoted citations) that a naive regex will flag.
Two-pass approach:
If the context pass cannot be implemented, the gate should stay advisory (warn, not block) until the false-positive rate drops below a threshold (e.g., <5% of matches in a held-out corpus).
For integration with publish-safe Gate 1 (sanitize), the following regexes catch the four anti-pattern forms. Each match raises a flag; the operator/LLM reviews and rewrites.
MODAL:
\bone of the possible\b
\bnot the only one\b
\buna delle .{1,30} possibili\b
\bnon l'unica\b
\ba possible transduction\b
\buna trasduzione possibile\b
TEMPORAL:
\bin this phase (of the lab)?\b
\bin questa fase( del lab)?\b
\bcurrently the (system|lab) uses\b
\blente attuale\b
\btoday['']s lens\b
\bmight be abandoned\b
\bpotrebbe essere abbandonat[oa]\b
EPISTEMIC:
\bwe might say\b
\bsi potrebbe dire\b
\bone could consider\b
\bpotremmo dire\b
\bin a certain sense\b
\bin un certo senso\b
COMPARATIVE-APOLOGETIC:
\bmore than a framework\b
\bpiù di un framework\b
\bnot only mathematics\b
\bnon solo matematica\b
\bbeyond just a theory\b
\boltre che una teoria\b
Scope: scan is advisory at Gate 0 (pre-draft review). For promotion to fail-fast Gate 1.5 in publish-safe, the regex set must accumulate ≥3 empirical failures with context that proves the flag was correctly a hedge (not a legitimate use). Until then, mechanical scan warns, operator decides.
Observed on 2026-04-23 across two independent LLM nodes (TM1 and TM3) working on the same knowledge base. Both produced hedge-contaminated drafts when refactoring definitions away from a more technical phrasing. TM1 wrote "a possible transduction"; TM3 wrote "one of the possible formalizations — not the only one". The operator flagged the first; TM1 flagged the second. The pattern is an attractor of LLM training — when asked to soften technical language, the default move is to add disclaimers, which collapses into excluded-third framing.
Crystallizing as a skill (rather than node-local memory) because the pattern emerges across nodes, not within one. The mechanical enforcement lives where the bias enters — the draft moment — not where it surfaces (the rebuild or the reader).
testing
Closure reflection protocol. After a significant work block concludes (feature shipped, session ending, major commit landed, cross-node coordination resolved), runs a 10-question interview that extracts meaning, impact, and next questions — then emits multiple audience-specific artifacts (changelog, external editorial, AI integration docs, memory crystal, backlog seed). Turns implicit maturation into explicit narrative. Use at the end of meaningful work, not after trivial edits.
testing
The neutral form of the D-ND method. Meta-skill that recognizes context and orients toward the right specialization (cec, autologica, cascade, assertion-verifier, etc.). Activate at the start of a non-trivial work block or when input matches trigger words ('where are we', 'what here', 'orchestrate', 'connect', 'sieve this').
development
Five mechanical gates for any content publish pipeline with CMS + rendering layers. Prevents false security: 'API returned 200' does not mean 'visitor sees clean content'. Use when writing content to a multi-layer serving system (CMS API, static files, prerendered HTML, cached copies).
testing
Multi-node consultation protocol for high-leverage decisions. Dispatches the same question to N independent LLM/agent nodes in isolation, then synthesizes their responses into a summa that exposes convergence (high-confidence claims), dissensus (real uncertainty zones), and emergent points (insights no single node produced). Reduces single-node training bias. Supports recursive escalation for stable-state convergence. Use for decisions that propagate via A14 cascade — seed updates, crystallizations, advisory→mechanical promotions, high-visibility copy, lab result interpretation.