Skip to content

Commit 9b488aa

Browse files
Ambient Code Botclaude
andcommitted
fix: restore .claude/commands/jira.log.md, revert promotion to skill
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f824e2e commit 9b488aa

3 files changed

Lines changed: 292 additions & 180 deletions

File tree

.claude/commands/jira.log.md

Lines changed: 292 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,292 @@
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__jira__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+
"additional_fields": "{\"labels\": [\"team:ambient\"]}"
126+
}
127+
```
128+
129+
Then **update the issue** to set the Atlassian Team field (must be done as a separate update call — cannot be set on create):
130+
131+
```json
132+
{
133+
"issue_key": "[CREATED_ISSUE_KEY]",
134+
"fields": "{}",
135+
"additional_fields": "{\"customfield_10001\": \"ec74d716-af36-4b3c-950f-f79213d08f71-1917\"}"
136+
}
137+
```
138+
139+
Then **add to sprint** (sprint field `customfield_10020` is screen-restricted, use the sprint API instead):
140+
141+
```json
142+
mcp__jira__jira_add_issues_to_sprint({
143+
"sprint_id": "[ACTIVE_SPRINT_ID]",
144+
"issue_keys": "[CREATED_ISSUE_KEY]"
145+
})
146+
```
147+
148+
To find the active sprint ID, use:
149+
```json
150+
mcp__jira__jira_get_sprints_from_board({ "board_id": "1115", "state": "active" })
151+
```
152+
153+
### 6. Report Success
154+
155+
After creation, report:
156+
157+
```
158+
✅ Created: [ISSUE_KEY]
159+
🔗 Link: https://redhat.atlassian.net/browse/[ISSUE_KEY]
160+
161+
Summary: [summary]
162+
Component: Agentic
163+
Team: Ambient team
164+
Sprint: [sprint name]
165+
166+
📋 Agent Cold-Start Ready: Yes
167+
```
168+
169+
## Examples
170+
171+
### Quick Story (will prompt for more context)
172+
173+
```
174+
/jira.log Add dark mode toggle to session viewer
175+
```
176+
177+
The command will then ask you for acceptance criteria, relevant files, etc.
178+
179+
### Detailed Story (agent-ready)
180+
181+
```
182+
/jira.log Add dark mode toggle to session viewer
183+
184+
As a user, I want to toggle dark mode in the session viewer, so that I can reduce eye strain during long sessions.
185+
186+
Acceptance:
187+
- Toggle persists across sessions (localStorage)
188+
- Respects system preference by default
189+
- Smooth transition animation
190+
191+
Repo: vTeam
192+
Files: components/frontend/src/components/session-viewer/
193+
Related: RHOAIENG-38000 (design system tokens)
194+
195+
Constraints:
196+
- Use existing Shadcn theme tokens, don't create new colours
197+
- Must work with existing syntax highlighting
198+
199+
Tests:
200+
- Unit test for toggle logic
201+
- E2E test for persistence
202+
```
203+
204+
### Bug Report
205+
206+
```
207+
/jira.log [Bug] Session list doesn't refresh after deletion
208+
209+
Steps:
210+
1. Create a session
211+
2. Delete the session via UI
212+
3. Observe the list
213+
214+
Expected: Session disappears from list
215+
Actual: Session remains until page refresh
216+
217+
Repo: vTeam
218+
Files: components/frontend/src/components/session-list/
219+
Browser: Chrome 120, Firefox 121
220+
221+
Fix should invalidate the React Query cache after mutation.
222+
```
223+
224+
### Tech Debt Task
225+
226+
```
227+
/jira.log [Task] Migrate session queries to use React Query v5 patterns
228+
229+
Current queries use deprecated `onSuccess` callbacks.
230+
Need to migrate to the new `select` and mutation patterns.
231+
232+
Repo: vTeam
233+
Files:
234+
- components/frontend/src/services/queries/sessions.ts
235+
- components/frontend/src/hooks/
236+
237+
Constraints:
238+
- Don't change API contracts
239+
- Maintain backwards compatibility with existing components
240+
241+
Tests:
242+
- Existing tests should pass
243+
- Add test for cache invalidation edge case
244+
```
245+
246+
## Field Reference (Jira Cloud — redhat.atlassian.net)
247+
248+
| Field | Value | Notes |
249+
|-------|-------|-------|
250+
| Project | RHOAIENG | Red Hat OpenShift AI Engineering |
251+
| Component | Agentic | Pre-filled |
252+
| Team | Ambient team | `customfield_10001` = `ec74d716-af36-4b3c-950f-f79213d08f71-1917` (Atlassian Team type, set via update) |
253+
| Sprint | Active sprint | Use `jira_add_issues_to_sprint` with board `1115` |
254+
| Label | `team:ambient` | Set on create via `additional_fields` |
255+
| Issue Type | Story | Default, can override with [Bug], [Task] |
256+
| Priority | Normal | Default |
257+
| Browse URL | `https://redhat.atlassian.net/browse/` | NOT `issues.redhat.com` (that was on-prem) |
258+
| Board | `1115` (scrum) / `1109` (kanban) | "AI Driven Development" |
259+
260+
## Agent Cold-Start Checklist
261+
262+
For a Jira to be immediately actionable by an agent, ensure:
263+
264+
| Element | Why It Matters |
265+
|---------|----------------|
266+
| **User Story** | Agent understands the "who" and "why" |
267+
| **Acceptance Criteria** | Clear definition of done, testable outcomes |
268+
| **Repo + File Paths** | Agent knows where to look/edit |
269+
| **Related Links** | Context from design docs, related PRs |
270+
| **Constraints** | Prevents agent from over-engineering or going off-piste |
271+
| **Testing Requirements** | Agent knows what coverage is expected |
272+
| **Bug Repro Steps** | Agent can verify the fix works |
273+
274+
### What Makes a Good vs Bad Jira for Agents
275+
276+
**❌ Bad (vague, agent will struggle):**
277+
> "Fix the login bug"
278+
279+
**✅ Good (agent can start immediately):**
280+
> "Fix login redirect loop on Safari"
281+
>
282+
> **Steps**: 1. Open Safari 2. Click Login 3. Observe infinite redirect
283+
> **Expected**: Redirect to dashboard
284+
> **Actual**: Loops back to login
285+
> **Repo**: vTeam
286+
> **Files**: `components/frontend/src/app/auth/callback/`
287+
> **Constraint**: Don't break Chrome/Firefox flows
288+
> **Test**: Add E2E test for Safari user-agent
289+
290+
## Context
291+
292+
$ARGUMENTS

0 commit comments

Comments
 (0)