Skip to main content
ClaudeWave
Skill50 repo starsupdated 1mo ago

crisp-orchestrator

CRISP session manager — detects project state and routes to the right entry point. Use /crisp to start or resume any CRISP engagement. Handles new projects (discovery), existing codebases (archaeology), active sprints (execute), and validation (prove). Reads docs/crisp-state.json to know where you are.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/radekamirko/C.R.I.S.P /tmp/crisp-orchestrator && cp -r /tmp/crisp-orchestrator/.claude/skills/crisp-orchestrator ~/.claude/skills/crisp-orchestrator
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# CRISP — Session Orchestrator

Before doing anything else, output this exact text verbatim:

  C — Clarify  ·  R — Results  ·  I — Investigate
        S — Spec  ·  P — Prove  ·  E — Execute

        Outcome first. Always.

---

## Step 1: Detect project state

Check if `docs/crisp-state.json` exists.

---

### If `docs/crisp-state.json` does NOT exist → Ask what we're starting

Do not assume. Ask:

> "Starting fresh — two quick questions:
> 1. Do you have an existing codebase, or are we starting from scratch?
> 2. What's the project?"

**If starting from scratch** (no existing code):
- Copy `templates/crisp-state.json` to `docs/crisp-state.json`, set `mode: "discovery"`
- Read `.claude/skills/phase1-clarify/SKILL.md`
- Begin Phase C with: "Tell me about the project — what are you trying to solve, or what did the client brief say?"
- Do not explain the methodology. Just ask.

**If existing codebase** (has code, no docs):
- Copy `templates/crisp-state.json` to `docs/crisp-state.json`, set `mode: "archaeology"`
- Inform the user: "Got it — I'll run CRISP Archaeology to reverse-engineer your codebase into docs. This requires the crisp-archaeology skill. Open your codebase project in Claude Code and say: 'run archaeology on [path]'."
- Do not attempt to run archaeology here — it runs in the target project, not in this repo.

---

### If `docs/crisp-state.json` EXISTS → Read it and route

Read `docs/crisp-state.json`. Check `mode` first, then route.

---

#### Mode: `"discovery"` (standard CRISP phases)

**1. Report current status**

```
Project: [project.name] · Client: [project.client]
Mode: Discovery
─────────────────────────────────────────
Phases complete: [phases.complete joined with " · " — or "None"]
Current phase:   [phases.current]
─────────────────────────────────────────
```

Summarise the current phase state in 2–3 lines:
- Phase C: "Problem defined as [oneSentence]. Go/No-Go: [goNoGo]. Type: [type]."
- Phase R: "Baseline: [baseline]. Target: [successTarget]. [N] HITL zones defined."
- Phase I: "Process track: [processTrack]. User types: [userTypes]. Data mapping: [dataMappingRequired]."
- Phase S: "[sprintCount] sprints planned. Stack: [stack.layers summary]."
- Phase P: "Outcome: [outcome]."

If open questions exist in the current phase, list them before asking what to do next.

**2. Check if ready for Execute**

If `phases.S.complete: true` and `handoffs.ready_for_execute: false`:
> "Phase S is complete. Ready to start building? Say 'Start Sprint 1' to hand off to CRISP Execute."

If the user confirms → update `handoffs.ready_for_execute: true` in `crisp-state.json`.

**3. Route**

| User says | Action |
|---|---|
| Continue / yes / Phase [X] | Load phase SKILL.md and proceed |
| Start Sprint 1 / execute / build | Set `handoffs.ready_for_execute: true`. Route to Execute (see Execute routing below). |
| New project | Ask: overwrite state or new docs/ folder? |
| Show full state | Print crisp-state.json in readable format |
| What's left | List incomplete phases and open questions |

---

#### Mode: `"archaeology"`

**1. Report status**

```
Project: [project.name]
Mode: Archaeology
─────────────────────────────────────────
Recon:       [phases.recon.status]
Strawman:    [phases.strawman.status]
Elicitation: [phases.elicitation.status] ([artifacts.confidence_summary.confirmed] confirmed · [artifacts.confidence_summary.open] open)
Output:      [phases.output.status]
─────────────────────────────────────────
```

**2. Route**

If `handoffs.archaeology_complete: false`:
> "Archaeology is in progress. Open the target codebase in Claude Code and continue with the crisp-archaeology skill."

If `handoffs.archaeology_complete: true` and `handoffs.entry_point_after: "phase-s"`:
> "Archaeology is complete. [N] open questions remain (see docs/open-questions.md). Ready to run Phase S to spec the next phase?"
> Route to Phase S on confirmation.

