.cursor/skills/ralplan/SKILL.md
Iterative planning consensus loop. Orchestrates Planner, Architect, and Critic agents in rounds until the plan is approved or max iterations reached. Use for complex tasks that need a validated plan before implementation.
npx skillsauth add Samuel-Harris/Bytes-and-Nibbles-Website ralplanInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Orchestrate Planner, Architect, and Critic agents in iterative rounds until the Critic approves the plan or 5 iterations are exhausted.
Large, ambiguous, or architecturally significant tasks that need a validated work plan before implementation begins.
All three agents are defined in .cursor/agents/.
| Agent | subagent_type | Role |
| --------- | --------------- | ---------------------------------------------------------------------------------------- |
| Planner | planner | Creates and refines the work plan (writes to the plan path supplied by the orchestrator) |
| Architect | architect | Answers architectural questions, validates design (readonly) |
| Critic | critic | Reviews the plan; issues OKAY or REJECT verdict (readonly) |
Planner creates plan
→ (if open questions) Architect answers
→ (if multi-task plan) Architect validates dependency graph
→ Critic reviews ← MANDATORY, never skip
→ OKAY → Done
→ REJECT → feed criticism to Planner, repeat
The Planner decides how to structure the plan, but must annotate task dependencies when the plan contains multiple tasks. This lets downstream execution (manual or via cursor-swarm) determine ordering and parallelism.
For each task in a multi-task plan, the Planner should note:
These are lightweight annotations — the Planner should not prescribe batch grouping, agent tiers, or execution strategy. Those are execution concerns handled by whoever runs the plan.
Example:
### Task 1: Add User model
- **Files**: `backend/shared/models/user.py`
- **Depends on**: none
### Task 2: Add User schemas
- **Files**: `backend/shared/schemas/user.py`
- **Depends on**: Task 1
### Task 3: Add permission constants
- **Files**: `backend/shared/constants/permissions.py`
- **Depends on**: none
Tasks 1 and 3 are independent (an executor could parallelise them); Task 2 depends on Task 1 (must be sequential). The plan states the what — execution decides the how.
Before planning, assess whether the developer's intention is clear enough to produce a useful plan.
If the task description is vague, contradictory, missing acceptance criteria, or leaves key architectural decisions open, run the deep-interview skill first.
The deep-interview skill runs a Socratic Q&A loop that scores ambiguity across weighted dimensions and refuses to exit until ambiguity drops below 20%. When it completes, it writes a crystal-clear spec to .cursor/artefacts/interviews/. Use that spec as the task description for the planning loop.
Skip this step if the request already includes specific file paths and acceptance criteria, the user has an existing plan or interview file, or the user says "just plan it" / "don't interview me".
<system_reminder> block in your context says "Plan mode is active") → call the CreatePlan tool with the feature name and a one-line overview. Capture the returned file path as plan_path.date '+%Y-%m-%d_%H-%M-%S' in the terminal, create .cursor/plans/YYYY-MM-DD_HH-MM-SS_<feature-name>.md, and set plan_path to that path.Dispatch via Task with subagent_type: "planner". The planner automatically skips its interview phase when context is pre-provided by an orchestrator.
The prompt must:
{plan_path}. Write your plan content there; do not create a new file."Note: the Planner subagent will not be in plan mode (subagents do not inherit plan mode). It writes to
plan_pathbecause the orchestrator supplies it — not because of any plan-mode detection.
Invoke in either of these cases:
Dispatch via Task with subagent_type: "architect" (readonly). The architect gathers context via parallel tool calls, performs deep analysis, and returns prioritised recommendations with file:line citations.
For dependency validation, ask the Architect to check:
Feed answers back to the Planner in the next iteration.
Always invoke after the Planner finishes. No plan is approved without a Critic verdict.
Dispatch via Task with subagent_type: "critic" (readonly). Provide the plan file path. The Critic evaluates four criteria (clarity, verifiability, context completeness, big picture), simulates implementation of 2–3 tasks, and returns an OKAY or REJECT verdict with specific improvements.
For multi-task plans, the Critic should additionally verify that dependency annotations are accurate and file lists are complete.
| Verdict | Action | | -------------------------- | ----------------------------------------------------------------------- | | OKAY | Plan approved. Report to the user and offer to begin execution. | | REJECT (iteration < 5) | Feed Critic feedback to the Planner. Increment iteration. Go to step 2. | | REJECT (iteration = 5) | Force-approve with warning. Recommend manual review before execution. |
Update TodoWrite after each verdict.
Once approved, a multi-task plan with dependency annotations can be handed to cursor-swarm for execution. The swarm reads the dependency graph and file lists to determine batch grouping and agent selection — it skips its own analysis phase when given a ralplan. See the swarm skill for details.
development
# Code Review Instructions ## Introduction You are a senior software engineer. ## Exploring the changes Run `git --no-pager diff origin/main...HEAD` to identify the differences between this branch and the main branch. Perform any other necessary git diffs to explore the changes made in this branch. ## Rules: - You absolutely must not edit any of the code. - Investigate any potential issue you find, to validate whether it actually is an issue. ## Code Review Checklist (internal) Work thro
development
Audit a repository's Cursor configuration or evaluate whether a specific artefact (rule, skill, command, subagent) is correctly placed. Use when optimising the repo for Cursor, improving indexing, adding or assessing rules/skills, or deciding where information should live.
development
Generate a holistic product vision from Linear tickets. Pulls backlog, to-do, and in-progress tickets and synthesises them into a status-agnostic overview. Use when starting a new feature to understand the bigger picture, onboarding to the project, or when AI needs context on long-term goals. Supports refreshing existing masterplans with latest data.
documentation
Create a comprehensive AI context handoff document for long-running sessions.