@groupby/ai-dev 0.2.0 → 0.2.3

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 (41) hide show
  1. package/README.md +3 -1
  2. package/dist/index.js +86 -19
  3. package/package.json +3 -3
  4. package/toolsets/rzlv-flow/README.md +54 -9
  5. package/toolsets/rzlv-flow/resources/confluence-file-structure.md +129 -23
  6. package/toolsets/rzlv-flow/resources/sync-state-format.md +109 -0
  7. package/toolsets/rzlv-flow/skills/jira-daily-triage/SKILL.md +13 -5
  8. package/toolsets/rzlv-flow/skills/jira-sprint-status/SKILL.md +28 -1
  9. package/toolsets/rzlv-flow/skills/jira-ticket-focus/SKILL.md +6 -1
  10. package/toolsets/rzlv-flow/skills/jira-wrap-sync/SKILL.md +41 -8
  11. package/skills/skills/README.md +0 -61
  12. package/skills/skills/archived/README.md +0 -3
  13. package/skills/skills/library/README.md +0 -3
  14. package/skills/skills/library/frontend-design/LICENSE.txt +0 -177
  15. package/skills/skills/library/frontend-design/SKILL.md +0 -42
  16. package/teams/teams/brain-studio/skills/code-review/SKILL.md +0 -46
  17. package/toolsets/toolsets/rzlv-flow/README.md +0 -102
  18. package/toolsets/toolsets/rzlv-flow/docs/mcp-setup.md +0 -126
  19. package/toolsets/toolsets/rzlv-flow/resources/README.md +0 -16
  20. package/toolsets/toolsets/rzlv-flow/resources/confluence-file-structure.md +0 -285
  21. package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/README.md +0 -19
  22. package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/decisions.md +0 -36
  23. package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/initiative-overview.md +0 -40
  24. package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/strategic-context.md +0 -44
  25. package/toolsets/toolsets/rzlv-flow/resources/confluence-page-templates/technical-architecture.md +0 -48
  26. package/toolsets/toolsets/rzlv-flow/resources/fcmp-protocol.md +0 -331
  27. package/toolsets/toolsets/rzlv-flow/resources/jira-file-structure.md +0 -177
  28. package/toolsets/toolsets/rzlv-flow/resources/sync-state-format.md +0 -318
  29. package/toolsets/toolsets/rzlv-flow/skills/atlassian-orchestrator/SKILL.md +0 -643
  30. package/toolsets/toolsets/rzlv-flow/skills/context-analyst/SKILL.md +0 -265
  31. package/toolsets/toolsets/rzlv-flow/skills/jira-comment/SKILL.md +0 -89
  32. package/toolsets/toolsets/rzlv-flow/skills/jira-daily-triage/SKILL.md +0 -143
  33. package/toolsets/toolsets/rzlv-flow/skills/jira-sprint-status/SKILL.md +0 -143
  34. package/toolsets/toolsets/rzlv-flow/skills/jira-status/SKILL.md +0 -97
  35. package/toolsets/toolsets/rzlv-flow/skills/jira-sync/SKILL.md +0 -148
  36. package/toolsets/toolsets/rzlv-flow/skills/jira-ticket-focus/SKILL.md +0 -245
  37. package/toolsets/toolsets/rzlv-flow/skills/jira-ticket-trace/SKILL.md +0 -112
  38. package/toolsets/toolsets/rzlv-flow/skills/jira-wrap-sync/SKILL.md +0 -260
  39. /package/toolsets/{toolsets/rzlv-flow → rzlv-flow}/docs/getting-started.md +0 -0
  40. /package/toolsets/{toolsets/rzlv-flow → rzlv-flow}/skills/confluence-fetch/SKILL.md +0 -0
  41. /package/toolsets/{toolsets/rzlv-flow → rzlv-flow}/skills/confluence-publish/SKILL.md +0 -0
