MeowKit
Spec → PR: Behind the Scenes

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 1

Or, 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

LayerAction
Routermk:confluence recognizes "spec analysis" intent → forwards to confluence-spec-analyst leaf
Skill frontmatteragent: confluence-spec-analyst + context: fork — spawns the agent in a fresh context window
CLI wrapperconfluence-as get-page 12345 --include-children 1 runs via the venv-installed binary
Multimodal sub-callIf 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 capHard ceiling of 10 children. Default depth 1. Both require explicit raise.
OutputSpec 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

On this page