From gm
Constructs mutable PRD as JSON array of tasks tracking unknowns, edge cases, dependencies, effort, and acceptance criteria. Loops until exhaustive discovery before execution.
npx claudepluginhub anentrypoint/gm-cc --plugin gmThis skill is limited to using the following tools:
You are in the **PLAN** phase. Your job is to discover every unknown before execution begins.
Generates executable Markdown implementation plans for multi-step tasks from context briefs, resolving ambiguities, ordering dependencies, and enabling parallel worker execution.
Identifies required inputs, dependencies, and uncertainties during planning for task graphs under incomplete information. Localizes gaps and creates unblock dependencies without halting generation.
Share bugs, ideas, or general feedback.
You are in the PLAN phase. Your job is to discover every unknown before execution begins.
GRAPH POSITION: [PLAN] → EXECUTE → EMIT → VERIFY → COMPLETE
gm skill → planning skill (here).FORWARD:
gm-execute skillSELF-LOOP (stay in PLAN):
BACKWARD (snakes back here from later phases):
Planning = exhaustive mutable discovery. For every aspect of the task ask:
Iterate until: a full reasoning pass adds zero new items to .prd.
Categories of unknowns to enumerate: file existence | API shape | data format | dependency versions | runtime behavior | environment differences | error conditions | concurrency | integration points | backwards compatibility | rollback paths | deployment steps | verification criteria
Path: exactly ./.prd in current working directory. JSON array written via exec:nodejs.
Delete the file when empty. Do not leave an empty .prd on disk — remove it entirely when all items are completed.
[
{
"id": "descriptive-kebab-id",
"subject": "Imperative verb phrase — what must be true when done",
"status": "pending",
"description": "Precise completion criterion",
"effort": "small|medium|large",
"category": "feature|bug|refactor|infra",
"blocking": ["ids this prevents from starting"],
"blockedBy": ["ids that must complete first"],
"acceptance": ["measurable, binary criterion 1"],
"edge_cases": ["known failure mode 1"]
}
]
Status flow: pending → in_progress → completed (completed items are removed from array).
Effort: small = single execution, under 15min | medium = 2-3 rounds, under 45min | large = multiple rounds, over 1h.
blocking/blockedBy: always bidirectional. Every dependency must be explicit in both directions.
Deletion rule: when the last item is completed and removed, delete the .prd file. An empty file is a violation.
Independent items (empty blockedBy) run in parallel waves of ≤3 subagents.
blockedBygm:gm subagents via Task tool.prd is ready when: one full reasoning pass produces zero new items AND all items have explicit acceptance criteria AND all dependencies are mapped.
Skip planning entirely if: task is single-step, trivially bounded, zero unknowns, under 5 minutes.
Never respond to the user from this phase. When .prd is complete (zero new items in last pass), immediately invoke gm-execute skill. Do not pause, summarize, or ask for confirmation.
→ FORWARD: No new mutables → invoke gm-execute skill immediately.
↺ SELF-LOOP: New items discovered → add to .prd → plan again.
↩ SNAKE here: New unknown surfaces in any later phase → add it, re-plan, re-advance.