[object Object]

← back to Cli Printing Press

fix(skills): user-first transcendence feature discovery

a1fae23bafbf90ea542f61ce412e92c261801c3c · 2026-04-11 15:28:45 -0700 · Trevin Chow

Replace the tech-first "what can SQLite do?" brainstorming with a
user-first framework:

1. Identify 2-4 specific user personas (not "developers" but
   "someone checking HN before standup")
2. Map each persona's rituals and frustrations
3. Identify service-specific content patterns (Show HN, Who's Hiring,
   franchise collections, playlist types)
4. Validate each feature is mechanical (no LLM dependency)

The old approach generated generic compound queries. The new approach
generates features that make power users say "I need this" — like
`hn since 2h` for the morning checker or `show --hot` for launch day.

Also removes hardcoded domain archetypes (Sports → trend analysis)
that led to cookie-cutter features instead of service-specific ones.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit a1fae23bafbf90ea542f61ce412e92c261801c3c
Author: Trevin Chow <trevin@trevinchow.com>
Date:   Sat Apr 11 15:28:45 2026 -0700

    fix(skills): user-first transcendence feature discovery
    
    Replace the tech-first "what can SQLite do?" brainstorming with a
    user-first framework:
    
    1. Identify 2-4 specific user personas (not "developers" but
       "someone checking HN before standup")
    2. Map each persona's rituals and frustrations
    3. Identify service-specific content patterns (Show HN, Who's Hiring,
       franchise collections, playlist types)
    4. Validate each feature is mechanical (no LLM dependency)
    
    The old approach generated generic compound queries. The new approach
    generates features that make power users say "I need this" — like
    `hn since 2h` for the morning checker or `show --hot` for launch day.
    
    Also removes hardcoded domain archetypes (Sports → trend analysis)
    that led to cookie-cutter features instead of service-specific ones.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---
 skills/printing-press/SKILL.md                     | 21 ++++--
 skills/printing-press/references/absorb-scoring.md | 80 +++++++++++++++++-----
 2 files changed, 79 insertions(+), 22 deletions(-)

diff --git a/skills/printing-press/SKILL.md b/skills/printing-press/SKILL.md
index 2d0f68f0..f45a6a8d 100644
--- a/skills/printing-press/SKILL.md
+++ b/skills/printing-press/SKILL.md
@@ -923,20 +923,31 @@ Every row = a feature we MUST build. No exceptions. If someone else has it, we h
 
 SDK wrapper methods should be treated as features to absorb — each public method/function is a feature the CLI should match.
 
-### Step 1.5c: Identify compound use cases
+### Step 1.5c: Identify transcendence features
 
-What compound use cases become possible ONLY when ALL absorbed features live in SQLite together?
+Start with the users, not the technology. The best features come from understanding
+who uses this service, what their rituals are, and what questions they can't answer
+today. "What can SQLite do?" is the wrong question. "What would make a power user
+say 'I need this'?" is the right one.
+
+Read [references/absorb-scoring.md](references/absorb-scoring.md) Step 1.5c.5 for
+the **User-First Feature Discovery** framework: identify 2-4 specific user personas,
+map their rituals and frustrations, identify service-specific content patterns, then
+generate features that serve those personas.
+
+After the user-first pass, also check for compound use cases that are only possible
+with local data:
 
 ```markdown
-### Transcendence (only possible with our local data layer)
+### Transcendence (only possible with our approach)
 | # | Feature | Command | Why Only We Can Do This |
 |---|---------|---------|------------------------|
 | 1 | Bottleneck detection | bottleneck | Requires local join across issues + assignees + cycle data |
 | 2 | Velocity trends | velocity --weeks 4 | Requires historical cycle snapshots in SQLite |
-| 3 | Duplicate detection | similar "login bug" | Requires FTS5 across ALL issue text + comments |
+| 3 | What did I miss | since 2h | Requires time-windowed aggregation no single API call provides |
 ```
 
-Minimum 5 compound use case features. These are the NOI commands.
+Minimum 5 transcendence features. These are the commands that differentiate the CLI.
 
 ### Step 1.5c.5: Auto-Suggest Novel Features
 
diff --git a/skills/printing-press/references/absorb-scoring.md b/skills/printing-press/references/absorb-scoring.md
index 0656988c..dc1b39b0 100644
--- a/skills/printing-press/references/absorb-scoring.md
+++ b/skills/printing-press/references/absorb-scoring.md
@@ -7,30 +7,76 @@
 
 **This step runs automatically.** No user interaction. Synthesize ALL research gathered so far (Phase 1 brief + Phase 1.5a ecosystem search + Phase 1.5b absorb manifest) into evidence-backed feature recommendations.
 
