Skip to content
Back to skills

Ck Plan Json

ASecurity

Create a machine-readable phased JSON plan bundle from a spec or feature description. Produces a compact master manifest plus per-phase step files for resumable ck:cook execution.

  • 19 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 11, 2026
code-qualitypythongotesting

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 11, 2026

npx -y skills add DangQuangSE/team-development-skills --skill ck-plan-json --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ck Plan Json?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ck Plan Json
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dangquangse-ck-plan-json-78666eb2/badge)](https://www.skillsdirectory.com/skills/dangquangse-ck-plan-json-78666eb2)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ck-plan-json
description: Create a machine-readable phased JSON plan bundle from a spec or feature description. Produces a compact master manifest plus per-phase step files for resumable ck:cook execution.
user-invocable: true
---

# ck:plan-json — Phased JSON Planning

Every mode always creates `plans/{slug}/plan.json` and one or more phase JSON files. The master stays compact so an AI executor loads step detail only for the active phase.

No legacy or single-file format compatibility is supported.

---

### Step 0 — Load Input

Resolve the primary requirement input in this order:

1. `--spec <path>` — preferred: load the supplied `spec.md`.
2. If no spec is supplied, use the inline feature description or requirement text.
3. If neither exists, ask for a description or spec path.

Also accept:

- `--project {slug}` — project ID; default is the current directory name.
- `--mode {fast|hard}` — override automatic scope detection.
- `--output <path>` — master entry point; default is `plans/{slug}/plan.json`. Phase files are siblings beside this master.

---

### Step 1 — Analyze Scope and Phases

Report:

```text
Scope:
  Phases: {N}
  Files: {N total, N new, N modify}
  Complexity: {Fast | Hard}
```

- **Fast** — one small component and at most three affected files. Fast creates exactly one phase JSON file.
- **Hard** — two or more phases, at least four files, multiple components, or external integrations.

If Hard has no spec, suggest `/ck:brainstorm` before continuing.

Decompose work into ordered, dependency-aware phases. Use deterministic kebab-case names and `phase-{phase_id:02d}-{name}.json` filenames. Maximum 15 steps per phase; add another phase when more steps are needed.

---

### Step 2 — Generate Phase Files First

Phase files contain and own detailed steps. Write every complete phase file first, before the master exists or is updated.

Each phase file uses this structure:

```json
{
  "plan_id": "{slug}",
  "phase_id": 1,
  "name": "setup-project",
  "goal": "Initialize the project",
  "status": "pending",
  "current_step": 1,
  "design_constraints": [
    "Cook confirms unit-test and quality-gate choices before each phase"
  ],
  "quality_profile": {
    "repository_conventions": {},
    "boundaries": {},
    "applicable_rules": [],
    "allowed_exceptions": []
  },
  "quality": { "status": "not_evaluated", "report": "", "receipt": "", "remediation_cycles": 0 },
  "testing": { "status": "not_started", "report": "" },
  "steps": [
    {
      "step_id": 1,
      "description": "Create the project structure",
      "status": "pending",
      "input_files": [],
      "output_files": ["src/README.md"],
      "ai_generated_code": "",
      "debug_logs": [],
      "success_criteria": ["The expected file exists"]
    }
  ]
}
```

Rules:

- Step IDs are unique, sequential, and one-indexed within the phase.
- `input_files` must already exist or be produced by earlier steps or dependency phases.
- `output_files` lists every file created or modified.
- `success_criteria` contains at least one automation-verifiable condition.
- `ai_generated_code` starts as an empty string and `debug_logs` starts as an empty array.
- `design_constraints`, `quality_profile`, `quality`, and `testing` are optional; leave them at their `pending`-equivalent defaults (empty arrays/objects, `not_evaluated`, `not_started`) at plan-creation time — see `rules/plan-design.md` § Quality and Testing State for what owns each field and when it changes.

---

### Step 3 — Generate the Master Last

Write the master last, after all referenced phase files exist. `plan.json` is the orchestration manifest and contains ordered phase entries; the master must not contain inline steps.

```json
{
  "plan_id": "{slug}",
  "goal": "{one-line deliverable}",
  "status": "pending",
  "current_phase": 1,
  "global_context": {
    "framework": "{detected framework or empty}",
    "architecture": "{detected pattern or empty}",
    "target_folder": "{primary output directory}",
    "constraints": []
  },
  "phases": [
    {
      "phase_id": 1,
      "name": "setup-project",
      "description": "Initialize project structure",
      "file": "phase-01-setup-project.json",
      "status": "pending",
      "depends_on": [],
      "quality_status": "not_evaluated",
      "testing_status": "not_started"
    }
  ]
}
```

All plan, phase, and step statuses start as `pending`. `current_phase` starts at `1`, and every phase `current_step` starts at `1`.

Dependencies may reference unique earlier phase IDs only. A step object appears in exactly one phase file and is never duplicated in the master.

`quality_status`/`testing_status` are the master's compact mirror of each phase's `quality.status`/`testing.status` — never the full profile or report. Both start at `not_evaluated`/`not_started` and must match the phase file's values whenever both declare one.

---

### Step 4 — Mandatory Bundle Validation

Mandatory validation must use the master path so the bundle validator checks the manifest and every referenced sibling:

```text
python {ck-plan-json-skill-root}/hooks/plan_validator.py plans/{slug}/plan.json
```

Resolve `{ck-plan-json-skill-root}` from the `SKILL.md` currently loaded so the command works in pack-root, Claude, Codex, and Antigravity installations.

If validation fails, fix the relevant phase or master file and rerun validation. Do not report success until the validator exits with code `0`.

On success, report exactly these bundle details:

```text
[ck:plan-json] ✓ phased plan bundle written
Master path: plans/{slug}/plan.json
Phase paths:
  - plans/{slug}/phase-01-{name}.json
Mode: {Fast | Hard}
Phase count: {N}
Total step count: {N}

Next: /ck:cook --json plans/{slug}/plan.json
```

Use `references/plan-schema.json`, its referenced canonical phase file, and `rules/plan-design.md` as the detailed contract.

Files in this skill

  • SKILL.md5.8 KB
  • agents/openai.yaml277 B
  • hooks/plan_validator.py28.9 KB
  • references/phase-01-setup-project.json1.1 KB
  • references/plan-schema.json741 B
  • rules/plan-design.md5.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.