skills/sprint-planner/SKILL.md
Orchestrates the full product strategy pipeline: product audit → roadmap → sprint plan with PM decision gates. This skill reads ACTUAL source code, cross-references git history, and produces three deliverables — a brutally honest product audit, a thesis-driven roadmap, and a sprint plan with PM decision gates between every phase. Use this skill whenever someone mentions: "sprint plan", "product roadmap", "plan the sprints", "PM questions", "product strategy", "audit this app", "roadmap this feature", "plan development", "break this into sprints", "phase this work", "create a development plan", "quarter planning", "what should we build next", "evaluate this app", "feature audit", "product review", "development roadmap", or any request for deliberate, methodical planning of software work. Also trigger when users want to evaluate whether features earn their place, when they reference PM decision gates or go/no-go checkpoints, or when they want to understand what's worth keeping in a codebase before planning new work. Even if the user only asks for one stage (just an audit, just a sprint plan), use this skill — it will guide them through the appropriate subset.
npx skillsauth add ComputerConnection/zach-pack sprint-plannerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A three-stage product strategy pipeline that produces a product audit, thesis-driven roadmap, and sprint plan with PM decision gates. Each stage builds on the previous one, and the quality of the output depends entirely on reading real source code — never planning from specs alone.
Most sprint plans fail because they start from a feature list, not from reality. A PM says "we need segments to be actionable" without knowing that the segment page is six read-only cards with no action handlers. An engineer estimates "2 days" for device tracking without knowing there's no devices table — just a service that reconstructs device identity from work order records on every query.
This pipeline fixes that by forcing three things:
<div> with a comment saying the feature isn't built." You only find those by reading source.Stage 1: Product Audit → {APP}_PRODUCT_AUDIT.md
Stage 2: Product Roadmap → {APP}_ROADMAP.md
Stage 3: Sprint Plan → {APP}_SPRINT_PLAN.md
Each stage can be run independently, but they're designed to flow together. If the user asks for just a sprint plan, check whether an audit and roadmap exist first — if not, suggest running the earlier stages.
The audit answers one question: what is this thing, actually? Not what the README says, not what the Jira board claims — what does the source code reveal about the product's true state?
This is non-negotiable. Read:
page.tsx, route.ts, or equivalent. Map every screen the user can visit.any types, commented-out fields.Build a mental model of: what screens exist, what data flows between them, what actions a user can take, and where the gaps are.
Use these specific commands to build a development activity picture:
# Per-directory commit count over 3 time windows
git log --oneline --since="2 weeks ago" -- <path> | wc -l
git log --oneline --since="1 month ago" -- <path> | wc -l
git log --oneline --since="3 months ago" -- <path> | wc -l
# Last meaningful commit per directory
git log -1 --format="%H %ad %s" -- <path>
# Active branches that touch this area
git branch -a --list "*feature*" --list "*feat*" | head -20
# Check PROGRESS.md or equivalent sprint tracker if it exists
Check three time windows: 2 weeks (active development), 1 month (recent work), 3 months (project history). The pattern that matters: an app with 50 commits in 3 months but 0 in 2 weeks tells a different story than one with steady 5/week.
What to look for:
A file with no commits in 6 months sitting next to actively developed files is a signal worth noting.
For each app, module, or feature area, assess:
For each feature area, answer: if we removed this, would the product be worse? If not, it shouldn't be there. Force the hard call — keep only 3 features per area. This is deliberately painful. It reveals what's core vs. what's accumulated.
For the exact output structure, read references/output-templates.md before writing the audit deliverable.
app/page.tsx:89 shows a stat card counting 'Setting Categories' — a static structural number that will never change."The roadmap answers: what should this become, and in what order?
This is the most important step and the one most often skipped. The thesis is a one-paragraph statement that defines what the product IS and what makes it different from generic alternatives.
Bad thesis: "We need to improve the CRM with better features and integrations." Good thesis: "A computer repair shop CRM is not a sales funnel. It's a device relationship ledger. The device IS the relationship — 'we fixed your Dell XPS screen last March' is more valuable than any lead score."
The thesis should:
Ask the user to help articulate this. Push back on generic theses. If they say "we need better customer management," ask: what makes YOUR customers different from a SaaS company's customers?
Don't just flag gaps — design the solution. For each major area:
Be specific enough that an engineer could start building from your description. Include field names, API endpoint shapes, UI layout descriptions.
For each pair of apps that should talk to each other:
Don't organize phases as "P0, P1, P2" by importance. Organize by what MUST exist before the next thing can be built.
Example: You can't build "segment actions" until segments exist. You can't build "device-aware upsell" until devices are first-class entities. Phase by the dependency chain.
Every roadmap needs explicit boundaries — what the product should NOT become. These prevent scope creep and keep the thesis intact.
Good hard nos are tempting features that feel like progress but would dilute the product:
For the exact output structure, read references/output-templates.md before writing the roadmap deliverable.
The sprint plan answers: exactly what gets built, in what order, with what checkpoints?
1-week sprints. Long enough to ship something meaningful, short enough to course-correct.
Sprint 0 is always planning. No code. Just PM alignment, branch strategy, dependency verification, and answers to the first PM decision gate. This sprint prevents the most expensive mistakes.
PM Decision Gates between every phase. These are 5-6 business questions that must be answered in writing before the next phase begins. They are the backbone of the plan.
Phase Definitions of Done are user-observable behavior changes. Not "sprints complete" — a narrative scenario. "A staff member opens the new-quote form, types 'Sarah' into the customer field, and sees Sarah Chen appear with her VIP badge and score of 82 — without typing a UUID."
Every deliverable has a file path. An engineer who's never seen the codebase should be able to execute from the sprint plan. Specify exact file paths for every component, migration, API route, and test file.
Cross-app impact tracked per sprint. A table showing which apps/packages are touched by each sprint prevents surprise breakage.
Each sprint needs:
### Sprint {ID}: {Name}
**Phase:** {N}
**Duration:** 1 week
**Depends on:** {previous sprint(s)}
**Goal:** {One sentence — what the user can do after this sprint that they couldn't before}
**Deliverables:**
- [ ] `{exact/file/path.ext}` — {what this file does, in enough detail to build from}
- [ ] `{exact/file/path.ext}` — {description}
{repeat for every file that needs to be created or modified}
**Acceptance Criteria:**
- {Specific, testable condition — not "it works" but "typing 3+ characters returns results within 400ms"}
- {Another condition}
- {TypeScript compilation check: `npm run typecheck` passes in affected workspaces}
**Estimated Complexity:** Low / Medium / High
**Risk:** {What could go wrong, and what to check before starting}
**Other apps affected:** {list apps that consume or emit events/APIs touched by this sprint}
PM gates go between phases. They contain 5-6 questions that force real business decisions.
What makes a good PM question:
What makes a bad PM question:
Each gate should include context for why the question matters — what breaks or gets built differently based on the answer.
Each phase ends with a narrative definition of done — a story of a real user doing real things. This replaces checkbox-style completion criteria.
Example: "A staff member clicks the 'At-Risk' segment card, sees 18 customers who haven't visited in 60+ days, selects all 18, picks the 'We Miss You' email template, and clicks Queue. The Closer agent picks up the tasks within a minute, resolves each customer's first name and last device, and writes a composed message to each communication log."
End the sprint plan with:
For the exact output structure, read references/output-templates.md before writing the sprint plan deliverable.
When the user wants a complete product strategy:
Ask clarifying questions first:
Run Stage 1 (Audit): Read all source code. Cross-reference git history. Produce {APP}_PRODUCT_AUDIT.md.
Pause for user review. The audit reveals reality — the user may want to adjust scope before roadmapping.
Run Stage 2 (Roadmap): Build on audit findings. Develop thesis with user input. Produce {APP}_ROADMAP.md.
Pause for user review. The thesis and phase structure need buy-in before sprint planning.
Run Stage 3 (Sprint Plan): Break phases into 1-week sprints with PM gates. Produce {APP}_SPRINT_PLAN.md.
The user may ask for just one stage:
data-ai
Inject Zach's full identity, business context, and working preferences. Use at session start to eliminate cold starts. Lightweight context load — not a full agent like Vision, just who Zach is and how to work with him.
tools
--- name: vision description: "Zach's personal AI — his Jarvis. NOT a store agent. This is the owner's private command center that sits above everything else. Handles anything Zach needs — business, personal, technical, strategic, creative. High-systems AI: precise, anticipatory, authoritative. Invoke for ANY task." context: fork allowed-tools: Read, Grep, Glob, Bash, Edit, Write, Task, TodoWrite argument-hint: [what-do-you-need] — freeform. Vision figures out the rest. --- # VISION — Zach's Ja
development
Tauri-specific development patterns for NEXUS. Use when building desktop app features, handling IPC, or working with Rust backend.
development
Document Computer Connection store processes in AI-queryable format. Use to capture SOPs for the store AI server POC.