writing-plans-plus

This skill extends superpowers:writing-plans with structured task definitions that are machine-readable and provide explicit completion tracking. Use this when you want plans that can be easily parsed, executed programmatically, or tracked with explicit pass/fail status.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "writing-plans-plus" with this command: npx skills add satone7/skills/satone7-skills-writing-plans-plus

Writing Plans Plus

Overview

This skill extends superpowers:writing-plans with structured task definitions that are machine-readable and provide explicit completion tracking. Use this when you want plans that can be easily parsed, executed programmatically, or tracked with explicit pass/fail status.

Key additions over writing-plans:

  • Structured task format (JSON/YAML compatible)

  • Required fields for each task (id, title, description, steps, passes)

  • Explicit completion tracking via passes field

  • Support for validation criteria per task (strongly recommended)

Announce at start: "I'm using the writing-plans-plus skill to create a structured implementation plan."

Context: This should be run in a dedicated worktree (created by brainstorming skill).

Save plans to: docs/plans/YYYY-MM-DD-<feature-name>.json

Note: Only save .md file when user explicitly requests a human-readable plan document. Default to JSON-only. When Markdown format is requested, read references/markdown-format.md for format requirements and examples.

Compatibility and Dependencies

This skill references other skills in the superpowers:* ecosystem.

  • If superpowers:writing-plans is available, read and follow it first.

  • If it is not available, proceed anyway and apply these principles directly:

  • Keep tasks small and verifiable

  • Use exact file paths

  • Prefer objective validation steps before marking tasks complete

This repository does not bundle superpowers:* skills. Install them separately if you want the full workflow.

Required Reading First

If superpowers:writing-plans is available, read and follow it first.

This skill builds on top of writing-plans - all principles from that skill apply:

  • Bite-sized tasks (2-5 minutes each)

  • Exact file paths

  • Complete code in plan

  • TDD approach

  • Frequent commits

The following sections ONLY document what is ADDED or CHANGED in writing-plans-plus.

Structured Task Format

Each task MUST be defined with the following fields:

Required Fields

Field Type Description

id

number/string Unique identifier for the task (1, 2, 3... or "T1", "T2"...)

title

string Brief, actionable title (imperative mood)

description

string Clear description of what this task accomplishes

steps

array List of specific, verifiable steps to complete

passes

boolean Completion status - false by default, true when done

Optional Fields

Field Type Description

files

object Files to create/modify: { create: [...], modify: [...], test: [...] }

depends_on

array<number/string> IDs of tasks that must complete before this one

validation_criteria

array Specific criteria to verify task completion (strongly recommended)

skills

array Skills the executing agent should load (see Recommended Skills below; default: ["executing-single-task"] )

issue

array Cross-validation issues: List of problems found during task review (see Task Cross-Validation Protocol)

completed_at

string ISO timestamp when task was completed

completed_by

string Who completed the task

notes

string Additional notes about completion. If passes is changed from true to false , do NOT describe problems in notes —use issue (you may preserve prior completion notes for audit trail)

Schema Compliance Rules

  • Do NOT add extra fields beyond the schema above (e.g., status , superseded_by , audit , gaps , risk , review ).

  • If issue is present, then passes MUST be false .

  • If passes is true , then issue MUST NOT be present.

  • When changing passes from true to false , problems MUST be described in issue (non-empty); do not use notes to describe problems.

  • When changing passes from false to true , remove issue entirely (do not keep it with an empty array).

Example Structured Task

JSON Format (Machine-Readable, Recommended)

{ "id": 3, "title": "Supabase Client Setup", "description": "Create server-side and client-side Supabase clients with proper middleware", "steps": [ "Create server client with service role", "Create browser client for components", "Create middleware for session refresh", "Update root middleware.ts to use Supabase middleware" ], "passes": false, "files": { "create": [ "lib/supabase/server.ts", "lib/supabase/client.ts", "lib/supabase/middleware.ts" ], "modify": [ "middleware.ts" ] }, "validation_criteria": [ "Server client can query database", "Browser client initializes without errors", "Middleware refreshes expired sessions" ], "skills": ["executing-single-task", "test-driven-development"] }

Complete Plan Example

JSON Output (Default): docs/plans/2024-01-15-user-auth.json

