devseunggwan/praxis
Workflow rules from CLAUDE.md turned into hooks and skills that actually fire
Report praxis bypass-telemetry and hook fire-rate from the local event ledgers, using the shipped bypass-review CLI.
Hand off an existing independent issue that surfaced mid-task to its own Claude Code session in a new cmux workspace, with auto-collected context; that session runs issue→worktree→PR alone. Not for splitting the current task.
Bulk recover Claude Code sessions after a crash, power loss, OOM kill, or reboot by scanning the .jsonl files Claude Code persists automatically. Interactive interview chooses recovery scope and layout. Use this when sessions died and you need them back, NOT for restoring an intentionally saved layout. Priority: crash context wins. If the request mentions a crash/power loss/OOM, prefer this skill even when the user also mentions a snapshot — the snapshot may be stale, and .jsonl scan reflects the real final state. Only defer to cmux-resume-sessions when there is NO crash context and the user explicitly wants to rehydrate a saved snapshot.
Restore cmux workspaces from a JSON snapshot saved by cmux-save-sessions. Use this when you want to rehydrate an intentionally saved layout with NO crash context. Crash routing override: if the request mentions a crash, power loss, OOM, or 살려야, route to cmux-recover-sessions instead — even when the user also mentions a snapshot, because the snapshot may be stale and .jsonl scanning reflects the real latest state.
Save cmux session list as a JSON snapshot. Current session excluded by default. Supports save and list commands.
Automate daily cmux session management. Manual commands for status (dashboard) and cleanup (tidy + reorganize), plus init (hook) and report (schedule) automation.
Worktree-aware wrapper for /codex:review. Forces explicit worktree selection when several worktrees are active, preventing silent cwd mismatch, then gates every returned finding: premise verification before fact-modifying edits, flip detection halting A→B→A oscillation, sibling cross-checks for a port or parallel hotfix, a diminishing-returns advisory (PRAXIS_DIMINISHING_RETURNS_N), and a per-finding approval ask. It also reaps leaked openai-codex brokers (PRAXIS_CODEX_REAP=1).
Deferred-decision ledger — harvests commit trailers (Not-tested:, Confidence: low, Rejected:, Directive:, Scope-risk:) and tree compounding comments (# [PR #N]) into a single report-only ledger so a '나중에' marker doesn't silently become '영원히 안 함'.
On-demand home for the pre-merge approval procedure — the three-surface pre-ask probe, grading every open finding by its blocking decoration, carrying the anchor's Unverified gaps into a follow-up, and the six-part briefing that ends in an explicit approve-ask.
Bulk recover Claude Code sessions after power loss or tmux crash. Interactive interview to determine recovery scope, layout, and execution mode.
Reset the current session's strike counter to 0 and clear the recorded violation list. Required after a 3rd strike block before Claude can respond again.
Session retrospect — analyze the current Claude Code session against the rules it ran under (project and global CLAUDE.md), identify friction patterns and root causes, propose context-appropriate improvement actions, then execute after user approval.
Report which requirements in the ~/.praxis/docs/specs/ store the current tree does not yet satisfy — runs each requirement's Verify: command and classifies it implemented / missing / UNKNOWN. Report-only: no writes, no commits, no issues.
Declare a rule violation in the current Claude Code session. Escalates — strike 1 warning, strike 2 forced review, strike 3 response block.
Show the current session's strike count (0-3) and the list of recorded violation reasons.
Pre-implementation input-surface enumeration — before writing a parser/validator/sanitizer/classifier, enumerate every input variant so each becomes a required test case.
Score the options at a decision fork on four cost axes — reversibility, blast radius, cost-if-wrong, process cost — with a provenance grade on every cell so a guess never reads as a measurement. Report-only: no totals, no ranking arithmetic, no external-surface writes.
Onboarding entry point for new praxis users — introduces the 4 skill categories, maps common scenarios to the right skill, and explains the hook system.
On-demand home for the pre-merge worktree precondition and the unified post-merge cleanup sequence — how to run gh pr merge --squash --delete-branch from the base-branch worktree, the submodule --force caveat, the squash-ancestry stale-HEAD guard, and the no-&&-chain rule.
Guide for authoring a new praxis SKILL.md — template usage, SRP, trigger keyword design, frontmatter conventions, and Claude/Codex host differences.