The 5-Minute Player Diagnostic
Why
The Coach’s Compass Day 1 diagnoses a TEAM; this diagnoses ONE PLAYER, which is the entry point to the pathway-led strategy (Framework, Sessions, IDP). A coach who rates one player and gets a development focus has just done, by hand, the first step of FootballGPT’s My Coaching Path — the product is the obvious “now track this properly for the whole squad” next step. Lane = grassroots player development; funnel product = FootballGPT.
What
Static page at 360tft.co.uk/player-diagnostic/:
- Adapt the Compass Day 1 mechanic (rating buttons, deterministic
calculateResults-style scoring, age-group framing) to a single player: technical, tactical, physical, and mental categories with rubric descriptions rewritten for individual assessment. Derive rubrics from the existing Compass diagnostic content; no invented assessment science. - Result: the player’s strongest area, biggest development focus, and one concrete thing to work on at the next session (sourced, not fabricated).
- Explicit privacy framing: no names entered, nothing stored, everything stays in the coach’s browser.
- CTA: FootballGPT (per-player development tracking). UTM per convention.
- Free Gumroad companion: printable player diagnostic sheet (rate the whole squad on paper). Listing copy drafted; KEVIN creates the listing; claims tagged for a hub sequence (follow-up).
Scope
In: page, rubric adaptation, scoring, Gumroad listing copy draft, free-resources entry, router-quiz destination addition. Out: Gumroad listing creation (Kevin), hub sequence seed (follow-up), any storage/backend (none exists by design), FootballGPT app changes.
Never-list
Standard voice rules; no claims about talent ID or predicting ability (this is a development-focus tool, not a scouting verdict); nothing implying data about the child is collected.
Proof before Shipped
Live 200; scoring traced for 3 rating combinations; grep sweeps clean; rubric text checked against the Compass source for fidelity.
Note (mirrored into this repo 2026-07-25): this PRD is owned and tracked
canonically in 360tft-hub/docs/prd/, per the Hub_ prefix and the PRD
Naming & Per-Product Queues convention in that repo’s CLAUDE.md. It is
copied here only so this repo’s pre-commit Gate 1-3 PRD check has a local
artefact to point at, since the implementation (player-diagnostic/index.html)
lives in this repo (360tft/360tft) while the PRD process lives in the hub.
Treat the hub copy as the source of truth for status changes.
Expected Experience
- Job: a coach rates one player across 11 areas in about five minutes and leaves with a named strength and a named development focus for the next session.
- Peak moment: the result screen naming the player’s strongest area and biggest development focus, each with one concrete action.
- Visual bar: matches the site’s established
layout: nullquiz pattern, directly reusing the visual language and rating-button mechanic ofcoaches-compass/day-1/index.html(same palette, same card structure). - Copy bar: helpful peer voice, no hype, explicit no-names/nothing-stored privacy framing stated on the page itself, not just implied.
- Never-list: no talent ID or scouting-grade claims, no invented assessment science, no suggestion that any player data is collected or stored.
- Proof required: live 200 on
/player-diagnostic/; scoring hand-traced for 3+ rating combinations; every rubric line checked against the Compass Day 1 source it was adapted from; grep sweeps clean. - Shareable test: n/a by design — this tool is explicitly private (no share card), which is itself the point (see Honesty artifact).
- Embarrassment test: no claim on the page is unverifiable or invented — pass (every rubric line traces to the Compass source; every result line is generated from the coach’s own ratings).
Honesty artifact
Stated assumptions (decided during implementation, not spelled out in the PRD body above):
- Rubric text is adapted from
coaches-compass/day-1/index.html(this repo, branchauto/coaches-compass-relaunch, not yet merged at time of writing): all 11 items (4 technical, 3 tactical, 2 physical, 2 mental) and the four-point rating scale carried over unchanged in structure, with question and example text rewritten from team-plural (“do players panic…”) to individual-singular (“does this player panic…”) language. No new assessment categories or criteria were invented. Chose the higher-scoring category as “strongest” and the lower-scoring category as “development focus” using the sameMath.round(average)approach as the Day 1 diagnostic, extended with a max/min reduce instead of Day 1’s min-only reduce (Day 1 only surfaces the lowest category; this tool surfaces both ends since the PRD asks for “strongest area” too). - The four “Focus” action paragraphs (one per category) are adapted from Day 1’s own “Next 7 days” recommendation bullets, rewritten from team instructions to individual-player language, not fabricated new coaching content. The four “Strongest area” notes are new short paragraphs written to explain what a category-leading score means for that player, since Day 1 has no equivalent “your team’s strongest area” copy to adapt (Day 1 only ever surfaces the weakest category) — flagging this one block as original-but-consistent-with-source rather than a direct adaptation.
- No share card was built. The PRD’s Never-list requires “nothing implying data about the child is collected”; a public share/copy feature for a named player’s result would cut against the explicit no-names/nothing- stored privacy framing the PRD requires, so it was left out rather than guessed at. Flagging in case Kevin wants a genuinely anonymous share option later (e.g. “I just diagnosed a player’s development focus with 360TFT” with no scores attached).
- Router-quiz destination addition (PRD’s “in scope” list) was NOT done.
The parent task explicitly instructed: never touch
which-product/(owned by a sibling PR), and that instruction overrides the PRD’s own scope where the two conflict. Flagging for whichever PR currently ownswhich-product/to add/player-diagnostic/as a routing destination. - Added a
free-resources.mdentry (in scope, not excluded by the parent task’s do-not-touch list) linking to the new page.
Known gaps (explicitly out of scope for this PR):
- No Gumroad listing created (Kevin’s action, per PRD scope). Listing copy
drafted at
docs/gumroad-listings/player-diagnostic.md. - No hub nurture sequence for
gumroad:player-diagnostic-sheetclaims (follow-up once the listing exists, per PRD scope). - No analytics event firing: same pre-existing, site-wide gtag-loader gap
documented in the
which-product/,coaches-compass/, andtime-audit/PRDs. UTM params on the outbound FootballGPT link are the only campaign-attribution signal available. - No local Jekyll build run (no
ruby/bundle/jekyllon this machine). Verified instead withnode scripts/manual-html-validator.jsand manual front-matter/permalink comparison against workinglayout: nullpages.