Help us improve
Share bugs, ideas, or general feedback.
From runesmith-core
Plan a change before executing - capture problem, decision, why-now, scope, trade-offs to a clean markdown file under plans/active/. Use when the user says "plan this", "let's plan", "draft a plan for", "spec this out", "I want to plan", or wants to think through a substantial change before any writes happen. Chat-first, file-last workflow.
npx claudepluginhub runemarklabs/runesmith --plugin runesmith-coreHow this skill is triggered — by the user, by Claude, or both
Slash command
/runesmith-core:planThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Capture a project plan as `plans/active/<slug>/plan.md` - clean, claude-readable markdown that serves as the source of truth for project intent. Both Cowork and Claude Code read from `plans/active/`.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Grills users relentlessly on plans or designs by interviewing branch-by-branch through decision trees to reach shared understanding. Use for stress-testing ideas or 'grill me'.
Share bugs, ideas, or general feedback.
Capture a project plan as plans/active/<slug>/plan.md - clean, claude-readable markdown that serves as the source of truth for project intent. Both Cowork and Claude Code read from plans/active/.
This skill performs no API calls. It writes one local file (plus optional decisions log + refs dir).
lib/plan-format.md - canonical plan.md schemalib/comms-check.md - check-on-entry patternlib/user-prompts.md - structured-input requirement for any user promptThis skill follows the marketplace-wide user-prompt standard in lib/user-prompts.md. Every user prompt MUST use the host client's structured input UI (single-pick, multi-pick, or text-input form). Never freeform plain-text yes/no questions. The only exception is the consent-trigger gate documented in lib/consent.md, which waits for user-initiated phrases like "make the ticket".
See lib/comms-check.md. If any to: user comms are open, surface and let user decide before proceeding.
Verify plans/ exists at workspace root. If not, suggest running /core:reallocate first.
Use for:
Do not use for:
Surface what the user wants to plan. Ask only what's needed to fill the schema:
Iterate in chat until the user converges.
Generate a short kebab-case slug from the title. Verify it's unique within plans/active/. If collision, append -2.
Show the proposed plan.md content per plan-format.md. Frontmatter:
---
slug: <kebab-slug>
status: open
created: YYYY-MM-DD
updated: YYYY-MM-DD
owner: <user>
supersedes: []
related: []
tickets: []
---
Body uses the canonical sections from plan-format.md.
Ask: "Save this plan to plans/active/<slug>/plan.md?"
Wait for explicit approval ("yes", "save it", "create the plan", "make it"). Do not write without consent.
Create:
plans/active/<slug>/
├── plan.md the plan
├── decisions.md empty stub with H2 ready for entries
└── refs/ empty dir
decisions.md stub:
# Decisions for <slug>
Append-only log of decisions made under this plan.
## YYYY-MM-DD - <decision title>
**What:** ...
**Why:** ...
**Participants:** ...
✓ Plan created
plans/active/<slug>/plan.md
status: open
If the workspace is atlassian-enabled (if the workspace is atlassian-enabled, per the runesmith-sprint plugin), suggest:
Next: run
/atlassian:plan-to-ticketsto draft Jira tickets from this plan.
Otherwise:
Next: when ready, write a task comm to CC via comms/, or invoke a publish skill to push to Confluence.
plans/ missing: "Workspace doesn't have plans/ yet. Run /core:reallocate first to set up the structure."
Slug collision: Auto-append -2, surface to user, get re-confirmation.
User keeps editing without converging: After ~3 rounds, ask "Should we save this draft now and iterate from disk, or keep refining first?"
Empty required section: "Section is empty. Plans must have all of Problem, Decision, Why now, Scope. Add content or skip the plan."