Movement Leader Substrate
Produce the canonical substrate document for a movement leader at docs/movement_leader_research/{slug}/{SLUG}_RESEARCH_COLLATED.md. The substrate is a machine-readable corpus that downstream systems (RAG, agent context, voice agents, network graphs, page generators) consume.
Invocation
/movement-leader-substrate $ARGUMENTS
$ARGUMENTS:
- A leader name or slug:
Alan Hirsch,alan-hirsch,Brad Brisco --refreshto regenerate from existing per-topic source files without re-running web research--from-researchto assumedocs/movement_leader_research/{slug}/source files exist and only build the substrate- Empty → ask for the leader
What this skill IS
A single output, one file: {SLUG}_RESEARCH_COLLATED.md serving four functions only.
| Function | What it enables | Substrate sections |
|---|---|---|
| Identity resolution | Disambiguate the subject from namesakes; canonical biographical facts | Identity, Disambiguation, Editorial bio |
| Relational traversal | Walk co-author, endorsement, organizational, intellectual-influence edges | Network graph, Intellectual genealogy, Organizational affiliations |
| Conceptual indexing | Look up frameworks, books, themes, claims by name | Frameworks, Bibliography, Theme map, Content analysis, Theological positioning |
| Voice fidelity | Generate or audit content in the leader's voice | Voice fingerprint (weighted markers, hallmark lexicon, antithesis prohibition, representative quotes) |
What this skill IS NOT (do not include)
These belong to OTHER skills or other documents. Never include in the substrate:
| Excluded | Lives elsewhere |
|---|---|
| Movemental Fit Score / Fit Verdict (1–10 rating) | tam-profile (separate consulting artifact) |
| NOTs assessment ("content is NOT translated", etc.) | tam-profile |
| Gap analysis as a strategic deliverable | Removed; only factual content-gap tables are allowed in Distribution inventory |
| Content marketing playbook / Top-5 opportunities | Separate marketing artifact, not substrate |
| Fragmentation narrative ("the story of fragmentation") | Factual inventory only; no narrative framing |
| Revenue model / monetization estimates | Out of scope |
| Audience persona / psychographic narrative | Out of scope |
| Logo URLs / strip groups / logo quality | affiliation-scrape (different output channel for logo strips) |
| Per-platform follower deep-dive narrative | Reach metrics table only — no commentary |
If you find yourself writing prose like "the opportunity for Movemental is..." or "this leader's strength is...", stop. That is consulting, not substrate.
Canonical schema
The output file MUST follow this section order and these table schemas. Reference implementation: docs/movement_leader_research/alan-hirsch/ALAN_HIRSCH_RESEARCH_COLLATED.md and scripts/build-alan-hirsch-substrate.py.
Front matter
# {Full Name} — Movement Leader Research (Substrate)
**Slug:** `{slug}`
**Version:** 2.0.0 (substrate)
**Last updated:** {YYYY-MM-DD}
**Purpose:** Machine-readable corpus for identity resolution, relational traversal, conceptual indexing, and voice fidelity. Not a consulting report.
1. Identity
A flat table. Every row needs a source citation. Required fields:
| Field | Value | Source |
|-------|-------|--------|
| Full legal name | ... | [URL] |
| Known as | ... | ... |
| Born | YYYY-MM-DD | ... |
| Birthplace | ... | ... |
| Childhood | ... | ... |
| Current location | ... | ... |
| Nationality | ... | ... |
| Heritage | ... | ... |
| Primary roles | ... | ... |
| Primary organizations | ... | ... |
| US sponsor (if applicable) | ... | ... |
| Spouse / partner | ... | ... |
| Education | ... | ... |
| Coined term (if applicable) | ... | ... |
2. Disambiguation
Required for any leader whose name returns ≥ 2 distinct public figures. Format:
{N} public figures named {Name} — **subject is #{X} only**.
| # | Identity | Disambiguate with | Exclude |
|---|----------|-------------------|---------|
| 1 | **{subject}** — {one-line distinguisher} | {distinctive terms} | — |
| 2 | {namesake} — {distinguisher} | {their terms} | {our subject's terms} |
**Reliable modifiers:** {3-5 search terms that uniquely retrieve the subject} — combined with exclusion of {namesake terms}.
If only one public figure with this name exists, write: No disambiguation required — unique public figure.
3. Editorial bio
2–3 paragraphs. Pull from _misc/committed-voice.md if present. Should answer:
- Where they came from (origin, formation context)
- What they built / what frameworks they're known for (with the magnum opus named)
- Their current institutional footprint
4. Timeline
| Year(s) | Milestone | Organization / work | Source |
Birth → present. Include conversion / formation events, education, founded orgs, magnum opus publications, current roles.
5. Frameworks
One subsection per named framework. Each gets a 5-row table:
### {Framework name}
| Field | Value |
|-------|-------|
| Introduced | {year + work} |
| Components | {numbered list inline} |
| Visual / model | {description; "—" if none} |
| Adoption evidence | {concrete numbers, programs, denominations} |
| Source | [link to canonical work] |
{1–2 sentence summary of the framework's core argument.}
Frameworks must be named (proper noun or trademark-able phrase). "Discipleship" is not a framework. "mDNA / Apostolic Genius" is.
6. Bibliography
Full books table — every published book, in newest-first order:
| Title | Author(s) | Publisher | Year | ISBN-13 | Key themes | One sentence | URL |
One sentence is a single sentence (≤ 200 chars) describing the book's argument. URL is the canonical retail page (Amazon preferred; publisher page acceptable).
After the table:
**Summary:** {N} entries ({M} unique titles); {S} solo, {C} co-authored; publishers {first-year}–{last-year} across {P} imprints; ~{ratings} Goodreads ratings ({editions} editions). Sources: ...
Theme map
| Theme | Primary works |
Content analysis (structured)
Use the structured Content Analysis template (Primary / Secondary / Emerging themes, each with Description / Key Works / Centrality 1–10).
Recommended reading order
| Order | Work | Rationale |
Numbered 1–N. Rationale is one line per book — why it sits at that position in the curriculum.
7. Voice fingerprint
Weighted markers (must sum to 100%)
| Marker | Target | Weight |
|--------|--------|--------|
| {Marker 1} | ≥ 0.7 | 30% |
| {Marker 2} | 0.5–0.8 | 25% |
| ...
| **Coherence target** | ≥ 0.75 | — |
5 markers, weights summing to 100%. Each marker is a measurable voice trait, not a vibe.
Hallmark lexicon (9+ terms)
Inline comma-separated. These are the leader's signature terms — words that, in combination, identify their writing.
Antithesis prohibition (non-negotiable)
One paragraph naming the specific anti-pattern the leader avoids (e.g. "Do not use contrastive negation→affirmation patterns: 'not X but Y'..."). Cite the source file from which this prohibition was derived. If no such prohibition is documentable from the corpus, write: No documented antithesis prohibition.
Representative quotes (5+)
Direct quotes from the corpus, each with attribution to the source work:
> "{exact quote}" — *{work}*, {context}
8. Theological positioning
| Domain | Position |
|--------|----------|
| Tradition | ... |
| Ecclesiology | ... |
| Missiology | ... |
| Leadership | ... |
| Christology | ... |
| Anthropology / formation | ... |
| Culture | ... |
Distinctive claims (bulleted)
What ONLY this author says — claims that distinguish them from peers in the same tradition.
9. Intellectual genealogy
Upstream influences
| Person | Ideas adopted | Source |
Downstream impact (documented)
| Channel | Evidence |
Peer dialogue
| Person | Relationship | Shared themes |
Constructive tensions (documented)
| Counterparty | Topic | {Subject} position | Source |
Only include if public tensions are documentable from URLs. Empty section is acceptable.
Comparable authors (reach / genre, not affinity scores)
| Author | Overlap |
10. Network graph
Co-authors
| Person | Joint works | Edge weight | Notes |
Edge weight 1–10. Co-authorship of N books = 3 + (2×N) bounded at 10.
Endorsements received (sample)
| From | For | Year | URL / note |
Organizational affiliations
Structured list of organizations founded, led, or affiliated with. NOT logo data.
JSON graph (nodes + edges)
[ {"id": "...", "name": "...", "type": "person|org"} ]
[ {"source": "...", "target": "...", "type": "co-author|endorsement|founder|board|...", "weight": 1-10} ]
11. Reach metrics
Single flat table — no narrative:
| Signal | Value | Date | Source |
Examples: assessment completions, Goodreads ratings, Twitter followers, podcast appearances count, Google Scholar profile presence, Wikipedia presence.
12. Distribution inventory
Factual catalogue ONLY — no marketing analysis. Subsections: Books, Articles & blogs, Audio, Video, Courses & assessments, Websites & orgs, Social, Academic / papers, Translations.
If the leader has a content gap (e.g. flagship book has no audiobook), record it as a row in a Content gap table (factual state only). Do NOT extend into "opportunities" or "what they should do."
13. Sources (provenance)
| URL | Verifies |
Plus a list of digital-presence file pointers for traceability.
14. Open questions
Bulleted list of facts the research could not establish. Honesty over fabrication.
Process
Phase 1 — Check what exists
ls docs/movement_leader_research/{slug}/
If the per-topic source files exist (profile/, content/, network/, analysis/, digital-presence/, plus helper dirs _misc/ and _staff/), this is --refresh mode: read those files and assemble the substrate.
If only a _misc/committed-voice.md exists, this is a thin profile — flag what's missing and offer to run targeted research.
If the directory does not exist, this is a cold start — research before writing.
Phase 2 — Source the data
For each substrate section, the canonical source files (when they exist):
| Substrate section | Source files |
|---|---|
| Identity | profile/identity.md, _staff/identity-verification.md, _misc/committed-voice.md |
| Disambiguation | profile/identity.md (Disambiguation section), _staff/identity-verification.md |
| Editorial bio | _misc/committed-voice.md editorial bio block, profile/biography.md |
| Timeline | profile/biography.md (Career & Ministry Arc), profile/identity.md (Career Timeline) |
| Frameworks | content/frameworks.md, profile/theology.md (Key Frameworks & Models), content files for adoption evidence |
| Bibliography | content/books.md |
| Theme map + Content analysis | content/content-audit.md, _misc/content-analysis-root.md |
| Voice fingerprint | profile/voice-analysis.md, _misc/committed-voice.md signature_frameworks |
| Theological positioning | profile/theology.md, _misc/content-analysis-root.md (theological positioning) |
| Intellectual genealogy | _misc/network/collaborators.md, profile/theology.md (Intellectual Genealogy) |
| Network graph | _misc/network/collaborators.md, _misc/network/endorsements.md, network/organizations.md |
| Reach metrics | analysis/audience-analysis.md, digital-presence/*, content/*, _misc/media/* |
| Distribution inventory | digital-presence/*, content/*, fragmentation-story.md (factual inventory only) |
| Sources | sources.md |
The lowercase categorized files (
profile/,content/,network/organizations.md,analysis/,digital-presence/) are the canonical per-leader research surface — the same set present in the reference dossiersbrad-brisco/andmichael-cooper/. Older ALL-CAPS profiles ({SLUG}_AUTHOR_PROFILE.md,{SLUG}_VOICE_IDENTITY.md,{SLUG}_CALLING_PROFILE.md,{SLUG}_CONTENT_AUDIT.md,{SLUG}_AUDIENCE_PROFILE.md,{SLUG}_ORGS.md,{SLUG}_TIMELINE.md,{SLUG}_RESEARCH_SUMMARY.md) only survive under_staff/legacy/and are fallbacks, not primary sources — a freshly researched leader will not have them.
For cold-start research without these files, delegate the data-gathering phase via the Agent tool to a research subagent rather than running 30+ WebSearch calls from the main thread.
Phase 3 — Write the substrate
Write directly to docs/movement_leader_research/{slug}/{SLUG_UPPER}_RESEARCH_COLLATED.md.
- Preserve source citations as inline links or
[^source-id]footnotes after non-obvious claims - All tables use the schema above — do not invent new columns
- Empty sections get an explicit note (
No documented {X}.) rather than being omitted - Never fabricate numbers, dates, ISBNs, or quotes. If you cannot verify, leave the cell empty or use
unknown.
Phase 4 — Update the manifest
Write docs/movement_leader_research/{slug}/{SLUG_UPPER}_COLLATION_MANIFEST.json:
{
"slug": "{slug}",
"version": "2.0.0",
"generated_at": "YYYY-MM-DD",
"sources": [
{ "path": "profile/identity.md", "sha256": "...", "wordCount": N, "sectionsUsed": ["Identity", "Disambiguation"] }
]
}
Phase 5 — Verify
- Every section from the canonical schema is present (or marked as "No documented X")
- No prohibited content (fit score, NOTs, marketing playbook, opportunity ladder, revenue projections, persona narratives, logo URLs)
- All numeric claims trace to a source file or URL
- Voice marker weights sum to 100%
- Bibliography is newest-first and includes ISBN-13 where available
- JSON graph parses
Key rules
- Substrate, not consulting. If a section reads like a recommendation, remove it. The substrate enables decisions; it does not make them.
- Every claim is traceable. Inline link, footnote, or source file path after each non-obvious claim.
- Schema-fidelity over completeness. A section with 3 rows that match the schema is better than a section with 30 rows that drift into commentary.
- No fabrication. "Unknown" or "Not catalogued" is always preferable to a guessed number.
- One file per leader. Substrate is a single document. The per-topic source files remain on disk untouched; the substrate is the consolidated, schema-conformant read surface.
- Disambiguation is required if a name search returns multiple distinct figures. Skipping this enables identity confusion downstream.
- Antithesis prohibition is the voice fingerprint's load-bearing element. If you cannot find it, search the corpus until you can — it usually shows up as the leader's most-corrected reader misreading.
- The reference implementation is Alan Hirsch. When in doubt, look at
docs/movement_leader_research/alan-hirsch/ALAN_HIRSCH_RESEARCH_COLLATED.mdfor what each section should look like at the schema's expected depth.