Agent skill

Planner

by penpot in penpot/penpot

Read-only planning and architecture analysis — produce a structured implementation plan with task breakdown, acceptance criteria, sizing, and checkpoints.

MPL-2.0Auto-check passedAgent Workflows

Install Planner

skills CLI
$ npx skills add penpot/penpot --skill planner -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install penpot/penpot planner --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/penpot/penpot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/planner .claude/skills/planner && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
planner
GitHub stars
61k
Token cost
~2.7k tokens
SKILL.md length
1,221 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
MPL-2.0

At a glance

Read-only planning and architecture analysis — produce a structured implementation plan with task breakdown, acceptance criteria, sizing, and checkpoints.

  • Works in 4 steps: Read critical-info… → From critical-info, identify which… → Read each affected module's core memory,… → …
  • Tasks that involve Planning
  • SKILL.md covers When to Use, CRITICAL: Required Reading…, Constraints and Planning Process, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Planner is an agent skill from penpot/penpot. Read-only planning and architecture analysis — produce a structured implementation plan with task breakdown, acceptance criteria, sizing, and checkpoints. Always output to the user with the plan, suggested save path and the next steps.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Planning, Task breakdown and User stories. The repository describes itself as: Penpot: The open-source design platform for Product teams that need scalable collaboration. The licence is MPL-2.0.

When your agent uses it

  • Tasks that involve Planning
  • Tasks that involve Task breakdown
  • Tasks that involve User stories

Example prompts

  • “/planner”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Read critical-info (.serena/memories/critical-info.md) — the entry point
  2. From critical-info, identify which modules your task affects.
  3. Read each affected module's core memory, e.g. mem:frontend/core,
  4. For each affected module, note its lint, format, and test commands so the

What it can do on your machine

Read from SKILL.md and the folder at commit fc8a126. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Planner loads about 2.7k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 1,221 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~61
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from penpot/penpot at commit fc8a126, republished under its MPL-2.0 licence (© penpot). 1,221 words, ~2,716 tokens.

