agentsclimarketplace

Crisp orchestrator

Skill radekamirko/C.R.I.S.P/.claude/skills/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.From its SKILL.md

Install
npx -y skills add radekamirko/C.R.I.S.P --skill crisp-orchestrator

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

7.8 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it

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 saysAction
Continue / yes / Phase [X]Load phase SKILL.md and proceed
Start Sprint 1 / execute / buildSet handoffs.ready_for_execute: true. Route to Execute (see Execute routing below).
New projectAsk: overwrite state or new docs/ folder?
Show full statePrint crisp-state.json in readable format
What's leftList 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 saysAction
Continue / start sprint / buildLoad .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 requestsList execute.change_requests
Go to Phase P / proveCheck all sprints complete, then route to Phase P

Mode: "prove"

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


Phase routing table

Phase / ModeSkill 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
ArchaeologyRuns 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:

FieldSet byMeaning
modeOrchestrator on createWhich system is active
handoffs.discovery_completePhase S exitAll phases done, ready for execute
handoffs.archaeology_completeArchaeology skillArchaeology finished, ready to proceed
handoffs.ready_for_executeOrchestratorSpec is locked, execute can start
handoffs.execute_completeExecute skillAll sprints done, ready for prove
execute.current_sprintExecute skillWhich sprint is active
execute.gates.sprint_NExecute skillGate results per sprint
execute.change_requestsExecute skillQueued change requests

Rules

  • Never skip a phase without explicit user instruction.
  • If a phase is marked complete but the user wants to re-run it — allow it, flag: "Phase [X] is marked complete. Running again won't reset state automatically."
  • If crisp-state.json has open questions — surface them before starting the next phase.
  • If phases are out of order — flag it: "Phase R isn't marked complete. Running Phase S without it means some pre-fills will be missing. Continue anyway?"
  • If execute.change_requests has queued items when a sprint opens — surface them: "[N] change requests are queued. Review before sprint starts?"
  • Keep responses tight. Status reporting is a tool, not a presentation.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.