Step 1 — Pull the spec out of Confluence
mk:confluence-spec-analyst forks an agent, reads the Confluence page and its children, and writes a Spec Research Report locally — never back to Confluence.
Prompt
/mk:confluence-spec-analyst analyze 12345 --include-children 1Or, conversationally:
Analyze the spec at https://acme.atlassian.net/wiki/spaces/ENG/pages/12345
Pull child pages 1 level deep. I want requirements, acceptance criteria,
and any gaps or ambiguities flagged.What happens behind the scenes
| Layer | Action |
|---|---|
| Router | mk:confluence recognizes "spec analysis" intent → forwards to confluence-spec-analyst leaf |
| Skill frontmatter | agent: confluence-spec-analyst + context: fork — spawns the agent in a fresh context window |
| CLI wrapper | confluence-as get-page 12345 --include-children 1 runs via the venv-installed binary |
| Multimodal sub-call | If the page embeds images/PDFs, mk:multimodal is invoked to describe each one and feed findings back into the report. Absent → [NO_MULTIMODAL] flag, analysis continues without it. |
| Children cap | Hard ceiling of 10 children. Default depth 1. Both require explicit raise. |
| Output | Spec Research Report written locally (NOT to Confluence) |
Why context: fork
The spec-analyst agent forks because spec analysis pollutes context with weasel-word inventory, gap-detection heuristics, and full page text. Fork isolates that bulk so your main session stays lean for planning + coding.
What the artifact looks like
# Spec Research Report — Q3 Auth Refresh
> Source: https://acme.atlassian.net/wiki/spaces/ENG/pages/12345 (hash: a3f8...)
> Generated: 2026-05-11 01:08
## Requirements
- R1. Users can log in with Google OAuth
- R2. Sessions expire after 24h of inactivity
- R3. Existing email/password accounts continue to work [LINKED-AC: existing]
## Acceptance Criteria
- AC1. Clicking "Sign in with Google" redirects to Google consent
- AC2. After consent, user lands on /dashboard with a session cookie set
- AC3. After 24h idle, next request → 401 + redirect to /login
- AC4. Email/password login flow is unchanged
## Gaps / Ambiguities
- [MISSING] What scopes do we request from Google? (email only? + profile?)
- [VAGUE] "Sessions expire after 24h" — sliding window or hard expiry?
- [AMBIGUOUS] R3 doesn't say whether OAuth-only users can later add a password
## Suggested User Stories
- Story A: "As a returning user I can sign in with my Google account"
- Maps to: R1, R2, AC1, AC2
- Story B: "As an active user my session stays alive while I work"
- Maps to: R2, AC3
- Story C: "Existing email/password users see no behavior change"
- Maps to: R3, AC4
## Image / Diagram Findings
- Figure 1 (figma-frame "Sign-in v3"): button placement bottom-right, 16px gap
from form fields, primary color #4285F4 (Google brand)Decision point
Human gate (no agent crosses this)
The report lists [MISSING], [VAGUE], [AMBIGUOUS] flags. You decide which need to be resolved before tickets exist. The agent will not guess on your behalf — this is enforced by core-behaviors.md Rule 2 (Manage Confusion Actively).
Next: Step 2 — Send open questions back to the PM · All steps
Spec → PR: Behind the Scenes
A guided walkthrough showing what each MeowKit skill actually does as you take a Confluence spec all the way to a merged PR — prompts, agent handoffs, gates, and report shapes.
Step 2 — Send open questions back to the PM
Footer comments carry the spec's ambiguities back to Confluence. The workflow deliberately pauses here, before any ticket exists.