Download SKILL.mdSave it as .claude/skills/planner/SKILL.md (or your agent's skills folder).
name
planner
description
Read-only planning and architecture analysis — produce a structured implementation plan with task breakdown, acceptance criteria, sizing, and checkpoints. Always output to the user with the plan, suggested save path and the next steps.

Planner

Produce a plan that another engineer or agent can execute without guessing.

When to Use

  • The user asks for a plan, design, or analysis of a feature or bug.
  • The user wants to understand which parts of the codebase a task will touch.
  • The user needs a step-by-step implementation plan with file paths, function names, and test strategy.
  • The user asks "how would I implement X?" or "what's involved in fixing Y?".
  • The user is about to start non-trivial work and wants a bite-sized task breakdown.
  • A task feels too large or vague to start.
  • Work needs to be parallelized across multiple agents or sessions.

Do not use for a small change with obvious scope or an existing executable plan.

CRITICAL: Required Reading Before Planning

Before drafting any plan, work through the project's own guidance:

  1. Read critical-info (.serena/memories/critical-info.md) — the entry point that describes the monorepo structure and module dependency graph.
  2. From critical-info, identify which modules your task affects.
  3. Read each affected module's core memory, e.g. mem:frontend/core, mem:backend/core, mem:common/core, mem:exporter/core, mem:render-wasm/core. Follow mem: references deeper as needed.
  4. For each affected module, note its lint, format, and test commands so the plan can include concrete verification steps.

Skipping this step is the #1 cause of incorrect or incomplete plans.

Constraints

  • You are analysis-only — never create, edit, or delete source code. The only file you may write is the plan itself, and only when the command or user explicitly instructs you to save it.
  • You do not run builds, tests, linters, or any commands that modify state.
  • You do not create git commits or interact with version control.
  • You do not execute shell commands beyond read-only searches (rg, ls, find, cat, bat).
  • Your output is a structured plan or analysis, ready for handoff to an engineer agent or developer.

Planning Process

  1. Define the problem, desired outcome, constraints, and exclusions.
  2. Trace the current behavior through the affected modules.
  3. Map dependencies and choose an implementation order that builds foundations before their consumers.
  4. Identify open product or architecture decisions. Resolve implementation details from existing conventions when they do not affect public behavior.
  5. Identify edge cases, security and data risks, performance bounds, breaking changes, and external dependencies.
  6. Split the work into small, ordered tasks. Prefer complete testable slices over unrelated layer-wide batches. Apply DRY and KISS to the proposed implementation.
  7. Define exact acceptance criteria and verification for every task.
  8. Add a checkpoint after every two or three tasks in a longer plan.
  9. State which tasks can run in parallel and which must remain sequential.

Task Format

Each task follows this structure:

markdown
### Task [N]: [Short descriptive title]

**Description:** One or two paragraphs explaining what this task accomplishes.
Should be clear and concise.

**Rationale:** Why this task exists and why this approach over the obvious
alternatives — design decisions, trade-offs, constraints discovered during
analysis. One or two sentences; skip only if genuinely trivial.

**Code sketch (optional):** Signature-, type-, or shape-level example when the
intended interface is non-obvious. Keep it short — a skeleton that fixes the
contract (function signature, model fields, error shape), never a full
implementation. Omit when the task is mechanical.

**Acceptance criteria:**
- [ ] [Specific, testable condition]
- [ ] [Specific, testable condition]

**Verification:**
- [ ] Relevant tests pass (module-specific test command).
- [ ] Lint/formatter passes (module-specific check command), if applicable.
- [ ] The core flow works end-to-end, if applicable.

**Dependencies:** [Task numbers this depends on, or "None"]

**Files likely touched:**
- `path/to/file.clj`
- `path/to/file_test.clj`

**Estimated scope:** [XS: 1 file | S: 1-2 files | M: 3-5 files | L: 5+ files]

Use commands from mem:testing and affected module memories. Never substitute generic text such as "run the tests" when the project documents an exact command.

When possible, design each task with TDD in mind: acceptance criteria double as a test list, and the natural first step of the task is writing those tests before the implementation. Some tasks resist this (config, migrations, pure wiring) — for those, keep the usual verification steps.

Task Sizing

SizeFilesScopeExample
XS1Single function, config change, or schema tweakAdd a validation rule
S1-2One handler or component methodAdd a new RPC endpoint
M3-5One vertical feature sliceBookmark CRUD with tests
L5-8Multi-component featureSearch with filtering and pagination
XL8+Too large — break it down further—

Split a task when it contains independent outcomes, spans unrelated systems, or cannot be completed and verified in one focused session (if a task is XL, it should be broken into smaller tasks; agents perform best on S and M tasks).

Task order and checkpoints

Arrange tasks so that:

  1. Dependencies are satisfied (build foundation first)
  2. Each task leaves the system in a working state
  3. Verification checkpoints occur after every 2-3 tasks
  4. High-risk tasks are early (fail fast)

Add explicit checkpoints with the relevant module commands:

markdown
### Checkpoint: After Tasks 1-3
- [ ] Relevant tests pass (module-specific command).
- [ ] The relevant build or compilation passes, if applicable.
- [ ] The core flow works end-to-end.

Output Format

The plan is always delivered in the response so the user sees it regardless of which agent is running the skill. File writes follow Constraints — by default announce the path instead of writing.

Announce the save path .agents/plans/YYYY-MM-DD-<slug>.md (today's date, lowercase hyphen-separated slug, e.g. 2026-09-10-add-batch-get-profiles; an explicit user path wins).

Show full SKILL.md (514 more words)Show less
Derived plans

Never invent a fresh slug when the plan derives from an existing one. The derived name is <parent-basename> plus one suffix per level, joined with -- (double hyphen; single hyphens already separate slug words, so -- marks where the derivation starts). The parent name is never edited, and no new date is added — the parent prefix already carries its date, which keeps parent and derivatives adjacent in ls. Record the real creation date inside the plan (Created:).

Valid names match:

^\d{4}-\d{2}-\d{2}-[a-z0-9-]+(--(review-\d{2}|task-\d{2})(-[a-z0-9-]+)?)*\.md$
  • review-NN — a new plan addressing findings of a review-code or review-plan on already-implemented work. NN counts reviews of that parent from 01. Example: parent 2026-09-14-paste-before-init-crash.md → 2026-09-14-paste-before-init-crash--review-01.md, then --review-02.md.
  • task-NN-<short-slug> — sub-plan for task NN of a high-level roadmap plan. NN is the roadmap task number. Example: parent 2026-09-20-upload-pipeline-roadmap.md → 2026-09-20-upload-pipeline-roadmap--task-01-chunk-upload.md. Levels chain: ...--task-02-gc--review-01.md.

Never use v2, final, new, or fix2 as suffixes. Keep the optional short slug to 3-4 lowercase hyphen-separated words.

Every derived plan opens its Context with:

markdown
Parent: `<parent-basename>.md`
Source: review-code over `<commit>` (branch `<branch>`) | task `NN` of roadmap `<parent-basename>.md`
Created: YYYY-MM-DD

End the response by suggesting the next steps: /review-plan to get a second opinion on the plan and /implement-plan to execute it.

Plan Structure

Use this document shape:

markdown
# Plan: Title

Status: draft | reviewed | done
Review Log:
- YYYY-MM-DDTHH:MM:SSZ — <what changed and why, one line per entry>

## Context
## Affected Modules
## Architecture Decisions
## Risks and Considerations
## Approach
## Task List
## Verification and Testing
## Parallelization
## Open Questions

Status and Review Log are write-restricted metadata, not free text:

  • make-a-plan creates every plan with Status: draft and an empty log. reviewed never means "a review was emitted" — it means "review feedback was incorporated". A plan approved with no changes goes draft → done without passing through reviewed.
  • Only a user-triggered apply step writes them before implementation: when the user says to apply review-plan findings, make-a-plan applies the changes, flips to reviewed, and appends one UTC ISO 8601 line describing what changed.
  • implement-plan flips to done on completion and appends one line with the issue URL when one exists (standalone mode); otherwise just done. Never record commit hashes — they rot on amend/rebase and git already links the commit.
  • The log is append-only: never rewrite or delete lines.
  • review-plan and review-code never write these fields.

Omit empty sections only when they do not apply. Every implementation task still requires acceptance criteria, verification, dependencies, likely files, and scope.

When the plan is purely analytical (e.g. a code review or feasibility study with no implementation), skip the Approach and Task List sections and lead with Findings instead, keeping the rest of the structure.

Common Rationalizations

RationalizationReality
"I'll figure it out as I go"That's how you end up with a tangled mess and rework. 10 minutes of planning saves hours.
"The tasks are obvious"Write them down anyway. Explicit tasks surface hidden dependencies and forgotten edge cases.
"Planning is overhead"Planning is the task. Implementation without a plan is just typing.
"I can hold it all in my head"Context windows are finite. Written plans survive session boundaries and compaction.

Verification Checklist

Before delivering the plan, confirm:

  • Every task has acceptance criteria
  • Every task has a verification step
  • Task dependencies are identified and ordered correctly
  • No task is XL or larger — break it down instead
  • Checkpoints exist after every 2-3 tasks
  • The response states the plan's path (saved or suggested) and suggests /review-plan and /implement-plan
  • The plan is ready for human review

© penpot, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/planner of penpot/penpot.

Open the folder on GitHubat commit fc8a126

Compare with similar skills

Planner next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Planner compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Planner this skillpenpot/penpot61k—~2.7kAutomated safety check: PassMPL-2.0
Speckit Tasksforyourhealth111-pixel/Vibe-Skills3.6k—~1.6kAutomated safety check: PassApache-2.0
Planning And Task Breakdownskuramatata/my-pi-agent114—~679Automated safety check: PassNone
Autospec Tasksariel-frischer/autospec144—~2.5kAutomated safety check: PassMIT
Planning And Task Breakdownabashev/vfs-s31068 repos~1.9kAutomated safety check: PassApache-2.0
ULW Plan Workflowcode-yeongyu/oh-my-openagent70k—~3.9kAutomated safety check: PassCustom licence

Similar skills

  • Speckit Tasks

    foryourhealth111-pixel/Vibe-Skills

    Break down implementation plans into actionable task lists. An agent skill from foryourhealth111-pixel/Vibe-Skills.

    3.6k GitHub stars~1.6k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Planning And Task Breakdown

    skuramatata/my-pi-agent

    A skill your agent uses when my-pi-agent work needs requirement slicing, implementation planning, multi-step ordering, dependency decisions, or clear acceptance criteria before coding.

    114 GitHub stars~679 tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed
  • Autospec Tasks

    ariel-frischer/autospec

    Generate YAML task breakdown from implementation plan. An agent skill from ariel-frischer/autospec.

    144 GitHub stars~2.5k tokensUpdated 9 days ago
    Agent WorkflowsAuto-check passed
  • Breaks work into ordered tasks. An agent skill from abashev/vfs-s3.

    106 GitHub starsUsed in 8 repos~1.9k tokens
    Agent WorkflowsAuto-check passed
  • ULW Plan Workflow

    code-yeongyu/oh-my-openagent

    Explore-first planning that turns a vague or large request into one decision-complete work plan, written only after your approval and executed by a separate worker.

    70k GitHub stars~3.9k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Implementation Plan Creator

    tailcallhq/forgecode

    Writes a structured Markdown implementation plan with checkbox tasks, verification criteria and risks, then checks it with a validation script; no code changes.

    7.6k GitHub starsUsed in 1 repo~1.1k tokens
    Agent WorkflowsAuto-check passed

More from penpot/penpot

All 24 skills in this repo
  • Hardens code against vulnerabilities. An agent skill from penpot/penpot.

    61k GitHub starsUsed in 6 repos~4.7k tokens
    Auto-check: notes
  • Create PR

    penpot/penpot

    PR flow — open a new PR for the current task branch (validates base branch, commits, issue and push state) or update an existing PR's title or description to match Penpot conventions.

    61k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Bat Cat

    penpot/penpot

    A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat.

    61k GitHub starsUsed in 2 repos~1.1k tokens
    Auto-check passed
  • Local CI

    penpot/penpot

    Run local CI-style checks with ./scripts/ci (lint, tests, format) per monorepo module.

    61k GitHub stars~822 tokensUpdated today
    Auto-check passed
  • Ste

    penpot/penpot

    Write or rewrite text in ASD-STE100 Simplified Technical English.

    61k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Code review criteria — the five review axes, core principles, severity format, and verdict for reviewing code changes.

    61k GitHub stars~3.6k tokensUpdated today
    Auto-check passed

Categories

Questions about Planner

What does Planner do?

Read-only planning and architecture analysis — produce a structured implementation plan with task breakdown, acceptance criteria, sizing, and checkpoints. Planner is an agent skill from penpot/penpot. Read-only planning and architecture analysis — produce a structured implementation plan with task breakdown, acceptance criteria, sizing, and checkpoints.

When should I use Planner?

Planner fits situations like: tasks that involve Planning; tasks that involve Task breakdown; tasks that involve User stories.

How do I install Planner in Claude Code?

Run `npx skills add penpot/penpot --skill planner -a claude-code`. Or copy the skill folder (.agents/skills/planner in penpot/penpot) into .claude/skills/planner in your project. Claude Code loads it when a task matches its description.

How do I install Planner in Codex?

Run `npx skills add penpot/penpot --skill planner -a codex`. Or copy the skill folder (.agents/skills/planner in penpot/penpot) into .agents/skills/planner in your project. Codex loads it when a task matches its description.

Can I use Planner in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add penpot/penpot --skill planner -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/planner, .gemini/skills/planner, .github/skills/planner and .opencode/skills/planner in your project.

What does Planner need to run?

SKILL.md names no scripts, command-line tools or credentials: Planner is instructions for the agent only.

Does Planner access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Planner safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Planner use?

Planner is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Planner use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Planner?

Skills that share tags, products or a category with Planner: Speckit Tasks (foryourhealth111-pixel/Vibe-Skills, 3.6k stars), Planning And Task Breakdown (skuramatata/my-pi-agent, 114 stars), Autospec Tasks (ariel-frischer/autospec, 144 stars) and Planning And Task Breakdown (abashev/vfs-s3, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Planner?

penpot (a GitHub organization) maintains it in penpot/penpot, which has 60,770 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 7, 2026.

Source: penpot/penpot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.