---
name: create-execution-plan
description: Create an execution plan for a feature or technical initiative. Creates a Confluence page under the Execution Plans parent, then links it from the Jira ticket description. Use when planning implementation work, architecture changes, or any non-trivial feature. Triggers on: create execution plan, write execution plan, plan this out, document the plan, create a plan doc, setup execution plans, set up execution plans for a space.
---
Creates a Confluence execution plan page and links it from the associated Jira ticket.
Before implementation work on any non-trivial feature, technical initiative, or architectural change where a written plan adds value.
These values are user-specific. Before running, check project memory for stored values. If any are missing, ask the user:
"To set up the execution plan skill, I need a few details:
- Your Atlassian Cloud ID (find it at
https://admin.atlassian.comor from your Confluence URL)- Your Jira account ID (find it at
https://<your-domain>.atlassian.net/rest/api/3/myself)- The Confluence parent page ID where execution plans should be created (the number in the page URL)
- Your Confluence space key (e.g.
PLGEX,ENG)Once provided, I'll save these to memory so you don't need to enter them again."
Save the answers to project memory under a ## Execution Plans section, then proceed.
Ben Wagaman's values (pre-configured):
- Cloud ID:
8313f62f-6c74-427a-9769-96d0ba5db9fc - Jira account ID:
633b2da3140ba0bf651d3711 - Space key:
PLGEX - Atlassian domain:
housecall.atlassian.net(nothousecallpro.atlassian.net) - Jira issue URLs:
https://housecall.atlassian.net/browse/<ISSUE_KEY> - Confluence base URL:
https://housecall.atlassian.net/wiki
Execution plans must live under this structure:
R&D (emoji: :research_and_development:)
└── Execution Plans (emoji: :hammer_pick:)
└── <Your Execution Plan>
If the user says "set up execution plans for a space" or similar, run the Space Setup flow instead of the normal plan creation flow:
This bootstraps the R&D > Execution Plans hierarchy in a new Confluence space and populates the Execution Plans page with onboarding content so other team members know how to use the skill.
Step S1 — Collect credentials
Ask the user for (or read from memory if already stored):
- Atlassian Cloud ID
- Confluence space key for the new space
- Atlassian domain (e.g.
housecall.atlassian.net)
Step S2 — Create the page hierarchy
Follow the same logic as Step 1 in the normal flow below: search for R&D, create it if missing, then search for Execution Plans under R&D, create it if missing.
Step S3 — Populate the Execution Plans page
Use updateConfluencePage to set the body of the "Execution Plans" page. Use the following as the canonical template (it mirrors the source-of-truth page at https://housecall.atlassian.net/wiki/spaces/PLGEX/pages/3917414530/Execution+Plans):
This page serves as a shared folder for Claude-driven and human-driven execution plans, where each plan documents the concrete steps, assumptions, and decisions associated with a specific Jira card.
---
## What is an Execution Plan?
An execution plan is a short, structured doc written before implementation that captures:
- **Background / Problem Statement** — why this work is happening
- **Goals & Non-Goals** — what success looks like and what's out of scope
- **Proposed Approach** — the technical plan, key decisions, tradeoffs
- **Milestones / Phases** — how work is sequenced
- **Open Questions** — anything unresolved
- **Risks** — known risks and mitigations
Each plan lives here as a child page and is linked from the associated Jira ticket description.
---
## Installation
1. Install [Claude Code](https://claude.ai/claude-code) and connect the **Atlassian MCP server**
2. Download the skill file: [create-execution-plan SKILL.md](https://gist.github.com/blocktator/a6786a852e8ea8c3feeded065aa1a5f5)
3. Drop it into `~/.claude/skills/create-execution-plan/SKILL.md`
4. Claude Code picks it up automatically — no restart needed
---
## Usage
### Creating an execution plan
Say something like:
> *"Create an execution plan for <ISSUE_KEY>"*
Claude will:
1. Ask you to walk through the plan sections collaboratively
2. Create a child page here under `Execution Plans`
3. Link it from the Jira ticket description automatically
On first run, Claude will ask for your Atlassian credentials (Cloud ID, Jira account ID, space key) and save them to memory so you don't need to enter them again.
---
### Setting up a new Confluence space
If your team wants to use this skill in a different Confluence space, say:
> *"Set up execution plans for space ENG"*
Claude will:
1. Create the `R&D > Execution Plans` page hierarchy in that space
2. Populate the Execution Plans page with this onboarding content
3. Save the new space configuration to memory for future runsNote: If the source page at
https://housecall.atlassian.net/wiki/spaces/PLGEX/pages/3917414530/Execution+Planshas been updated since this skill was written, fetch its latest content usinggetConfluencePage(pageId3917414530, cloudId8313f62f-6c74-427a-9769-96d0ba5db9fc) and use that as the template instead.
Step S4 — Save to memory
Save the new space's Execution Plans page ID to memory under ## Execution Plans keyed by space key, so future runs in that space skip the hierarchy lookup.
Step S5 — Confirm
Report back:
"Space
<SPACE_KEY>is set up. Execution Plans page: "
Check memory for a stored Execution Plans page ID. If not present, search for it:
Use searchConfluenceUsingCql to find the "Execution Plans" page in the space:
title = "Execution Plans" AND space = "<SPACE_KEY>" AND ancestor = "<RD_PAGE_ID_IF_KNOWN>"
If "Execution Plans" page is missing:
First, ensure the "R&D" page exists — search for it:
title = "R&D" AND space = "<SPACE_KEY>"
If "R&D" is missing, create it using createConfluencePage:
{
"cloudId": "<CLOUD_ID>",
"spaceKey": "<SPACE_KEY>",
"title": "R&D",
"emoji": "research_and_development",
"content": "<p>Research and development initiatives.</p>"
}Then create the "Execution Plans" page as a child of R&D:
{
"cloudId": "<CLOUD_ID>",
"spaceKey": "<SPACE_KEY>",
"title": "Execution Plans",
"emoji": "hammer_pick",
"parentId": "<RD_PAGE_ID>",
"content": "<p>Execution plans for technical initiatives.</p>"
}Save the resulting "Execution Plans" page ID to memory so this lookup is skipped in future runs.
Work with the user to produce the plan content. A good execution plan typically includes:
- Background / Problem Statement — why this work is happening
- Goals & Non-Goals — what success looks like and what's out of scope
- Proposed Approach — the technical plan, key decisions, tradeoffs
- Milestones / Phases — how work is sequenced
- Open Questions — anything unresolved
- Risks — known risks and mitigations
Use createConfluencePage as a child of the Execution Plans page:
{
"cloudId": "<CLOUD_ID>",
"spaceKey": "<SPACE_KEY>",
"title": "<ISSUE_KEY>: <Feature/Initiative Name> - Execution Plan",
"parentId": "<EXECUTION_PLANS_PAGE_ID>",
"content": "<page content in Confluence storage format>"
}Capture the returned page URL from the response.
Use editJiraIssue to update the ticket description. Pass a markdown string (NOT an ADF object). Structure the description as:
## Execution Planheading- A markdown link to the Confluence page:
[Confluence Execution Plan](<url>) - A 3–5 sentence scope summary (what the ticket does, any key constraints like feature flags, what's out of scope)
## Product Requirementsheading- The existing description content (preserve it — don't drop it)
{
"cloudId": "8313f62f-6c74-427a-9769-96d0ba5db9fc",
"issueIdOrKey": "<ISSUE_KEY>",
"fields": {
"description": "## Execution Plan\n\n[Planning Document](<confluence_page_url>)\n\n<3-5 sentence scope summary>\n\n## Product Requirements\n\n<existing description content>"
}
}Report back to the user:
"Execution plan created: <confluence_url> — linked from <ISSUE_KEY>."
- Never create local planning docs in the repo (not in
doc/,tasks/, or anywhere else) - Always use a markdown string for Jira description updates (the MCP tool converts markdown → ADF). Use
[link text](url)for clickable links — this works correctly. - Always use
housecall.atlassian.netfor all Jira and Confluence URLs — neverhousecallpro.atlassian.net - Preserve existing Jira description content under the
## Product Requirementsheading — don't discard it - If no Jira ticket is associated, skip step 4 and just share the Confluence URL