@groupby/ai-dev 0.2.1 → 0.3.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.
Files changed (45) hide show
  1. package/README.md +3 -1
  2. package/dist/index.js +86 -19
  3. package/package.json +4 -4
  4. package/skills/library/implementation-plan/README.md +19 -0
  5. package/skills/library/implementation-plan/SKILL.md +337 -0
  6. package/skills/library/jira-plan/README.md +17 -0
  7. package/skills/library/jira-plan/SKILL.md +163 -0
  8. package/toolsets/rzlv-flow/README.md +54 -9
  9. package/toolsets/rzlv-flow/resources/confluence-file-structure.md +129 -23
  10. package/toolsets/rzlv-flow/resources/sync-state-format.md +109 -0
  11. package/toolsets/rzlv-flow/skills/jira-daily-triage/SKILL.md +13 -5
  12. package/toolsets/rzlv-flow/skills/jira-sprint-status/SKILL.md +28 -1
  13. package/toolsets/rzlv-flow/skills/jira-ticket-focus/SKILL.md +6 -1
  14. package/toolsets/rzlv-flow/skills/jira-wrap-sync/SKILL.md +41 -8
  15. package/skills/skills/README.md +0 -61
  16. package/skills/skills/archived/README.md +0 -3
  17. package/skills/skills/library/README.md +0 -3
  18. package/skills/skills/library/frontend-design/LICENSE.txt +0 -177
  19. package/skills/skills/library/frontend-design/SKILL.md +0 -42
  20. package/teams/teams/brain-studio/skills/code-review/SKILL.md +0 -46
  21. package/toolsets/toolsets/rzlv-flow/README.md +0 -102
  22. package/toolsets/toolsets/rzlv-flow/docs/mcp-setup.md +0 -126
  23. package/toolsets/toolsets/rzlv-flow/resources/README.md +0 -16
  24. package/toolsets/toolsets/rzlv-flow/resources/confluence-file-structure.md +0 -285
  25. package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/README.md +0 -19
  26. package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/decisions.md +0 -36
  27. package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/initiative-overview.md +0 -40
  28. package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/strategic-context.md +0 -44
  29. package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/technical-architecture.md +0 -48
  30. package/toolsets/toolsets/rzlv-flow/resources/fcmp-protocol.md +0 -331
  31. package/toolsets/toolsets/rzlv-flow/resources/jira-file-structure.md +0 -177
  32. package/toolsets/toolsets/rzlv-flow/resources/sync-state-format.md +0 -318
  33. package/toolsets/toolsets/rzlv-flow/skills/atlassian-orchestrator/SKILL.md +0 -643
  34. package/toolsets/toolsets/rzlv-flow/skills/context-analyst/SKILL.md +0 -265
  35. package/toolsets/toolsets/rzlv-flow/skills/jira-comment/SKILL.md +0 -89
  36. package/toolsets/toolsets/rzlv-flow/skills/jira-daily-triage/SKILL.md +0 -143
  37. package/toolsets/toolsets/rzlv-flow/skills/jira-sprint-status/SKILL.md +0 -143
  38. package/toolsets/toolsets/rzlv-flow/skills/jira-status/SKILL.md +0 -97
  39. package/toolsets/toolsets/rzlv-flow/skills/jira-sync/SKILL.md +0 -148
  40. package/toolsets/toolsets/rzlv-flow/skills/jira-ticket-focus/SKILL.md +0 -245
  41. package/toolsets/toolsets/rzlv-flow/skills/jira-ticket-trace/SKILL.md +0 -112
  42. package/toolsets/toolsets/rzlv-flow/skills/jira-wrap-sync/SKILL.md +0 -260
  43. /package/toolsets/{toolsets/rzlv-flow → rzlv-flow}/docs/getting-started.md +0 -0
  44. /package/toolsets/{toolsets/rzlv-flow → rzlv-flow}/skills/confluence-fetch/SKILL.md +0 -0
  45. /package/toolsets/{toolsets/rzlv-flow → rzlv-flow}/skills/confluence-publish/SKILL.md +0 -0
