From pratyaksha-context-eng-harness
Use at session start to capture the session-stable invariant (Sākṣī) — user identity, project hard rules, the active hypothesis or contract under test — and ensure it is pushed as a real Claude `system` message at every model call. Use whenever the user changes the project, switches contexts, or states a new hard constraint that must persist across all subsequent reasoning.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pratyaksha-context-eng-harness:witness-prefixThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The Sākṣī is the *witness consciousness* — the unmoving observer against
The Sākṣī is the witness consciousness — the unmoving observer against
which all variable cognition is measured. In this plugin it has a precise
operational meaning: a frozen, ≤500-token system message that is pushed as
the Claude system field at every model call within the session.
session-start.sh hook fires this skill if the
workspace CLAUDE.md declares hard project rules. Capture them once.# Capture
set_sakshi({
content: "User: Sharath. Project: pratyaksha-context-eng-harness.\n
Hard rules:\n
- Never modify the v0 baseline files in docs/v0_retrospective_*\n
- All tests must run under `uv run --active pytest`\n
- The shipped plugin must not import attractor-flow or ralph-loop\n
Active hypothesis: H1 (Avacchedaka improves precision-recall)"
})
→ {ok: true, tokens: 87, system_message: "<sakshi_prefix>...</sakshi_prefix>"}
# Inspect at any time
get_sakshi()
In the v0 implementation (see docs/v0_retrospective.md, Gap G9), the
Sākṣī content was inlined into the user-message context fed to the Buddhi
verifier. That collapses two distinct epistemic modalities — variable
cognition (claims being reasoned about) and witness invariance (the frame
they are reasoned against) — into the same channel, which means the model
can be talked out of its invariants by adversarial later turns.
The fix is structural: the Sākṣī goes through the Anthropic system field,
which Claude treats as separate from the user/assistant turn stream and
which prompt-caching can pin permanently. The witness-prefix skill
exists to make sure callers actually do this, instead of falling back to
the easier-but-broken "just paste it into the user message" pattern.
context_insert with appropriate
precision instead.| Anti-pattern | Why it's wrong |
|---|---|
| Setting Sākṣī to the user's last message | That's variable cognition, not invariance |
| Setting Sākṣī to a 5000-token style guide | Bloats every call; defeats caching; should live in context store |
| Inlining the witness into a Buddhi/Manas user message | Reproduces G9; recursive prompt-stitching corrupts the frame |
| Updating Sākṣī mid-turn during reasoning | Invariants don't slide |
/context-status — also reports current Sākṣī token countnpx claudepluginhub sharathsphd/pratyaksha-context-eng-harness --plugin pratyaksha-context-eng-harnessGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.