|
| 1 | +--- |
| 2 | +description: Log a new Jira issue to RHOAIENG with Team (Ambient team) and Component (Agentic) pre-filled. |
| 3 | +--- |
| 4 | + |
| 5 | +## User Input |
| 6 | + |
| 7 | +```text |
| 8 | +$ARGUMENTS |
| 9 | +``` |
| 10 | + |
| 11 | +You **MUST** consider the user input before proceeding (if not empty). |
| 12 | + |
| 13 | +## Goal |
| 14 | + |
| 15 | +Create a new Jira Story in the RHOAIENG project with the correct Team and Component pre-filled for the Ambient team. |
| 16 | + |
| 17 | +## Execution Steps |
| 18 | + |
| 19 | +### 1. Parse User Input |
| 20 | + |
| 21 | +Extract the following from `$ARGUMENTS`: |
| 22 | + |
| 23 | +- **Summary** (required): The title/summary of the issue |
| 24 | +- **Description** (optional): Detailed description of the work |
| 25 | +- **Issue Type** (optional): Defaults to `Story`, but can be `Bug` or `Task`. Tasks are tech debt related and not user facing |
| 26 | +- **Priority** (optional): Defaults to `Normal` |
| 27 | + |
| 28 | +If the user provides a simple sentence, use it as the summary. If they provide multiple lines, use the first line as summary and the rest as description. |
| 29 | + |
| 30 | +### 2. Gather Cold-Start Context |
| 31 | + |
| 32 | +**IMPORTANT**: To make this Jira actionable by an agent, gather the following context. Ask the user for any missing critical info: |
| 33 | + |
| 34 | +**Required for Stories:** |
| 35 | +- What is the user-facing goal? (As a [user], I want [X], so that [Y]) |
| 36 | +- What are the acceptance criteria? (How do we know it's done) |
| 37 | +- Which repo/codebase? (e.g., `vTeam`, `ambient-cli`) |
| 38 | + |
| 39 | +**Required for Bugs:** |
| 40 | +- Steps to reproduce |
| 41 | +- Expected vs actual behaviour |
| 42 | +- Environment/browser info if relevant |
| 43 | + |
| 44 | +**Helpful for all types:** |
| 45 | +- Relevant file paths or components (e.g., `components/frontend/src/...`) |
| 46 | +- Related issues/PRs/design docs |
| 47 | +- Screenshots or mockups (as links) |
| 48 | +- Constraints or out-of-scope items |
| 49 | +- Testing requirements |
| 50 | + |
| 51 | +### 3. Build Structured Description |
| 52 | + |
| 53 | +Format the description using this **agent-friendly template**: |
| 54 | + |
| 55 | +```markdown |
| 56 | +## Overview |
| 57 | +[One paragraph summary of what needs to be done and why] |
| 58 | + |
| 59 | +## User Story (for Stories) |
| 60 | +As a [type of user], I want [goal], so that [benefit]. |
| 61 | + |
| 62 | +## Acceptance Criteria |
| 63 | +- [ ] [Criterion 1] |
| 64 | +- [ ] [Criterion 2] |
| 65 | +- [ ] [Criterion 3] |
| 66 | + |
| 67 | +## Technical Context |
| 68 | +**Repo**: [repo name or URL] |
| 69 | +**Relevant Paths**: |
| 70 | +- `path/to/relevant/file.ts` |
| 71 | +- `path/to/another/area/` |
| 72 | + |
| 73 | +## Related Links |
| 74 | +- Design: [link if any] |
| 75 | +- Related Issues: [RHOAIENG-XXXX] |
| 76 | +- PR: [link if any] |
| 77 | + |
| 78 | +## Constraints |
| 79 | +- [What NOT to do] |
| 80 | +- [Boundaries to respect] |
| 81 | + |
| 82 | +## Testing Requirements |
| 83 | +- [ ] Unit tests for [X] |
| 84 | +- [ ] E2E test for [Y] |
| 85 | + |
| 86 | +## Bug Details (for Bugs only) |
| 87 | +**Steps to Reproduce**: |
| 88 | +1. Step 1 |
| 89 | +2. Step 2 |
| 90 | + |
| 91 | +**Expected**: [what should happen] |
| 92 | +**Actual**: [what actually happens] |
| 93 | +**Environment**: [browser/OS if relevant] |
| 94 | +``` |
| 95 | + |
| 96 | +### 4. Confirm Details |
| 97 | + |
| 98 | +Before creating the issue, confirm with the user: |
| 99 | + |
| 100 | +``` |
| 101 | +📋 About to create RHOAIENG Jira: |
| 102 | +
|
| 103 | +**Summary**: [extracted summary] |
| 104 | +**Type**: Story |
| 105 | +**Component**: Agentic |
| 106 | +**Team**: Ambient team |
| 107 | +
|
| 108 | +**Description Preview**: |
| 109 | +[Show first 500 chars of formatted description] |
| 110 | +
|
| 111 | +This description is structured for agent cold-start. Shall I create this issue? (yes/no/edit) |
| 112 | +``` |
| 113 | + |
| 114 | +### 5. Create the Jira Issue |
| 115 | + |
| 116 | +Use the `mcp_mcp-atlassian_jira_create_issue` tool with: |
| 117 | + |
| 118 | +```json |
| 119 | +{ |
| 120 | + "project_key": "RHOAIENG", |
| 121 | + "summary": "[user provided summary]", |
| 122 | + "issue_type": "Story", |
| 123 | + "description": "[structured description from template]", |
| 124 | + "components": "Agentic" |
| 125 | +} |
| 126 | +``` |
| 127 | + |
| 128 | +Then **update the issue** to set the Team field (must be done as a separate update call): |
| 129 | + |
| 130 | +```json |
| 131 | +{ |
| 132 | + "issue_key": "[CREATED_ISSUE_KEY]", |
| 133 | + "fields": { |
| 134 | + "customfield_12313240": "6290" |
| 135 | + } |
| 136 | +} |
| 137 | +``` |
| 138 | + |
| 139 | +### 6. Report Success |
| 140 | + |
| 141 | +After creation, report: |
| 142 | + |
| 143 | +``` |
| 144 | +✅ Created: [ISSUE_KEY] |
| 145 | +🔗 Link: https://issues.redhat.com/browse/[ISSUE_KEY] |
| 146 | +
|
| 147 | +Summary: [summary] |
| 148 | +Component: Agentic |
| 149 | +Team: Ambient team |
| 150 | +
|
| 151 | +📋 Agent Cold-Start Ready: Yes |
| 152 | +``` |
| 153 | + |
| 154 | +## Examples |
| 155 | + |
| 156 | +### Quick Story (will prompt for more context) |
| 157 | + |
| 158 | +``` |
| 159 | +/jira.log Add dark mode toggle to session viewer |
| 160 | +``` |
| 161 | + |
| 162 | +The command will then ask you for acceptance criteria, relevant files, etc. |
| 163 | + |
| 164 | +### Detailed Story (agent-ready) |
| 165 | + |
| 166 | +``` |
| 167 | +/jira.log Add dark mode toggle to session viewer |
| 168 | +
|
| 169 | +As a user, I want to toggle dark mode in the session viewer, so that I can reduce eye strain during long sessions. |
| 170 | +
|
| 171 | +Acceptance: |
| 172 | +- Toggle persists across sessions (localStorage) |
| 173 | +- Respects system preference by default |
| 174 | +- Smooth transition animation |
| 175 | +
|
| 176 | +Repo: vTeam |
| 177 | +Files: components/frontend/src/components/session-viewer/ |
| 178 | +Related: RHOAIENG-38000 (design system tokens) |
| 179 | +
|
| 180 | +Constraints: |
| 181 | +- Use existing Shadcn theme tokens, don't create new colours |
| 182 | +- Must work with existing syntax highlighting |
| 183 | +
|
| 184 | +Tests: |
| 185 | +- Unit test for toggle logic |
| 186 | +- E2E test for persistence |
| 187 | +``` |
| 188 | + |
| 189 | +### Bug Report |
| 190 | + |
| 191 | +``` |
| 192 | +/jira.log [Bug] Session list doesn't refresh after deletion |
| 193 | +
|
| 194 | +Steps: |
| 195 | +1. Create a session |
| 196 | +2. Delete the session via UI |
| 197 | +3. Observe the list |
| 198 | +
|
| 199 | +Expected: Session disappears from list |
| 200 | +Actual: Session remains until page refresh |
| 201 | +
|
| 202 | +Repo: vTeam |
| 203 | +Files: components/frontend/src/components/session-list/ |
| 204 | +Browser: Chrome 120, Firefox 121 |
| 205 | +
|
| 206 | +Fix should invalidate the React Query cache after mutation. |
| 207 | +``` |
| 208 | + |
| 209 | +### Tech Debt Task |
| 210 | + |
| 211 | +``` |
| 212 | +/jira.log [Task] Migrate session queries to use React Query v5 patterns |
| 213 | +
|
| 214 | +Current queries use deprecated `onSuccess` callbacks. |
| 215 | +Need to migrate to the new `select` and mutation patterns. |
| 216 | +
|
| 217 | +Repo: vTeam |
| 218 | +Files: |
| 219 | +- components/frontend/src/services/queries/sessions.ts |
| 220 | +- components/frontend/src/hooks/ |
| 221 | +
|
| 222 | +Constraints: |
| 223 | +- Don't change API contracts |
| 224 | +- Maintain backwards compatibility with existing components |
| 225 | +
|
| 226 | +Tests: |
| 227 | +- Existing tests should pass |
| 228 | +- Add test for cache invalidation edge case |
| 229 | +``` |
| 230 | + |
| 231 | +## Field Reference |
| 232 | + |
| 233 | +| Field | Value | Notes | |
| 234 | +|-------|-------|-------| |
| 235 | +| Project | RHOAIENG | Red Hat OpenShift AI Engineering | |
| 236 | +| Component | Agentic | Pre-filled | |
| 237 | +| Team | Ambient team | Custom field `customfield_12313240` = `6290` | |
| 238 | +| Issue Type | Story | Default, can override with [Bug], [Task] | |
| 239 | +| Priority | Normal | Default | |
| 240 | + |
| 241 | +## Agent Cold-Start Checklist |
| 242 | + |
| 243 | +For a Jira to be immediately actionable by an agent, ensure: |
| 244 | + |
| 245 | +| Element | Why It Matters | |
| 246 | +|---------|----------------| |
| 247 | +| **User Story** | Agent understands the "who" and "why" | |
| 248 | +| **Acceptance Criteria** | Clear definition of done, testable outcomes | |
| 249 | +| **Repo + File Paths** | Agent knows where to look/edit | |
| 250 | +| **Related Links** | Context from design docs, related PRs | |
| 251 | +| **Constraints** | Prevents agent from over-engineering or going off-piste | |
| 252 | +| **Testing Requirements** | Agent knows what coverage is expected | |
| 253 | +| **Bug Repro Steps** | Agent can verify the fix works | |
| 254 | + |
| 255 | +### What Makes a Good vs Bad Jira for Agents |
| 256 | + |
| 257 | +**❌ Bad (vague, agent will struggle):** |
| 258 | +> "Fix the login bug" |
| 259 | +
|
| 260 | +**✅ Good (agent can start immediately):** |
| 261 | +> "Fix login redirect loop on Safari" |
| 262 | +> |
| 263 | +> **Steps**: 1. Open Safari 2. Click Login 3. Observe infinite redirect |
| 264 | +> **Expected**: Redirect to dashboard |
| 265 | +> **Actual**: Loops back to login |
| 266 | +> **Repo**: vTeam |
| 267 | +> **Files**: `components/frontend/src/app/auth/callback/` |
| 268 | +> **Constraint**: Don't break Chrome/Firefox flows |
| 269 | +> **Test**: Add E2E test for Safari user-agent |
| 270 | +
|
| 271 | +## Context |
| 272 | + |
| 273 | +$ARGUMENTS |
0 commit comments