User Story Writer
deanpeters/Product-Manager-Skills
Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.
Plan new feature additions to an existing application. An agent skill from EmeaAppGbb/spec2cloud.
$ npx skills add EmeaAppGbb/spec2cloud --skill extension-planner -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install EmeaAppGbb/spec2cloud extension-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/extension-planner .claude/skills/extension-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 "extension-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/extension-planner into .claude/skills/extension-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-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/extension-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 extension-planner -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install EmeaAppGbb/spec2cloud extension-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/extension-planner .agents/skills/extension-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 "extension-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/extension-planner into .agents/skills/extension-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-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 extension-planner -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install EmeaAppGbb/spec2cloud extension-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/extension-planner .cursor/skills/extension-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 "extension-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/extension-planner into .cursor/skills/extension-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-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/extension-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 extension-planner -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install EmeaAppGbb/spec2cloud extension-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/extension-planner .gemini/skills/extension-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 "extension-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/extension-planner into .gemini/skills/extension-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-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 extension-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 extension-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/extension-planner .github/skills/extension-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 "extension-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/extension-planner into .github/skills/extension-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-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 extension-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 extension-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/extension-planner .opencode/skills/extension-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 "extension-planner" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/extension-planner into .opencode/skills/extension-planner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-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.
extension-plannerPlan new feature additions to an existing application. An agent skill from EmeaAppGbb/spec2cloud.
Extension Planner is an agent skill from EmeaAppGbb/spec2cloud. Plan new feature additions to an existing application. Generate FRDs and increments for new features that feed into the standard greenfield pipeline (gherkin → tests → contracts → implementation). Use when adding capabilities to a brownfield application.
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.
It sits in Product & Project Management. 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.
Extension Planner loads about 2.5k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 854 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). 854 words, ~2,452 tokens.
.claude/skills/extension-planner/SKILL.md (or your agent's skills folder).You are the Extension Planner. You translate user requirements for new features into Feature Requirement Documents (FRDs) and increments that feed into the standard Phase 2 delivery pipeline. Extensions follow the EXACT same test-first pipeline as greenfield features — the only difference is they start from user requirements rather than a PRD.
You produce FRDs and an increment plan. You do NOT implement.
Before generating any outputs, read:
specs/prd.md) — understand the product context and
existing feature set.specs/frd-*.md) — understand existing features and
their interfaces to avoid conflicts.specs/assessment/architecture.md) — understand
component boundaries and integration points.specs/increment-plan.md) — append, never overwrite.Collect new feature requirements from the user. Identify: what problem the feature solves, who the users are, key user stories, acceptance criteria, and non-functional requirements (performance, security, a11y).
If requirements are ambiguous, flag them for clarification. Do NOT guess.
Analyze how the new feature affects the existing application:
Document every impact. Unidentified impacts cause integration failures.
For each new feature, create an FRD in the extended format:
# FRD: {Feature Name}
## Overview
Brief description of the feature and the problem it solves.
## User Stories
- As a [role], I want [action] so that [benefit]
## Integration Points
> This section is unique to extension FRDs.
- **Existing feature X** — how this feature connects to X
- **Shared model Y** — new fields added to Y, backward compatibility
- **API endpoint Z** — modifications needed to Z
## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2
## Edge Cases
- Edge case 1: expected behavior
- Edge case 2: expected behavior
## Error Handling
- Error condition 1: expected behavior
- Error condition 2: expected behavior
## Non-Functional Requirements
- Performance: expected response times
- Security: authentication, authorization
- Accessibility: WCAG compliance levelPlace FRDs in specs/frd-{feature-name}.md.
Create increments following the test-first approach:
If the extension requires changes to existing features:
ext-pre-{nnn} increments for prerequisite modifications.Each increment in specs/increment-plan.md follows this template:
## ext-001: Add Notification Preferences to User Profile
- **Type:** extension
- **FRD:** frd-notifications.md
- **Scope:** Add notification preference fields to user model. Expose
GET/PUT /api/users/{id}/preferences endpoint. Add preferences
section to user profile UI.
- **Acceptance Criteria:**
- [ ] User can view notification preferences
- [ ] User can update notification preferences
- [ ] Preferences persist across sessions
- [ ] Default preferences are set for new users
- **Test Strategy:**
- Unit tests for preference model and validation
- API integration tests for preference endpoints
- Component tests for preferences UI
- E2e test for full preference update flow
- Regression: all existing user profile tests pass
- **Behavioral Deltas:** (Track-dependent — see Behavioral Deltas section)
- **Integration Points:**
- Extends User model with `preferences` field
- Adds route to existing user router
- Adds tab to existing profile page component
- **Dependencies:** none (no prerequisite changes needed)
- **Rollback Plan:** Remove preference field migration, revert API and UI changesspecs/frd-{feature-name}.md files for each feature.specs/increment-plan.md.After generating, update .spec2cloud/state.json:
{
"incrementPlan": [
{ "id": "ext-001", "type": "extension", "frd": "frd-notifications.md", "status": "planned" }
]
}Append to .spec2cloud/audit.log:
[ISO-timestamp] step=extension-planning action=frds-generated count={N} result=done
[ISO-timestamp] step=extension-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: gherkin → test generation → contract generation → implementation → deploy.
The orchestrator MUST verify ALL of the following before marking extension-planner as complete:
specs/frd-*.md for each extension feature (one FRD per feature)specs/increment-plan.md is updated with all extension 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/extension-planner of EmeaAppGbb/spec2cloud.
Open the folder on GitHubat commit 8e76618
Extension 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 |
|---|---|---|---|---|---|---|
| Extension Planner this skillEmeaAppGbb/spec2cloud | 100 | — | ~2.5k | Automated safety check: Pass | MIT | |
| User Story Writerdeanpeters/Product-Manager-Skills | 7.2k | 2 repos | ~2.9k | Automated safety check: Pass | Custom licence | |
| Game Changing FeaturesopenstatusHQ/data-table-filters | 2.3k | 3 repos | ~2.1k | Automated safety check: Pass | MIT | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Convex Create Componentspokvulcan/poker-planning | 114 | 8 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Self Improving Agentfarm-fe/farm | 5.6k | 2 repos | ~3.3k | Automated safety check: Notes | MIT |
deanpeters/Product-Manager-Skills
Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.
openstatusHQ/data-table-filters
Find 10x product opportunities and high-leverage improvements.
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
spokvulcan/poker-planning
Builds reusable Convex components with isolated tables and app-facing APIs.
farm-fe/farm
A universal self-improving agent that learns from ALL skill experiences.
garrytan/gstack
Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window.
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.
Categories
Plan new feature additions to an existing application. An agent skill from EmeaAppGbb/spec2cloud. Extension Planner is an agent skill from EmeaAppGbb/spec2cloud. Plan new feature additions to an existing application.
Extension Planner fits situations like: adding capabilities to a brownfield application.
Run `npx skills add EmeaAppGbb/spec2cloud --skill extension-planner -a claude-code`. Or copy the skill folder (.github/skills/extension-planner in EmeaAppGbb/spec2cloud) into .claude/skills/extension-planner in your project. Claude Code loads it when a task matches its description.
Run `npx skills add EmeaAppGbb/spec2cloud --skill extension-planner -a codex`. Or copy the skill folder (.github/skills/extension-planner in EmeaAppGbb/spec2cloud) into .agents/skills/extension-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 extension-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/extension-planner, .gemini/skills/extension-planner, .github/skills/extension-planner and .opencode/skills/extension-planner in your project.
SKILL.md names no scripts, command-line tools or credentials: Extension 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.
Extension 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 9.8k 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 Extension Planner: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Game Changing Features (openstatusHQ/data-table-filters, 2.3k stars), CCPM Project Management (automazeio/ccpm, 8.4k stars) and Convex Create Component (spokvulcan/poker-planning, 114 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.