create-jira-epic
Implementation guide for creating Jira epics with proper scope and parent linking in SRVKP project
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Implementation guide for creating Jira epics with proper scope and parent linking in SRVKP project
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Implementation guide for creating well-formed Jira bug reports in SRVKP project
Implementation guide for creating Jira features that organize multiple epics into strategic initiatives for SRVKP project
Implementation guide for creating well-formed Jira user stories with acceptance criteria in SRVKP project
Implementation guide for creating Jira tasks for technical and operational work in SRVKP project
Create and manage Jira issues (bugs, epics, stories, tasks) for SRVKP project with intelligent routing and project-specific conventions
基于 SOC 职业分类
| name | Create Jira Epic |
| description | Implementation guide for creating Jira epics with proper scope and parent linking in SRVKP project |
This skill provides implementation guidance for creating well-structured Jira epics that organize related stories and tasks into cohesive bodies of work for the SRVKP project.
This skill is automatically invoked by the /jira:create epic command to guide the epic creation process.
acli installed and authenticatedShared conventions (safety rules, component table, confirmation flow, MCP→CLI fallback):
→ Read and follow ../_common.md before proceeding.
CLI reference: ../reference/cli-fallback.md
This skill is exclusively for SRVKP (OpenShift Pipelines project).
Component auto-suggestion keywords and the full component list are in ../_common.md.
Before collecting epic details, search for similar existing epics to prevent duplicates.
Extract significant keywords from epic summary (ignores common words like "the", "and", "in", "for", "to", "add", "create", "enable").
Example:
Input: "Recursive Image Manifest signing in Tekton Chains"
Keywords: ["recursive", "image", "manifest", "signing", "tekton", "chains"]
Use JQL to search for epics containing keywords:
acli jira workitem search \
--jql "project = SRVKP AND issuetype = Epic AND (summary ~ 'keyword1' OR ...)" \
--fields "key,summary,status"
Flag as potential duplicate if 3 or more keywords match.
Found similar epics in SRVKP:
1. SRVKP-11620: Support Pipelines in Pipelines in Tekton Chains
Matched: chains, tekton, pipelines (3/6 keywords)
Status: New
2. SRVKP-11142: Promote SLSAv1.0 offering of Chains format to beta
Matched: chains, signing, format (3/6 keywords)
Status: New
Options:
- Type '1' or '2': View that epic and stop creation
- Type 'none': Proceed with creating new epic
If user views existing epic, do NOT create new one.
Search for appropriate parent Feature using keywords.
acli jira workitem search \
--jql "project = SRVKP AND issuetype = Feature AND (summary ~ 'chains' OR ...)" \
--fields "key,summary,status"
Searching for parent Features for this epic...
Found potential parent Features:
1. SRVKP-8485: Enable SLSA v1.0 in Konflux chains
Status: To Do
2. SRVKP-9645: Model Signing capability in Tekton Chains
Status: New
Link this epic to a parent Feature?
- Type '1' or '2': Select this Feature as parent
- Type 'none': Create standalone epic (no parent)
- Type 'create': Create new parent Feature
If user chooses 'create', generate parent Feature suggestion.
Step 1: Identify component from epic summary
"Tekton Chains" (from "Chains")
"Tekton Pipelines" (from "pipeline", "task")
"Pipeline as Code" (from "pac", "pipelinesascode")
Step 2: Identify capability area from keywords
Keywords include "signing" → "Signing Enhancements"
Keywords include "performance" → "Performance Optimization"
Keywords include "security" → "Security Improvements"
Step 3: Combine
Feature Name: "{Component} {Capability Area}"
Example: "Tekton Chains Signing Enhancements"
┌──────────────────────────────────────────────────┐
│ Suggested Parent Feature │
├──────────────────────────────────────────────────┤
│ Summary: Tekton Chains Signing Enhancements │
│ Component: Tekton Chains │
├──────────────────────────────────────────────────┤
│ Objective: │
│ Expand Tekton Chains signing capabilities to │
│ support modern container image formats and │
│ multi-architecture workflows. │
│ │
│ Strategic Outcomes: │
│ • SLSA Level 3 compliance for all artifacts │
│ • Multi-arch workflows fully supported │
│ • 100% signing coverage │
│ │
│ Timeline: Q3-Q4 2026 │
│ │
│ Will contain: │
│ • This epic: {epic summary} │
│ • Future related epics │
└──────────────────────────────────────────────────┘
Create this Feature? (yes/no/modify)
- yes: Create Feature, then create epic under it
- no: Create epic standalone
- modify: Edit Feature details first
If approved, invoke create-feature skill to create the Feature, then link epic to it.
An agile epic is:
Epics should:
| Level | Scope | Duration | Example |
|---|---|---|---|
| Feature | Strategic objective, market problem | Multiple releases | "Advanced cluster observability" |
| Epic | Specific capability, narrower than feature | One quarter/release | "Multi-cluster metrics aggregation" |
| Story | Single user-facing functionality | One sprint | "As an SRE, I want to view metrics from multiple clusters in one dashboard" |
IMPORTANT: Many Jira configurations require the epic name field to be set.
MCP Tool Handling:
The epic description should:
Good example:
Enable administrators to manage multiple hosted control plane clusters from a single observability dashboard.
This epic delivers unified metrics aggregation, alerting, and visualization across clusters, reducing the operational overhead of managing multiple cluster environments.
Target users: SREs, Platform administrators
Epic-level acceptance criteria define when the epic is complete:
Format:
h2. Epic Acceptance Criteria
* <High-level outcome 1>
* <High-level outcome 2>
* <High-level outcome 3>
Example:
h2. Epic Acceptance Criteria
* Administrators can view aggregated metrics from all clusters in a single dashboard
* Alert rules can be configured to fire based on cross-cluster conditions
* Historical metrics are retained for 30 days across all clusters
* Documentation is complete for multi-cluster setup and configuration
Characteristics:
Include timeframe information:
Example:
h2. Timeline
* Target: Q1 2025 / OpenShift 4.21
* Milestone 1: Metrics collection infrastructure (Sprint 1-2)
* Milestone 2: Dashboard and visualization (Sprint 3-4)
* Milestone 3: Alerting and historical data (Sprint 5-6)
If the epic belongs to a larger feature:
--parent flagExample:
h2. Parent Feature
This epic is part of [PROJ-100] "Advanced cluster observability" and specifically addresses the multi-cluster aggregation capability.
When creating an epic, guide the user through:
Prompt: "What is the main objective or goal of this epic? What capability will it deliver?"
Helpful questions:
Example response:
Enable SREs to manage and monitor multiple ROSA HCP clusters from a unified observability dashboard, reducing the operational complexity of multi-cluster environments.
Prompt: "What is included in this epic? What is explicitly out of scope?"
Helpful questions:
Example response:
In scope:
- Metrics aggregation from multiple clusters
- Unified dashboard for cluster health
- Cross-cluster alerting
- 30-day historical metrics retention
Out of scope:
- Log aggregation (separate epic)
- Cost reporting (different feature)
- Support for non-HCP clusters (future work)
Prompt: "What are the high-level outcomes that define this epic as complete?"
Guidance:
Example response:
- SREs can view aggregated metrics from all managed clusters in one dashboard
- Alert rules can be defined for cross-cluster conditions (e.g., "any cluster CPU >80%")
- Historical metrics available for 30 days
- Configuration documented and tested
Prompt: "What is the target timeframe for this epic? (quarter, release, or estimated sprints)"
Example responses:
Prompt: "Is this epic part of a larger feature? If yes, provide the feature key."
If yes:
Before submitting the epic, validate:
mcp__atlassian__jira_create_issue(
project_key="<PROJECT_KEY>",
summary="<epic summary>",
issue_type="Epic",
description="""
<Epic objective and description>
h2. Epic Acceptance Criteria
* <Outcome 1>
* <Outcome 2>
* <Outcome 3>
h2. Scope
h3. In Scope
* <What's included>
h3. Out of Scope
* <What's not included>
h2. Timeline
Target: <quarter/release>
""",
components="<component name>", # if required
additional_fields={
"customfield_epicname": "<epic name>", # if required, same as summary
# Add other project-specific fields
}
)
mcp__atlassian__jira_create_issue(
project_key="SRVKP",
summary="Enhanced Tekton Results storage and querying capabilities",
issue_type="Epic",
description="""
Enhance Tekton Results to provide scalable, high-performance storage and flexible querying capabilities for pipeline execution data across large-scale deployments.
h2. Epic Acceptance Criteria
* Results API can handle 10,000+ PipelineRuns per day
* Query response time < 200ms for typical queries
* Support filtering by status, time range, labels, parameters
* Automated cleanup based on retention policies (default 90 days)
* Results can be exported to S3-compatible storage
* GraphQL API provides flexible querying without performance degradation
h2. Scope
h3. In Scope
* Scalable database backend (PostgreSQL with partitioning)
* Advanced query API with filtering and pagination
* Results retention policies and automated cleanup
* Results export to S3/object storage
* Performance optimization for large result sets
* GraphQL query interface
h3. Out of Scope
* Real-time streaming of logs (separate epic)
* Results analytics and visualization (UI epic)
* Multi-tenancy support (future consideration)
* Integration with external observability platforms (post-MVP)
h2. Timeline
* Target: Pipelines 1.16
* Estimated: 6 sprints
h2. Target Users
* Pipeline operators managing large-scale deployments
* DevOps teams
* Platform administrators
h2. Dependencies
* Requires storage infrastructure improvements
* Depends on API refactoring work
""",
components="Tekton Results",
additional_fields={
"customfield_epicname": "Enhanced Tekton Results storage and querying capabilities", # epic name
"labels": ["ai-generated-jira"]
}
)
When linking an epic to a parent feature via --parent flag, use the Parent Link custom field (NOT Epic Link, NOT standard parent field):
mcp__atlassian__jira_create_issue(
project_key="SRVKP",
summary="Pipeline caching improvements",
issue_type="Epic",
description="<epic content with scope and AC>",
components="Tekton Cache",
additional_fields={
"customfield_12311141": "Pipeline caching improvements", # Epic Name (required)
"customfield_12313140": "SRVKP-100", # Parent Link - links to parent FEATURE (STRING!)
"labels": ["ai-generated-jira"]
}
)
IMPORTANT:
customfield_12313140) - value is a STRINGcustomfield_12311140) - value is a STRINGparent field does NOT work for these relationshipsSee: /jira:create command documentation for complete parent linking hierarchy and implementation strategy.
Use Jira's native formatting (Wiki markup):
<Epic objective - what capability will be delivered and why it matters>
h2. Epic Acceptance Criteria
* <High-level outcome 1>
* <High-level outcome 2>
* <High-level outcome 3>
h2. Scope
h3. In Scope
* <Functionality included in this epic>
* <Capabilities to be delivered>
h3. Out of Scope
* <Related work NOT in this epic>
* <Future considerations>
h2. Timeline
* Target: <quarter or release>
* Estimated: <sprints>
* Key milestones: <major deliverables>
h2. Target Users
* <User group 1>
* <User group 2>
h2. Dependencies (optional)
* [PROJ-XXX] - <dependency description>
h2. Parent Feature (if applicable)
This epic is part of [PROJ-YYY] "<feature name>" and addresses <how this epic contributes>.
Scenario: Epic creation fails due to missing epic name field.
Action:
customfield_epicname = summaryNote: Field ID may vary by Jira instance:
customfield_epicname (common)customfield_10011 (numbered field)Scenario: Epic seems too large (would take >1 quarter).
Action:
Example:
This epic seems quite large (estimated 12+ sprints). Consider:
Option 1: Split into multiple epics
- Epic 1: Core metrics aggregation (sprints 1-6)
- Epic 2: Advanced dashboards and alerting (sprints 7-12)
Option 2: Create as Feature instead
- This might be better as a Feature with multiple child Epics
Which would you prefer?
Scenario: Epic could be completed in one sprint.
Action:
Example:
This epic seems small enough to be a single Story (completable in one sprint).
Epics should typically:
- Span multiple sprints (2-8 sprints)
- Contain multiple stories
- Deliver a cohesive capability
Would you like to create this as a Story instead? (yes/no)
Scenario: User specifies parent, but it's not a Feature.
Action:
Example:
Parent issue PROJ-100 is an Epic, but epics should typically link to Features (not other Epics).
Options:
1. Link to the parent Feature instead (if PROJ-100 has a parent)
2. Proceed without parent link
3. Create a Feature first, then link this Epic to it
What would you like to do?
Scenario: User doesn't provide epic acceptance criteria.
Action:
Example:
Epic acceptance criteria help define when this epic is complete. Let's add some.
What are the key outcomes that must be achieved?
- What capabilities will exist when this epic is done?
- How will you demonstrate the epic is complete?
- What must work end-to-end?
Example: "Administrators can view aggregated metrics from all clusters"
Scenario: Sensitive data detected in epic content.
Action:
Scenario: MCP tool returns an error when creating the epic.
Action:
Common errors:
Input:
/jira:create epic "Pipeline caching improvements" --parent SRVKP-9000
Interactive prompts:
What is the main objective of this epic?
> Enhance Tekton Cache to provide faster pipeline execution through intelligent result caching
What is included in scope?
> Result caching, cache key computation, cache hit detection, retention policies
What is out of scope?
> Workspace caching (separate epic), distributed cache (future)
Epic acceptance criteria?
> - Tasks can opt-in to caching via annotations
> - Cache key computed from inputs and parameters
> - Cache hit reduces task execution time by 50%+
> - Configurable retention policies
Timeframe?
> Pipelines 1.16, estimate 6 sprints
Implementation:
additional_fields={
"customfield_12311141": "Pipeline caching improvements", # Epic Name
"customfield_12313140": "SRVKP-9000", # Parent Link (STRING, not object!)
"labels": ["ai-generated-jira"]
}
Result:
customfield_12313140)Input:
/jira:create epic "Advanced pipeline trigger filtering and routing"
Auto-applied:
Interactive prompts:
Result:
Input:
/jira:create epic "Improve test coverage for Tekton Hub catalog"
Result:
Input:
/jira:create epic "Enhanced Tekton Results storage and querying capabilities"
Interactive prompts:
What is the main objective of this epic?
> Enhance Tekton Results to provide scalable, high-performance storage and flexible querying capabilities for pipeline execution data across large-scale deployments
What is included in scope?
> In scope:
> - Scalable database backend (PostgreSQL with partitioning)
> - Advanced query API with filtering and pagination
> - Results retention policies and automated cleanup
> - Results export to S3/object storage
> - Performance optimization for large result sets
> - GraphQL query interface
>
> Out of scope:
> - Real-time streaming of logs (separate epic)
> - Results analytics and visualization (UI epic)
> - Multi-tenancy support (future consideration)
> - Integration with external observability platforms (post-MVP)
Epic acceptance criteria?
> - Results API can handle 10,000+ PipelineRuns per day
> - Query response time < 200ms for typical queries
> - Support filtering by status, time range, labels, parameters
> - Automated cleanup based on retention policies (default 90 days)
> - Results can be exported to S3-compatible storage
> - GraphQL API provides flexible querying without performance degradation
> - Documentation covers deployment and scaling best practices
Timeframe?
> Q1 2026, estimated 6 sprints
Component Suggestion:
Result:
❌ Epic is actually a story
"As a user, I want to view a dashboard"
✅ Too small, create as Story instead
❌ Epic is actually a feature
"Complete observability platform redesign" (12 months, 50+ stories)
✅ Too large, create as Feature with child Epics
❌ Vague acceptance criteria
- Epic is done when everything works
✅ Be specific: "SREs can view metrics from 100+ clusters with <1s load time"
❌ Implementation details in AC
- Backend uses PostgreSQL for metrics storage
- API implements gRPC endpoints
✅ Focus on outcomes, not implementation
❌ No scope definition
Description: "Improve monitoring"
✅ Define what's included and what's not
Follow the Mandatory Confirmation Flow and MCP → CLI Fallback Decision Tree defined
in ../_common.md. The preview label for this type is PREVIEW: SRVKP Epic.
Also include Epic Name: [same as summary] in the preview block.
acli on fallback/jira:create - Main command that invokes this skill/jira:create feature - For creating parent featurescreate-feature skill - Feature creation (invoked automatically if needed)create-story skill - For stories within epics