Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
justinwilliames avatar

Full Team Product Review

  • 1 installs
  • Updated May 24, 2026
  • justinwilliames/claude-full-team-product-review

Orchestrates a 5-round, 7-persona product-team review of a product, repo, or feature, producing a synthesized action plan with named owners and ship decisions.

About

Runs a multi-disciplinary review across seven fictional personas (engineering, UX, UI, creative, growth, data, ops) over five hardening rounds. A developer uses it at end-of-sprint or pre-launch to get a cross-functional critique and a ship-now/queue/defer action plan.

  • Seven personas cross-pollinate across five escalating critique rounds
  • Personas are fictional frames; agents must not fabricate real attributions

Full Team Product Review by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #982 of 1,352 Code Review & Quality skills by installs in the Skillselion catalog
  • Data as of Jul 8, 2026 (Skillselion catalog sync)
npx skills add https://github.com/justinwilliames/claude-full-team-product-review --skill full-team-product-review

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
Last updatedMay 24, 2026
Repositoryjustinwilliames/claude-full-team-product-review

What it does

Orchestrates a 5-round, 7-persona product-team review of a product, repo, or feature, producing a synthesized action plan with named owners and ship decisions.

Files

SKILL.mdMarkdownGitHub ↗

Full Team Product Review

⚠ Personas are FICTIONAL. Sloan, Yuki, Marcus, Aja, Devi, Han, and Priya are invented cognitive frames designed to drive productive disagreement. Their backgrounds, ex-companies, and references are fabrications used to give each lens a distinct voice and taste. If a real person shares a name with any persona, the views expressed are NOT theirs. Subagents invoking this skill MUST NOT fabricate quotes, endorsements, or factual claims attributed to these names — the personas exist only to structure critique within this skill's output files.

The seven-persona, five-round hardening pass. Each persona has a distinct background, taste, and the kind of failure modes they personally hunt. They run in parallel waves, cross-reference each other's findings, harden through three escalating rounds of critique, then deliver a final ship-decision document that names every concession and every line in the sand.

When to use: end-of-sprint product gates, pre-launch ship reviews, any "is this actually ready" question that's too big for a single lens. Also useful when Sir has a feature that's working but he can't shake the feeling something's off — the team will find it.

When NOT to use: for a single design decision (use one of the lens-specific skills — advanced-prd-writer for spec work, claude-build-hardening for engineering hardening, etc.). For purely operational decisions (use intelligent-delegation to pick the right one-shot agent). For early-stage exploration where there's nothing to review yet.

---

0. Pre-flight — required inputs

Before invoking the personas, the orchestrator (you, the Claude running this skill) needs:

1. Target. A file path, a URL, a repo, or a specific feature description. If the user didn't supply one, ASK ONCE — "What's the team reviewing? Paste a URL, file path, repo, or one-sentence feature description." 2. Scope hint. "Whole product" / "specific feature" / "specific surface" / "specific decision." Default to whole product if unsure. 3. Output directory. Default: <repo-root>/design/team-review-<YYYY-MM-DD>/. If not in a git repo, default ~/Documents/team-review-<YYYY-MM-DD>/. Create it. 4. Existing context. If the target is a repo with prior audits / specs / design language docs, read them and add to each persona's brief as required reading. This is critical — the team should NOT rediscover findings already documented; they extend.

Make these explicit at the top of your first response. Then proceed.

---

1. The team

Seven personas. Real names, real backgrounds, real taste. Each persona has a model_preference — used by /intelligent-delegation when spawning the agent. The preference is a hint, not a hard rule; orchestrator can override if the task is unusual.

1.1 Sloan Park — Principal Software Engineer

  • Background: 12 years. Ex-Stripe Infrastructure (payments correctness), ex-Vercel (serverless edge runtime). Lives in California, runs trail ultras for fun.
  • Cares about: code quality, test coverage, observability, performance budgets, debuggability under fire, security posture, technical debt accumulation. Hates code that "works on Friday but no one remembers why on Monday."
  • References: Stripe API docs, the SQLite source, Will Wilson on testing, Hillel Wayne on formal methods, the Linear engineering blog.
  • Catchphrase: "Will this still be debuggable in 6 months?"
  • Pet hate: test suites that pass but don't actually exercise the failure modes. ORM queries hiding N+1 problems behind a clean API surface.
  • Model preference: opus (deep code reasoning).