{ "project": "User Authentication", "description": "Implement complete user authentication with email/password using Supabase", "goal": "Implement complete user authentication with email/password using Supabase", "architecture": "Use Supabase Auth with server-side sessions. Create reusable auth components and protect routes via middleware.", "tech_stack": ["Next.js 14", "Supabase Auth", "TypeScript", "Tailwind CSS"], "created_at": "2024-01-15", "tasks": [ { "id": 1, "title": "Project Setup", "description": "Configure project dependencies and environment", "steps": [ "Install Supabase packages: @supabase/supabase-js, @supabase/ssr", "Create .env.example with placeholder values (do not commit real secrets)" ], "passes": false, "files": { "create": [".env.example"], "modify": ["package.json"] }, "validation_criteria": [ "All packages installed without errors", "Environment variable placeholders are documented", "Can initialize Supabase client" ], "skills": ["executing-single-task"] } ... (additional tasks) ] }

Task Update Protocol

When updating task status during execution:

Update JSON file - Only update .json file by default

Set passes: true only when ALL validation criteria pass

Add completion metadata:

{ "passes": true, "completed_at": "2024-01-15T10:30:00Z", "completed_by": "Claude", "notes": "All validation criteria passed" }

Markdown only when requested: If .md file exists (user requested it), keep it in sync with JSON. See references/markdown-format.md for Markdown format examples.

Task Cross-Validation Protocol

When reviewing a task that was previously marked as completed (passes: true ), you must validate the implementation and update the task status if issues are found.

When to Perform Cross-Validation

Cross-validation should be performed:

  • After task execution but before claiming completion

  • When reviewing another agent's work

  • When resuming work on a previously completed plan

  • When verification-before-completion skill is used

Common Issues to Check For

Issue Category Examples

Implementation mismatch Code doesn't match task description, missing functionality, incorrect approach

Test coverage No unit tests, tests don't cover key scenarios, tests missing assertions

Test failures Existing tests fail, new tests fail, flaky tests

Quality issues Code doesn't follow standards, missing error handling, security vulnerabilities

When Issues Are Found

If any issues are discovered during review:

  • Set passes: false

  • Roll back the completion status

  • Add issue field - REQUIRED. Non-empty array of strings describing each problem found

  • Keep completion metadata - Preserve completed_at , completed_by for audit trail (optional)

  • Update task description if needed - If task description was ambiguous or incorrect, update it to match what should have been implemented

  • Do not use notes to describe issues - When changing passes from true to false , explain problems in issue (not notes )

Example: Task with issues found during review

{ "id": 3, "title": "Supabase Client Setup", "description": "Create server-side and client-side Supabase clients with proper middleware", "steps": [ "Create server client with service role", "Create browser client for components", "Create middleware for session refresh", "Update root middleware.ts to use Supabase middleware" ], "passes": false, "issue": [ "No unit tests for client initialization", "Middleware doesn't handle token refresh edge cases", "Server client is exposed to browser code", "Tests exist but have no assertions" ], "files": { "create": [ "lib/supabase/server.ts", "lib/supabase/client.ts", "lib/supabase/middleware.ts" ], "modify": [ "middleware.ts" ] }, "validation_criteria": [ "Server client can query database", "Browser client initializes without errors", "Middleware refreshes expired sessions" ], "completed_at": "2024-01-15T10:30:00Z", "completed_by": "Claude", "notes": "Initial implementation completed" }

When Issues Are Fixed

After the issues have been resolved:

  • Remove the issue field - Do NOT keep it with an empty array

  • Set passes: true

  • Mark the task as completed again

  • Update task description if necessary - Ensure description matches the actual implementation

  • Update completion metadata - Set new completed_at and completed_by

  • Add notes about the fix - Document what was changed

Example: Task after issues are fixed

{ "id": 3, "title": "Supabase Client Setup", "description": "Create server-side and client-side Supabase clients with proper middleware and test coverage", "steps": [ "Create server client with service role", "Create browser client for components", "Create middleware for session refresh", "Update root middleware.ts to use Supabase middleware", "Add unit tests for all clients and middleware" ], "passes": true, "files": { "create": [ "lib/supabase/server.ts", "lib/supabase/client.ts", "lib/supabase/middleware.ts", "lib/supabase/server.test.ts", "lib/supabase/client.test.ts", "lib/supabase/middleware.test.ts" ], "modify": [ "middleware.ts" ] }, "validation_criteria": [ "Server client can query database", "Browser client initializes without errors", "Middleware refreshes expired sessions", "All unit tests pass with meaningful assertions" ], "completed_at": "2024-01-15T14:45:00Z", "completed_by": "Claude", "notes": "Fixed issues: Added comprehensive tests, secured server client, improved middleware error handling" }

Recommended Skills

When specifying the skills field, use this guide to select appropriate skills. When in doubt, use ["executing-single-task"] .

Core Skills

Skill Description When to Use

