Spokesperson Profile Builder
Spokesperson Profile Builder
Instructions
You build spokesperson and communications official profiles for the Patriot University knowledge base. Each profile documents a public figure’s role as a conduit for official administration messaging, grounds specific public statements in fact-checking evidence, assigns veracity ratings using institutional sources, and analyzes how their communications serve the administration’s broader agenda.
This skill covers communications-focused profiles. For a subject’s policy record, corruption, democratic erosion patterns, or TRC considerations, use accountability-profile-builder instead.
Step 1: Identify the Subject and Check for Existing Profiles
Before writing, confirm:
- The subject holds or held a named communications role (press secretary, spokesperson, communications director, public affairs official) in the Trump administration — OR functions as the primary public voice for their agency or program (e.g., Vought for OMB, Cabinet secretaries with high personal comms profiles).
- Check for an existing accountability profile at
knowledgebase/accountability/{firstname}-{lastname}-profile.md. If one exists, the spokesperson profile uses the-comms-profileslug suffix and must include the cross-reference callout at the top. - Check for an existing spokesperson profile at
knowledgebase/accountability/{firstname}-{lastname}-comms-profile.mdto avoid duplication.
IC directors (Gabbard, Patel, Ratcliffe): Their public statements are already documented within their accountability profiles. Do not create standalone spokesperson profiles for them.
Step 2: Research
Use Tavily searches before writing. Run at minimum 4 targeted queries:
Search patterns:
"[Name]" fact-check PolitiFact FactCheck.org veracity statement 2025 2026
"[Name]" [agency] press briefing public statement controversy 2025 2026
"[Name]" [key topic] claim evidence trusted reporting
"[Name]" messaging strategy administration agenda [agency]
Fact-checking source hierarchy:
| Tier | Sources | Usage |
|---|---|---|
| Primary fact-check | PolitiFact, FactCheck.org, Snopes, AP Fact Check, Reuters Fact Check | Cite rating + reasoning directly |
| Credible media analysis | NYT, WaPo, AP, NPR, ProPublica, The Atlantic, Guardian | Use for context, controversy documentation |
| Primary source documents | Press briefing transcripts (whitehouse.gov, agency sites), congressional testimony, court filings that cite their statements | Use to quote statements accurately |
| Excluded | Partisan blogs, One6Project, anonymous assertions, AI inference | Must NOT appear in profiles |
If no formal fact-check exists for a statement, note: “Not formally fact-checked — see [source] for primary documentation.” Do not apply an independent veracity rating without institutional backing.
Step 3: Scaffold the File
Slug convention:
- Standard:
{firstname}-{lastname}-comms-profile(e.g.,karoline-leavitt-comms-profile) - When a person has only a spokesperson role (no separate accountability profile):
{firstname}-{lastname}-profilemay be used instead
File location: patriot-agent-base/knowledgebase/accountability/{slug}.md
Step 4: Write the Profile
Frontmatter Template
---
title: "[Name] — [Role]"
slug: "[firstname]-[lastname]-comms-profile"
description: "Spokesperson accountability profile for [Name], [Role]"
meta_description: "[≤160 chars: punchy summary of their role and key fact-check moments]"
profile_type: "spokesperson"
subject_name: "[Full Name]"
subject_role: "[Official title], [Agency]"
subject_party: "Republican"
subject_state: "[Home state if relevant]"
subject_tier: "[white-house | state | defense | dhs | doj | hhs | treasury | epa | usda | dol | dot | education | interior | energy | va | hud | ic | eo-agencies]"
subject_comms_role: "[press-secretary | comms-director | deputy-press-secretary | spokesperson | acting-spokesperson | public-affairs-official]"
overall_veracity_rating: "[true | mostly-true | half-true | mostly-false | false | pants-on-fire]"
key_topics: ["[topic1]", "[topic2]"]
social_media:
twitter: "@handle"
truth_social: "@handle"
severity: "[P0 | P1 | P2]"
departed: false
departure_date: ""
last_updated: "YYYY-MM-DD"
tags: ["spokesperson", "fact-checking", "[agency]", "[other tags]"]
wp_categories: ["Accountability", "Spokespeople", "[Agency]"]
wp_tags: ["[Name]", "[agency]", "fact-checking", "veracity"]
related_accountability_profile: "" # slug of existing accountability profile, if any
---
Severity guidance for spokesperson profiles:
- P0: White House press secretary, WH Comms Director, any spokesperson whose false statements were used in legal proceedings or caused documented public harm
- P1: Cabinet agency primary spokespeople (State, Defense, DHS, DOJ, HHS)
- P2: Sub-agency and secondary spokespeople
Body Template
# [Name] — [Role]
**Agency:** [Full agency name]
**Role:** [Title] [(departed [date])] if applicable
**Severity:** [P0/P1/P2]
> **Related Profile:** [INCLUDE ONLY IF AN ACCOUNTABILITY PROFILE EXISTS]
> For [Name]'s policy record, democratic accountability concerns, and Truth and Reconciliation
> analysis, see the [full accountability profile]([existing-slug]).
> This profile covers their public communications record and veracity.
---
## Quick Navigation
- [Bio and Background](#bio)
- [Role and Communications Function](#role)
- [Messaging Strategy Fit](#messaging-strategy)
- [Significant Public Statements](#statements)
- [Controversies](#controversies)
- [Overall Veracity Track Record](#track-record)
- [Social Media Accounts](#social-media)
- [Key Source Links](#sources)
---
## Bio and Background {#bio}
[3–5 paragraph bio covering: origin/education, career before this role, path to the
administration, any prior fact-check history or public record, relevant conflicts of interest]
---
## Role and Communications Function {#role}
[Explain what this person actually does: who they brief, what channels they use (briefing
room, X, press releases, video dispatches), how much access they provide to journalists,
whether they speak on the record, and what subjects they are authorized to address.
Note if the role differs from its formal title — e.g., a "Senior Adviser" who is the de
facto primary spokesperson, or a "Deputy Chief of Staff" who controls all comms offices.]
---
## Messaging Strategy Fit {#messaging-strategy}
[Analyze how this person's communications style and content serve the administration's
broader narrative goals. What themes do they consistently amplify? What rhetorical
tactics do they use (deflection, attack-the-media, reframing, repetition of unverified
claims)? How do their statements coordinate with or differ from other administration
spokespeople? How do they relate to aligned media ecosystems (Fox News, OAN, MAGA Inc.)?]
---
## Significant Public Statements {#statements}
[For each documented statement, use this format:]
### Statement: "[Exact quote]"
**Date:** [Month Day, Year]
**Context:** [Where / how the statement was made: press briefing, X post, TV interview,
congressional testimony; what prompted it]
**Rating:** [True | Mostly True | Half True | Mostly False | False | Pants on Fire]
**Fact-check source:** [Organization name and publication date]
**Reasoning:** [Explain what the evidence shows, what is accurate, what is not, and
why the rating applies. Include any key facts the statement omitted or distorted.]
**Source link:** [URL]
---
[Repeat for each documented statement. Aim for 5–10 statements minimum for Tier 1;
3–5 for Tier 2; 2–3 for Tier 3. Prioritize statements that had policy consequences,
public impact, or were formally fact-checked by institutional organizations.]
---
## Controversies {#controversies}
[Document any controversies separate from specific statement veracity — e.g., conflicts of
interest, conduct in the role, press access decisions, statements made about journalists,
departures and their context, ethics investigations. Cite to credible reporting.]
---
## Overall Veracity Track Record {#track-record}
[Aggregate assessment covering:]
- **Overall rating:** [True | Mostly True | Half True | Mostly False | False | Pants on Fire]
- **Statement pattern:** What share of documented statements fall into which rating bands
- **Topic clusters:** On which subjects are misstatements most concentrated
- **Trajectory:** Has accuracy improved or worsened over tenure
- **Comparative context:** How does their record compare to others in equivalent roles
- **Press access:** Does their communications approach facilitate or obstruct public accountability
---
## Social Media Accounts {#social-media}
- **X (Twitter):** [@handle](https://x.com/handle)
- **Truth Social:** [@handle](https://truthsocial.com/@handle) *(if applicable)*
- **Official agency account:** [Link]
---
## Key Source Links {#sources}
[Organized list of:]
- Fact-check articles by date
- Primary briefing transcripts
- Court filings that cite their statements
- Congressional testimony
- Key news investigations
- Any official press office archives
Step 5: Validate, Commit, and Publish
# Validate frontmatter
python3 -c "
import re, yaml
with open('patriot-agent-base/knowledgebase/accountability/[slug].md') as f:
content = f.read()
fm = re.match(r'^---\n(.*?)\n---', content, re.DOTALL).group(1)
data = yaml.safe_load(fm)
md = data.get('meta_description', '')
words = len(content.split())
print(f'meta_description ({len(md)} chars): {\"OK\" if len(md)<=160 else \"OVER by \"+str(len(md)-160)}')
print(f'YAML OK: slug={data.get(\"slug\")}')
print(f'Est. tokens: ~{int(words*1.3)} ({words} words)')
"
# Commit
git add patriot-agent-base/knowledgebase/accountability/[slug].md
git commit -m "feat(accountability): add [Name] spokesperson profile"
# Publish to staging
python3 scripts/pu_publish.py --staging --only [slug]
Quality Checks Before Publishing
- [ ] All quoted statements are exact quotes with date and source, not paraphrases
- [ ] Every veracity rating links to an institutional fact-check (PolitiFact, FactCheck.org, Snopes, AP, Reuters) — or is explicitly noted as “not formally fact-checked”
- [ ] No opinions presented as facts; analysis is clearly framed as analysis
- [ ] Cross-reference callout present if an accountability profile exists for this person
- [ ]
meta_description≤ 160 characters - [ ]
departedanddeparture_datefields accurate - [ ] No PII about private individuals (zero-PII architecture applies)
- [ ] Social media links verified as current accounts, not parody or fan accounts
