codex/skills/synesthesia/SKILL.md
Reversible cross-modal diagnostic lens for software. Use when the user asks what code, architecture, behavior, logs, APIs, or alternatives feel, sound, look, or move like; for compare-by-feel analysis; when literal analysis leaves multiple plausible structural, temporal, interaction, or boundary interpretations that cross-modal recoding could distinguish; or after an owning technical workflow documents such an ambiguity. Start from literal evidence and translate every sensory statement into a technical hypothesis, uncertainty, falsifier, and next move. Not for ordinary architecture, performance, readability, or UX audits; exact syntax; legal/compliance or security sign-off; or code mutation by itself.
npx skillsauth add tkersey/dotfiles synesthesiaInstall 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.
Use reversible sensory representations to expose software structure that a literal description has not made easy to see, compare, or communicate.
The sensory layer is a diagnostic instrument. It is not evidence, proof, a mandatory output style, or an implementation owner.
literal evidence
-> minimum sufficient sensory representation
-> engineering translation
-> uncertainty and falsifier
-> decision, explanation, or investigation delta
A sensory statement that cannot be translated, falsified, or used to change the next move is decoration and should be omitted.
Use this skill when at least one of these is true:
The root-discovered ambiguity route requires the competing interpretations, the evidence each explains, and the distinction the sensory representation is expected to expose. General uncertainty, novelty, or a desire for colorful prose is not sufficient.
Do not activate merely because a task concerns:
Those domains have their own technical owners. Synesthesia participates only when the representational lens is itself useful.
Do not use for exact syntax, legal or compliance interpretation, security sign-off, rote edits, or literal-only tasks.
Synesthesia may shape diagnosis or explanation, but it does not displace the owning workflow:
$lift;$universalist;$complexity-mitigator;$codebase-audit;$memory-source-notes.When another skill owns the task, Synesthesia returns one route-shaping insight or explanatory model and then hands control back.
Do not create a dedicated Synesthesia custom subagent. In explicitly requested team mode, use a read-only lane only when it receives exact artifact state, literal evidence, a specific representational question, and a required engineering translation plus falsifier.
Choose exactly one primary mode.
Use a sensory model to generate or rank technical hypotheses.
Return:
Use a reversible model to teach a system, flow, or boundary.
Return:
Do not force an action list when explanation is the goal.
Apply stable axes to two or more alternatives.
Return:
Do not change mappings between alternatives merely to make one sound better.
Use one sensory representation to select or clarify a technical move, then return to literal implementation.
Return only:
Do not narrate the entire implementation in metaphor.
Always:
Never:
Use modality-selection.md when selection is not obvious.
Default principle:
one modality if one independent dimension is enough
second modality only for a genuinely independent dimension
more than two only with an explicit reason
Do not use a fixed universal mapping table. Treat all mappings as task-indexed hypotheses until accepted by the user or repeatedly operationalized.
Identify:
Choose a modality because its structure matches the evidence:
State only what the literal evidence supports. Use a compact representation rather than decorative prose.
For every material mapping, produce:
Mapping Card:
- evidence:
- sensory representation:
- engineering translation:
- uncertainty:
- falsifier:
- decision or explanation delta:
Stop the sensory pass when:
Hand control to the technical owner for implementation, proof, publication, or lifecycle work.
Do not force fixed headings into every response.
Use the smallest output that preserves reversibility. A full diagnostic response may use:
Literal evidence
Sensory model
Engineering translation
Falsifiers
Next move
For implementation-lens mode, one short mapping card is usually enough.
Most sensory output must not become memory.
When this workflow reaches a native Ledger command, load $ledger and complete
$ledger ensure once. After readiness, invoke ledger directly.
A durable memory event exists when the user explicitly:
remember this, save this, from now on, or equivalent;when I say <phrase>, it means <technical pattern>;Repeated accepted operational use without an explicit durability phrase may qualify only across at least two independent contexts and with evidence that the mapping changed diagnosis or explanation.
When a durable memory event exists:
SYN-* ledger ID or MSN-* source-note ID for confirmation, correction, rejection, retraction, or reopening when one exists;ledger doctor --source synesthesia;ledger capture --source synesthesia --kind <kind> --json -;$memory-source-notes, export with ledger export --source synesthesia --format memory-note --id <SYN-ID>, and use the Synesthesia source-note adapter in the same turn;Do not merely describe a qualifying memory event without attempting the handoff.
Do not emit a memory-note: not-attempted line during ordinary Synesthesia use. Emit a proof line only when the user requested persistence, supplied a durable event, or the admission gate was materially evaluated.
When invoked with checkpoint_context=source-memory-checkpoint/v1, consume the
coordinator's existing Ledger readiness and shared evidence packet. Do not
rerun $ledger ensure, invoke $ledger as lifecycle coordinator, or call
Learnings or Negative Ledger. Evaluate only whether the packet contains a
durable Synesthesia event or a useful reversible candidate.
Do not stop at ledger doctor --source synesthesia or at the absence of
explicit durable authority. Run a candidate pass over the literal evidence,
user-authority events, representational ambiguity, route delta, and final
handoff:
ledger capture --source synesthesia and emit the append proof.synesthesia: 0 records appended: <specific reason>.Return exactly one lifecycle disposition:
appended durable user-authorized SYN event appended
candidate useful reversible proposal lacks durable authority
no-op literal model is sufficient or no reusable mapping exists
blocked required Synesthesia doctor, capture, or source validation failed
Also return one separate admission disposition. An appended event that passes
the admission gate uses created, duplicate-skip, or blocked; an appended
event that remains source-local uses not-eligible; a candidate, no-op, or
blocked canonical disposition uses not-applicable. A source-note or digest
failure never rolls back a successful SYN-* append.
A lifecycle candidate must be compact and reversible:
synesthesia: candidate: phrase="<sensory phrase>" translation="<engineering meaning>" needs=user-endorsement
Include or nearby state the evidence, activation boundary, non-activation boundary, verification/falsifier, and missing authority. A candidate is not a ledger row, not a memory note, and not future authority. It is a proposal for the user to endorse, correct, or reject.
Do not report notes-only as the substantive reason for zero capture. That is
a store migration state, not a Synesthesia judgment. Import notes only when an
explicit copy migration is intended.
This checkpoint route is SYN-LEDGER-CHECKPOINT. Standalone explicit sensory
or durable-memory requests remain source-local and do not open a checkpoint.
Explicit durable user authority is sufficient for intended persistence. It does not also require repetition.
Without explicit durable authority, require repeated accepted use across at least two independent contexts.
Every admitted mapping or boundary must contain:
Do not capture:
See memory-admission.md for the operation matrix, payload contract, copy-based adapter synchronization, digest projection, and doctor workflow.
ledger --source synesthesia
Use native Synesthesia source commands for canonical repo-local reads, writes,
and diagnostics. .ledger/synesthesia/events.jsonl is the current persistent
adapter location, not a caller contract; do not open or hand-edit it in normal
operation. Existing immutable Synesthesia memory-source notes remain valid
transition evidence; import them with
ledger migrate --source synesthesia --mode copy only when an explicit copy
migration is intended.
A successful Synesthesia memory-source admission refreshes this regular-file materialized view automatically:
${CODEX_HOME:-$HOME/.codex}/memories/extensions/synesthesia/resources/latest_synesthesia_digest.md
The digest folds immutable assert, confirm, supersede, reject, retract, and reopen events into the current active mappings and activation boundaries. It also preserves inactive entries, invalid notes, and unresolved event chains.
The digest is disposable and non-canonical. Every promotable entry must retain resolvable source_note_ids; immutable notes remain authoritative. A digest-generation failure must never invalidate or roll back a successful source-note append.
Manual refresh:
ledger memory-digest --source synesthesia
Run the doctor after copy-deploying the Phase 2 adapter or when promotion appears stale:
ledger doctor --source synesthesia
$learnings;$negative-ledger;$synesthesia;$memory-source-notes.tools
Invokes Apple's macOS 27 fm command-line tool from a local Mac to use the on-device system model or Private Cloud Compute, including instructions, image prompts, schema-constrained JSON, and noninteractive automation. Use when the user asks to run Apple Foundation Models through fm, compare system versus pcc, generate structured output, or automate fm without Swift or an app.
development
Compile historical Codex sessions into governed counterfactual evidence, evaluate an existing owner-applied candidate through blinded paired HCTP trials, and fold observable evidence into RUN, OBSERVE, or STOP. Use for `$hylo`, CRF extraction, counterfactual replay, source-governed direct or historical trials, sealed evidence, paired baseline/candidate evaluation, causal frontiers, or evidence-governed improvement.
testing
Ensure a `ledger` command is available on PATH; materialize, validate, record, replay, and project requested Actuating artifacts without taking semantic or execution authority; coordinate the shared Learnings/Synesthesia/Negative Ledger lifecycle checkpoint and repo-local source-memory reconciliation; address Universalist plans and receipts; and perform pure artifact validation.
testing
Classify and quotient review findings, failing tests, incidents, bug reports, migration failures, and other witnessed falsifiers against accepted intent and the current Construction. Author counterexample-set/v1 without selecting repairs, counting review credit, or granting mutation.