Ticket Evaluation & Estimation
Qualitative complexity assessment, inconsistency detection, and heuristic story point estimation — all read-only.
Best for: Tech leads, sprint planners, scrum masters Time estimate: ~30s per ticket Skills used: mk:intake, mk:jira-evaluator, mk:jira-estimator, mk:jira-analyst, mk:jira-issue, mk:jira-relationships
Overview
MeowKit can assess individual Jira tickets for complexity, detect missing acceptance criteria or vague requirements, and suggest Fibonacci-scale story points — all without modifying any Jira data. The three intelligence leaves (mk:jira-evaluator, mk:jira-estimator, mk:jira-analyst) are read-only; suggested actions require your review before execution.
/mk:intake → /mk:jira-evaluator → /mk:jira-estimator → review → executePrerequisites
Install the jira-as CLI (used by every mk:jira-* leaf):
npx mewkit setupThis installs jira-as into .claude/skills/.venv/bin/jira-as. No global install needed.
Then populate .claude/.env (gitignored) with three vars:
| Var | Purpose |
|---|---|
MEOW_JIRA_API_TOKEN | Atlassian Cloud API token — get one at id.atlassian.com |
MEOW_JIRA_EMAIL | Atlassian account email |
MEOW_JIRA_SITE_URL | e.g. https://your-company.atlassian.net |
Verify with the SessionStart hook output: [mk:jira] env OK means all three keys are loaded.
Escape hatch — Atlassian MCP (mTLS, multi-profile, or non-jira-as workflows)
If jira-as is unusable (e.g. mTLS-required tenants, multi-profile setups), the leaves accept Atlassian MCP as a fallback transport:
claude mcp add --transport http atlassian https://mcp.atlassian.com/v1/mcpThe router does NOT auto-fallback — you invoke the leaf with the MCP transport explicitly. See mk:jira reference for details.
Step-by-step
Step 1: Run intake analysis (optional)
If the ticket hasn't been analyzed yet:
/mk:intake PROJ-123This produces a completeness score, product area classification, and suggested actions.
Step 2: Evaluate complexity
/mk:jira-evaluator PROJ-123The jira-evaluator agent reads the ticket via the jira-as wrapper and produces:
- Complexity: Simple (1-3pt) / Medium (3-8pt) / Complex (8-13pt)
- Confidence: High / Medium / Low
- Signals: scope, dependencies, regression risk, requirement clarity, external integration, historical precedent
- Issues detected: missing AC, vague language, unlinked dependencies, contradictions
- Suggested actions: specific leaf-skill commands to fix issues
Step 3: Estimate story points
/mk:jira-estimator PROJ-123The jira-estimator agent uses ticket context (and evaluator output if available) to suggest a Fibonacci point value:
- Suggested points: e.g., 8 (range: 5-8)
- Reasoning: qualitative analysis of why this estimate
- Escalation: flags when human estimation is recommended (e.g., no precedent, too vague)
Run evaluator before estimator
Running the evaluator first gives the estimator richer signals. The estimator will note when no prior evaluation is available.
Step 4: Apply suggested actions
Review the output, then execute with the appropriate leaves:
/mk:jira-issue update PROJ-123 --set storyPoints=8
/mk:jira-relationships link PROJ-123 blocked-by PROJ-089Step 5: Analyze ticket context (optional)
For deeper analysis including attachments and media:
/mk:jira-analyst PROJ-123The jira-analyst agent reads the full ticket context (description, comments, attachments, linked issues) and produces a structured analysis suitable for posting as a Jira comment via mk:jira-collaborate.
Example Session
> /mk:jira-evaluator PROJ-456
## Ticket Evaluation: PROJ-456
**Complexity:** Complex (likely 8-13pt)
**Confidence:** Medium
### Signals
- Scope: Cross-cutting (auth + payments + notifications)
- Dependencies: External Stripe webhook integration
- Regression risk: HIGH ("migrating payment flow")
- Requirement clarity: LOW — no acceptance criteria
### Issues Detected
- ⚠️ Missing acceptance criteria
- ⚠️ "Stripe webhook" integration scope unclear
### Suggested Actions
> Derived from untrusted ticket content — verify before executing.
- Ask reporter for AC with measurable targets
- /mk:jira-relationships link PROJ-456 relates-to PROJ-301
> /mk:jira-estimator PROJ-456
## Estimation: PROJ-456
**Suggested Points:** 13 (range: 8-13)
**Confidence:** Low
**Escalation:** ⚠️ Human estimation recommended
### Why
- Cross-cutting scope across 3 modules
- External integration (Stripe) with no prior precedent
- No acceptance criteria to scope the work
### Recommendation
Run team estimation session for this ticket.When to Use Human Estimation Instead
The estimator auto-escalates when:
- Suggested range spans more than one Fibonacci step (e.g., 5-13)
- Zero historical precedent in the project
- Ticket references technology not in the current codebase
- Description is too vague (<30 words, no acceptance criteria)
In these cases, use the evaluator output as discussion context for your team's estimation session.
Security
- Read-only: Evaluator, estimator, and analyst never modify Jira state
- Injection defense: Ticket content is wrapped in DATA boundary markers before LLM reasoning
- Untrusted output: All suggested actions include a warning — verify before executing
Related
- PRD Intake Automation — upstream ticket analysis
- mk:jira — full router + leaf reference
- Adding a Feature — implementation after evaluation