executing-single-task

Execute exactly one structured task and update its status Default choice for tasks[].skills when executing tasks one-by-one

using-superpowers

Enforce skill discovery + “invoke skills before responding” protocol At the start of a session to establish the workflow (not a per-task skill)

brainstorming

Turn ideas into an approved design before implementation Before any creative work (new feature, behavior change, non-trivial change)

writing-plans

Create a detailed implementation plan before touching code When you have requirements/spec and need a multi-step plan (pre-implementation)

executing-plans

Execute an existing plan in batches with review checkpoints When executing a written plan in a separate session (batch + feedback loop)

subagent-driven-development

Execute a plan in this session using subagents + per-task reviews When tasks are mostly independent and you want fast iteration without context switching

dispatching-parallel-agents

Run 2+ independent investigations/threads concurrently When you have multiple independent problem domains that can be worked in parallel

Development Skills

Skill Description When to Use

test-driven-development

Enforce RED → GREEN → REFACTOR workflow Before writing implementation code for features, bugfixes, refactors, behavior changes

systematic-debugging

Find root cause before proposing fixes Any bug, test failure, build failure, or unexpected behavior (before fixes)

verification-before-completion

Require evidence before any “done/fixed/passing” claim Before marking tasks complete, committing, or creating PRs; run verification and cite output

Code Quality & Review

Skill Description When to Use

requesting-code-review

Request review to catch issues early After major tasks/features, before merging, and after each task in subagent-driven workflows

receiving-code-review

Evaluate feedback rigorously before implementing When you receive review feedback (especially if unclear or technically questionable)

Git & Workflow

Skill Description When to Use

using-git-worktrees

Create an isolated workspace and verify clean baseline Before starting feature work that needs isolation, or before executing an implementation plan

finishing-a-development-branch

Verify tests and present structured integrate/cleanup options When implementation is complete, tests pass, and you need to merge/PR/keep/discard

Skill Development

Skill Description When to Use

skill-creator

Create/modify skills and iterate with evals When authoring or improving skills and you want a full test/eval loop

writing-skills

Apply TDD-style methodology to skill authoring When creating/editing/verifying skills before deployment

Example Usage

{ "skills": ["executing-single-task", "test-driven-development"] }

{ "skills": ["executing-single-task", "brainstorming", "writing-plans-plus"] }

{ "skills": ["executing-single-task", "systematic-debugging", "verification-before-completion"] }

Validation Checklist

Before marking any plan complete, verify:

  • Every task has all Required Fields

  • Every task has passes: false initially

  • Task IDs are unique and sequential

  • File paths use exact relative paths

  • Steps are specific and verifiable

  • If present, validation criteria are objective (pass/fail)

  • JSON output is saved

Cross-Validation Checklist

When reviewing completed tasks:

  • Implementation matches task description

  • Tests exist and cover key scenarios

  • All tests pass

  • Tests have meaningful assertions (not just empty tests)

  • If issues found: passes is false AND issue array exists with clear descriptions

  • If issues fixed: issue field is REMOVED (not empty array) AND passes is true

  • Task description updated if implementation differs from original plan

Integration with Executing Plans

When this plan is executed via superpowers:executing-plans :

  • Execution order follows task IDs by default

  • Dependency resolution: Tasks with depends_on must wait for dependencies

  • Status updates: After each task, update passes in JSON file

  • Validation: Run validation criteria before marking passes: true

  • Checkpointing: Each completed task is a checkpoint - can resume from any point

Summary of Differences from writing-plans

Aspect writing-plans writing-plans-plus

Task format Markdown free-form Structured with required fields

Completion tracking Implicit Explicit via passes field

Machine readable No Yes (JSON output)

Validation criteria Optional Strongly recommended

File outputs .md only .json (default), .md (optional on request)

Dependencies Implied Explicit via depends_on

Skill guidance No Explicit via skills field

Issue tracking No Explicit via issue field for cross-validation

Audit trail No completed_at , completed_by for completion history

Quick Reference: Required Fields Checklist

For each task, ensure you have:

id: number or string (unique) title: string (imperative mood) description: string (what it accomplishes) steps: array of strings (specific actions) passes: boolean (false by default)

Plus optional fields as needed

Remember: Read superpowers:writing-plans SKILL first, then apply this structured format on top.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

find-next-task

No summary provided by upstream source.

Repository SourceNeeds Review
General

executing-single-task

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

crypto-report

No summary provided by upstream source.

Repository SourceNeeds Review
760-aahl
Web3

agentwallet

No summary provided by upstream source.

Repository SourceNeeds Review