<!-- praxis-stack adapter for Grok Build (xAI Grok agent sessions).
     Place this file where the Grok session can read it (project root, or
     ~/.grok/skills/praxis-onboard/SKILL.md body). Source of truth:
     https://praxis-stack.pages.dev/onboard-grok.md -->

# praxis short-circuit onboard (Grok Build)

## When this fires

Session start on Grok Build, OR user says: bootstrap, orient me, catch me up,
`/megapraxis`, new project, install praxis, "use the praxis stack".

## Short-circuit contract (do this BEFORE a full cold invent)

1. **Fetch the playbook** (authoritative, live):
   `https://praxis-stack.pages.dev/onboard-grok.md`
2. **Optional live state** (one GET, do not invent numbers):
   `https://praxis-stack.pages.dev/api/snapshots/latest`
3. **Optional saturation certificate** (byte-stable onboard baseline):
   `https://praxis-stack.pages.dev/demo/grok-onboard.json`
4. **Install skills once** into Grok's skill root if missing:
   - zip: `https://praxis-stack.pages.dev/pkg/praxis-stack-skills.zip`
   - target: `~/.grok/skills/` (or `py install.py --target %USERPROFILE%\.grok\skills`)
   - also acceptable: `~/.claude/skills/` if this machine shares skills with Claude Code
5. **Run megapraxis in filesystem-fallback** — designed mode on Grok. Do **not**:
   - treat missing `pharosiraptor` MCP as a blocker
   - spend a session debugging stdio MCP registration for a first onboard
   - dispatch `megapraxis-self-audit` swarm on first touch
   - require `localhost:8080` GraphDoc

## Harness map (Grok-specific)

| Skill text says | On Grok Build do |
|---|---|
| `/megapraxis` Skill tool | read `megapraxis/SKILL.md` and execute top-to-bottom |
| ToolSearch / MCP tools | report missing; take filesystem-fallback (expected) |
| `Agent(subagent_type=…)` | use Grok subagents if available; else inline sequential |
| `~/.claude/skills` inventory | also check `~/.grok/skills`; absent Claude plugin roots → N/A not OPEN |
| traps #4/#5 (MCP launch) | **N/A for pure Grok onboard** unless user asked for graph features |
| swarm / self-audit | skip until user says `dispatch` after `/metamegapraxis swarm` |

## Stop condition (short-circuit hit)

If skills are already installed AND `demo/grok-onboard.json` `short_circuit.eligible=true`
AND the user only asked for orientation — emit a **minimal briefing** (mode + env counts
from disk OR `count-skipped` + next step) and **stop**. Do not re-run full metamegapraxis
trap roll-call or agent swarm.

Re-open the full path only when: user says audit/swarm/trap, OPEN traps block the task,
or the user explicitly wants graph-backed coverage grids.

## Core contract (never short-circuited away)

Every claim ↔ truth on disk. Uncomputed counts → `count-skipped`. Undecidables named,
never absorbed. Tarski honesty is not optional.
