██████╗ ██████╗ ██╗███████╗███╗ ███╗ ╱│
██╔══██╗██╔══██╗██║██╔════╝████╗ ████║ ╱ │ ━━━━━ Plan
██████╔╝██████╔╝██║███████╗██╔████╔██║ ╱ │ ━━━━━━ Research
██╔═══╝ ██╔══██╗██║╚════██║██║╚██╔╝██║ ╱ │━━━━━━━ Implement
██║ ██║ ██║██║███████║██║ ╚═╝ ██║ ╱ │ ━━━━━━ Synthesize
╚═╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝ ╚═╝ ╱_____│ ━━━━━ Maintain
A toolkit of commands, sub-agents, and skills for AI coding workflows.
PRISM installs a curated set of slash commands, sub-agents, and a skill into your AI coding tools. It is currently supported in Claude Code (commands + agents + skills) and Windsurf (commands installed as workflows).
The acronym tracks the five phases of a structured coding workflow:
| Phase | What it covers |
|---|---|
| Plan | Produce a detailed, file-grounded implementation plan and iterate on it |
| Research | Document the codebase as-is — locate, analyze, find patterns |
| Implement | Execute approved plans with small, well-defined coder/architect units |
| Synthesize | Hand off context between sessions, resume work, capture decisions |
| Maintain | Validate that work matches the plan; review colleagues' branches locally |
./install.sh # interactive prompt
./install.sh --claude # install Claude Code only
./install.sh --windsurf # install Windsurf workflows (to CWD)
./install.sh --all # install everywhere
./install.sh --helpDestinations:
- Claude Code →
$CLAUDE_HOME(defaults to~/.claude)commands/→~/.claude/commands/agents/→~/.claude/agents/skills/→~/.claude/skills/
- Windsurf →
$WINDSURF_PROJECT_DIR(defaults to./.windsurf)commands/→./.windsurf/workflows/- Windsurf does not natively support sub-agents or skills — only commands install as workflows.
Existing files at the destination are renamed to <name>.bak.<timestamp> before being overwritten, so re-running the installer is non-destructive.
| Variable | Purpose | Default |
|---|---|---|
CLAUDE_HOME |
Claude Code install root | $HOME/.claude |
WINDSURF_PROJECT_DIR |
Windsurf .windsurf directory |
$PWD/.windsurf |
Slash commands in Claude Code (/<name>), or workflows in Windsurf.
| Command | Description |
|---|---|
/create_plan |
Interactively build a detailed implementation plan grounded in the codebase (uses opus) |
/iterate_plan |
Update an existing plan based on feedback, keeping it grounded in reality (uses opus) |
/implement_plan |
Execute an approved plan phase-by-phase with verification |
/validate_plan |
Verify an implementation against its plan and surface deviations |
/research_codebase |
Document the codebase as-is via parallel sub-agents (uses opus) |
/create_handoff |
Write a concise handoff document to transfer work to another session |
/resume_handoff |
Resume work from a handoff document with context recovery |
/local_review |
Set up a worktree to review a colleague's branch (gh_username:branchName) |
Specialized agents invoked via the Task tool with subagent_type.
| Agent | Role | Model |
|---|---|---|
architecture-agent |
Makes pattern/design judgment calls; decomposes broad work into coder-agent-sized sub-tasks. Read-only. | opus |
coder-agent |
Implements small, well-defined coding tasks with precise specs and acceptance criteria. | sonnet |
codebase-locator |
Finds where code lives — files, directories, components. | sonnet |
codebase-analyzer |
Explains how code works with file:line references. Documentarian, not critic. |
sonnet |
codebase-pattern-finder |
Surfaces concrete examples of existing patterns to model new work after. | sonnet |
thoughts-locator |
Discovers relevant documents in the ~/thoughts/ directory. |
sonnet |
thoughts-analyzer |
Deep-dives into specific thoughts documents to extract key insights. | sonnet |
web-search-researcher |
External research via WebSearch / WebFetch. |
sonnet |
The research/analyzer agents are strict documentarians — they describe what exists rather than recommending changes. architecture-agent and coder-agent are the action-oriented pair: architect decides and decomposes, coder executes.
| Skill | Description |
|---|---|
rlm-recursive-context |
Recursive Language Models-style handling for inputs that don't fit in one pass: treat long inputs as external objects, slice them, and stitch results from sub-call variables. |
A typical PRISM session walks through the acronym:
- Research —
/research_codebase(orcodebase-locator+codebase-analyzerdirectly) to map out the relevant area. - Plan —
/create_planto produce a phased plan;/iterate_planto refine it. - Implement —
/implement_plandrives execution, delegating toarchitecture-agentandcoder-agentfor the actual edits. - Synthesize —
/create_handoffat the end of a session;/resume_handoffat the start of the next. - Maintain —
/validate_planto confirm the implementation matches the plan;/local_reviewto inspect a colleague's branch in an isolated worktree.
PRISM commands persist artifacts under ~/thoughts/{project_name}/, where {project_name} is basename $(pwd) of the working directory. Subdirectories used by the commands:
~/thoughts/{project_name}/research/— research documents~/thoughts/{project_name}/plans/— implementation plans~/thoughts/{project_name}/tickets/— ticket files~/thoughts/{project_name}/handoffs/— handoff documents
This keeps long-lived planning artifacts outside the project repo while still scoping them per-project.
Apache License 2.0 — see LICENSE.