@@ -1,318 +0,0 @@
1
- # Sync State Format — YAML Frontmatter Schema
2
-
3
- This document defines the YAML frontmatter schema used in local Jira ticket files and Confluence page files. All rzlv-flow skills that read or write these files must follow this format.
4
-
5
- ---
6
-
7
- ## Jira Ticket File Schema
8
-
9
- Every ticket file (`{TICKET-KEY}.md`) uses this frontmatter format for safe FCMP sync:
10
-
11
- ```yaml
12
- ---
13
- sync:
14
- jira_key: "PROJ-123" # Jira ticket key
15
- jira_ari: "ari:cloud:jira:{cloudId}:issue/{issueId}" # Atlassian Resource Identifier
16
- status: "In Progress" # Current Jira status
17
- assignee: "john.doe@company.com" # Assignee email
18
- priority: "High" # Priority level
19
- story_points: 3 # Story point estimate
20
- last_synced: "2025-12-11T10:30:00Z" # When local was last synced with remote
21
- version: 42 # Jira version for optimistic locking
22
- remote_updated: "2025-12-11T09:15:00Z" # Last remote change timestamp
23
-
24
- structure:
25
- type: "story" # epic | story | subtask | task | bug
26
- parent: "../epic.md" # Relative path to parent file
27
- epic: "PROJ-120" # Epic key
28
-
29
- agile_companion: # Developer workflow skill metadata (optional)
30
- last_focused: "2025-12-11T08:00:00Z" # Last time developer focused on this ticket
31
- working_branch: "feature/PROJ-123" # Associated git branch
32
- local_commits: 3 # Uncommitted/unpushed commit count
33
-
34
- orchestrator: # Orchestrator skill metadata (optional)
35
- generated_at: "2025-12-10T14:00:00Z" # When the structure was generated
36
- confluence_page_id: "123456789" # Linked Confluence page
37
- confluence_url: "https://company.atlassian.net/wiki/spaces/ENG/pages/123456789"
38
- ---
39
- ```
40
-
41
- ### Field Reference
42
-
43
- #### `sync` — Core Sync Metadata
44
-
45
- | Field | Type | Required | Written By | Description |
46
- |-------|------|----------|------------|-------------|
47
- | `jira_key` | string | Yes | Any skill on create/fetch | Jira ticket key (e.g. `PROJ-123`) |
48
- | `jira_ari` | string | Yes | Any skill on create/fetch | Atlassian Resource Identifier for API calls |
49
- | `status` | string | Yes | Updated on every sync | Current Jira workflow status |
50
- | `assignee` | string | No | Updated on every sync | Assignee email address |
51
- | `priority` | string | No | Updated on every sync | Ticket priority level |
52
- | `story_points` | number | No | Updated on every sync | Story point estimate |
53
- | `last_synced` | ISO8601 | Yes | Updated on every sync | Timestamp of last successful sync |
54
- | `version` | number | Yes | Updated on every sync | Jira version field for optimistic locking (FCMP) |
55
- | `remote_updated` | ISO8601 | Yes | Updated on every sync | Timestamp of last remote change |
56
-
57
- #### `structure` — Hierarchy Metadata
58
-
59
- | Field | Type | Required | Written By | Description |
60
- |-------|------|----------|------------|-------------|
61
- | `type` | enum | Yes | Any skill on create | `epic`, `story`, `subtask`, `task`, or `bug` |
62
- | `parent` | string | No | Set on create or parent load | Relative path to parent ticket file |
63
- | `epic` | string | No | Set on create or parent load | Epic key this ticket belongs to |
64
-
65
- #### `agile_companion` — Developer Workflow Extensions
66
-
67
- | Field | Type | Required | Written By | Description |
68
- |-------|------|----------|------------|-------------|
69
- | `last_focused` | ISO8601 | No | `jira-ticket-focus` | Last time the developer focused on this ticket |
70
- | `working_branch` | string | No | `jira-ticket-focus` | Detected or created git branch |
71
- | `local_commits` | number | No | `jira-wrap-sync` | Count of local commits since last sync |
72
-
73
- #### `orchestrator` — Orchestrator Extensions
74
-
75
- | Field | Type | Required | Written By | Description |
76
- |-------|------|----------|------------|-------------|
77
- | `generated_at` | ISO8601 | No | `atlassian-orchestrator` | When the ticket structure was generated |
78
- | `confluence_page_id` | string | No | `atlassian-orchestrator` | Linked Confluence page ID |
79
- | `confluence_url` | string | No | `atlassian-orchestrator` | URL to linked Confluence page |
80
-
81
- ---
82
-
83
- ## Jira Ticket File Body
84
-
85
- Below the frontmatter, the markdown body follows this structure:
86
-
87
- ```markdown
88
- # Implement User Authentication API
89
-
90
- ## Description
91
-
92
- {Description from Jira — synced bidirectionally}
93
-
94
- ## Acceptance Criteria
95
-
96
- - [ ] API endpoint accepts username/password
97
- - [ ] Returns JWT token on success
98
- - [ ] Returns 401 on invalid credentials
99
-
100
- ## Technical Notes
101
-
102
- {Links to _docs/ or inline notes — optional}
103
- ```
104
-
105
- ---
106
-
107
- ## Confluence Page File Schema
108
-
109
- Confluence mirror files use this frontmatter:
110
-
111
- ```yaml
112
- ---
113
- sync:
114
- confluence_page_id: "123456789" # Confluence page ID
115
- confluence_url: "https://..." # Full page URL
116
- confluence_title: "Page Title" # Exact title as it appears in Confluence
117
- space: "ENG" # Confluence space key
118
- parent_page_id: "987654321" # Parent page ID in Confluence
119
- last_synced: "2025-12-11T10:30:00Z" # Last sync timestamp
120
- version: 5 # Confluence page version
121
- remote_updated: "2025-12-11T09:15:00Z" # Last remote change
122
-
123
- mode: "structured" # structured | flexible
124
-
125
- source:
126
- # Structured mode fields
127
- jira_ticket: "PROJ-120" # Associated Jira ticket (optional)
128
- doc_type: "technical-architecture" # overview | technical | decisions | strategic
129
- generated_from: "docs/jira/.../technical-architecture.md" # Source _docs/ file
130
- bmad_docs_referenced: # BMAD source docs used (traceability)
131
- - "docs/jira/.../technical-architecture.md"
132
- jira_initiative_key: "PROJ-100" # Related Jira initiative (cross-linking)
133
-
134
- # Flexible mode fields (use instead of structured fields)
135
- # origin: "manual" # manual | context-analyst | other skill
136
- # linked_jira: "PROJ-123" # Optional linked Jira ticket
137
-
138
- orchestrator:
139
- generated_at: "2025-12-10T14:00:00Z" # When generated (structured mode)
140
- auto_sync: true # Whether to auto-sync on updates
141
- ---
142
- ```
143
-
144
- ---
145
-
146
- ## Sync Status Values
147
-
148
- The `sync.status` field for tracking local file sync state is separate from the Jira workflow `status`. When needed, skills track sync state using these values (typically in a `sync_status` field or inferred from `last_synced` vs `remote_updated`):
149
-
150
- | Status | Meaning | Action Required |
151
- |--------|---------|-----------------|
152
- | `draft` | Created locally, never synced to Atlassian | Full create operation needed |
153
- | `synced` | Local matches remote (as of last sync) | No action unless local changes |
154
- | `modified` | Local changes since last sync | FCMP protocol required before push |
155
- | `pending_sync` | Ready to sync, waiting for connection/confirmation | Push when ready |
156
- | `sync_failed` | Attempted sync failed | Review error, retry when resolved |
157
- | `conflict` | Both local and remote changed | Manual merge required |
158
-
159
- See `fcmp-protocol.md` for full details on each status and the transitions between them.
160
-
161
- ---
162
-
163
- ## Complete Example: Synced Ticket File
164
-
165
- ```yaml
166
- ---
167
- sync:
168
- jira_key: "AIP-247"
169
- jira_ari: "ari:cloud:jira:a1b2c3d4:issue/10247"
170
- status: "In Progress"
171
- assignee: "jane.smith@company.com"
172
- priority: "High"
173
- story_points: 5
174
- last_synced: "2025-12-11T10:30:00Z"
175
- version: 12
176
- remote_updated: "2025-12-11T09:15:00Z"
177
-
178
- structure:
179
- type: "story"
180
- parent: "../../epic.md"
181
- epic: "AIP-200"
182
-
183
- agile_companion:
184
- last_focused: "2025-12-11T08:00:00Z"
185
- working_branch: "feature/AIP-247-auth-api"
186
- local_commits: 2
187
-
188
- orchestrator:
189
- generated_at: "2025-12-08T14:00:00Z"
190
- confluence_page_id: "456789012"
191
- confluence_url: "https://rezolve.atlassian.net/wiki/spaces/ENG/pages/456789012"
192
- ---
193
-
194
- # Implement User Authentication API
195
-
196
- ## Description
197
-
198
- Build a REST API endpoint for user authentication that accepts username/password credentials and returns a JWT token. Must integrate with the existing user store and support rate limiting.
199
-
200
- ## Acceptance Criteria
201
-
202
- - [ ] POST `/api/auth/login` accepts `{ username, password }`
203
- - [ ] Returns `{ token, expiresIn }` on valid credentials
204
- - [ ] Returns 401 with error message on invalid credentials
205
- - [ ] Rate limited to 5 attempts per minute per IP
206
- - [ ] JWT tokens expire after 24 hours
207
-
208
- ## Technical Notes
209
-
210
- - See `_docs/technical-architecture.md` for auth flow diagram
211
- - Uses existing `UserService` for credential validation
212
- - Token signing key stored in environment variables
213
- ```
214
-
215
- ---
216
-
217
- ## Complete Example: Synced Confluence Page (Structured Mode)
218
-
219
- This example shows a Confluence page mirror created via the `atlassian-orchestrator` skill from an epic's `_docs/` folder. The file lives at:
220
-
221
- ```
222
- docs/confluence/rezolve/ENG/platform-initiative/user-authentication/technical-architecture/index.md
223
- ```
224
-
225
- Note the **Leaf Bundle** pattern: the page is a directory (`technical-architecture/`) containing `index.md`, not a flat `.md` file. See `confluence-file-structure.md` for details.
226
-
227
- ```yaml
228
- ---
229
- sync:
230
- confluence_page_id: "456789012"
231
- confluence_url: "https://rezolve.atlassian.net/wiki/spaces/ENG/pages/456789012"
232
- confluence_title: "Technical Architecture — User Authentication"
233
- space: "ENG"
234
- parent_page_id: "456789000"
235
- last_synced: "2025-12-11T10:30:00Z"
236
- version: 3
237
- remote_updated: "2025-12-11T09:15:00Z"
238
-
239
- mode: "structured"
240
-
241
- source:
242
- jira_ticket: "AIP-200"
243
- doc_type: "technical-architecture"
244
- generated_from: "docs/jira/rezolve/AIP/AIP-200-user-authentication/_docs/technical-architecture.md"
245
- bmad_docs_referenced:
246
- - "docs/jira/rezolve/AIP/AIP-200-user-authentication/_docs/technical-architecture.md"
247
- jira_initiative_key: "AIP-100"
248
-
249
- orchestrator:
250
- generated_at: "2025-12-08T14:00:00Z"
251
- auto_sync: true
252
- ---
253
-
254
- # Technical Architecture — User Authentication
255
-
256
- ## Overview
257
-
258
- REST API authentication using JWT tokens with bcrypt password hashing and Redis-backed rate limiting.
259
-
260
- ## Authentication Flow
261
-
262
- 1. Client sends POST `/api/auth/login` with credentials
263
- 2. Server validates against UserService
264
- 3. On success: sign JWT with RS256, return token + expiry
265
- 4. On failure: increment rate limiter, return 401
266
-
267
- ## Technology Decisions
268
-
269
- - **JWT signing:** RS256 with rotating keys (see decisions.md)
270
- - **Rate limiting:** Redis sliding window, 5 req/min/IP
271
- - **Password storage:** bcrypt with cost factor 12
272
- ```
273
-
274
- ---
275
-
276
- ## Complete Example: Synced Confluence Page (Flexible Mode)
277
-
278
- This example shows an ad-hoc page published to Confluence by a developer using the `confluence-publish` skill. The file lives at:
279
-
280
- ```
281
- docs/confluence/rezolve/ENG/team-guides/onboarding-guide/index.md
282
- ```
283
-
284
- ```yaml
285
- ---
286
- sync:
287
- confluence_page_id: "789012345"
288
- confluence_url: "https://rezolve.atlassian.net/wiki/spaces/ENG/pages/789012345"
289
- confluence_title: "Developer Onboarding Guide"
290
- space: "ENG"
291
- parent_page_id: "789012000"
292
- last_synced: "2025-12-12T14:00:00Z"
293
- version: 1
294
- remote_updated: "2025-12-12T14:00:00Z"
295
-
296
- mode: "flexible"
297
-
298
- source:
299
- origin: "manual"
300
- linked_jira: "AIP-300"
301
- ---
302
-
303
- # Developer Onboarding Guide
304
-
305
- Welcome to the team! This guide covers local setup, tooling, and key workflows.
306
-
307
- ## Local Setup
308
-
309
- 1. Clone the monorepo
310
- 2. Run `npm install` in the root
311
- 3. Copy `.env.example` to `.env` and fill in values
312
-
313
- ## Key Workflows
314
-
315
- - **Daily triage:** Use `jira-daily-triage` to start your day
316
- - **Ticket focus:** Use `jira-ticket-focus` to deep-load a ticket
317
- - **Wrap up:** Use `jira-wrap-sync` when finishing work
318
- ```