Install
$ agentstack add skill-ctx42-skills-plan-smith ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
plan-smith
Turn a brief into a tracked plan, and keep its status current. Pick the mode from the request:
- Create — write a new plan from a description, a spec, or a shared
understanding reached with grill-me.
- Update — re-read an existing plan and refresh each item's checkbox and status
from what has since happened.
If the request is ambiguous, ask one question: write a new plan or update an existing one?
Report tersely: no preamble or narration; state each fact once; after writing, don't paste the plan back — point to the file and give the status counts.
Format
Every plan is one Markdown file with two parts.
A summary table first, so status is visible at a glance:
## Summary
| # | Item | Status |
|----|-------------------|--------|
| 1 | | Y |
| 2 | | N |
| 3 | | X |
Legend: Y implemented · N not yet · X rejected
Keep the Item cell to a short name (≤ ~30 chars); the item's own section carries the detail. Align the table so the | delimiters line up vertically:
- Each column's width is its widest cell's content.
- Header and body cells: one leading and one trailing space around the content,
then pad the trailing side with spaces to the column width.
- Separator row: fill each cell with dashes **flush to the pipes, no
surrounding spaces** (|----|, never | -- |), exactly as many dashes as the cell is wide.
Compute the widths from the widest cell — don't eyeball it — then verify the header, separator, and every body row have identical character width.
Then one section per item, numbered to match the table, each led by a checkbox:
## 1. — [x]
## 3. — [ ] (X: rejected — )
Checkbox to status: [x] = Y (implemented), [ ] = N (not yet). A rejected item keeps [ ], is tagged X, and states why in one line — never delete it.
Create mode
- Gather the items. From the brief (or a
grill-mesummary), list the
distinct, independently-checkable pieces of work. Don't invent scope; ask if a piece is unclear.
- Order by dependency and impact — blocking and highest-impact items first.
- Write the file to the format above: summary table (every item starts
N,
unchecked) then one section per item with acceptance criteria.
- Confirm the path before writing; use the name the user gives, else
tmp/-plan.md. Never overwrite an existing plan without saying so.
Update mode
- Read the existing plan. Take its item list and current statuses as ground
truth; never renumber or drop items.
- Set each item's new status from evidence the user gives or the repo shows:
implemented → [x] / Y; dropped → X + one-line reason; untouched → leave N.
- Rewrite the summary table and the changed items' checkboxes/tags only; leave
all other prose intact.
- Report the deltas and the new counts; don't reprint the whole plan.
Rules
- One item = one independently-checkable outcome. Split bundled work.
- Never silently drop a rejected item — mark it
Xwith a reason so the record
stays honest.
- Give each item acceptance criteria — state what proves it done, so
Yis
verifiable, not asserted.
- Table and sections stay in sync: same numbering, same statuses.
- Keep summary Item names short and pad the table so columns align — a long
name in one row must not skew the | delimiters (see Format).
Self-learning
Read this skill's lessons and obey them: sibling LESSONS.md, else $HOME/.agent-data/ctx42-skills/lessons/craft/plan-smith.md when this directory is read-only. On a correction or self-caught mistake, append a one-line rule to whichever is writable (creating it) and report where.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ctx42
- Source: ctx42/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.