Planner
penpot/penpot
Read-only planning and architecture analysis — produce a structured implementation plan with task breakdown, acceptance criteria, sizing, and checkpoints.
Plan a component-by-component rewrite from one stack to another using the strangler fig pattern.
$ npx skills add EmeaAppGbb/spec2cloud --skill rewrite-planner -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install EmeaAppGbb/spec2cloud rewrite-planner --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/rewrite-planner .claude/skills/rewrite-planner && rm -rf skills-srcUse ~/.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/
Install the "rewrite-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/rewrite-planner into .claude/skills/rewrite-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rewrite-planner", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/rewrite-plannerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add EmeaAppGbb/spec2cloud --skill rewrite-planner -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install EmeaAppGbb/spec2cloud rewrite-planner --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/rewrite-planner .agents/skills/rewrite-planner && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rewrite-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/rewrite-planner into .agents/skills/rewrite-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rewrite-planner", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add EmeaAppGbb/spec2cloud --skill rewrite-planner -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install EmeaAppGbb/spec2cloud rewrite-planner --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/rewrite-planner .cursor/skills/rewrite-planner && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "rewrite-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/rewrite-planner into .cursor/skills/rewrite-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rewrite-planner", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/EmeaAppGbb/spec2cloud.git --path .github/skills/rewrite-planner--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add EmeaAppGbb/spec2cloud --skill rewrite-planner -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install EmeaAppGbb/spec2cloud rewrite-planner --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/rewrite-planner .gemini/skills/rewrite-planner && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "rewrite-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/rewrite-planner into .gemini/skills/rewrite-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rewrite-planner", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install EmeaAppGbb/spec2cloud rewrite-plannerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add EmeaAppGbb/spec2cloud --skill rewrite-planner -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/rewrite-planner .github/skills/rewrite-planner && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "rewrite-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/rewrite-planner into .github/skills/rewrite-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rewrite-planner", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add EmeaAppGbb/spec2cloud --skill rewrite-planner -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install EmeaAppGbb/spec2cloud rewrite-planner --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/rewrite-planner .opencode/skills/rewrite-planner && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "rewrite-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/rewrite-planner into .opencode/skills/rewrite-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rewrite-planner", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
rewrite-plannerPlan a component-by-component rewrite from one stack to another using the strangler fig pattern.
Rewrite Planner is an agent skill from EmeaAppGbb/spec2cloud. Plan a component-by-component rewrite from one stack to another using the strangler fig pattern. Each increment rewrites one component while keeping the rest running. Use when migrating between technology stacks incrementally.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8e76618. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Rewrite Planner loads about 2.5k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 939 words of instructions outside code blocks.
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.
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.
The full file from EmeaAppGbb/spec2cloud at commit 8e76618, republished under its MIT licence (© EmeaAppGbb). 939 words, ~2,508 tokens.
.claude/skills/rewrite-planner/SKILL.md (or your agent's skills folder).You are the Rewrite Planner. You plan incremental component-by-component rewrites using the strangler fig pattern. Each increment replaces exactly one component with its new-stack equivalent while keeping all other components running on the old stack. Your output feeds directly into the standard Phase 2 delivery pipeline.
You do NOT perform the rewrite. You produce the plan.
Before generating any increments, read:
specs/assessment/rewrite.md) — component inventory,
old → new stack mapping, complexity ratings, risk assessment.specs/adrs/) — especially the "Rewrite vs Modernize" ADR that
justifies the rewrite decision for each component.specs/assessment/architecture.md) — component
dependency graph, integration points, data flows.specs/increment-plan.md) — append, never overwrite.The core principle: never rewrite everything at once. Instead:
┌─────────────────────────────────────┐
│ Facade / Router │
├──────────┬──────────┬───────────────┤
│ Old Comp │ NEW Comp │ Old Comp C │
│ A │ B │ (not yet │
│ (legacy) │ (rewrite)│ rewritten) │
└──────────┴──────────┴───────────────┘From the architecture map, identify components that can be rewritten independently. A rewritable component has:
If a component cannot be isolated, it must be split first. Create a pre-requisite increment for the split.
Build the component dependency graph and order rewrites leaf-first:
For each component rewrite increment, specify:
| Field | Description |
|---|---|
| Old component | Name, location, technology, key interfaces |
| New component | Target technology, target location, new interfaces |
| Data migration | How data moves from old to new (if applicable) |
| Integration shim | Adapter/facade that makes new component look like old one to callers |
| Coexistence plan | How old and new run side-by-side during transition |
| Cutover criteria | Conditions under which old component is decommissioned |
For each rewrite increment, define how old and new components coexist:
Each component has explicit cutover criteria:
Each increment in specs/increment-plan.md follows this template:
## rw-001: Rewrite User Service (Express → Fastify)
- **Type:** rewrite
- **ADR:** adr-003-rewrite-user-service.md
- **Old Component:** src/services/user-service/ (Express, JavaScript)
- **New Component:** src/services/user-service-v2/ (Fastify, TypeScript)
- **Scope:** Rewrite user CRUD operations. Auth integration stays on old
stack until rw-003.
- **Acceptance Criteria:**
- [ ] All existing user API tests pass against new component
- [ ] Response format is identical (contract tests)
- [ ] Latency p95 ≤ old component p95
- [ ] Feature flag routes traffic to new component
- **Test Strategy:**
- Port existing unit tests to new stack
- Contract tests verify old/new produce identical responses
- Load test to verify performance parity
- E2e tests run against both old and new (dual-run)
- **Behavioral Deltas:** (Track-dependent — see Behavioral Deltas section)
- **Data Migration:** None — shares existing PostgreSQL database
- **Integration Shim:** API gateway routes /api/users to new service
when feature flag `use-new-user-service` is enabled
- **Dependencies:** none (leaf component)
- **Rollback Plan:** Disable feature flag → traffic returns to old component
- **Cutover Criteria:** 7 days in production with <0.1% error rate increaseAppend all generated increments to specs/increment-plan.md. Do NOT overwrite
existing content.
After appending, update .spec2cloud/state.json:
{
"incrementPlan": [
{ "id": "rw-001", "type": "rewrite", "status": "planned" },
{ "id": "rw-002", "type": "rewrite", "status": "planned" }
]
}Append to .spec2cloud/audit.log:
[ISO-timestamp] step=rewrite-planning action=increments-generated count={N} result=doneEach increment must include behavioral change specifications that feed into Phase 2 test generation. The format depends on the project's testability track (from .spec2cloud/state.json).
For each increment, specify which Gherkin scenarios are affected:
@existing-behavior scenarios that change (update expected outcomes)Include Gherkin deltas in the increment format:
- **Gherkin Deltas:**
- New: `Scenario: {description}` — {why this is needed}
- Modified: `Scenario: {existing scenario name}` — Then step changes from X to Y
- Regression: N existing scenarios must still pass unchangedFor each increment, specify behavioral documentation updates:
Include documentation deltas in the increment format:
- **Behavioral Doc Updates:**
- Updated: `Scenario: {name}` — expected behavior changes from X to Y
- New: `Scenario: {name}` — documents new expected behavior
- Manual verification: {new checklist items}Before finalizing, verify:
After approval at the human gate, each increment proceeds through Phase 2: test generation → contract generation → implementation → build & deploy.
The orchestrator MUST verify ALL of the following before marking rewrite-planner as complete:
specs/increment-plan.md is updated with all rewrite increments (unique IDs, scope, dependencies, effort)BLOCKING: If any item is unchecked, the skill has NOT completed successfully. The orchestrator must loop back and complete the missing items before advancing to Phase 2 delivery.
© EmeaAppGbb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .github/skills/rewrite-planner of EmeaAppGbb/spec2cloud.
Open the folder on GitHubat commit 8e76618
Rewrite 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Rewrite Planner this skillEmeaAppGbb/spec2cloud | 100 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Plannerpenpot/penpot | 61k | — | ~2.7k | Automated safety check: Pass | MPL-2.0 | |
| Agent Plannerruvnet/ruflo | 74k | 2 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Rewrite Plannexu-io/open-design | 100k | — | ~511 | Automated safety check: Pass | Apache-2.0 | |
| Agent Goal Plannerruvnet/ruflo | 74k | 3 repos | ~842 | Automated safety check: Pass | MIT | |
| Agent Code Goal Plannerruvnet/ruflo | 74k | 3 repos | ~3.6k | Automated safety check: Pass | MIT |
penpot/penpot
Read-only planning and architecture analysis — produce a structured implementation plan with task breakdown, acceptance criteria, sizing, and checkpoints.
ruvnet/ruflo
Agent skill for planner - invoke with $agent-planner. An agent skill from ruvnet/ruflo.
nexu-io/open-design
Author a long-running multi-file rewrite plan that subsequent patch-edit + diff-review + build-test stages will execute, with explicit ownership boundaries and patch-safety guarantees.
ruvnet/ruflo
Agent skill for goal-planner - invoke with $agent-goal-planner
ruvnet/ruflo
Agent skill for code-goal-planner - invoke with $agent-code-goal-planner
NxcoreAI/EverRoom
Rewrite only the supplied selectedText per the instruction and return the replacement fragment.
EmeaAppGbb/spec2cloud
Provision Azure infrastructure, deploy to Azure Container Apps, and verify via smoke tests.
EmeaAppGbb/spec2cloud
Generate API contracts, shared TypeScript types, and infrastructure resource definitions from Gherkin scenarios and test files.
EmeaAppGbb/spec2cloud
Create Domain-Driven Design proposals from product specs or brownfield extraction outputs.
EmeaAppGbb/spec2cloud
Write application code to make failing tests pass using contract-driven, slice-based architecture.
EmeaAppGbb/spec2cloud
Review PRDs and FRDs through product and technical lenses. An agent skill from EmeaAppGbb/spec2cloud.
EmeaAppGbb/spec2cloud
Read, write, and maintain .spec2cloud/state.json across phases and increments.
Plan a component-by-component rewrite from one stack to another using the strangler fig pattern. Rewrite Planner is an agent skill from EmeaAppGbb/spec2cloud. Plan a component-by-component rewrite from one stack to another using the strangler fig pattern.
Rewrite Planner fits situations like: migrating between technology stacks incrementally.
Run `npx skills add EmeaAppGbb/spec2cloud --skill rewrite-planner -a claude-code`. Or copy the skill folder (.github/skills/rewrite-planner in EmeaAppGbb/spec2cloud) into .claude/skills/rewrite-planner in your project. Claude Code loads it when a task matches its description.
Run `npx skills add EmeaAppGbb/spec2cloud --skill rewrite-planner -a codex`. Or copy the skill folder (.github/skills/rewrite-planner in EmeaAppGbb/spec2cloud) into .agents/skills/rewrite-planner in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add EmeaAppGbb/spec2cloud --skill rewrite-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/rewrite-planner, .gemini/skills/rewrite-planner, .github/skills/rewrite-planner and .opencode/skills/rewrite-planner in your project.
SKILL.md names no scripts, command-line tools or credentials: Rewrite Planner is instructions for the agent only.
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.
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.
Rewrite Planner is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Rewrite Planner: Planner (penpot/penpot, 61k stars), Agent Planner (ruvnet/ruflo, 74k stars), Rewrite Plan (nexu-io/open-design, 100k stars) and Agent Goal Planner (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
EmeaAppGbb (a GitHub organization) maintains it in EmeaAppGbb/spec2cloud, which has 100 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on April 16, 2026.
Source: EmeaAppGbb/spec2cloud on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.