If `handoffs.archaeology_complete: true` and `handoffs.entry_point_after: "crisp-execute"`:
> "Archaeology is complete. Sprint plan exists. Ready to start building?"
> Route to Execute on confirmation.

---

#### Mode: `"execute"`

**1. Report status**

```
Project: [project.name]
Mode: Execute
─────────────────────────────────────────
Current sprint:   [execute.current_sprint]
Sprints complete: [execute.sprints_complete]
Change requests:  [execute.change_requests.length] queued
─────────────────────────────────────────
```

Show gate status for the current sprint if available:
- Product gate: [execute.gates.sprint_N.product]
- Security gate: [execute.gates.sprint_N.security]

**2. Route**

| User says | Action |
|---|---|
| Continue / start sprint / build | Load `.claude/skills/crisp-execute/SKILL.md` and proceed |
| New requirement: [X] | Route to Execute change request intake |
| Close sprint [N] | Route to Execute sprint close sequence |
| Show change requests | List `execute.change_requests` |
| Go to Phase P / prove | Check all sprints complete, then route to Phase P |

---

#### Mode: `"prove"`

Route to `.claude/skills/phase5-prove/SKILL.md`.

---

## Phase routing table

| Phase / Mode | Skill to load |
|---|---|
| C — Clarify | `.claude/skills/phase1-clarify/SKILL.md` |
| R — Results | `.claude/skills/phase2-results/SKILL.md` |
| I — Investigate | `.claude/skills/phase3-investigate/SKILL.md` |
| S — Spec | `.claude/skills/phase4-spec/SKILL.md` |
| E — Execute | `.claude/skills/crisp-execute/SKILL.md` |
| P — Prove | `.claude/skills/phase5-prove/SKILL.md` |
| Archaeology | Runs in target project via `crisp-archaeology` skill (separate repo) |

---

## crisp-state.json handoff signals

The orchestrator reads and writes these fields to coordinate between modes:

| Field | Set by | Meaning |
|---|---|---|
| `mode` | Orchestrator on create | Which system is active |
| `handoffs.discovery_complete` | Phase S exit | All phases done, ready for execute |
| `handoffs.archaeology_complete` | Archaeology skill | Archaeology finished, ready to proceed
crisp-executeSkill

CRISP Execute — Sprint execution loop with change request management, security gates, product gates, and stakeholder reporting. Use after Phase S (Spec) is complete and crisp-state.json shows ready_for_execute: true. Triggers on "start sprint", "begin build", "execute", "sprint 1", "run sprints", or when handed off from crisp-orchestrator.

crisp-reportSkill

Generate a beautiful single-file HTML report from the project's docs/ folder. Works after any CRISP phase, after Archaeology, or at sprint close in Execute. Triggers on "generate report", "export docs", "create HTML report", "share docs", or automatically at sprint close in CRISP Execute.

crisp-startSkill

Begin a CRISP product discovery session — Phase C (Clarify)

phase1-clarifySkill

The Mileva Method (CRISP) — Phase 1: Clarify. Problem definition, eliciting, painkiller test, buy vs build, AI justification gate, Go/No-Go. Use at the start of any AI implementation project. Triggers on "clarify", "phase 1", "start discovery", "define the problem", "what problem are we solving", or at the beginning of a new client engagement.

phase2-resultsSkill

The Mileva Method (CRISP) — Phase 2: Results. Outcome alignment, stakeholder register, baseline measurement, success metrics, tradeoff negotiation. Use after problem definition is complete. Triggers on "results", "phase 2", "define success", "success metrics", "what does done look like", or after Phase C exit checklist is complete.

phase3-investigateSkill

The Mileva Method (CRISP) — Phase 3: Investigate. Process mapping for existing or greenfield processes, user journey mapping, UX discovery, project goals, system architecture (integration map + data flow). Use after outcome alignment. Triggers on "investigate", "phase 3", "map the process", "process mapping", "user journey", "as-is process", or after Phase R exit checklist is complete.

phase4-specSkill

The Mileva Method (CRISP) — Phase 4: Spec. Full implementation readiness package including solution design, UX direction, tech stack, backlog, MVP prioritization, risk assessment, and AI architecture for Claude Code projects — CLAUDE.md, skill mapping, AI specs, sprint planning, quality gates. Triggers on "spec", "phase 4", "build ready", "implementation plan", "CLAUDE.md", "sprint planning", "backlog", "AI spec", or after Phase I exit checklist is complete.

phase5-proveSkill

The Mileva Method (CRISP) — Phase 5: Prove. Success validation against Phase R baseline metrics, test log review, and AI justification validation. Use after deployment. Triggers on "prove", "phase 5", "validate", "did it work", "success criteria", "measure results", or after go-live.