Skip to content

How It Works

At session start, a hook injects the praxis:using-praxis skill. On every message, the agent:

  1. Classifies scope inline using the triage table — no extra skill call needed.
  2. Announces the scope and loads required skills in parallel.
  3. Follows the loaded skills literally, respecting <gate> markers.

Triage

ScopeSignalSkills loaded
vagueproblem space undefineddesign
trivialtypo, rename, docs-only, ≤1 linenone
smallone function, single file, ≤50 LOCtdd
standardfeature or source-code changedesign, plan, tdd, review
complexnew system, ≥5 tasks, parallel editsdesign, plan, worktree, subagents, review, ship
debugbroken, regression, failing testdebug
onboardexisting project, no tech-speconboard

Example flows

Tiny fix

You:   fix the typo "teh" in README
Agent: scope=trivial → edit → done

Standard feature

You:   add OAuth login with GitHub
Agent: scope=standard → design → plan → tdd → review → ship

Vague goal

You:   I want to build something that helps developers manage their workflow
Agent: scope=vague → design (clarifies first, one question at a time)
                   → confirmed direction → spec → plan → ...

Large project (rolling wave)

You:   build a new auth system from scratch
Agent: scope=complex → design (spec + roadmap M1/M2/M3)
                     → plan M1 → tdd → ship M1
                     → plan M2 → tdd → ship M2 → ...

Released under the MIT License.