@@ -1,46 +0,0 @@
1
- ---
2
- name: 'code-review'
3
- description: 'Perform a standardized code review on the current changes. Use this when needing to evaluate how well the code matches our architecture docs, code quality, and so on.'
4
- allowed-tools:
5
- - execute/runInTerminal
6
- - edit/editFiles
7
- - edit/createFile
8
- - atlassian-rovo/*
9
- ---
10
-
11
- # Brain Studio — Code Review
12
-
13
- ## Setup
14
-
15
- 1. Use #tool:execute/runInTerminal to run `git diff origin/main...HEAD`. If that yields nothing, fall back to `git diff HEAD`. Use this output as the set of changes under review.
16
- 2. Use #tool:execute/runInTerminal to run `git branch --show-current` and extract the Jira ticket key from the branch name (e.g. `BS-1056` from `BS-1056-my-feature`). If a ticket key is found, use the Atlassian Rovo MCP to fetch the issue and use its description and acceptance criteria to evaluate whether the code fulfils the ticket's intent.
17
- 3. Inspect the diff to understand what types of changes are involved.
18
- 4. Apply the **Doc Routing Table** in `.github/copilot-instructions.md` — use the change types you identified to determine which architecture docs to load. Use those docs as your source of truth throughout the review.
19
- 5. If the codebase contradicts the docs, the **docs represent the target state** — flag the discrepancy rather than normalising the legacy pattern.
20
-
21
- ---
22
-
23
- ## Review
24
-
25
- Evaluate the changes across these areas. Let the loaded architecture docs govern the specific standards — do not invent rules not found there.
26
-
27
- 1. **Code Quality** — single responsibility principle, clarity, naming, redundancy, complexity, consistency with documented patterns
28
- 2. **Regressions** — silent breakage, unexpected behaviour changes, altered logic outside of the stated scope of the ticket, downstream impact
29
- 3. **Security** — input validation, sensitive data handling, auth correctness
30
- 4. **Performance** — inefficient or unnecessarily expensive code, unnecessary re-renders, missing cleanups, over-importing
31
- 5. **Error handling** — async error paths covered, error messaging in place, graceful degradation, no swallowed errors
32
- 6. **Accessibility** — semantic HTML, ARIA attributes, keyboard navigation, focus management
33
- 7. **Testing** — coverage of new logic, edge cases, error paths; flag superfluous tests
34
- 8. **Documentation** — non-obvious logic commented; JSDoc updated where needed, architecture docs updated if the change introduces a new pattern or deviates from existing ones
35
-
36
- ---
37
-
38
- ## Output Format
39
-
40
- - **Inline comments** for specific lines or blocks.
41
- - **Top-level observations** for broad themes or praise.
42
- - Prioritise by severity: 🔴 blocking / 🟡 important / 🔵 minor.
43
- - Do **not** include your reasoning steps or to-do list.
44
- - Close with a witty quatrain summarising the PR. 🎭
45
-
46
- Save the review to `docs/code-reviews/<branch-name>-code-review.md` (use the full branch name from Setup step 2). Confirm the file has been written.
@@ -1,102 +0,0 @@
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.
@@ -1,126 +0,0 @@
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.
@@ -1,16 +0,0 @@
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 |
@@ -1,285 +0,0 @@
1
- # Confluence File Structure — Local Page Mirrors
2
-
3
- **Pattern:** Leaf Bundle local mirrors for Confluence pages
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- Skills that interact with Confluence maintain local mirrors of pages under `docs/confluence/{instance}/{space}/`. Two modes are supported depending on how the content is created:
10
-
11
- - **Structured mode** — Orchestrator-driven, epic-based hierarchy with predefined page types
12
- - **Flexible mode** — User-specified location and page structure for ad-hoc documentation
13
-
14
- Both modes follow the FCMP protocol for safe sync operations and preserve manual edits made directly in Confluence.
15
-
16
- ---
17
-
18
- ## Leaf Bundle Pattern
19
-
20
- Every Confluence page is stored as a **directory** containing an `index.md` file — never as a standalone `.md` file. This is called the Leaf Bundle pattern.
21
-
22
- ### Why Folders, Not Files?
23
-
24
- - **Child pages** — A Confluence page can have child pages. The folder naturally represents this hierarchy; child pages become subdirectories.
25
- - **Assets** — Pages may include attachments, images, or diagrams. These are stored alongside `index.md` in the same folder.
26
- - **Hierarchy expansion** — New child pages can be added without restructuring. A flat file cannot grow into a parent.
27
-
28
- ### DO NOT / DO
29
-
30
- ```
31
- ❌ DO NOT create flat files:
32
- docs/confluence/rezolve/ENG/strategic-context.md
33
-
34
- ✅ DO create Leaf Bundle directories:
35
- docs/confluence/rezolve/ENG/strategic-context/index.md
36
- ```
37
-
38
- This rule applies to **all** Confluence page mirrors, in both structured and flexible modes.
39
-
40
- ---
41
-
42
- ## Base Path
43
-
44
- ```
45
- docs/confluence/{instance}/{space}/
46
- ```
47
-
48
- - `{instance}` — The Atlassian site identifier (e.g. `rezolve`)
49
- - `{space}` — The Confluence space key (e.g. `ENG`, `PROJ`)
50
-
51
- ---
52
-
53
- ## Structured Mode
54
-
55
- Used when creating Confluence pages from Jira epic structures — typically driven by the `atlassian-orchestrator` skill.
56
-
57
- ### Hierarchy
58
-
59
- ```
60
- docs/confluence/{instance}/{space}/
61
- └── {initiative-name}/
62
- ├── index.md # Initiative Overview
63
- └── {epic-name}/
64
- ├── overview/
65
- │ └── index.md
66
- ├── technical-architecture/
67
- │ └── index.md
68
- ├── decisions/
69
- │ └── index.md
70
- ├── strategic-context/
71
- │ └── index.md
72
- ├── research-and-findings/ # Created only if relevant content exists
73
- │ └── index.md
74
- ├── assumptions/ # Created only if relevant content exists
75
- │ └── index.md
76
- └── implementation-guidance/
77
- └── index.md
78
- ```
79
-
80
- ### Page Types
81
-
82
- | Page Type | Folder | Source | Description |
83
- |-----------|--------|--------|-------------|
84
- | Initiative Overview | `index.md` (at initiative root) | Initiative metadata | Top-level overview: goals, epic breakdown, navigation |
85
- | Overview | `overview/index.md` | Epic `_docs/` | High-level epic overview and goals |
86
- | Technical Architecture | `technical-architecture/index.md` | Epic `_docs/` | Architecture decisions and technical design |
87
- | Decisions | `decisions/index.md` | Epic `_docs/` | Decision log and rationale |
88
- | Strategic Context | `strategic-context/index.md` | Epic `_docs/` | Business context and strategic alignment |
89
- | Research & Findings | `research-and-findings/index.md` | Epic `_docs/` | User research, discoveries, and clarifications* |
90
- | Assumptions | `assumptions/index.md` | Epic `_docs/` | Assumptions with confidence levels and validation status* |
91
- | Implementation Guidance | `implementation-guidance/index.md` | Epic `_docs/` | High-value technical guides for development |
92
-
93
- \* Created only if the source material includes relevant content.
94
-
95
- ### When to Use
96
-
97
- - Creating Confluence pages from Jira epic structure with `_docs/` content
98
- - Orchestrator-driven workflows that generate documentation alongside Jira structures
99
-
100
- ### Sync Rules (Structured)
101
-
102
- - Generate Confluence pages from Jira `_docs/` folders
103
- - Sync BEFORE Jira creation (to get page IDs for linking)
104
- - Embed Confluence links in Jira ticket descriptions
105
- - Follow initiative/epic hierarchy
106
-
107
- ---
108
-
109
- ## Flexible Mode
110
-
111
- Used for ad-hoc documentation, user-specified locations, and non-epic-based content.
112
-
113
- ### Hierarchy
114
-
115
- ```
116
- docs/confluence/{instance}/{space}/
117
- └── {user-specified-path}/
118
- └── {page-name}/
119
- └── index.md
120
- ```
121
-
122
- No predefined structure beyond the Leaf Bundle requirement — adapts to the user's needs.
123
-
124
- ### When to Use
125
-
126
- - Generic documentation and manual publishing
127
- - Publishing existing local docs to Confluence retroactively
128
- - Content created by `context-analyst` or other skills outside an epic workflow
129
- - Any user-driven page creation
130
-
131
- ### Prompts for Flexible Mode
132
-
133
- Skills using flexible mode should ask:
134
- 1. "Where should I place this page in Confluence? (space/parent)"
135
- 2. "Page title?"
136
- 3. "Should I link to a Jira ticket?"
137
-
138
- ### Sync Rules (Flexible)
139
-
140
- - User specifies target location (space + parent page)
141
- - Optional: Link back to Jira ticket if provided
142
- - No predefined structure — adapt to user's needs
143
- - Can publish existing docs to Confluence retroactively
144
-
145
- ---
146
-
147
- ## Ownership
148
-
149
- ### Generated Pages (Structured Mode)
150
-
151
- - **Owner:** Orchestrator-type skills (e.g. `atlassian-orchestrator`)
152
- - **Source:** `_docs/` folders from the Jira file structure
153
- - **Description:** Automatically generated from epic documentation; synced to Confluence
154
-
155
- ### Manual / Ad-hoc Pages (Flexible Mode)
156
-
157
- - **Owner:** User or any skill
158
- - **Source:** Any markdown file
159
- - **Location:** User-specified or derived from context
160
-
161
- ### Manual Edits in Confluence
162
-
163
- - **Preserved:** Yes, always — regardless of mode
164
- - **Protocol:** FCMP ensures user edits in Confluence are never overwritten without merge
165
-
166
- ---
167
-
168
- ## Sync Rules (Both Modes)
169
-
170
- - Follow the FCMP protocol when updating existing pages (see `fcmp-protocol.md`)
171
- - Preserve manual edits made in Confluence
172
- - Store page ID and URL in frontmatter after sync (see `sync-state-format.md`)
173
-
174
- ---
175
-
176
- ## Confluence Link Format
177
-
178
- When constructing Confluence URLs:
179
-
180
- - Replace spaces in page titles with `+`
181
- - Use the `/wiki/display/{SPACE}/{Title}` format for display links
182
- - Use the `/wiki/spaces/{SPACE}/pages/{pageId}` format for direct links
183
-
184
- Example: `https://company.atlassian.net/wiki/display/ENG/Technical+Architecture`
185
-
186
- ---
187
-
188
- ## Page File Format
189
-
190
- Each local Confluence mirror file (`index.md` inside a Leaf Bundle directory) uses YAML frontmatter for sync metadata:
191
-
192
- ```yaml
193
- ---
194
- sync:
195
- confluence_page_id: "123456789"
196
- confluence_url: "https://company.atlassian.net/wiki/spaces/ENG/pages/123456789"
197
- confluence_title: "Technical Architecture"
198
- space: "ENG"
199
- parent_page_id: "987654321"
200
- last_synced: "2025-12-11T10:30:00Z"
201
- version: 5
202
- remote_updated: "2025-12-11T09:15:00Z"
203
-
204
- mode: "structured" # structured | flexible
205
-
206
- source:
207
- # For structured mode
208
- jira_ticket: "PROJ-120"
209
- doc_type: "technical-architecture"
210
- generated_from: "docs/jira/rezolve/PROJ/user-authentication/_docs/technical-architecture.md"
211
- bmad_docs_referenced:
212
- - "docs/jira/rezolve/PROJ/PROJ-120-user-auth/_docs/technical-architecture.md"
213
- jira_initiative_key: "PROJ-100"
214
-
215
- # For flexible mode
216
- # origin: "manual"
217
- # linked_jira: "PROJ-123"
218
- ---
219
-
220
- # Page Title
221
-
222
- Page content in markdown, converted to Confluence storage format during sync.
223
- ```
224
-
225
- ### Frontmatter Field Reference
226
-
227
- | Field | Type | Required | Description |
228
- |-------|------|----------|-------------|
229
- | `sync.confluence_page_id` | string | After first sync | Confluence page ID |
230
- | `sync.confluence_url` | string | After first sync | Full page URL |
231
- | `sync.confluence_title` | string | Yes | Exact title as it appears in Confluence (used for page lookups) |
232
- | `sync.space` | string | Yes | Confluence space key |
233
- | `sync.parent_page_id` | string | Yes | Parent page ID in Confluence |
234
- | `sync.last_synced` | ISO8601 | After first sync | Last sync timestamp |
235
- | `sync.version` | number | After first sync | Confluence page version for optimistic locking |
236
- | `sync.remote_updated` | ISO8601 | After first sync | Last remote change timestamp |
237
- | `mode` | enum | Yes | `structured` or `flexible` |
238
- | `source.jira_ticket` | string | Structured | Associated Jira ticket key |
239
- | `source.doc_type` | string | Structured | Page type (overview, technical-architecture, decisions, strategic-context) |
240
- | `source.generated_from` | string | Structured | Path to the `_docs/` source file |
241
- | `source.bmad_docs_referenced` | string[] | No | BMAD source docs used to generate the page (traceability) |
242
- | `source.jira_initiative_key` | string | No | Related Jira initiative key (cross-linking) |
243
- | `source.origin` | string | Flexible | Origin skill or `manual` |
244
- | `source.linked_jira` | string | Flexible | Optionally linked Jira ticket |
245
-
246
- > **Note on field naming:** The source rzlv-flow repo uses flat root-level fields (e.g. `confluence_space_key: "ENG"`). This toolset uses nested fields under `sync.*` for consistency with the Jira file schema. Both conventions represent the same data; skills should follow the nested format documented here.
247
-
248
- ### Post-Sync Frontmatter Example
249
-
250
- **Before first sync (draft state):**
251
- ```yaml
252
- ---
253
- sync:
254
- confluence_title: "Technical Architecture"
255
- space: "ENG"
256
- parent_page_id: "987654321"
257
- mode: "structured"
258
- source:
259
- jira_ticket: "PROJ-120"
260
- doc_type: "technical-architecture"
261
- generated_from: "docs/jira/rezolve/PROJ/PROJ-120-user-auth/_docs/technical-architecture.md"
262
- ---
263
- ```
264
-
265
- **After first sync (populated by sync operation):**
266
- ```yaml
267
- ---
268
- sync:
269
- confluence_page_id: "123456789"
270
- confluence_url: "https://company.atlassian.net/wiki/spaces/ENG/pages/123456789"
271
- confluence_title: "Technical Architecture"
272
- space: "ENG"
273
- parent_page_id: "987654321"
274
- last_synced: "2025-12-11T10:30:00Z"
275
- version: 1
276
- remote_updated: "2025-12-11T10:30:00Z"
277
- mode: "structured"
278
- source:
279
- jira_ticket: "PROJ-120"
280
- doc_type: "technical-architecture"
281
- generated_from: "docs/jira/rezolve/PROJ/PROJ-120-user-auth/_docs/technical-architecture.md"
282
- ---
283
- ```
284
-
285
- See `sync-state-format.md` for the full frontmatter schema and worked examples.
@@ -1,19 +0,0 @@
1
- # Confluence Page Templates
2
-
3
- Starter scaffolds for Confluence pages created by the `atlassian-orchestrator` skill (structured mode). Each template contains standard section headings and placeholder tokens.
4
-
5
- ## Usage
6
-
7
- - Templates provide consistent section headings across generated pages.
8
- - Replace `{tokens}` with actual content during page creation.
9
- - Skills can load these templates instead of generating page structure from scratch.
10
- - Users can customize templates to match their team's conventions.
11
-
12
- ## Templates
13
-
14
- | Template | File | Description |
15
- |----------|------|-------------|
16
- | Initiative Overview | `initiative-overview.md` | Top-level initiative page: goals, epic breakdown, navigation |
17
- | Strategic Context | `strategic-context.md` | Business goals, product vision, strategic decisions |
18
- | Technical Architecture | `technical-architecture.md` | System design, tech decisions, implementation patterns |
19
- | Decisions | `decisions.md` | Consolidated decision log with rationale |
@@ -1,36 +0,0 @@
1
- ---
2
- sync:
3
- confluence_page_id: ""
4
- confluence_url: ""
5
- confluence_title: "Decision Log — {Initiative/Epic Name}"
6
- space: "{SPACE}"
7
- parent_page_id: ""
8
- last_synced: ""
9
- version: 1
10
- remote_updated: ""
11
- mode: "structured"
12
- source:
13
- jira_ticket: "{EPIC-KEY}"
14
- doc_type: "decisions"
15
- generated_from: ""
16
- ---
17
-
18
- # Decision Log — {Initiative/Epic Name}
19
-
20
- ## Active Decisions
21
-
22
- | ID | Decision | Date | Rationale | Confidence | Impact |
23
- |----|----------|------|-----------|------------|--------|
24
- | {id} | {decision} | {date} | {rationale} | {High/Medium/Low} | {impact area} |
25
-
26
- ## Pending Decisions
27
-
28
- | ID | Question | Context | Options | Owner | Deadline |
29
- |----|----------|---------|---------|-------|----------|
30
- | {id} | {question} | {context} | {options} | {owner} | {deadline} |
31
-
32
- ## Superseded Decisions
33
-
34
- | ID | Original Decision | Superseded By | Date | Reason |
35
- |----|-------------------|---------------|------|--------|
36
- | {id} | {original} | {new decision} | {date} | {reason} |
@@ -1,40 +0,0 @@
1
- ---
2
- sync:
3
- confluence_page_id: ""
4
- confluence_url: ""
5
- confluence_title: "{Initiative Name}"
6
- space: "{SPACE}"
7
- parent_page_id: ""
8
- last_synced: ""
9
- version: 1
10
- remote_updated: ""
11
- mode: "structured"
12
- source:
13
- jira_initiative_key: "{INITIATIVE-KEY}"
14
- ---
15
-
16
- # {Initiative Name}
17
-
18
- ## Overview
19
-
20
- {Brief summary of the initiative — 2-3 sentences covering purpose and strategic goals.}
21
-
22
- ## Epic Breakdown
23
-
24
- | Epic | Description | Status | Stories | Confluence |
25
- |------|-------------|--------|---------|------------|
26
- | {EPIC-KEY} | {Epic summary} | {status} | {count} | [link]({confluence_url}) |
27
-
28
- ## Quick Navigation
29
-
30
- - [{Epic Name} — Overview]({epic-overview-url})
31
- - [{Epic Name} — Technical Architecture]({epic-tech-arch-url})
32
- - [{Epic Name} — Decisions]({epic-decisions-url})
33
-
34
- ## Timeline & Dependencies
35
-
36
- {Key dates, milestones, and cross-team dependencies.}
37
-
38
- ## Success Criteria
39
-
40
- {Measurable outcomes that define initiative success.}