@groupby/ai-dev 0.1.0 → 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 +104 -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,57 @@
|
|
|
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
|
+
## Skills
|
|
8
|
+
|
|
9
|
+
| Skill | Description | Status |
|
|
10
|
+
|-------|-------------|--------|
|
|
11
|
+
| `jira-daily-triage` | Start-of-day ticket triage with sprint detection | Planned |
|
|
12
|
+
| `jira-ticket-focus` | Deep-load a ticket with full context | Planned |
|
|
13
|
+
| `jira-wrap-sync` | Wrap up work, draft comment, multi-action sync | Planned |
|
|
14
|
+
| `jira-ticket-trace` | Trace code back to Jira requirements | Planned |
|
|
15
|
+
| `jira-comment` | Add a comment to a Jira ticket with FCMP safety | Planned |
|
|
16
|
+
| `jira-status` | Change ticket status with transition validation | Planned |
|
|
17
|
+
| `jira-sprint-status` | Sprint status report with completion metrics | Planned |
|
|
18
|
+
| `jira-sync` | Force-sync local Jira context with remote state | Planned |
|
|
19
|
+
| `atlassian-orchestrator` | Pull surrounding ticket context and create structures | Complete |
|
|
20
|
+
| `context-analyst` | Transform meeting transcripts into structured docs | Complete |
|
|
21
|
+
|
|
22
|
+
## Prerequisites
|
|
23
|
+
|
|
24
|
+
### Required: Atlassian MCP (`atlassian-rovo`)
|
|
25
|
+
|
|
26
|
+
All Jira and Confluence skills require the Atlassian MCP server for API access to your Atlassian instance.
|
|
27
|
+
|
|
28
|
+
### Optional: GitHub MCP
|
|
29
|
+
|
|
30
|
+
Only needed for PR creation features in `jira-wrap-sync`. Not required for any other skills.
|
|
31
|
+
|
|
32
|
+
See [docs/mcp-setup.md](docs/mcp-setup.md) for detailed setup instructions.
|
|
33
|
+
|
|
34
|
+
## Installation
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx @groupby/ai-dev install toolset rzlv-flow # All skills + resources
|
|
38
|
+
npx @groupby/ai-dev install skill jira-daily-triage # Individual skill
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
> **Note:** CLI toolset support is coming soon. For now, skills can be copied manually from this repository into your project's `docs/ai/skills/` directory, and resources into `docs/ai/resources/`.
|
|
42
|
+
|
|
43
|
+
## BMAD Compatibility
|
|
44
|
+
|
|
45
|
+
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.
|
|
46
|
+
|
|
47
|
+
## Shared Resources
|
|
48
|
+
|
|
49
|
+
Skills reference shared resource files installed to `docs/ai/resources/` in your project:
|
|
50
|
+
|
|
51
|
+
| Resource | Description |
|
|
52
|
+
|----------|-------------|
|
|
53
|
+
| `fcmp-protocol.md` | Fetch-Compare-Merge-Push sync pattern for safe Atlassian read/write |
|
|
54
|
+
| `jira-file-structure.md` | Standard directory layout for local Jira mirrors |
|
|
55
|
+
| `confluence-file-structure.md` | Leaf Bundle pattern for Confluence page mirrors |
|
|
56
|
+
| `sync-state-format.md` | YAML frontmatter schema for ticket and page files |
|
|
57
|
+
| `confluence-page-templates/` | Starter scaffolds for Confluence pages (initiative overview, strategic context, technical architecture, decisions) |
|
|
@@ -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 |
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# Confluence File Structure — Local Page Mirrors
|
|
2
|
+
|
|
3
|
+
**Pattern:** Dual-mode 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
|
+
## Base Path
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
docs/confluence/{instance}/{space}/
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
- `{instance}` — The Atlassian site identifier (e.g. `rezolve`)
|
|
25
|
+
- `{space}` — The Confluence space key (e.g. `ENG`, `PROJ`)
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Structured Mode
|
|
30
|
+
|
|
31
|
+
Used when creating Confluence pages from Jira epic structures — typically driven by the `atlassian-orchestrator` skill.
|
|
32
|
+
|
|
33
|
+
### Hierarchy
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
docs/confluence/{instance}/{space}/
|
|
37
|
+
└── {initiative-name}/
|
|
38
|
+
├── index.md # Initiative Overview
|
|
39
|
+
└── {epic-name}/
|
|
40
|
+
├── overview.md
|
|
41
|
+
├── technical-architecture.md
|
|
42
|
+
├── decisions.md
|
|
43
|
+
├── strategic-context.md
|
|
44
|
+
├── research-and-findings.md # Created only if relevant content exists
|
|
45
|
+
├── assumptions.md # Created only if relevant content exists
|
|
46
|
+
└── implementation-guidance.md
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Page Types
|
|
50
|
+
|
|
51
|
+
| Page Type | Source | Description |
|
|
52
|
+
|-----------|--------|-------------|
|
|
53
|
+
| Initiative Overview (`index.md` at initiative root) | Initiative metadata | Top-level overview: goals, epic breakdown, navigation |
|
|
54
|
+
| `overview.md` | Epic `_docs/` | High-level epic overview and goals |
|
|
55
|
+
| `technical-architecture.md` | Epic `_docs/` | Architecture decisions and technical design |
|
|
56
|
+
| `decisions.md` | Epic `_docs/` | Decision log and rationale |
|
|
57
|
+
| `strategic-context.md` | Epic `_docs/` | Business context and strategic alignment |
|
|
58
|
+
| `research-and-findings.md` | Epic `_docs/` | User research, discoveries, and clarifications* |
|
|
59
|
+
| `assumptions.md` | Epic `_docs/` | Assumptions with confidence levels and validation status* |
|
|
60
|
+
| `implementation-guidance.md` | Epic `_docs/` | High-value technical guides for development |
|
|
61
|
+
|
|
62
|
+
\* Created only if the source material includes relevant content.
|
|
63
|
+
|
|
64
|
+
### When to Use
|
|
65
|
+
|
|
66
|
+
- Creating Confluence pages from Jira epic structure with `_docs/` content
|
|
67
|
+
- Orchestrator-driven workflows that generate documentation alongside Jira structures
|
|
68
|
+
|
|
69
|
+
### Sync Rules (Structured)
|
|
70
|
+
|
|
71
|
+
- Generate Confluence pages from Jira `_docs/` folders
|
|
72
|
+
- Sync BEFORE Jira creation (to get page IDs for linking)
|
|
73
|
+
- Embed Confluence links in Jira ticket descriptions
|
|
74
|
+
- Follow initiative/epic hierarchy
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Flexible Mode
|
|
79
|
+
|
|
80
|
+
Used for ad-hoc documentation, user-specified locations, and non-epic-based content.
|
|
81
|
+
|
|
82
|
+
### Hierarchy
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
docs/confluence/{instance}/{space}/
|
|
86
|
+
└── {user-specified-path}/
|
|
87
|
+
└── {page-name}.md
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
No predefined structure — adapts to the user's needs.
|
|
91
|
+
|
|
92
|
+
### When to Use
|
|
93
|
+
|
|
94
|
+
- Generic documentation and manual publishing
|
|
95
|
+
- Publishing existing local docs to Confluence retroactively
|
|
96
|
+
- Content created by `context-analyst` or other skills outside an epic workflow
|
|
97
|
+
- Any user-driven page creation
|
|
98
|
+
|
|
99
|
+
### Prompts for Flexible Mode
|
|
100
|
+
|
|
101
|
+
Skills using flexible mode should ask:
|
|
102
|
+
1. "Where should I place this page in Confluence? (space/parent)"
|
|
103
|
+
2. "Page title?"
|
|
104
|
+
3. "Should I link to a Jira ticket?"
|
|
105
|
+
|
|
106
|
+
### Sync Rules (Flexible)
|
|
107
|
+
|
|
108
|
+
- User specifies target location (space + parent page)
|
|
109
|
+
- Optional: Link back to Jira ticket if provided
|
|
110
|
+
- No predefined structure — adapt to user's needs
|
|
111
|
+
- Can publish existing docs to Confluence retroactively
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Ownership
|
|
116
|
+
|
|
117
|
+
### Generated Pages (Structured Mode)
|
|
118
|
+
|
|
119
|
+
- **Owner:** Orchestrator-type skills (e.g. `atlassian-orchestrator`)
|
|
120
|
+
- **Source:** `_docs/` folders from the Jira file structure
|
|
121
|
+
- **Description:** Automatically generated from epic documentation; synced to Confluence
|
|
122
|
+
|
|
123
|
+
### Manual / Ad-hoc Pages (Flexible Mode)
|
|
124
|
+
|
|
125
|
+
- **Owner:** User or any skill
|
|
126
|
+
- **Source:** Any markdown file
|
|
127
|
+
- **Location:** User-specified or derived from context
|
|
128
|
+
|
|
129
|
+
### Manual Edits in Confluence
|
|
130
|
+
|
|
131
|
+
- **Preserved:** Yes, always — regardless of mode
|
|
132
|
+
- **Protocol:** FCMP ensures user edits in Confluence are never overwritten without merge
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Sync Rules (Both Modes)
|
|
137
|
+
|
|
138
|
+
- Follow the FCMP protocol when updating existing pages (see `fcmp-protocol.md`)
|
|
139
|
+
- Preserve manual edits made in Confluence
|
|
140
|
+
- Store page ID and URL in frontmatter after sync (see `sync-state-format.md`)
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Page File Format
|
|
145
|
+
|
|
146
|
+
Each local Confluence mirror file uses YAML frontmatter for sync metadata:
|
|
147
|
+
|
|
148
|
+
```yaml
|
|
149
|
+
---
|
|
150
|
+
sync:
|
|
151
|
+
confluence_page_id: "123456789"
|
|
152
|
+
confluence_url: "https://company.atlassian.net/wiki/spaces/ENG/pages/123456789"
|
|
153
|
+
space: "ENG"
|
|
154
|
+
parent_page_id: "987654321"
|
|
155
|
+
last_synced: "2025-12-11T10:30:00Z"
|
|
156
|
+
version: 5
|
|
157
|
+
remote_updated: "2025-12-11T09:15:00Z"
|
|
158
|
+
|
|
159
|
+
mode: "structured" # structured | flexible
|
|
160
|
+
|
|
161
|
+
source:
|
|
162
|
+
# For structured mode
|
|
163
|
+
jira_ticket: "PROJ-120"
|
|
164
|
+
doc_type: "technical-architecture"
|
|
165
|
+
generated_from: "docs/jira/rezolve/PROJ/user-authentication/_docs/technical-architecture.md"
|
|
166
|
+
|
|
167
|
+
# For flexible mode
|
|
168
|
+
# origin: "manual"
|
|
169
|
+
# linked_jira: "PROJ-123"
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
# Page Title
|
|
173
|
+
|
|
174
|
+
Page content in markdown, converted to Confluence storage format during sync.
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
See `sync-state-format.md` for full frontmatter schema details.
|
|
178
|
+
|
|
179
|
+
<!-- TODO: Pull additional detail from full rzlv-flow repo for Leaf Bundle pattern specifics and doc-type-mapping rules if available -->
|
|
@@ -0,0 +1,19 @@
|
|
|
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 |
|
|
@@ -0,0 +1,36 @@
|
|
|
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} |
|
|
@@ -0,0 +1,40 @@
|
|
|
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.}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
sync:
|
|
3
|
+
confluence_page_id: ""
|
|
4
|
+
confluence_url: ""
|
|
5
|
+
confluence_title: "Strategic Context — {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: "strategic-context"
|
|
15
|
+
generated_from: ""
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Strategic Context — {Initiative/Epic Name}
|
|
19
|
+
|
|
20
|
+
## Business Objectives
|
|
21
|
+
|
|
22
|
+
{Business goals this work supports. Include measurable targets where possible.}
|
|
23
|
+
|
|
24
|
+
## Product Vision
|
|
25
|
+
|
|
26
|
+
{Target users, value proposition, and how this fits the broader product strategy.}
|
|
27
|
+
|
|
28
|
+
## Market Context
|
|
29
|
+
|
|
30
|
+
{Competitive landscape, market timing, and external factors influencing this work.}
|
|
31
|
+
|
|
32
|
+
## Success Criteria
|
|
33
|
+
|
|
34
|
+
{Measurable outcomes — metrics, thresholds, and how they will be evaluated.}
|
|
35
|
+
|
|
36
|
+
## Strategic Decisions
|
|
37
|
+
|
|
38
|
+
| Decision | Rationale | Date | Confidence |
|
|
39
|
+
|----------|-----------|------|------------|
|
|
40
|
+
| {decision} | {why} | {date} | {High/Medium/Low} |
|
|
41
|
+
|
|
42
|
+
## Related Documents
|
|
43
|
+
|
|
44
|
+
- [{Document title}]({url}) — {brief description}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
sync:
|
|
3
|
+
confluence_page_id: ""
|
|
4
|
+
confluence_url: ""
|
|
5
|
+
confluence_title: "Technical Architecture — {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: "technical-architecture"
|
|
15
|
+
generated_from: ""
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Technical Architecture — {Initiative/Epic Name}
|
|
19
|
+
|
|
20
|
+
## System Overview
|
|
21
|
+
|
|
22
|
+
{High-level architecture description. Key components and how they interact.}
|
|
23
|
+
|
|
24
|
+
## Technology Stack
|
|
25
|
+
|
|
26
|
+
{Languages, frameworks, infrastructure, and key libraries.}
|
|
27
|
+
|
|
28
|
+
## Architecture Decisions
|
|
29
|
+
|
|
30
|
+
| Decision | Options Considered | Chosen | Rationale |
|
|
31
|
+
|----------|--------------------|--------|-----------|
|
|
32
|
+
| {decision} | {options} | {chosen} | {why} |
|
|
33
|
+
|
|
34
|
+
## Integration Points
|
|
35
|
+
|
|
36
|
+
{External systems, APIs, data flows, and contract details.}
|
|
37
|
+
|
|
38
|
+
## Performance & Scalability
|
|
39
|
+
|
|
40
|
+
{Performance targets, scalability strategies, and known constraints.}
|
|
41
|
+
|
|
42
|
+
## Security Considerations
|
|
43
|
+
|
|
44
|
+
{Authentication, authorization, data protection, and compliance requirements.}
|
|
45
|
+
|
|
46
|
+
## Implementation Patterns
|
|
47
|
+
|
|
48
|
+
{Key patterns and approaches used in this codebase.}
|