Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
"name": "jira",
"source": "./plugins/jira",
"description": "A plugin to automate tasks with Jira",
"version": "0.8.3",
"version": "0.8.4",
"category": "productivity",
"keywords": [
"jira",
Expand Down
6 changes: 3 additions & 3 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1407,7 +1407,7 @@ <h1>ai-helpers</h1>
{
"name": "jira",
"description": "A plugin to automate tasks with Jira",
"version": "0.8.3",
"version": "0.8.4",
"has_readme": true,
"commands": [
{
Expand Down Expand Up @@ -1578,8 +1578,8 @@ <h1>ai-helpers</h1>
},
{
"name": "create",
"description": "Create Jira issues — story, bug, epic, feature, task, or feature-request — with CNTRLPLANE, OCPBUGS, GCP, HyperShift, ARO, ROSA conventions and type-specific templates",
"description_html": "Create Jira issues — story, bug, epic, feature, task, or feature-request — with CNTRLPLANE, OCPBUGS, GCP, HyperShift, ARO, ROSA conventions and type-specific templates",
"description": "Create Jira issues — story, bug, epic, feature, initiative, task, or feature-request — with CNTRLPLANE, OCPBUGS, GCP, HyperShift, ARO, ROSA conventions and type-specific templates",
"description_html": "Create Jira issues — story, bug, epic, feature, initiative, task, or feature-request — with CNTRLPLANE, OCPBUGS, GCP, HyperShift, ARO, ROSA conventions and type-specific templates",
"meta": ""
},
{
Expand Down
2 changes: 1 addition & 1 deletion plugins/jira/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "jira",
"description": "A plugin to automate tasks with Jira",
"version": "0.8.3",
"version": "0.8.4",
"author": {
"name": "github.com/openshift-eng"
}
Expand Down
131 changes: 131 additions & 0 deletions plugins/jira/reference/create-initiative.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
# Initiative

Type-specific guidance for creating Jira initiatives representing internal capability and architectural work.

Initiatives are at the same hierarchy level as Features but are **not customer-facing**. They address architectural gaps, process improvements, and engineering enablement that deliver internal value. Use a Feature instead if customers will directly interact with the capability.

## Problem Statement

Every initiative must clearly state:
- **What internal gap or limitation** does this address?
- **Who** is affected (which teams, roles, workflows)?
- **What is the current impact** of not addressing this?
- **Why** is solving this important now?

## Internal Impact

Explain the value this initiative delivers internally:
- **Team efficiency:** Time savings, reduced manual effort, faster feedback
- **Reliability/stability:** Reduced incidents, faster detection, improved recovery
- **Scalability:** Supports growth without proportional effort increase
- **Developer experience:** Faster onboarding, better tooling, improved workflows

## Success Criteria

Define measurable success with internal metrics:
- **Efficiency:** Time savings, effort reduction, automation coverage
- **Reliability:** Incident reduction, MTTR improvement, regression detection rate
- **Capability:** What can you do now that you couldn't before?
- **Adoption:** How many teams/workflows use the new capability?

## Interactive Workflow

### 1. Problem Statement

**Prompt:** "What internal gap, architectural limitation, or process problem does this initiative address? Who is affected and what is the current impact?"

### 2. Proposed Approach

**Prompt:** "What is the high-level technical or architectural approach to solve this?"

### 3. Internal Impact

**Prompt:** "How will this initiative improve internal capabilities? Think about team efficiency, reliability, scalability, and developer experience."

### 4. Success Criteria

**Prompt:** "How will you measure success? What internal metrics will tell you this initiative achieved its goals?"

Categories: efficiency, reliability, capability, adoption.

### 5. Scope and Epics

**Prompt:** "What are the major components or epics within this initiative?"

Identify 3-8 major work streams.

### 6. Timeline and Milestones

**Prompt:** "What is the timeline? What are key milestones?"

## Size Validation

- **Too small** (single epic, 1-2 months) → suggest creating as Epic instead
- **Right size:** 3-8 epics, spans 1-3 releases (3-9 months), addresses a strategic internal gap
- **Customer-facing work** → redirect to Feature instead

## Description Template

```markdown
<Brief initiative overview>

## Problem Statement

<Internal gap or architectural limitation, who is affected, current impact>

## Proposed Approach

<Technical/architectural approach to solve this>

## Internal Impact

### Team Efficiency
- <Efficiency improvement>

### Reliability
- <Reliability improvement>

### Scalability
<How this enables scaling>

### Developer Experience
<How this improves workflows>

## Success Criteria

### Efficiency
- <Efficiency metrics>

### Reliability
- <Reliability metrics>

### Capability
- <Capability metrics>

### Adoption
- <Adoption metrics>

## Scope

### Epics (Planned)
- Epic 1: <name>
- Epic 2: <name>
- Epic 3: <name>

### Out of Scope
- <Related work NOT in this initiative>

## Timeline

- Total duration: <timeframe>
- Key milestones: <major deliverables>
```

For formatting reference, see [Markdown for Jira](markdown-for-jira.md).

## Anti-Patterns

- Initiative is actually an epic (single capability, 1-2 months) → create as Epic
- Customer-facing work framed as initiative → create as Feature instead
- No internal context ("Improve infrastructure") → must explain what internal gap exists and current impact
- Vague success criteria ("Initiative is successful when infrastructure is better") → use measurable internal metrics
16 changes: 15 additions & 1 deletion plugins/jira/reference/gcp-hcp.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Team-specific conventions for GCP HCP (Hypershift on GKE) issues in the GCP proj
|-------|-------|
| **Project Key** | GCP |
| **Project Name** | GCP Hosted Control Planes (Hypershift on GKE) |
| **Issue Types** | Story, Epic, Task, Bug, Feature Request |
| **Issue Types** | Story, Epic, Task, Bug, Feature, Initiative, Feature Request |

## Custom Fields

Expand Down Expand Up @@ -36,6 +36,7 @@ Components are **optional** — only specify if work clearly fits. Do not reques
| Story / Task | `customfield_10028` (Story Points): float, auto-estimated per Sizing Guide; `priority`: `{"name": "Normal"}` (omit unless user specifies) |
| Epic | `customfield_10011` (Epic Name): must match summary |
| Feature | No type-specific custom fields required |
| Initiative | No type-specific custom fields required |

**Story Points:** Auto-estimate using the Sizing Guide below. Set `customfield_10028` as float. For estimates of 8+, recommend splitting.

Expand Down Expand Up @@ -147,6 +148,18 @@ Features represent high-level capabilities spanning multiple sprints, decomposin

Sections: Context, Scope (included + not included), Technical Approach (optional), Dependencies, Acceptance Criteria, Metadata (Epics, Priority, Demo Critical, Size Estimate, DRI)

### Initiative Template

Source: [jira-initiative-template.md](https://github.com/openshift-online/gcp-hcp/blob/main/docs/jira-initiative-template.md)

Initiatives represent internal/architectural work at the same hierarchy as Features — non-customer-facing. Use for architectural improvements, process improvements, and engineering enablement.

**Hierarchy**: Outcome → **Initiative** → Epic → Story

**Title format**: [Action Verb] + [Capability]

Sections: Problem Statement, Proposed Approach, Internal Impact, Success Criteria, Scope and Epics, Timeline and Milestones, plus project-specific metadata

### Definition of Done

Source: [definition-of-done.md](https://github.com/openshift-online/gcp-hcp/blob/main/docs/definition-of-done.md)
Expand Down Expand Up @@ -200,6 +213,7 @@ Sections of this reference file are sourced from upstream files in openshift-onl
| Task Template | docs/jira-task-template.md |
| Epic Template | docs/jira-epic-template.md |
| Feature Template | docs/jira-feature-template.md |
| Initiative Template | docs/jira-initiative-template.md |
| Definition of Done | docs/definition-of-done.md |
| Priority Scheme (OJA-PRIS-001) | Red Hat internal (team-agnostic) |

Expand Down
19 changes: 11 additions & 8 deletions plugins/jira/skills/create/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: create
description: Create Jira issues — story, bug, epic, feature, task, or feature-request — with CNTRLPLANE, OCPBUGS, GCP, HyperShift, ARO, ROSA conventions and type-specific templates
description: Create Jira issues — story, bug, epic, feature, initiative, task, or feature-request — with CNTRLPLANE, OCPBUGS, GCP, HyperShift, ARO, ROSA conventions and type-specific templates
---

# Create Jira Issue
Expand All @@ -9,7 +9,7 @@ description: Create Jira issues — story, bug, epic, feature, task, or feature-
/jira:create <type> [project-key] <summary> [--component <name>] [--version <version>] [--parent <key>]
```

Creates Jira issues following best practices and team-specific conventions. Supports stories, epics, features, tasks, bugs, and feature requests with intelligent defaults, interactive prompts, and validation.
Creates Jira issues following best practices and team-specific conventions. Supports stories, epics, features, initiatives, tasks, bugs, and feature requests with intelligent defaults, interactive prompts, and validation.

## Type-Specific Guidance

Expand All @@ -21,14 +21,15 @@ Load the reference file matching the issue type for templates, interactive workf
| **bug** | [Bug guide](../../reference/create-bug.md) | Bug template, steps to reproduce, reproducibility |
| **epic** | [Epic guide](../../reference/create-epic.md) | Epic Name field, scope/timeline, parent Feature linking |
| **feature** | [Feature guide](../../reference/create-feature.md) | Market problem, strategic value, success criteria |
| **initiative** | [Initiative guide](../../reference/create-initiative.md) | Internal capability, problem statement, internal impact |
| **task** | [Task guide](../../reference/create-task.md) | Task vs story distinction, action-verb summaries |
| **feature-request** | [Feature Request guide](../../reference/create-feature-request.md) | RFE project, 4-question workflow, business requirements |

Also load [Markdown for Jira](../../reference/markdown-for-jira.md) for description formatting.

## Arguments

- **type** *(required)* — `story` | `epic` | `feature` | `task` | `bug` | `feature-request`
- **type** *(required)* — `story` | `epic` | `feature` | `initiative` | `task` | `bug` | `feature-request`
- **project-key** *(optional for bugs and feature-requests)* — e.g., `CNTRLPLANE`, `OCPBUGS`, `RFE`. Default for bugs: `OCPBUGS`. Default for feature-requests: `RFE`.
Comment thread
coderabbitai[bot] marked this conversation as resolved.
- **summary** *(required)* — Issue title. Use quotes for multi-word: `"Enable automatic scaling"`
- **--component** *(optional)* — Component name. Auto-detected from summary for known projects.
Expand Down Expand Up @@ -118,15 +119,15 @@ Jira issue types have a `hierarchyLevel` that determines valid parent-child rela

```plaintext
Level 3: Outcome
Level 2: Feature
Level 2: Feature / Initiative
Level 1: Epic
Level 0: Story / Task / Bug
Level -1: Sub-task
```

### Parent Field

Use `{"parent": {"key": "PARENT-KEY"}}` in `additional_fields` for all parent-child relationships (Story→Epic, Task→Epic, Bug→Epic, Epic→Feature, Feature→Outcome).
Use `{"parent": {"key": "PARENT-KEY"}}` in `additional_fields` for all parent-child relationships (Story→Epic, Task→Epic, Bug→Epic, Epic→Feature, Epic→Initiative, Feature→Outcome, Initiative→Outcome).

### Pre-Validation (when `--parent` is provided)

Expand All @@ -137,8 +138,9 @@ Fetch the parent via `getJiraIssue` to verify it exists and its type matches the
| Story | Epic | Warn user, ask to confirm or correct |
| Task | Epic | Warn user, ask to confirm or correct |
| Bug | Epic | Warn user, ask to confirm or correct |
| Epic | Feature | Warn user, ask to confirm or correct |
| Epic | Feature or Initiative | Warn user, ask to confirm or correct |
| Feature | Outcome | Warn user, ask to confirm or correct |
| Initiative | Outcome | Warn user, ask to confirm or correct |

If parent not found, offer options: proceed without parent, specify different parent, or cancel.

Expand All @@ -159,15 +161,15 @@ When changing an existing issue's type to a different hierarchy level, the curre
### Invalid Issue Type

```plaintext
Invalid issue type "stroy". Valid types: story, epic, feature, task, bug, feature-request
Invalid issue type "stroy". Valid types: story, epic, feature, initiative, task, bug, feature-request

Did you mean "story"?
```

### Missing Project Key

```plaintext
Project key is required for stories/tasks/epics/features.
Project key is required for stories/tasks/epics/features/initiatives.

Usage: /jira:create story PROJECT-KEY "summary"
```
Expand Down Expand Up @@ -195,6 +197,7 @@ Usage: /jira:create story PROJECT-KEY "summary"
/jira:create bug "API returns 500 error" --component "Backend"
/jira:create task CNTRLPLANE "Update API docs" --parent CNTRLPLANE-456
/jira:create feature CNTRLPLANE "Advanced search capabilities"
/jira:create initiative GCP "Establish performance testing infrastructure"
/jira:create feature-request RFE "Support custom SSL certificates for ROSA HCP"
```

Expand Down