Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
cf37868
feat(course): initial spine — 6-module setup + cleanup
pftg May 12, 2026
83f86bb
content(course): Phase 1-3 polish — cold-eyes, ICP-E fixes, UI/UX, SEO
pftg May 16, 2026
f15eb10
feat(course): 5-module spine merge — namespace migration + validators
pftg May 20, 2026
0afd4c7
fix(course): layout — Hugo aliases, navigation, covers, template cleanup
pftg May 20, 2026
649d52e
content(course): Phase 4 polish — voice rework, module 2 renumber, CI…
pftg May 23, 2026
5129f9f
content(course): AI deep-research — logic-flow, critic sweeps, execut…
pftg May 30, 2026
d9a6883
content(course): Pass 7 — reader-navigation callouts, ADR sync, retro…
pftg Jun 2, 2026
cced96b
feat(course): AI critic blocks — 6 copy-pasteable templates + DPA live
pftg Jun 2, 2026
6d98d03
content(course): Iterations 2-8 — sales-funnel, lead-magnet, voice, p…
pftg Jun 3, 2026
63fb7d7
docs(2605): add Sam customer journey report (40.06) + trust score met…
pftg Jun 4, 2026
15b3750
docs(2605): mark 40.06 Sam journey report as Done in TASK-TRACKER
pftg Jun 4, 2026
9f50c5d
content(course): Iter 9 — Sam cold-reader fixes (CRITICAL + HIGH)
pftg Jun 4, 2026
9c5a44d
research: add 2026 business idea validation tools & 6-week startup la…
pftg Jun 4, 2026
5f9607a
content(course): Ch 4.3 split into two sub-pages + cross-ref audit + …
pftg Jun 5, 2026
3552ad9
content(course): add VenturusAI, DimeADozen, Preuve AI to Ch 1.1 vali…
pftg Jun 5, 2026
37878dd
content(course): Iter 10 — AI-prompt format + hand-off integrity fixes
pftg Jun 5, 2026
91582e9
docs(2605): consolidate project docs — archive obsolete files, sync c…
pftg Jun 5, 2026
6d3fb0d
content(course): sync "What AI can/cannot do" callout with new valida…
pftg Jun 5, 2026
368cfd9
content(course): module-1+2 chapter splits + Sam-pass + CSS callouts
pftg Jun 5, 2026
a49eb1e
content(course): Iter 12 - 5-lens Sam loop convergent fixes (3 CRITIC…
pftg Jun 5, 2026
bd5706d
content(course): Iter 12 follow-up - bridge gaps + cover_image
pftg Jun 5, 2026
164ac47
content(course): Iter 13 convergent fixes (3 CRITICAL + 9 HIGH + 5 ME…
pftg Jun 6, 2026
364fd00
content(course): Iter 14 batch 1 - opener rotation + visuals + callou…
pftg Jun 6, 2026
6de4372
content(course): Iter 14 batch 2 - DPA embed + module checkpoints + s…
pftg Jun 6, 2026
c2a3af4
content(course): Iter 15 convergent fixes (2 CRITICAL + 6 HIGH + 9 ME…
pftg Jun 6, 2026
d50b7cf
content(course): Iter 16 surgical fixes + v2 micro-lesson scaffolding…
pftg Jun 8, 2026
c9f6b9e
docs(2605): strategic pivot - v1 long-form shipped → v2 micro-lesson …
pftg Jun 8, 2026
1c95c93
content(course) + docs(2605): Iter 17 - Phase 1 pilot review + one-ca…
pftg Jun 8, 2026
7084a7b
content(course) + docs(2605): Iter 18 - Mixo-only pilot + case-study …
pftg Jun 10, 2026
7bb879d
content(course) + docs(2605): Iter 19 - tool-agnostic pilot lessons +…
pftg Jun 10, 2026
3c8aa1e
docs(2605): strategy cleanup - ONE ICP (Sam) + 5-module spine across …
pftg Jun 11, 2026
fb800da
content(course) + docs(2605): pilot-first strategy sync + skills PRD-…
pftg Jun 11, 2026
938fb48
content(course) + docs(2605): Iter 20 - live-reader UX fixes + 30.03 …
pftg Jun 11, 2026
1e0b99d
docs: AGENTS.md — replace course-specific skill lists with generic pr…
pftg Jun 11, 2026
ddb2223
content(course): course design audit — syllabus drift fix + wire-trac…
pftg Jun 11, 2026
77ae595
content(course): strip 1.2a commodity steps - 6-step Do-Now -> compac…
pftg Jun 11, 2026
9e9aea6
content(course): full M1 conversion to 8-part template micro-lessons
pftg Jun 11, 2026
914f0b0
docs(2605): update M1 rubric for compressed 8-part template lessons
pftg Jun 11, 2026
c892d8e
fix(course): remove type:reference from companion pages (Hugo 404)
pftg Jun 11, 2026
ea2c385
style(course): replace em dashes with regular dashes in all 5 M1 less…
pftg Jun 11, 2026
ad11b94
content(course): add M1 walkthrough page (Mia) + See it in action foo…
pftg Jun 11, 2026
d254592
style(course): fix em dashes in M1 walkthrough page (missed in ea2c385)
pftg Jun 11, 2026
ba0c014
fix(course): add lesson links to M1 walkthrough section headers
pftg Jun 11, 2026
fb75c5a
fix(course): merge dual Result beats in M1 walkthrough 1.3 for strict…
pftg Jun 11, 2026
a670289
style(course): voice guide fixes in hypothesis-sprint-full companion
pftg Jun 11, 2026
bd91206
fix(course): 3 Sam-review Cycle 6 fixes in M1 walkthrough
pftg Jun 11, 2026
ad946cf
fix(course): reframe 1.1 and 1.2b outcome lines as human outcomes, no…
pftg Jun 11, 2026
7698732
docs(2605): add OUTCOME vs OUTPUT rule to 30.03 section 2.2
pftg Jun 11, 2026
0270cfd
fix(course): replace em dashes with -- in new 1.1 and 1.2b outcome lines
pftg Jun 11, 2026
d49faf4
fix(course): apply 4 remaining multi-persona review fixes to M1
pftg Jun 11, 2026
c0740eb
fix(course): add lens subheading to 1.1 + first-occurrence link rule …
pftg Jun 11, 2026
62ba1be
fix(course): remove non-critical time estimates from 1.2a and 1.2b
pftg Jun 11, 2026
0676975
fix(course): 10-perspective M1 review - 15 fixes applied across all 5…
pftg Jun 11, 2026
466db2b
fix(course): add campaign creation recipes to channel guide + wire 1.…
pftg Jun 11, 2026
d4d0890
fix(course): resolve 1.2b/1.2c channel sequencing circularity
pftg Jun 11, 2026
9bcc59b
fix(course): make 1.3 step 3 tool-agnostic (Mixo + Durable paths)
pftg Jun 11, 2026
6a4a162
fix(course): medium-priority fixes - Do-Now consistency + description…
pftg Jun 11, 2026
e8b38c7
fix(course): 6 fixes from M1 practitioner walkthrough audit
pftg Jun 11, 2026
3de3fb4
content(walkthrough): update Mia M1 walkthrough for structural fixes
pftg Jun 11, 2026
6d2b461
content(walkthrough): polish Mia walkthrough - pixel sequencing + nar…
pftg Jun 11, 2026
b629f09
fix(course): lock v2 micro-lesson template (1.2a + 1.2b) + capture te…
pftg Jun 11, 2026
b88b61c
fix(course): apply session learnings to 1.2a + lock convergence-check…
pftg Jun 12, 2026
3cde7d5
fix(course): apply v2 template to M1 remaining lessons (1.1, 1.2c, 1.3)
pftg Jun 12, 2026
f6ec0fc
fix(course): M1 finalize - 1.2b title rename, Mia walkthrough sweep, …
pftg Jun 14, 2026
1ada7bf
content(walkthrough): align 1.3 Mixo redirect wording with lesson — '…
pftg Jun 16, 2026
4c350c3
docs(project): refresh TASK-TRACKER — M1 v2 complete, active phase pi…
pftg Jun 16, 2026
770dab8
fix(course): landing page restructure - voice cleanup + F-pattern + 6…
pftg Jun 16, 2026
fa92a4a
docs(2605): mark landing page review DONE - 3-critic restructure shipped
pftg Jun 16, 2026
d25fbe4
fix(course): landing page stickiness pass - per-module Walk-away call…
pftg Jun 16, 2026
ef4eb31
content(walkthrough): Mia M1 walkthrough rephrase - voice/clarity pass
pftg Jun 16, 2026
e11460b
content(walkthrough): Mia M1 walkthrough - story rewrite (Click/Desig…
pftg Jun 16, 2026
cdafffa
fix(course): landing page 4-critic synthesis - F1-F12 fixes + D1/D2/D…
pftg Jun 21, 2026
b6cdcca
release(course): Module 1 release - Option C reframe (M1 released, M2…
pftg Jun 22, 2026
7937ef8
fix(course): replace em-dash with hyphen in lesson 1.3
pftg Jun 26, 2026
a25a6d7
content(course): landing page - result-first opening, strip release-s…
pftg Jun 26, 2026
6206607
fix(course): reindex Module 1 lessons 1.2a/b/c + 1.3 → 1.2/1.3/1.4/1.5
pftg Jun 26, 2026
155ab5d
fix(course): consistency pass - update stale 1.2a/1.3 refs after reindex
pftg Jun 26, 2026
f35326a
deps: upgrades
pftg Jun 26, 2026
17d8abb
Merge origin/master into module-8-first-paying-customer
Jul 7, 2026
7dd8b89
fix(ci): make check-node-runtime step tolerate nonzero exit codes
Jul 7, 2026
ca2738d
refactor(ci): remove check-node-runtime and dead node shim, delete co…
Jul 7, 2026
c278646
release(course): publish Module 1 - flip drafts, delete stale v1 less…
Jul 7, 2026
1c841ff
docs(refactoring): rewrite CSS dedup plan as executable playbook with…
Jul 7, 2026
84a5f26
content(course): landing page cleanup pass - accuracy, repetition, li…
Jul 7, 2026
5f95ad2
refactor(course): rewrite ICP from Alex (burned) to Sam (first-timer)
Jul 8, 2026
960a20b
refactor(course): reframe Ch 4.2 from Alex rescue to Sam prevention
Jul 8, 2026
4c2d2c8
refactor(course): remove remaining Alex framing from P2-P4 audit fixes
Jul 8, 2026
9b56eb7
refactor(course): remove rescued founders language from Ch 4.3a
Jul 8, 2026
769a93c
refactor(course): reframe ownership-checklist template from Alex to Sam
Jul 8, 2026
41dbef4
fix(course): Module 1 ICP read-back fixes — gloss at first mention, S…
Jul 8, 2026
2401e0b
feat(course): redesign landing page — hero CTA, module cards, artifac…
Jul 8, 2026
ede89b4
fix(course): sans-serif font on 3 unstyled lesson diagrams
Jul 8, 2026
a486cf7
feat(course): cover images for lessons 1.2 and 1.3
Jul 8, 2026
4c7a14d
feat(course): single-source course stats via course-stat shortcode
Jul 8, 2026
1b641d2
fix(course): cold-eyes punch-list — band gap, quickstart path, dup le…
Jul 8, 2026
d45a43e
fix(course): retarget 17 production-broken links to drafted old 5.3 c…
Jul 9, 2026
1ac9e74
fix(course): legacy cleanup + CodeRabbit review fixes
Jul 9, 2026
c54aa56
fix(course): resolve cold-eyes reviewer blockers — timing, gate, arti…
Jul 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .claude/agents/semble-search.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: semble-search
description: Code search agent for exploring any codebase. Use for finding code by intent, locating implementations, understanding how something works, or discovering related code. Prefer over Grep/Glob/Read for any semantic or exploratory question.
tools: mcp__semble__search, mcp__semble__find_related, Read
---

Use the semble MCP tools only — do **not** invoke the `semble` CLI via Bash.

## Tools

- `mcp__semble__search(query, repo, top_k?, mode?)` — natural-language or symbol query against a codebase. `repo` is a local path or `https://` git URL; the index is cached for the session.
- `mcp__semble__find_related(file_path, line, repo, top_k?)` — nearest-neighbor expansion from a known hit. Pass `file_path` and `line` exactly as returned by a prior `search`.
- `Read` — open returned files when the chunk lacks enough context.

`mode` defaults to `hybrid` (best for most queries). Use `semantic` for pure intent search; `bm25` for keyword/symbol-heavy queries.

## Workflow

1. Call `mcp__semble__search` with a natural-language description of intent ("save model to disk", "authentication flow") or a symbol name. Always pass `repo` — the absolute path of the project root, or a git URL.
2. Read full files only when the returned chunk is insufficient.
3. Optionally call `mcp__semble__find_related` with a promising hit's `file_path` and `line` to discover related implementations and callers.
4. If `mcp__semble__search` returns no relevant hits after 2-3 query variations, return the empty result rather than substituting another search tool - the agent has only the semble + Read tools by design.

## Rules

- MCP only. The `semble` CLI is off-limits in this agent.
- Always pass `repo` explicitly; do not rely on a default index.
- Report results as `file_path:line` so the caller can navigate.
34 changes: 0 additions & 34 deletions .claude/rules/lean-ctx.md

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,4 @@ docs/projects/**/sprint-*-coordinator-report.md
docs/projects/**/sprint-*-verification-report.md
docs/projects/**/*-coordinator-report.md
docs/projects/**/*-verification-report.md
.grepai/
156 changes: 156 additions & 0 deletions .skills/course-lesson-review-sam/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
---
name: course-lesson-review-sam
description: Run a Sam-perspective customer-research review on a draft course lesson. Use this skill whenever the user asks to review a lesson from Sam's perspective, check a lesson for ICP fit, validate that a lesson works for non-technical founders, or mentions `/course-lesson-review-sam`. Triggers on phrases like "Sam review", "review this lesson", "check this for Sam", "ICP review", "customer lens review", or any request to validate a course lesson against the target audience.
---

# Course Lesson Sam-Review

Run a Sam-perspective customer-research review on a draft lesson. Channels Sam beat-by-beat with verbatim reactions, friction points, glossing gaps.

## Pre-loaded context

### Project docs (what we're reviewing against)

1. **PRD** — `.agent/prd/PRD.md` — formal product requirements: 5-module architecture, 15 quality gates, artifact chain, Sam ICP. Every lesson must advance Sam toward the course promise.
2. **5-Sam Validation Pilot** — Planned but NOT YET EXECUTED. The current simulation learnings (40.11) are imputed, not field-validated. Real Sams may stall where the simulation didn't predict. Be aware that all simulation findings are provisional — do not treat them as proven.

### Canonical spec (what the lesson SHOULD match)

1. **30.03 §2 — 8-part template** — `docs/projects/2605-tech-for-non-technical-founders/30-39-architecture-design/30.03-course-format-requirements-for-creators.md` §2 (the non-negotiable 8-part template: Hook → Outcome → Concept → Visual → Do-Now → Error → Reflection → Bridge)
2. **30.03 §1 — design principles** — §1.1-1.6 (single outcome, time cap, microlearning structure, self-paced, mobile-friendly, word count bands)
3. **30.03 §5 — content spec** — §5.1-5.3 (course-level elements, per-lesson elements, micro-copy constraints, NN/g F-pattern rules)
4. **30.03 §4 — engagement** — §4.1-4.8 (immediate win, attention cycle, B=MAP, Zeigarnik, progress visibility, language, navigation)

### Sam profile (who we're reviewing FOR)

5. **Sam profile (course ICP)** — `docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.06-sam-customer-journey-report-2026-06.md` (first-time non-technical founder, no PM background, no burn history, 2-4 hr/week, ~$20K savings, reads on phone, intimidation + first-timer enthusiasm)
6. **Sam simulation learnings** — `docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.11-sam-simulation-pilot-lessons-2026-06.md` (5 themes from beat-by-beat simulation: "I don't have to write code" trust gate, catalogue-my-mistake pattern, measurable success criterion, UI-cue gap, decision-aid-in-one-sentence)
7. **Voice guide** — `docs/90-99-content-strategy/strategy-analysis/90.11-voice-guide.md` (banned words, anti-AI structural patterns, the "who"/"show"/"coffee" tests)

### Canonical v2 examples (what a passing lesson looks like)

8. **Pilot Lesson 1.2a** — `content/course/tech-for-non-technical-founders-2026/smoke-test-build-page/index.md` (~870w, agnostic-tool framing, Mixo as worked example)
9. **Pilot Lesson 1.2b** — `content/course/tech-for-non-technical-founders-2026/smoke-test-wire-tracking/index.md` (~640w, heavy gloss pass)

**DO NOT reference v1 long-form chapters as style examples.** v1 chapters are 2,000-4,500 words and do NOT follow the 8-part template. Only the 2 pilot lessons are canonical v2 examples.

### Sam's profile card (quick reference)

| Attribute | Detail |
|---|---|
| **Role** | Founder & CEO, B2B SaaS |
| **Age** | 38 |
| **Tech literacy** | Can read a Stripe invoice, cannot read a GitHub commit |
| **Burn history** | NONE — this is Sam's FIRST venture. No prior devshop experience. |
| **PM background** | NONE — never worked in product management |
| **Current state** | Has runway, has an idea, has NOT validated anything yet |
| **Emotional load** | Intimidation ("everyone seems to know things I don't"), first-timer enthusiasm ("this course will finally make it clear"), fear ("what if I pick wrong?") |
| **Reading mode** | Skim-first, time-poor. Reads H2 headings on phone during commute before committing. Wants specific numbers, not vague promises. |
| **Trust trigger** | "This person knows I'm coming in cold and doesn't judge me for it." |
| **Trust killer** | Jargon without explanation. Too many choices. Being told to "figure it out." |

## The 6 tests

Run all 6 tests on the draft lesson. For each test, produce:
- A verdict (PASS / PARTIAL / FAIL)
- The specific line or section that triggered the verdict
- A Sam-character verbatim reaction (how Sam would actually react in his head)
- A priority fix (HIGH / MEDIUM / LOW)

### Test 1: 3-second hook test

Can Sam tell what this lesson does and why he should care within the first 2 sentences?

- Read the hook (first 1-3 sentences after the course-frame callout)
- If the hook is a narrative vignette longer than 3 sentences, it FAILS
- If the hook uses "we" language without naming Sam's pain, it FAILS
- If Sam can't picture what tangible thing he'll walk away with after reading the hook, it FAILS

Sam's likely reaction to a bad hook: opens lesson, scrolls past 4 paragraphs, thinks "I don't know what this is for," closes tab.

### Test 2: Glossing audit

Every term Sam doesn't know — decoded at first mention?

Scan the entire lesson body. Flag every technical term and check:
- Is it glossed at first mention with a one-sentence plain-English definition?
- Is the gloss in parentheses right next to the term, not in a footnote or sidebar?
- Filter for: MVP, PMF, ICP, CTA, DPA, ARR, MRR, SOC2, HIPAA, API, RLS, JWT, OAuth, SDK, CI/CD, CMS, DNS, SSL, JSON, CSV, HTML, CSS, JS, SQL, CRUD, REST, GraphQL, webhook, endpoint, deploy, staging, production, migration, ORM, framework, runtime, SDK, hero section, incognito mode, headless CMS, CDN, reverse proxy

For each unglossed term, Sam's reaction: "I keep nodding but I don't know what half of these mean."

### Test 3: Progressive disclosure

First 30% orients Sam; thresholds/metrics arrive only when Sam acts on them.

- Does the first 30% of the lesson body (after the course-frame callout, before the "Do this now") ONLY orient Sam?
- Do thresholds, decision numbers, scoring rubrics appear only in or after the action section?
- If a scoring table or decision threshold appears in the first 30%, it FAILS

Sam's reaction to bad progressive disclosure: "There's a 40% threshold and a 7/10 score and a $300 budget and I haven't even been told what I'm building yet."

### Test 4: Tool-paralysis check

Single golden path or named alternatives?

- Does the lesson recommend ONE primary tool with exactly ONE named fallback?
- If there's a comparison table with 4+ options, it FAILS
- If Sam has to make a tool choice before the action steps, it FAILS

Sam's reaction to tool paralysis: "Mixo vs Carrd vs Lovable vs Framer — which one? What if I pick wrong? I'll come back to this later." (Never comes back.)

### Test 5: Confidence-to-act check

Sam knows what to do next with no remaining ambiguity?

- After reading the entire lesson, can Sam name the next step without re-reading?
- Is there an observable success check?
- Is there a concrete "If blocked" escape valve?
- If any of these three is missing or vague, it FAILS

Sam's reaction to ambiguity: "OK... I think I'm supposed to build something? With what? How do I know if it worked?"

### Test 6: Off-ICP drift check

Any sentence that reads as written for a developer, PM, or scarred founder?

Scan every sentence and ask:
- Would a first-time founder who's never hired a devshop understand this?
- Would someone with zero PM background follow this?
- Does any sentence assume the reader has been burned before?
- Does any sentence use "your devshop" or "your last agency" or "the team you fired"?

For each sentence that fails, Sam's reaction: "This is written for someone who's been through this before. I haven't."

## Output format

Always produce this exact output structure:

```
## Sam Review — [Lesson Slug]

### Overall: [PASS / PARTIAL / FAIL] ([N]/6 tests passed)

### Beat-by-beat

| # | Test | Verdict | What triggered it | Sam's reaction | Fix priority |
|---|---|---|---|---|---|
| 1 | 3-second hook | PASS/FAIL | "exact quote from lesson" | "Sam's verbatim reaction" | HIGH/MED/LOW |
| ... | ... | ... | ... | ... | ... |

### Priority fix list

1. **[HIGH/MED/LOW]** [specific fix instruction]
2. ...

### Verbatim Sam quotes

- "[what Sam would actually say to a friend about this lesson if it were a draft]"
```

## What NOT to do

- Do NOT critique the lesson as a technical reviewer — ONLY channel Sam
- Do NOT suggest structural rewrites that serve SEO or "best practices" — Sam doesn't care about those
- Do NOT use "the learner would benefit from" language — say "Sam wouldn't understand this"
- Do NOT grade on word count alone — a 700-word lesson that passes all 6 tests is fine for Sam
Loading
Loading