Create epic with child story structure
Creates epics in the configured PM backend with proper structure and optional documentation linking. Epics serve as containers for related user stories, helping teams organize large initiatives into manageable work.
Epics organize vision into actionable work.
Epics bridge the gap between strategic goals and tactical execution. They provide structure without constraining creativity, allowing teams to see the forest while working on individual trees. This skill ensures epics are created with clarity and purpose, grounded in love for the team's mission, truth in planning, and beauty in execution.
Before creating an epic, ensure:
pm-configuration skill)Placeholder content for Process to satisfy validation.
Collect essential information about the epic:
"I'll help you create an epic. Let me gather a few details:
**Epic Title:**
[What should this epic be called?]
**Epic Description:**
[What is this epic trying to achieve? What problem does it solve?]
**Project:**
[Which project should this epic belong to?]
{PROJECT_ID}
**Optional - Child Stories:**
[Do you want to create initial user stories for this epic now, or add them later?]
- A) Create stories now (I'll help you define them)
- B) Add stories later
- C) Link existing stories
**Optional - Documentation:**
[Should I create a documentation page for this epic?]
- A) Yes, create a new page
- B) Link to existing page
- C) Skip documentation"
Validation:
Call backend operation to create the epic:
Backend Operation: createEpic
Parameters:
{
"title": "{EPIC_TITLE}",
"description": "{EPIC_DESCRIPTION}",
"projectId": "{PROJECT_ID}"
}
Expected Response:
{
"id": "{EPIC_ID}",
"title": "{EPIC_TITLE}",
"description": "{EPIC_DESCRIPTION}",
"status": "To Do",
"projectId": "{PROJECT_ID}",
"createdAt": "{TIMESTAMP}"
}
If user selected option A in Step 1, help create initial stories:
"Let's create some initial stories for this epic. I'll help you break it down.
**Story 1:**
- Title: [What's the first story?]
- Description: [As a... / I want... / So that...]
[Continue for additional stories...]
Should I create these stories now and link them to the epic?"
For each story, use the create-story skill or call:
Backend Operation: createStory
Parameters:
{
"title": "{STORY_TITLE}",
"description": "{STORY_DESCRIPTION}",
"epicId": "{EPIC_ID}",
"projectId": "{PROJECT_ID}"
}
If user selected to create documentation:
Backend Operation: createPage
Parameters:
{
"title": "{EPIC_TITLE} - Documentation",
"content": "{EPIC_DESCRIPTION}\n\n## Goals\n\n## Stories\n\n## Success Criteria",
"spaceId": "{SPACE_ID}",
"parentId": null
}
Then link to the epic:
Backend Operation: linkToWorkItem
Parameters:
{
"pageId": "{PAGE_ID}",
"itemId": "{EPIC_ID}"
}
Present the created epic with all details:
"✅ Epic created successfully!
**Epic Details:**
- **ID:** {EPIC_ID}
- **Title:** {EPIC_TITLE}
- **Status:** To Do
- **Project:** {PROJECT_ID}
**Child Stories:** {COUNT} stories
{STORY_LIST}
**Documentation:** {DOCUMENTATION_LINK or "Not created"}
**Next Steps:**
1. Review the epic in your PM backend: {BACKEND_URL}
2. Add more stories as you discover them
3. Move stories to sprints when ready
4. Update epic status as work progresses
The epic is ready for planning!"
User: "Create an epic for user authentication"
Agent: "I'll help you create an epic for user authentication.
Epic Title: User Authentication System
Epic Description: Implement secure user authentication including login, registration, password reset, and session management to enable personalized user experiences.
Project: PROJ-123
Child Stories: Add later
Documentation: Skip
Creating epic..."
Output:
✅ Epic created successfully!
**Epic Details:**
- **ID:** EPIC-456
- **Title:** User Authentication System
- **Status:** To Do
- **Project:** PROJ-123
**Child Stories:** 0 stories
**Documentation:** Not created
**Next Steps:**
1. Review the epic in Jira: https://company.atlassian.net/browse/EPIC-456
2. Add stories using: "Create story for EPIC-456"
3. Move stories to sprints when ready
User: "Create an epic for payment processing with initial stories"
Agent: [Gathers epic details, then helps create stories]
Output:
✅ Epic created successfully!
**Epic Details:**
- **ID:** EPIC-789
- **Title:** Payment Processing System
- **Status:** To Do
- **Project:** PROJ-123
**Child Stories:** 3 stories
- STORY-101: User can add payment method
- STORY-102: User can process payment
- STORY-103: User can view payment history
**Documentation:** Not created
**Next Steps:**
1. Review epic and stories in Linear: https://linear.app/team/epic/789
2. Estimate stories before sprint planning
3. Add more stories as needed
User: "Create epic for API redesign and link to Confluence page"
Agent: [Creates epic, then creates documentation page]
Output:
✅ Epic created successfully!
**Epic Details:**
- **ID:** EPIC-321
- **Title:** API Redesign Initiative
- **Status:** To Do
- **Project:** PROJ-123
**Child Stories:** 0 stories
**Documentation:** https://company.atlassian.net/wiki/spaces/ENG/pages/12345
**Next Steps:**
1. Review epic: https://company.atlassian.net/browse/EPIC-321
2. Add stories and link them to the documentation
3. Share documentation with stakeholders
| Operation | Interface | Purpose |
|--|--||
| createEpic | workItems.createEpic | Create the epic in backend |
| createStory | workItems.createStory | Create child stories (optional) |
| createPage | documentation.createPage | Create documentation (optional) |
| linkToWorkItem | documentation.linkToWorkItem | Link docs to epic (optional) |
createEpic:
title (required), description, projectId (required)createStory:
title (required), description, epicId, projectId (required)createPage:
title (required), content (required), spaceId (required), parentId| Condition | Action |
|--|--|
| PM backend not configured | Guide user to run pm-configuration skill first |
| Project ID invalid | List available projects, ask user to select |
| Epic creation fails | Show error message, suggest checking backend connection |
| Story creation fails | Continue with epic creation, note which stories failed |
| Documentation creation fails | Continue with epic creation, note documentation skipped |
| Backend connection timeout | Retry once, then suggest checking credentials |
When creating child stories:
"To create stories for this epic, I can:
1. Use the create-story skill to properly format each story
2. Link them to this epic automatically
3. Validate story format (As a/I want/So that)"
Epic creation requires PM backend:
"Before creating epics, ensure PM backend is configured.
If not configured, I'll guide you through pm-configuration first."
Epics inform sprint planning:
"When planning sprints, I can:
1. Show all epics with their stories
2. Help prioritize epics for sprint inclusion
3. Track epic progress across sprints"
# Create epic via CLI (if implemented)
python cli/factory_cli.py --create-epic \
--title "Epic Title" \
--description "Epic description" \
--project-id "PROJ-123"
# List epics
python cli/factory_cli.py --list-epics --project-id "PROJ-123"
patterns/products/pm-system/adapters/adapter-interface.json - Backend adapter interfaceknowledge/workflow-patterns.json - Workflow patterns for epic managementknowledge/best-practices.json - Best practices for epic creation.agent/skills/pm/create-story/SKILL.md - Story creation skill.agent/skills/pm/pm-configuration/SKILL.md - PM configuration skillGenerated by Antigravity Agent Factory Skill: create-epic v1.0.0 Grounded in Axiom 0: Love, Truth, and Beauty
Placeholder content for Best Practices.
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.
Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
Manage Trello boards, lists, and cards via the Trello REST API.
Category:productivity