name: building-truth-base description: Use when starting on a new product, joining a team, or needing a shared understanding of product, customers, and current bets.
Building Truth Base
Overview
Creates a Day-1 shared map of the product: what it is, who it serves, current roadmap themes, and top unknowns. This becomes the foundation for all other PM work.
When to Use
- Starting a new PM role or joining a product team
- Need to establish baseline understanding
- Want to document what you've learned from onboarding
- Someone asks "what does this product actually do?"
Core Pattern
Step 1: Gather Context
Follow protocol in .claude/rules/pm-core/context-gathering.md:
- Detect available inputs in
inputs/roadmap_deck/,inputs/product_demo/,inputs/knowledge_base/ - Check for existing truth base in
outputs/truth_base/ - Present options to user via AskUserQuestion:
- [List documents found: strategy decks, demos, KB articles]
- [Show existing truth base if updating]
- [Point me to another document]
- [Describe the product you want me to document]
- Read
.beads/insights.jsonlfor relevant product patterns - Proceed with selected context
Step 2: Gather Available Sources
Read all selected files in:
inputs/roadmap_deck/- strategy slides, PDFsinputs/product_demo/- demo notes, walkthroughsinputs/knowledge_base/- KB articles about the product
If sources are missing, list what's needed and ask user to provide.
Step 3: Extract Key Information
From sources, identify:
- What the product is (1 paragraph)
- Who it serves (actors, personas, segments)
- Core terminology (what do key terms mean in this context?)
- Core workflows (user journeys, key flows)
- Current roadmap themes (from deck)
- Known constraints (tech debt, compliance, trust issues)
Step 4: Identify Unknowns
List 10-15 open questions you cannot answer from the sources. These become your investigation priorities.
Step 5: Generate Output
Write to outputs/truth_base/truth-base.md with metadata header:
---
generated: YYYY-MM-DD HH:MM
skill: building-truth-base
sources:
- inputs/roadmap_deck/strategy.pdf (modified: YYYY-MM-DD)
- inputs/product_demo/demo-notes.md (modified: YYYY-MM-DD)
downstream:
- outputs/roadmap/Qx-YYYY-charters.md
---
# Truth Base: [Product Name]
## What Is This Product?
[1 paragraph description]
## Who Does It Serve?
| Actor | Description | Key Jobs |
|-------|-------------|----------|
| ... | ... | ... |
## Core Terminology
| Term | Meaning (in this context) |
|------|---------------------------|
| ... | ... |
## Core Workflows
1. **[Workflow Name]:** [Brief description]
- Trigger: ...
- Steps: ...
- Outcome: ...
## Current Roadmap Themes
| Theme | Description | Evidence |
|-------|-------------|----------|
| ... | ... | [source file] |
## Constraints & Risks
| Constraint | Impact | Source |
|------------|--------|--------|
| ... | ... | Evidence/Assumption |
## Top 15 Open Questions
1. [Question] — *Priority: High/Medium/Low*
2. ...
## Sources Used
- [file paths]
## Claims Ledger
| Claim | Status | Confidence | Source | Last Verified |
|-------|--------|------------|--------|---------------|
| ... | fact/assumption/hypothesis | high/med/low | [source:line] | YYYY-MM-DD |
### Status Definitions
| Status | Meaning | Action Required |
|--------|---------|-----------------|
| **fact** | Verified from authoritative source | None - treat as ground truth |
| **assumption** | Inferred, reasonable but unverified | Validate within 30 days |
| **hypothesis** | Speculative, needs testing | Must test before building on it |
### Confidence Criteria
| Level | Criteria |
|-------|----------|
| **high** | Multiple sources agree, recently verified, authoritative |
| **med** | Single source, somewhat dated, reasonable inference |
| **low** | Weak source, speculation, conflicting signals |
Step 6: Copy to History
Run pm-os mirror --quiet to copy to history/building-truth-base/
Step 7: Update Staleness Tracker
Update nexa/state.json and append to outputs/audit/auto-run-log.md with the new output and its sources.
Step 8: Post-Skill Reflection
Follow protocol in .claude/rules/pm-core/post-skill-reflection.md:
- Extract 3-5 key learnings from building this truth base
- Create learning entry in
history/learnings/YYYY-MM-DD-building-truth-base.md - Create insight beads in
.beads/insights.jsonl - Request output rating (1-5 or skip)
- Detect and log any decisions made
- Report capture completion to user
Quick Reference
| Action | Location |
|---|---|
| Input sources | inputs/roadmap_deck/, inputs/product_demo/, inputs/knowledge_base/ |
| Output | outputs/truth_base/truth-base.md |
| History | history/building-truth-base/ |
| Downstream | Quarterly charters |
Common Mistakes
- Inventing product details: Only claim what's in sources → Mark unknowns as Open Questions
- Skipping terminology: "Catalog" means different things → Define terms explicitly
- Too few questions: 3 questions isn't enough → Aim for 10-15 open questions
- No sources cited: "The product does X" → Always cite which file told you this
Verification Checklist
- All source files read and listed
- Product description is 1 paragraph (not a page)
- Actors/personas table populated
- Terminology table has key domain terms
- At least 10 open questions identified
- Every claim has Evidence/Assumption tag
- Metadata header includes sources and timestamps
- Output copied to history folder
- Staleness tracker updated
Goal-Backward Verification
Before marking complete, run goal-backward check (see .claude/rules/pm-core/goal-backward-verification.md):
Goal: New team member can understand product in 15 minutes.
Observable truths (must all pass):
- Someone unfamiliar can explain the product's value prop
- Open questions identify actual unknowns (not just padding)
- Terminology matches what the team actually uses
- Core workflows are actionable (trigger → steps → outcome)
On failure: Do not mark complete. Note which checks failed in Open Questions section.
Evidence Tracking
| Claim | Status | Confidence | Source | Last Verified |
|---|---|---|---|---|
| [Product does X] | fact | high | inputs/roadmap_deck/strategy.pdf:12 | YYYY-MM-DD |
| [Users are Y segment] | assumption | med | inferred from KB articles | YYYY-MM-DD |
| [Integration with Z exists] | hypothesis | low | not stated in sources | - |