-#### Gap Analysis
+#### User-First Feature Discovery
+
+Before generating features from technical capabilities, think about the humans
+who will use this CLI. The best transcendence features come from understanding
+user rituals and service-specific content patterns, not from asking "what can
+SQLite do?"
+
+##### Step 1: Identify specific user personas (2-4 personas)
+
+Don't say "developers" or "users." Name specific people with specific habits:
+
+- "Someone who checks HN every morning before standup"
+- "A hiring manager scanning Who's Hiring threads monthly"
+- "A movie buff deciding what to watch tonight"
+- "A developer about to post their Show HN launch"
+
+Draw these from the Phase 1 brief's "Users" and "Top Workflows" sections. Each
+persona represents a feature surface.
+
+##### Step 2: Map each persona's rituals and frustrations
+
+For each persona, answer:
+- **What do they do repeatedly?** (daily/weekly/monthly rituals with this service)
+- **What question do they wish they could answer but can't?** (This IS the feature.)
+- **What's tedious about their current workflow?** (This IS the automation opportunity.)
 
-Analyze these 5 categories using data already gathered — do NOT run new searches:
+Example (HN):
+- Persona: "Morning HN checker"
+- Ritual: Opens HN, scans top stories, opens a few
+- Question they can't answer: "What hit the front page while I was coding?"
+- Feature: `hn since 2h` — one command, no setup
+
+##### Step 3: Identify service-specific content patterns
+
+Every service has unique content types, categories, or workflows that define its
+identity. These are feature surfaces that generic "CRUD + analytics" thinking misses:
+
+- HN: Show HN, Ask HN, Who's Hiring, Who's Looking (each is a feature surface)
+- Spotify: Playlists, Discover Weekly, Wrapped/year-end stats
+- GitHub: PRs, Issues, Actions, Discussions (each has its own workflows)
+- TMDb: Collections/franchises, Watch providers, Trending
+
+For each content pattern, ask: "What would the power user of THIS specific
+feature want that no existing tool provides?"
+
+##### Step 4: Validate each feature is mechanical
+
+For every candidate feature, verify it can be built without an LLM or external
+service. If it needs AI summarization, reframe it as a mechanical analysis
+(top-rated comments, author stats, frequency counts) with pipe-friendly output
+that users can send to an LLM themselves.
+
+#### Gap Analysis
 
-1. **Domain-specific opportunities** — Based on the API Identity from Phase 1 brief. What intelligence does this domain uniquely enable?
-   - Sports APIs → trend analysis, player comparison, game alerts, fantasy projections
-   - Project management APIs → bottleneck detection, velocity trends, workload balance, stale issue radar
-   - Payments APIs → reconciliation, revenue trends, dispute tracking, churn prediction
-   - Communication APIs → response time analytics, channel health, thread summarization
-   - CRM APIs → pipeline velocity, deal scoring, contact engagement trends
+After the user-first discovery, run these technical analyses to find anything
+the persona work missed:
 
-2. **User pain points** — From Phase 1 research: npm README "limitations" sections, GitHub issues on competitor repos, community docs mentioning workarounds, PyPI package descriptions mentioning what's missing
+1. **Cross-entity queries** — What joins across synced tables produce insights no single API call can?
 
-3. **Competitor edges** — From the absorb manifest: what does the BEST competitor tool uniquely offer that nobody else has? Can we beat it with the SQLite layer?
+2. **User pain points** — From Phase 1 research: npm README "limitations" sections, GitHub issues on competitor repos, community docs mentioning workarounds
 
-4. **Cross-entity queries** — What joins across synced tables produce insights no single API call can? (This overlaps with Step 1.5c but approaches it from the data model, not the use case)
+3. **Competitor edges** — From the absorb manifest: what does the BEST competitor tool uniquely offer? Can we beat it?
 
-5. **Agent workflow gaps** — What would an AI agent using this CLI wish it could do in one command instead of multiple? (e.g., "show me everything about X" commands, bulk operations, pre-flight checks)
+4. **Agent workflow gaps** — What would an AI agent using this CLI wish it could do in one command instead of multiple?
 
-6. **Self-brainstorm** — Answer these questions using the research context gathered so far. Do NOT ask the user — answer them yourself from the research brief, absorb manifest, and ecosystem findings:
-   - Based on the research brief's top workflows and user profiles, what workflows does the typical power user of this API do that aren't covered in the absorbed features?
-   - Based on competitor repo issues, community pain points, and ecosystem gaps found in Phase 1/1.5, what are the most annoying limitations that a CLI with SQLite could fix?
-   - Based on the NOI and domain archetype, what single "killer feature" would make a power user install this CLI over any alternative?
-   - (Only when `USER_BRIEFING_CONTEXT` is non-empty) Based on the user's stated vision, what features directly serve their stated goals that the absorbed features don't already cover?
+5. **Self-brainstorm** — Answer using research context:
+   - What workflows do power users do that aren't covered in the absorbed features?
+   - What are the most annoying limitations that a CLI with local data could fix?
+   - What single "killer feature" would make a power user install this over any alternative?
+   - (Only when `USER_BRIEFING_CONTEXT` is non-empty) What features directly serve the user's stated goals?
 
 #### Generate and Score Candidates
 

← 06569757 fix(cli): double -pp-cli suffix in manifest + Phase 5 skips  ·  back to Cli Printing Press  ·  fix(skills): add self-vetting gate for transcendence feature c04b6c10 →