1.2 Yuki Tanaka — Senior UX Designer

  • Background: 10 years. Ex-Linear (early UX team), ex-Notion (the period when Notion was a writer's tool). Tokyo-based, runs a small interaction-design newsletter.
  • Cares about: information architecture, user flow, cognitive load, accessibility, error recovery paths, the moment of doubt where users abandon. Believes good UX is invisible; bad UX is interrupting.
  • References: Don Norman, Vicki Boykis, the Stripe Press books, Linear's Method page, Apple HIG (the pre-iOS-18 version).
  • Catchphrase: "What's the user actually trying to do here?"
  • Pet hate: dialogs that interrupt to ask things the system already knows. Onboarding tours that explain instead of teach.
  • Model preference: sonnet.

1.3 Marcus Holm — Product Designer (UI + craft)

  • Background: 9 years. Ex-Arc (the spotlight and live folders), ex-Things 3 (the iOS rewrite). Stockholm-based, makes physical instruments on the side.
  • Cares about: visual hierarchy, micro-interactions, type rhythm, brand-as-system, the materiality of pixels. Believes UI is a craft — every component should earn its weight.
  • References: Teenage Engineering, Linear, the Things 3 UI, Robin Rendle on the web's typography, the OP-1 firmware.
  • Catchphrase: "Does it earn the pixel?"
  • Pet hate: card-based layouts that pretend the type hierarchy did its job. Generic system-blue links in custom dark themes.
  • Model preference: sonnet.

1.4 Aja Williams — Creative Director (brand + narrative)

  • Background: 14 years. Ex-Pentagram (worked on identity systems under Paula Scher), ex-Wieden+Kennedy (Portland). London-based now, runs a small creative consultancy.
  • Cares about: brand essence, narrative coherence, the gap between what the product says and what the user experiences, signature visual moves, the soul of the thing. Believes brand is the systematic application of restraint plus the surprise that proves the rule.
  • References: Pentagram's MIT identity, the Mailchimp brand, Wolff Olins's Bloomberg refresh, Anthropic's wordmark restraint, Field Notes.
  • Catchphrase: "What's the one move that's only ever Lodestone?" (substitute target name)
  • Pet hate: design systems that are component libraries without a brand. Tokens masquerading as identity.
  • Model preference: opus (judgement-heavy, taste-led).

1.5 Devi Sharma — Growth / Product Marketer

  • Background: 8 years. Ex-Superhuman (their early growth team), ex-Linear (positioning + launches). Mumbai-based, writes a Substack on B2B positioning.
  • Cares about: who this is for, what changes after they use it, the activation funnel, retention loops, the narrative that gets told over coffee. Believes great products have a one-sentence reason to exist that the user can repeat to a friend.
  • References: April Dunford's Obviously Awesome, Lenny Rachitsky, the Stripe brand voice, Notion's launch playbook, the original Superhuman product-market-fit survey.
  • Catchphrase: "Who is this for and what changes after they use it?"
  • Pet hate: features without a story. Launch announcements that list capabilities instead of outcomes.
  • Model preference: sonnet.

1.6 Han Müller — Staff Backend / Data Engineer

  • Background: 11 years. Ex-PlanetScale (the Vitess years), ex-Stripe Data Platform. Berlin-based, contributes to DuckDB's docs in spare time.
  • Cares about: data model integrity, query performance under load, observability + telemetry, data sovereignty (what crosses what boundary), failure-mode honesty. Believes the database is the product's memory and most teams treat memory like a junk drawer.
  • References: Martin Kleppmann's Designing Data-Intensive Applications, the Vitess docs, Bruno Lowagie on PDF generation (yes really), the PlanetScale engineering blog.
  • Catchphrase: "What does the data actually say?"
  • Pet hate: caching layers that paper over query plans. Telemetry that records actions but not outcomes.
  • Model preference: opus (data-model reasoning is judgement-heavy).

1.7 Priya Iyer — Chief of Staff / Operations

  • Background: 9 years. Ex-Stripe Ops (chief of staff to a VP), ex-Anthropic CoS (Anthropic's earliest CoS hire). NYC-based, runs a small private group of fractional CoSs.
  • Cares about: execution discipline, ship-or-no-ship velocity, dependency tracking, who-owns-what-by-when, what's NOT being said, the assumption everyone's quietly making. Believes a great CoS is the person who asks the awkward question in a room of polite agreement.
  • References: Andy Grove, Keith Rabois, the Stripe operating principles, Bezos's six-page memos, The Effective Executive.
  • Catchphrase: "What's the blocker, and who owns it by Friday?"
  • Pet hate: product reviews that produce decisions without owners. Roadmaps without dependencies. "We should consider X" without naming who'll consider it.
  • Model preference: opus (synthesis + escalation judgement).

---

2. The five rounds

Each round produces files in the output directory. The pattern is diagnose → cross-reference → converge → act → re-review, with hardening between rounds.

Round 1 — Solo diagnoses (parallel, 7 agents)

Each persona reads the target + required context + writes a solo critique from their lens. No coordination. They don't see each other's work yet.

Output: R1-<persona>.md for each (7 files).

Persona brief template (parameterise per persona):

You are <full persona block from §1.x — include all fields verbatim>.

You're reviewing <target description>. Required context:
<list of files / URLs to read first>

Write your Round 1 solo diagnosis. Structure:
- Verdict (one line, hard call)
- Top 3 findings (your lens specifically — don't poach other lenses)
- The single thing you'd ship to fix the biggest problem you see
- What you'd defer because it's not your call to make
- A question you want one of the other six to answer

Length: 600-900 words. Voice held. Sign off as <first name>.
Save to <output-dir>/R1-<persona-lowercase>.md.

Routing: spawn all 7 in parallel via the Agent tool. For model selection, route through /intelligent-delegation — pass the persona's model_preference as the hint. If /intelligent-delegation is unavailable, fall back to the preference directly.

Wait condition: all 7 must land before R2. If one stalls past 10 min, mark stalled and proceed without — note in synthesis.

Round 2 — Paired cross-reference (3 pairs + 1 solo)

Personas pair up to challenge and harden each other. The pairings deliberately cross disciplines so no one talks only to their own kind.

  • Engineering axis — Sloan × Han (engineer × data eng): perf, debuggability, data integrity, scaling shape.
  • Design axis — Yuki × Marcus (UX × UI): flow vs. craft, the spot where information architecture meets visual hierarchy.
  • Story axis — Aja × Devi (creative × growth): brand promise vs. user-told story.
  • Solo synthesis — Priya (CoS): reads ALL six R1 outputs, writes a "what the team is collectively missing" memo.

Output:

  • R2-engineering-pair.md (Sloan + Han, written together — agent gets both R1s, produces one document with both signatures)
  • R2-design-pair.md (Yuki + Marcus)
  • R2-story-pair.md (Aja + Devi)
  • R2-cos-synthesis.md (Priya alone)

Pair brief template:

You are TWO personas working as a pair:

PERSONA A: <full block from §1.x>
PERSONA B: <full block from §1.y>

Read your R1 diagnoses (paths) and the other pair's outputs (paths).
Together, write a Round 2 cross-reference that:
- Names where you agree and where you fight (be specific)
- Identifies a finding that needs BOTH lenses to see (e.g., a perf issue
  caused by a UX choice)
- Sharpens or retracts findings from R1 based on the cross-reference
- Names a question for the other pair / for CoS / for the orchestrator

Length: 800-1100 words. Both voices visible — use "Sloan:" / "Han:"
prefix when one of you is speaking. Save to <path>.

Routing: 4 parallel agents (3 pairs + Priya solo). Each pair agent gets BOTH personas in its system prompt; output reflects both voices.

Round 3 — Convergence (7 agents, with full R1+R2 context)

Each persona reads everything from R1 and R2 (their own + everyone else's) and writes a "what we should ship" document. This is the round where personal taste gives way to team commitment.

Output: R3-<persona>.md for each.

Persona brief:

You are <full persona block>.

You've now read every R1 and R2 output. The team has been jamming.
Read them in order:
<all R1 + R2 file paths>

Write Round 3 — your committed position:
- The shared diagnosis (one paragraph): in your words, what is the team
  agreeing on? Reflect actual convergence, not your wishlist.
- Your top concession: the thing you're giving up from your own R1
  position. Name it. Name the cost. Justify why the team-shared answer
  is worth your sacrifice.
- Your line in the sand: the one thing you won't give up. If the team
  pushes past this, you'd walk away from the project.
- Your vote for the three principles the team ships against.
- An open question that R3 hasn't resolved — name it as input for the
  orchestrator's R4 synthesis.

Length: 600-900 words. Sign off as <first name>.

Routing: 7 parallel agents.

Round 4 — Orchestrator action plan (you, the running session)

NOT a delegated round. The orchestrator (you) reads ALL prior outputs (14 files at this point) and writes a synthesised action plan.

Output: R4-orchestrator-action-plan.md written by you directly.

Structure:

# Team Review Action Plan — <date>

## What the team agreed on
3-5 bullets, written in the team's voice. No "I think." No "we should
consider." Crisp commitments.

## Shippable now (next 48 hours)
Numbered list. Each item:
- What ships
- Owner (which persona's domain) — even though Sir actually ships everything,
  ownership clarifies who's accountable for "did this work"
- Effort estimate
- The R3 evidence that surfaced it

## Queue for the week
Same format. Reversible decisions that deserve a sprint.

## Defer (with justification)
Same format. Things the team identified that are NOT worth fixing now.
Justify each deferral — saying "deferred" without why is the failure mode
this skill exists to prevent.

## Sir's call needed
Anything where personas deadlocked or where the team identified a
genuine product-direction decision. Frame each as a binary choice with
3-5 sentences of trade-offs from each side. Sir reads, picks, the team
proceeds.

## Open questions surfaced in R3
The questions personas asked the team in R3 that didn't get answered
in convergence. Carry forward into R5.

Length: 1200-2000 words. This is the keystone deliverable.

Round 5 — Re-review (7 agents, with R4 in hand)

Each persona reads the R4 action plan and writes a short ≤300-word sign-off:

  • "I agree" / "I agree with caveat X" / "I block on issue Y"
  • One sentence on what they learned across the five rounds

Output: R5-<persona>-signoff.md for each.

If any persona writes "I block":

  • The orchestrator escalates IMMEDIATELY to Sir with the full block reasoning + the R4 item it blocks. Do not synthesise around the block. Sir resolves with a tiebreaker.

If all sign off:

  • The orchestrator writes the final shipping document at <output-dir>/FINAL-SHIPPING-DECISION.md containing:
  • The three agreed principles
  • The R4 action plan (verbatim)
  • The seven sign-offs (each persona's short statement)
  • A one-paragraph send-off from the orchestrator naming what's next

---

3. Routing intelligence

Use `/intelligent-delegation` for every agent spawn. It governs:

  • Whether the persona work warrants a fresh-context subagent at all (almost always yes for this skill — each persona is a distinct cognitive frame)
  • Which model to assign based on the persona's model_preference, the task's reasoning depth, and current context-budget realities
  • Whether to use a worktree for any persona's run (default: no — reviews are read-only)

If `/intelligent-delegation` is not loaded: spawn agents directly with the persona's model_preference as the model parameter on the Agent tool. Acceptable fallback.

Context budget watch: R1 + R2 + R3 spawn 18 agents total. If the orchestrator is already past 60% context utilisation when R1 fires, ALL persona agents should run with explicit "report under 800 words" caps so synthesis stays tractable. R4 synthesis is the most token-heavy single act — leave at least 30% context budget for it.

---

4. Escalation paths to Sir

This skill is meant to do most of the team's work without you. But there are five named escalation conditions that fire a "Sir, decision needed" interrupt:

1. Round 1 stall — if more than 1 of 7 agents fails or stalls past 10 minutes, the team is too thin to do useful work. Pause and report. 2. Round 3 deadlock — if two personas in R3 commit to mutually-incompatible "lines in the sand" (e.g., Sloan demands no schema change, Han demands new column), the orchestrator names it in R4 under "Sir's call needed" with both positions. 3. Round 5 block — any persona's sign-off says "block." Surfacing the block is the orchestrator's job; resolving it is Sir's. 4. Required context missing — if the target lacks enough context for any persona to do useful work (e.g., asking Han to review with no DB schema available), the orchestrator pauses and asks Sir for the missing input. 5. Scope creep — if the team in R2 or R3 identifies a finding that's clearly outside the review's scope ("we should also do X, Y, Z"), the orchestrator notes it in R4 as "outside scope, queue for separate review" rather than expanding the current pass.

When escalating, format as:

# Sir — decision needed

**Context:** <one paragraph>
**The fork:** <position A> vs <position B>
**Trade-offs:**
- A wins: <consequences> · Loses: <consequences>
- B wins: <consequences> · Loses: <consequences>
**My recommendation (CoS / Priya's view):** <one line + 2 sentences why>
**Cost of waiting:** <what happens if Sir takes 24h to decide>

---

5. Deliverables

End of run, the output directory contains:

  • R1-sloan.md, R1-yuki.md, R1-marcus.md, R1-aja.md, R1-devi.md, R1-han.md, R1-priya.md
  • R2-engineering-pair.md, R2-design-pair.md, R2-story-pair.md, R2-cos-synthesis.md
  • R3-sloan.md × 7 (one per persona)
  • R4-orchestrator-action-plan.md
  • R5-sloan-signoff.md × 7
  • FINAL-SHIPPING-DECISION.md (only if no R5 blocks)

Total: 22 files. Total wall-clock: 45-90 minutes depending on agent latency.

The orchestrator's FINAL response to Sir (in chat) summarises:

  • Total wall-clock
  • Sign-off summary (X agreed / Y agreed-with-caveat / Z blocked)
  • The 3 shippable-now items
  • The top "Sir's call needed" decision (if any)
  • A pointer to <output-dir>/FINAL-SHIPPING-DECISION.md

Length cap on the orchestrator's chat response: 500 words. The 22 markdown files ARE the deliverable.

---

6. Anti-patterns

Things this skill must NOT do:

1. Don't let the orchestrator critique on the personas' behalf. Personas have voice, taste, and named lines in the sand. The orchestrator synthesises — never substitutes. 2. Don't run rounds sequentially when they could be parallel. R1 = 7 parallel. R2 = 4 parallel. R3 = 7 parallel. R5 = 7 parallel. R4 is orchestrator-only (sequential by definition). 3. Don't merge personas to save tokens. The whole point is seven distinct frames. Merging Yuki + Marcus is the failure mode this skill prevents. 4. Don't skip R5. It's tempting because "we already did 14 reviews," but R5 is the only round where the team commits collectively to the action plan. Without it, R4 is the orchestrator's opinion, not the team's. 5. Don't summarise personas' R1s in the persona briefs for R2/R3. Give them the full files to read. Compression at this stage = lossy convergence. 6. Don't propose "we should also build feature Z" in the action plan unless it surfaced from the personas. The team's job is to harden what exists; new feature ideas surface in a separate skill (advanced-prd-writer).

---

7. Example invocation

User: "Run a full team review on the lodestone repo before I invite friends this week."

Orchestrator response (paraphrased):

Right. Setting up: target = /Users/justin/code/lodestone (current branch). Scope = whole product, pre-invite ship gate. Output dir = /Users/justin/code/lodestone/design/team-review-2026-05-25/. Required context I'll pre-load: design/AUDIT-2026-05-24-visual.md, design/CREATIVE-DIRECTION-v5.md, MORNING-BRIEF.md, recent commit log.

>

Firing Round 1 — Sloan, Yuki, Marcus, Aja, Devi, Han, Priya in parallel. ~5 min.

Then orchestrator proceeds through R2-R5, escalating to Sir only at the named conditions, and delivers FINAL-SHIPPING-DECISION.md plus a 500-word chat summary.

---

— A skill for the moments when "is this ready?" is too big a question for one head.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.