# Software Plan Creation

Create delivery plans for software design specifications.

- Repository: https://github.com/stencila/stencila (914 stars)
- Category: Design
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add stencila/stencila --skill software-plan-creation -g -a claude-code -y`
Codex: `npx skills add stencila/stencila --skill software-plan-creation -g -a codex -y`
Cursor: `npx skills add stencila/stencila --skill software-plan-creation -g -a cursor -y`
Gemini CLI: `npx skills add stencila/stencila --skill software-plan-creation -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add stencila/stencila`

## Description

Create delivery plans for software design specifications. Use when the user wants to plan implementation, break a design into delivery phases, create an implementation roadmap, produce a test plan, or structure a TDD approach for a feature. Reads the latest design spec by default and produces a phased plan covering implementation, testing, and documentation, with TDD slices sized to be logically coherent without degenerating into micro-slices.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Overview

Produce a delivery plan that turns a software design specification into an actionable sequence of implementation, testing, and documentation work. The primary input is a persisted design spec read from `.stencila/designs/`. The primary output is a Markdown plan written to `.stencila/plans/`.

Use this skill when the user wants a delivery plan, implementation plan, task breakdown, phased roadmap, or test-driven development strategy for a design spec. Do not use it when the main task is to write production code, create a design from scratch, review code, or build a workflow.

## Steps

1. Identify the design to plan against:
   - use `glob` with pattern `.stencila/designs/*.md` to discover available design specs (results are sorted newest first)
   - if the user names a specific design, locate it in the results
   - if the user does not name a design, use the first result (most recent)
   - use `read_file` to load the full design content
   - if no designs exist and the user is asking to plan an undesigned feature, handle the no-design case (see Edge Cases below)

2. Check for existing plans:
   - use `glob` with pattern `.stencila/plans/*.md` to see whether a plan already exists for the target design
   - if a matching plan exists, use `read_file` to load it and ask the user whether to replace it, update it, or create a new plan alongside it
   - do not silently overwrite an existing plan

The rest: https://github.com/stencila/stencila/blob/HEAD/.stencila/skills/software-plan-creation/SKILL.md
