@groupby/ai-dev 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dist/index.js +260 -21
- package/package.json +15 -10
- package/toolsets/rzlv-flow/README.md +57 -0
- package/toolsets/rzlv-flow/docs/mcp-setup.md +126 -0
- package/toolsets/rzlv-flow/resources/README.md +16 -0
- package/toolsets/rzlv-flow/resources/confluence-file-structure.md +179 -0
- package/toolsets/rzlv-flow/resources/confluence-page-templates/README.md +19 -0
- package/toolsets/rzlv-flow/resources/confluence-page-templates/decisions.md +36 -0
- package/toolsets/rzlv-flow/resources/confluence-page-templates/initiative-overview.md +40 -0
- package/toolsets/rzlv-flow/resources/confluence-page-templates/strategic-context.md +44 -0
- package/toolsets/rzlv-flow/resources/confluence-page-templates/technical-architecture.md +48 -0
- package/toolsets/rzlv-flow/resources/fcmp-protocol.md +331 -0
- package/toolsets/rzlv-flow/resources/jira-file-structure.md +177 -0
- package/toolsets/rzlv-flow/resources/sync-state-format.md +209 -0
- package/toolsets/rzlv-flow/skills/atlassian-orchestrator/SKILL.md +643 -0
- package/toolsets/rzlv-flow/skills/context-analyst/SKILL.md +265 -0
- package/toolsets/rzlv-flow/skills/jira-comment/SKILL.md +89 -0
- package/toolsets/rzlv-flow/skills/jira-daily-triage/SKILL.md +135 -0
- package/toolsets/rzlv-flow/skills/jira-sprint-status/SKILL.md +116 -0
- package/toolsets/rzlv-flow/skills/jira-status/SKILL.md +97 -0
- package/toolsets/rzlv-flow/skills/jira-sync/SKILL.md +148 -0
- package/toolsets/rzlv-flow/skills/jira-ticket-focus/SKILL.md +240 -0
- package/toolsets/rzlv-flow/skills/jira-ticket-trace/SKILL.md +112 -0
- package/toolsets/rzlv-flow/skills/jira-wrap-sync/SKILL.md +227 -0
- package/toolsets/toolsets/rzlv-flow/README.md +102 -0
- package/toolsets/toolsets/rzlv-flow/docs/getting-started.md +102 -0
- package/toolsets/toolsets/rzlv-flow/docs/mcp-setup.md +126 -0
- package/toolsets/toolsets/rzlv-flow/resources/README.md +16 -0
- package/toolsets/toolsets/rzlv-flow/resources/confluence-file-structure.md +285 -0
- package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/README.md +19 -0
- package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/decisions.md +36 -0
- package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/initiative-overview.md +40 -0
- package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/strategic-context.md +44 -0
- package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/technical-architecture.md +48 -0
- package/toolsets/toolsets/rzlv-flow/resources/fcmp-protocol.md +331 -0
- package/toolsets/toolsets/rzlv-flow/resources/jira-file-structure.md +177 -0
- package/toolsets/toolsets/rzlv-flow/resources/sync-state-format.md +318 -0
- package/toolsets/toolsets/rzlv-flow/skills/atlassian-orchestrator/SKILL.md +643 -0
- package/toolsets/toolsets/rzlv-flow/skills/confluence-fetch/SKILL.md +189 -0
- package/toolsets/toolsets/rzlv-flow/skills/confluence-publish/SKILL.md +178 -0
- package/toolsets/toolsets/rzlv-flow/skills/context-analyst/SKILL.md +265 -0
- package/toolsets/toolsets/rzlv-flow/skills/jira-comment/SKILL.md +89 -0
- package/toolsets/toolsets/rzlv-flow/skills/jira-daily-triage/SKILL.md +143 -0
- package/toolsets/toolsets/rzlv-flow/skills/jira-sprint-status/SKILL.md +143 -0
- package/toolsets/toolsets/rzlv-flow/skills/jira-status/SKILL.md +97 -0
- package/toolsets/toolsets/rzlv-flow/skills/jira-sync/SKILL.md +148 -0
- package/toolsets/toolsets/rzlv-flow/skills/jira-ticket-focus/SKILL.md +245 -0
- package/toolsets/toolsets/rzlv-flow/skills/jira-ticket-trace/SKILL.md +112 -0
- package/toolsets/toolsets/rzlv-flow/skills/jira-wrap-sync/SKILL.md +260 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jira-wrap-sync
|
|
3
|
+
description: Wrap up your current work on a Jira ticket. Analyzes local ticket changes and code changes (git diff), drafts a comprehensive Jira comment, runs FCMP sync, and presents multi-select actions (sync fields, add comment, transition status, create PR, update Confluence). Use when you're done working on a ticket or want to sync progress.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Wrap up work on the currently focused Jira ticket. Detects what changed (ticket fields and code), drafts a Jira comment summarizing progress, runs the FCMP protocol before syncing, and presents a multi-select action menu so you can sync fields, comment, transition status, and create a PR in one pass.
|
|
7
|
+
|
|
8
|
+
## Requirements
|
|
9
|
+
|
|
10
|
+
Requires: Atlassian MCP (`atlassian-rovo`). See the rzlv-flow toolset README for setup.
|
|
11
|
+
Optional: GitHub MCP for Pull Request creation (action 4).
|
|
12
|
+
|
|
13
|
+
## Resources to Load
|
|
14
|
+
|
|
15
|
+
Before executing, read these resource files:
|
|
16
|
+
|
|
17
|
+
- `docs/ai/resources/fcmp-protocol.md` — **critical** for the sync protocol before any Jira writes
|
|
18
|
+
- `docs/ai/resources/sync-state-format.md` — YAML frontmatter schema for reading/updating ticket files
|
|
19
|
+
|
|
20
|
+
## Process
|
|
21
|
+
|
|
22
|
+
### Step 1: Identify the Ticket
|
|
23
|
+
|
|
24
|
+
- Use `focused_ticket` from conversation context (set by `jira-ticket-focus`).
|
|
25
|
+
- If not available, ask the user for the ticket key.
|
|
26
|
+
- Locate the local ticket file at the path stored in `focused_ticket_path`, or find it using the `jira-file-structure.md` rules.
|
|
27
|
+
|
|
28
|
+
### Step 2: Analyze All Changes
|
|
29
|
+
|
|
30
|
+
**a) Local ticket file changes:**
|
|
31
|
+
- Read the current `{TICKET-KEY}.md` file.
|
|
32
|
+
- Compare the content against the last synced state stored in the `sync` frontmatter fields.
|
|
33
|
+
- Detect changes to: description, story points, acceptance criteria, labels, priority.
|
|
34
|
+
- Note which fields were modified locally.
|
|
35
|
+
|
|
36
|
+
**b) Code changes:**
|
|
37
|
+
- Run `git diff --stat` for an overview of changes.
|
|
38
|
+
- Run `git diff` (or `git diff --staged` if changes are staged) for details.
|
|
39
|
+
- Check recent commits on the working branch: `git log --oneline -10`.
|
|
40
|
+
- Map code changes to acceptance criteria where possible.
|
|
41
|
+
- Summarize: files changed, insertions, deletions.
|
|
42
|
+
|
|
43
|
+
### Step 3: Draft Jira Comment
|
|
44
|
+
|
|
45
|
+
Build a comprehensive comment covering both ticket updates and code progress:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
**Work Update:**
|
|
49
|
+
|
|
50
|
+
{IF TICKET FIELD CHANGES:}
|
|
51
|
+
**Ticket Updates:**
|
|
52
|
+
- {field change 1}
|
|
53
|
+
- {field change 2}
|
|
54
|
+
|
|
55
|
+
{IF CODE CHANGES:}
|
|
56
|
+
**Implementation Progress:**
|
|
57
|
+
- {code change summary line 1}
|
|
58
|
+
- {code change summary line 2}
|
|
59
|
+
|
|
60
|
+
**Files Modified:**
|
|
61
|
+
- {file1}: {brief description}
|
|
62
|
+
- {file2}: {brief description}
|
|
63
|
+
|
|
64
|
+
**AC Completed:** {X}/{Y}
|
|
65
|
+
**Remaining:** {what's left}
|
|
66
|
+
|
|
67
|
+
**Next Steps:** {suggested next action}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Step 4: FCMP Protocol (Before Any Sync)
|
|
71
|
+
|
|
72
|
+
Before executing any write operations, run the full FCMP cycle:
|
|
73
|
+
|
|
74
|
+
1. **FETCH** — Get the current ticket state from Jira via MCP.
|
|
75
|
+
2. **COMPARE** — Check for remote changes since last sync (compare `sync.version` and `sync.remote_updated`).
|
|
76
|
+
3. **MERGE** — If conflicts detected, show a diff of remote changes vs local changes and resolve with the user.
|
|
77
|
+
4. Show the diff to the user and warn if conflicts exist.
|
|
78
|
+
|
|
79
|
+
Only proceed to the action menu after the FCMP cycle completes.
|
|
80
|
+
|
|
81
|
+
### Step 5: Present Multi-Select Action Menu
|
|
82
|
+
|
|
83
|
+
Present all detected changes, the draft comment, and a multi-select numbered menu. The user picks multiple actions via comma-separated numbers.
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
### Available Actions (Multi-Select)
|
|
87
|
+
|
|
88
|
+
{IF TICKET FIELD CHANGES DETECTED:}
|
|
89
|
+
1. Sync ticket fields to Jira (description, points, AC)
|
|
90
|
+
|
|
91
|
+
{IF CODE CHANGES OR TICKET CHANGES:}
|
|
92
|
+
2. Add comment to Jira (with the draft summary above)
|
|
93
|
+
|
|
94
|
+
3. Transition status (you'll specify the target status)
|
|
95
|
+
|
|
96
|
+
{IF CODE CHANGES AND COMMITS EXIST:}
|
|
97
|
+
4. Create Pull Request (via GitHub MCP)
|
|
98
|
+
|
|
99
|
+
{IF SIGNIFICANT CHANGES:}
|
|
100
|
+
5. Update Confluence technical docs
|
|
101
|
+
|
|
102
|
+
6. Cancel (do nothing)
|
|
103
|
+
|
|
104
|
+
**Choose actions (comma-separated):** [1,2,3,4]
|
|
105
|
+
|
|
106
|
+
Examples:
|
|
107
|
+
- "1,2,3,4" = Sync ticket + comment + transition + create PR
|
|
108
|
+
- "2,3" = Comment + transition only
|
|
109
|
+
- "6" = Cancel all actions
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Step 6: Execute Selected Actions
|
|
113
|
+
|
|
114
|
+
Parse the comma-separated input. Execute each selected action in order:
|
|
115
|
+
|
|
116
|
+
**Action 1 — Sync ticket fields:**
|
|
117
|
+
- Update description, story points, AC, and any other changed fields via MCP.
|
|
118
|
+
- Include the `version` field for optimistic locking per FCMP.
|
|
119
|
+
- On 409 conflict, re-run FCMP from Fetch.
|
|
120
|
+
|
|
121
|
+
**Action 2 — Add comment:**
|
|
122
|
+
- Push the draft comment via MCP.
|
|
123
|
+
- For detailed comment procedures, see the `jira-comment` skill.
|
|
124
|
+
|
|
125
|
+
**Action 3 — Transition status:**
|
|
126
|
+
- Fetch available transitions via MCP.
|
|
127
|
+
- Present as a numbered list for the user to select target status.
|
|
128
|
+
- Execute the transition via MCP.
|
|
129
|
+
- For detailed transition procedures, see the `jira-status` skill.
|
|
130
|
+
|
|
131
|
+
**Action 4 — Create Pull Request (via GitHub MCP):**
|
|
132
|
+
1. Check for unpushed commits: `git log origin/{branch}..HEAD`
|
|
133
|
+
2. If unpushed commits exist, ask: "Push commits first? (y/n)"
|
|
134
|
+
3. If yes: `git push origin {branch}`
|
|
135
|
+
4. Detect base branch (check git config or default to `main`).
|
|
136
|
+
5. Build PR details:
|
|
137
|
+
- **Title:** `{TICKET-KEY}: {ticket summary}`
|
|
138
|
+
- **Body:**
|
|
139
|
+
```
|
|
140
|
+
## {TICKET-KEY}: {Ticket Summary}
|
|
141
|
+
|
|
142
|
+
**Jira:** https://{instance}/browse/{TICKET-KEY}
|
|
143
|
+
{IF CONFLUENCE DOCS:}
|
|
144
|
+
**Confluence:** {confluence_link}
|
|
145
|
+
|
|
146
|
+
### Changes
|
|
147
|
+
{ticket updates + code changes from the draft comment}
|
|
148
|
+
|
|
149
|
+
### Acceptance Criteria
|
|
150
|
+
- [x] {completed criterion}
|
|
151
|
+
- [ ] {remaining criterion}
|
|
152
|
+
|
|
153
|
+
### Testing Notes
|
|
154
|
+
{Any notes from _work/ folder if they exist}
|
|
155
|
+
```
|
|
156
|
+
6. Create PR via GitHub MCP: `create_pull_request()`
|
|
157
|
+
7. Return and display the PR URL.
|
|
158
|
+
|
|
159
|
+
**Action 5 — Update Confluence:**
|
|
160
|
+
- Prompt the user for what to update and where.
|
|
161
|
+
- Follow FCMP protocol for the Confluence update.
|
|
162
|
+
|
|
163
|
+
**Action 6 — Cancel:**
|
|
164
|
+
- Exit without performing any actions. Ignore all other selections if "6" is included.
|
|
165
|
+
|
|
166
|
+
### Step 7: Post-Execution
|
|
167
|
+
|
|
168
|
+
After all selected MCP operations:
|
|
169
|
+
|
|
170
|
+
1. **FETCH** the final ticket state from Jira.
|
|
171
|
+
2. Update the local `{TICKET-KEY}.md` with the new sync state (version, last_synced, status).
|
|
172
|
+
3. Confirm what was completed:
|
|
173
|
+
- List each action and its result.
|
|
174
|
+
- If a PR was created, display the PR URL.
|
|
175
|
+
- Suggest a next action if remaining work exists.
|
|
176
|
+
|
|
177
|
+
### Error Handling
|
|
178
|
+
|
|
179
|
+
- If any MCP operation fails, report which step failed and continue with remaining operations.
|
|
180
|
+
- If the GitHub MCP is not configured, skip PR creation with a warning: "GitHub MCP not configured. Skipping PR creation."
|
|
181
|
+
- On optimistic locking conflicts (409), re-run FCMP from Fetch and retry.
|
|
182
|
+
|
|
183
|
+
## Output Format
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
## 🎬 Wrap Up: {TICKET-KEY}
|
|
187
|
+
|
|
188
|
+
### Local Ticket Changes Detected
|
|
189
|
+
{IF FIELD CHANGES:}
|
|
190
|
+
- **Description:** {change summary or "No changes"}
|
|
191
|
+
- **Story Points:** {old} → {new} (or "No change")
|
|
192
|
+
- **Acceptance Criteria:** {added/removed items} (or "No changes")
|
|
193
|
+
|
|
194
|
+
{IF NO CHANGES:}
|
|
195
|
+
_(No local ticket changes detected)_
|
|
196
|
+
|
|
197
|
+
### Code Changes Detected
|
|
198
|
+
{IF GIT DIFF:}
|
|
199
|
+
{n} files changed, {lines added} insertions(+), {lines deleted} deletions(-)
|
|
200
|
+
|
|
201
|
+
Modified files:
|
|
202
|
+
- {file1}
|
|
203
|
+
- {file2}
|
|
204
|
+
|
|
205
|
+
{IF NO CHANGES:}
|
|
206
|
+
_(No code changes detected)_
|
|
207
|
+
|
|
208
|
+
### Acceptance Criteria Status
|
|
209
|
+
- [x] {Completed criterion}
|
|
210
|
+
- [ ] {Remaining criterion}
|
|
211
|
+
|
|
212
|
+
**Progress:** {X}/{Y} completed
|
|
213
|
+
|
|
214
|
+
### Draft Comment for Jira
|
|
215
|
+
{The full draft comment from Step 3}
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
### Available Actions (Multi-Select)
|
|
220
|
+
{Numbered action list from Step 5}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Session Context
|
|
224
|
+
|
|
225
|
+
After running, update conversational context:
|
|
226
|
+
- **last_wrap_actions** — Which actions were executed
|
|
227
|
+
- **pr_url** — The PR URL if one was created
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# rzlv-flow: Atlassian Intelligence Skills
|
|
2
|
+
|
|
3
|
+
A toolset of modular, composable skills for Jira and Confluence developer workflows. Covers daily triage, ticket focus, wrap/sync, sprint status, context loading, and more — all without requiring the full BMAD Method or the rzlv-flow monolith.
|
|
4
|
+
|
|
5
|
+
Each skill is standalone and can be installed individually or as a complete suite.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# 1. Install all skills + resources
|
|
11
|
+
npx @groupby/ai-dev install toolset rzlv-flow
|
|
12
|
+
|
|
13
|
+
# 2. Configure Atlassian MCP (see docs/mcp-setup.md)
|
|
14
|
+
# Add atlassian-rovo config to .vscode/mcp.json
|
|
15
|
+
|
|
16
|
+
# 3. Use — ask your AI assistant:
|
|
17
|
+
# "Start my day" → daily triage
|
|
18
|
+
# "Focus on PROJ-123" → ticket deep-dive
|
|
19
|
+
# "Wrap up PROJ-123" → wrap & sync
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
See [docs/getting-started.md](docs/getting-started.md) for a full walkthrough.
|
|
23
|
+
|
|
24
|
+
## Skills
|
|
25
|
+
|
|
26
|
+
| Skill | Description | Status |
|
|
27
|
+
|-------|-------------|--------|
|
|
28
|
+
| `jira-daily-triage` | Start-of-day ticket triage with sprint detection | Complete |
|
|
29
|
+
| `jira-ticket-focus` | Deep-load a ticket with full context | Complete |
|
|
30
|
+
| `jira-wrap-sync` | Wrap up work, draft comment, multi-action sync | Complete |
|
|
31
|
+
| `jira-ticket-trace` | Trace code back to Jira requirements | Complete |
|
|
32
|
+
| `jira-comment` | Add a comment to a Jira ticket with FCMP safety | Complete |
|
|
33
|
+
| `jira-status` | Change ticket status with transition validation | Complete |
|
|
34
|
+
| `jira-sprint-status` | Sprint status report with completion metrics | Complete |
|
|
35
|
+
| `jira-sync` | Force-sync local Jira context with remote state | Complete |
|
|
36
|
+
| `atlassian-orchestrator` | Pull surrounding ticket context and create structures | Complete |
|
|
37
|
+
| `context-analyst` | Transform meeting transcripts into structured docs | Complete |
|
|
38
|
+
| `confluence-publish` | Publish local markdown to Confluence with Leaf Bundle mirrors | Complete |
|
|
39
|
+
| `confluence-fetch` | Pull a Confluence page into a local markdown mirror | Complete |
|
|
40
|
+
|
|
41
|
+
> **Note:** `confluence-publish` provides lightweight ad-hoc publishing to Confluence. For bulk structured sync of `_docs/` folders following epic hierarchy, use `atlassian-orchestrator` Mode 3 instead.
|
|
42
|
+
|
|
43
|
+
## Prerequisites
|
|
44
|
+
|
|
45
|
+
### Required: Atlassian MCP (`atlassian-rovo`)
|
|
46
|
+
|
|
47
|
+
All Jira and Confluence skills require the Atlassian MCP server for API access to your Atlassian instance.
|
|
48
|
+
|
|
49
|
+
### Optional: GitHub MCP
|
|
50
|
+
|
|
51
|
+
Only needed for PR creation features in `jira-wrap-sync`. Not required for any other skills.
|
|
52
|
+
|
|
53
|
+
See [docs/mcp-setup.md](docs/mcp-setup.md) for detailed setup instructions.
|
|
54
|
+
|
|
55
|
+
## Installation
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npx @groupby/ai-dev install toolset rzlv-flow # All skills + resources
|
|
59
|
+
npx @groupby/ai-dev install skill jira-daily-triage # Individual skill
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Common options:
|
|
63
|
+
|
|
64
|
+
| Flag | Description |
|
|
65
|
+
|------|-------------|
|
|
66
|
+
| `--target <dir>` | Install into a specific directory (defaults to cwd) |
|
|
67
|
+
| `--dry-run` | Preview what would be installed without writing files |
|
|
68
|
+
| `--force` | Overwrite existing files without prompting |
|
|
69
|
+
| `--skip-existing` | Skip files that already exist |
|
|
70
|
+
|
|
71
|
+
You can also copy skills manually from this repository into `docs/ai/skills/` and resources into `docs/ai/resources/`.
|
|
72
|
+
|
|
73
|
+
## BMAD Compatibility
|
|
74
|
+
|
|
75
|
+
These skills are compatible with BMAD's Jira file structure (`docs/jira/{instance}/{project}/...`) but do **not** require BMAD. They were originally developed as part of the BMAD "Atlassian Intelligence Suite" and have been extracted as standalone skills. If BMAD is installed in your project, these skills coexist without conflict.
|
|
76
|
+
|
|
77
|
+
## Shared Resources
|
|
78
|
+
|
|
79
|
+
Skills reference shared resource files installed to `docs/ai/resources/` in your project:
|
|
80
|
+
|
|
81
|
+
| Resource | Description |
|
|
82
|
+
|----------|-------------|
|
|
83
|
+
| `fcmp-protocol.md` | Fetch-Compare-Merge-Push sync pattern for safe Atlassian read/write |
|
|
84
|
+
| `jira-file-structure.md` | Standard directory layout for local Jira mirrors |
|
|
85
|
+
| `confluence-file-structure.md` | Leaf Bundle pattern for Confluence page mirrors |
|
|
86
|
+
| `sync-state-format.md` | YAML frontmatter schema for ticket and page files |
|
|
87
|
+
| `confluence-page-templates/` | Starter scaffolds for Confluence pages (initiative overview, strategic context, technical architecture, decisions) |
|
|
88
|
+
|
|
89
|
+
## MCP Setup Automation
|
|
90
|
+
|
|
91
|
+
MCP server configuration is currently manual — see [docs/mcp-setup.md](docs/mcp-setup.md) for step-by-step instructions (~5 minutes). Automated MCP configuration via the CLI is a future enhancement.
|
|
92
|
+
|
|
93
|
+
## Documentation
|
|
94
|
+
|
|
95
|
+
| Doc | Description |
|
|
96
|
+
|-----|-------------|
|
|
97
|
+
| [docs/getting-started.md](docs/getting-started.md) | Quick walkthrough: install → configure → use |
|
|
98
|
+
| [docs/mcp-setup.md](docs/mcp-setup.md) | Atlassian and GitHub MCP server configuration |
|
|
99
|
+
|
|
100
|
+
## Contributing
|
|
101
|
+
|
|
102
|
+
See the [architecture documentation](../../docs/architecture/README.md) for repo structure, skill authoring guides, and conventions.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Getting Started with rzlv-flow
|
|
2
|
+
|
|
3
|
+
A quick walkthrough to go from zero to running your first Jira skill.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Install the toolset
|
|
8
|
+
|
|
9
|
+
From your project root:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx @groupby/ai-dev install toolset rzlv-flow
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
This installs all 12 skills into `docs/ai/skills/` and shared resources into `docs/ai/resources/`. It also creates stub `SKILL.md` files in your detected LLM client directories (`.github/skills/`, `.claude/skills/`, etc.).
|
|
16
|
+
|
|
17
|
+
To install a single skill instead:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx @groupby/ai-dev install skill jira-daily-triage
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Individual skill installs also pull in the shared resources automatically.
|
|
24
|
+
|
|
25
|
+
## 2. Configure the Atlassian MCP server
|
|
26
|
+
|
|
27
|
+
All Jira and Confluence skills require the Atlassian MCP (`atlassian-rovo`) server for API access.
|
|
28
|
+
|
|
29
|
+
Add the following to `.vscode/mcp.json` in your project (create the file if needed):
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"servers": {
|
|
34
|
+
"atlassian-rovo": {
|
|
35
|
+
"command": "npx",
|
|
36
|
+
"args": ["-y", "@anthropic/atlassian-rovo-mcp"],
|
|
37
|
+
"env": {
|
|
38
|
+
"ATLASSIAN_SITE": "your-company.atlassian.net",
|
|
39
|
+
"ATLASSIAN_EMAIL": "you@company.com",
|
|
40
|
+
"ATLASSIAN_API_TOKEN": "${input:atlassianApiToken}"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"inputs": [
|
|
45
|
+
{
|
|
46
|
+
"type": "promptString",
|
|
47
|
+
"id": "atlassianApiToken",
|
|
48
|
+
"description": "Atlassian API Token",
|
|
49
|
+
"password": true
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Generate an API token at [id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens).
|
|
56
|
+
|
|
57
|
+
See [mcp-setup.md](mcp-setup.md) for the full setup guide including GitHub MCP and troubleshooting.
|
|
58
|
+
|
|
59
|
+
## 3. Verify the connection
|
|
60
|
+
|
|
61
|
+
Ask your AI assistant:
|
|
62
|
+
|
|
63
|
+
> "Search Jira for my open tickets"
|
|
64
|
+
|
|
65
|
+
If the MCP server is configured correctly, it will call the Atlassian MCP and return your tickets.
|
|
66
|
+
|
|
67
|
+
## 4. Start using skills
|
|
68
|
+
|
|
69
|
+
### Daily triage — start your day
|
|
70
|
+
|
|
71
|
+
> "Start my day" or "Run daily triage"
|
|
72
|
+
|
|
73
|
+
The `jira-daily-triage` skill detects your active sprint, triages tickets by priority, and gives you a focused plan.
|
|
74
|
+
|
|
75
|
+
### Ticket focus — deep-dive into a ticket
|
|
76
|
+
|
|
77
|
+
> "Focus on PROJ-123"
|
|
78
|
+
|
|
79
|
+
The `jira-ticket-focus` skill loads a ticket with full context: description, acceptance criteria, subtasks, linked issues, and comments.
|
|
80
|
+
|
|
81
|
+
### Wrap up work
|
|
82
|
+
|
|
83
|
+
> "Wrap up my work on PROJ-123"
|
|
84
|
+
|
|
85
|
+
The `jira-wrap-sync` skill drafts a comment, updates status, and optionally creates a PR.
|
|
86
|
+
|
|
87
|
+
## Skill reference
|
|
88
|
+
|
|
89
|
+
| Skill | Trigger | What it does |
|
|
90
|
+
|-------|---------|--------------|
|
|
91
|
+
| `jira-daily-triage` | "Start my day" | Sprint-aware ticket triage and prioritization |
|
|
92
|
+
| `jira-ticket-focus` | "Focus on PROJ-123" | Deep-load ticket with full context |
|
|
93
|
+
| `jira-wrap-sync` | "Wrap up PROJ-123" | Draft comment, update status, sync state |
|
|
94
|
+
| `jira-ticket-trace` | "Trace this code to Jira" | Map code changes back to requirements |
|
|
95
|
+
| `jira-comment` | "Comment on PROJ-123" | Add/update comments with FCMP safety |
|
|
96
|
+
| `jira-status` | "Move PROJ-123 to In Review" | Change status with transition validation |
|
|
97
|
+
| `jira-sprint-status` | "Sprint status report" | Sprint progress, burndown, completion metrics |
|
|
98
|
+
| `jira-sync` | "Sync Jira context" | Force-refresh local Jira mirror |
|
|
99
|
+
| `atlassian-orchestrator` | "Set up context for PROJ-123" | Create local structures from Jira/Confluence |
|
|
100
|
+
| `context-analyst` | "Process this meeting transcript" | Transform transcripts into structured docs |
|
|
101
|
+
| `confluence-publish` | "Publish to Confluence" | Push local markdown to Confluence pages |
|
|
102
|
+
| `confluence-fetch` | "Fetch Confluence page" | Pull a Confluence page into local mirror |
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# MCP Server Setup Guide
|
|
2
|
+
|
|
3
|
+
This guide covers configuring the MCP servers required by rzlv-flow skills.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Atlassian MCP (`atlassian-rovo`) — Required
|
|
8
|
+
|
|
9
|
+
All Jira and Confluence skills depend on the Atlassian MCP server for API access.
|
|
10
|
+
|
|
11
|
+
### VS Code Configuration
|
|
12
|
+
|
|
13
|
+
Add the following to your `.vscode/mcp.json` (create the file if it doesn't exist):
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"servers": {
|
|
18
|
+
"atlassian-rovo": {
|
|
19
|
+
"command": "npx",
|
|
20
|
+
"args": ["-y", "@anthropic/atlassian-rovo-mcp"],
|
|
21
|
+
"env": {
|
|
22
|
+
"ATLASSIAN_SITE": "your-company.atlassian.net",
|
|
23
|
+
"ATLASSIAN_EMAIL": "you@company.com",
|
|
24
|
+
"ATLASSIAN_API_TOKEN": "${input:atlassianApiToken}"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"inputs": [
|
|
29
|
+
{
|
|
30
|
+
"type": "promptString",
|
|
31
|
+
"id": "atlassianApiToken",
|
|
32
|
+
"description": "Atlassian API Token",
|
|
33
|
+
"password": true
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Generating an API Token
|
|
40
|
+
|
|
41
|
+
1. Go to [https://id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens)
|
|
42
|
+
2. Click **Create API token**
|
|
43
|
+
3. Give it a label (e.g. "VS Code MCP")
|
|
44
|
+
4. Copy the generated token — you won't see it again
|
|
45
|
+
|
|
46
|
+
### Verifying the Connection
|
|
47
|
+
|
|
48
|
+
After configuring, ask the LLM to run a simple query:
|
|
49
|
+
|
|
50
|
+
> "Search Jira for my open tickets using the Atlassian MCP"
|
|
51
|
+
|
|
52
|
+
If the MCP server is configured correctly, it will call `mcp_atlassian-rovo_search` and return results. If you get an authentication error, double-check your site URL, email, and API token.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## GitHub MCP — Optional
|
|
57
|
+
|
|
58
|
+
Only needed for PR creation features in the `jira-wrap-sync` skill. All other skills work without it.
|
|
59
|
+
|
|
60
|
+
### VS Code Configuration
|
|
61
|
+
|
|
62
|
+
Add to your `.vscode/mcp.json`:
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"servers": {
|
|
67
|
+
"github": {
|
|
68
|
+
"command": "npx",
|
|
69
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
70
|
+
"env": {
|
|
71
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:githubPat}"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"inputs": [
|
|
76
|
+
{
|
|
77
|
+
"type": "promptString",
|
|
78
|
+
"id": "githubPat",
|
|
79
|
+
"description": "GitHub Personal Access Token",
|
|
80
|
+
"password": true
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### PAT Token Requirements
|
|
87
|
+
|
|
88
|
+
Create a fine-grained personal access token at [https://github.com/settings/tokens?type=beta](https://github.com/settings/tokens?type=beta) with the following scopes:
|
|
89
|
+
|
|
90
|
+
- **Repository access:** Select the repos you work with
|
|
91
|
+
- **Permissions:**
|
|
92
|
+
- Contents: Read and write
|
|
93
|
+
- Pull requests: Read and write
|
|
94
|
+
- Metadata: Read-only
|
|
95
|
+
|
|
96
|
+
### When It's Needed
|
|
97
|
+
|
|
98
|
+
Only `jira-wrap-sync` uses the GitHub MCP — specifically when creating a pull request as part of the wrap-up workflow. If you don't use that feature, you can skip this setup entirely.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Troubleshooting
|
|
103
|
+
|
|
104
|
+
### MCP server not starting
|
|
105
|
+
|
|
106
|
+
- Ensure `npx` is available in your PATH. Run `npx --version` in your terminal.
|
|
107
|
+
- Check the VS Code Output panel (View → Output → select "MCP" from the dropdown) for error messages.
|
|
108
|
+
- Try running the `npx` command manually in a terminal to see if it installs and starts correctly.
|
|
109
|
+
|
|
110
|
+
### Authentication failures (401)
|
|
111
|
+
|
|
112
|
+
- **Atlassian:** Verify your site URL includes `.atlassian.net` (not the full `https://` URL). Confirm your email matches your Atlassian account. Regenerate the API token if needed.
|
|
113
|
+
- **GitHub:** Confirm the PAT hasn't expired. Check that it has the required scopes.
|
|
114
|
+
|
|
115
|
+
### Wrong Atlassian instance
|
|
116
|
+
|
|
117
|
+
- `ATLASSIAN_SITE` should be just the domain, e.g. `your-company.atlassian.net` — not a full URL like `https://your-company.atlassian.net/jira`.
|
|
118
|
+
|
|
119
|
+
### Rate limiting
|
|
120
|
+
|
|
121
|
+
- Atlassian APIs have rate limits. If you see 429 errors, the skills will back off automatically per the FCMP protocol. Avoid running multiple sync operations in rapid succession.
|
|
122
|
+
|
|
123
|
+
### MCP calls return empty results
|
|
124
|
+
|
|
125
|
+
- Confirm you have permission to access the Jira project or Confluence space you're querying.
|
|
126
|
+
- Check that the project key or space key is correct.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# rzlv-flow Shared Resources
|
|
2
|
+
|
|
3
|
+
Resources are shared reference material installed alongside skills. They contain protocol definitions, file structure conventions, and schema specifications that multiple skills depend on.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
When installed via the CLI, resources are placed in `docs/ai/resources/` in the target project. Skills reference them via relative paths and may ask the LLM to load them at the start of a workflow.
|
|
8
|
+
|
|
9
|
+
## Resource Files
|
|
10
|
+
|
|
11
|
+
| File | Description |
|
|
12
|
+
|------|-------------|
|
|
13
|
+
| `fcmp-protocol.md` | Fetch-Compare-Merge-Push sync pattern — the core protocol for safe Atlassian read/write operations |
|
|
14
|
+
| `jira-file-structure.md` | Standard directory layout for local Jira mirrors (`docs/jira/{instance}/{project}/...`) |
|
|
15
|
+
| `confluence-file-structure.md` | Directory layout for local Confluence page mirrors with structured and flexible modes |
|
|
16
|
+
| `sync-state-format.md` | YAML frontmatter schema for Jira ticket and Confluence page files |
|