From heres-the-thing
Create and manage reusable audience segment profiles. Use when user says 'create audience', 'define audience', 'manage audiences', 'who am I talking to'.
How this skill is triggered — by the user, by Claude, or both
Slash command
/heres-the-thing:audience-httThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<purpose>
For individual people, use shared/people/ profiles instead. Audience segments describe archetypes, not individuals.
<load-config>
Resolve the user's home directory (run `echo $HOME` via Bash). Use this absolute path for all file operations below -- never pass `~` to the Read tool.
1. Read `<home>/.things/config.json`
<if condition="config-missing">Tell the user: "Run `/things:setup-things` first." Then stop.</if>
2. Check that `<home>/.things/heres-the-thing/` exists
<if condition="htt-missing">Tell the user: "Run `/heres-the-thing:setup-htt` first." Then stop.</if>
</load-config>
Parse Arguments
Parse `$ARGUMENTS` for subcommand and optional slug.
<if condition="no-arguments">
Use AskUserQuestion:
<options>
- Create a new audience segment
- List existing audience segments
- View an audience segment
- Edit an audience segment
- Delete an audience segment
</options>
</if>
Create Audience Segment
<if condition="subcommand-is-create">
Use AskUserQuestion to gather:
1. **Name**: What do you call this audience? (e.g., "Engineering Leadership", "Product Managers", "Budget Approvers")
2. **Description**: Brief description of who they are and what they do.
3. **Tags**: Tags for this audience segment (comma-separated)
4. **Typical concerns**: What do they typically worry about? (ask for 3-5 items)
5. **Decision criteria**: What drives their decisions? (ask for 2-4 items)
6. **Communication preferences**:
- Format preference (e.g., "Bottom-line-up-front", "Narrative", "Data-driven")
- Length preference (e.g., "Concise -- 1 page max", "Detailed -- full proposal OK")
- Language preference (e.g., "Business impact over technical details", "Technical depth expected")
7. **Receptiveness baseline**: How does this audience segment typically respond to new ideas?
<options>
- champion -- They actively advocate for change
- enthusiastic -- Open and supportive
- neutral -- Will evaluate on merits
- skeptical -- Needs strong evidence
- hostile -- Actively resistant
</options>
Generate a slug from the name (lowercase, hyphens, no special characters).
<output-path>`<home>/.things/heres-the-thing/audiences/<slug>.json`</output-path>
```json
{
"id": "<slug>",
"name": "<name>",
"description": "<description>",
"tags": ["<tags>"],
"typical_concerns": ["<concerns>"],
"decision_criteria": ["<criteria>"],
"communication_preferences": {
"format": "<format>",
"length": "<length>",
"language": "<language>"
},
"receptiveness_baseline": "<baseline>",
"known_objections": [],
"created": "<current_date>",
"updated": "<current_date>"
}
```
</if>
List Audience Segments
<if condition="subcommand-is-list">
Scan `<home>/.things/heres-the-thing/audiences/*.json`.
For each file, read and extract: `id`, `name`, `receptiveness_baseline`, `tags`.
Present as a table:
```
Audience Segments:
engineering-leadership Engineering Leadership neutral [leadership, executive]
individual-contributors Individual Contributors enthusiastic [engineering, ic]
budget-approvers Budget Approvers skeptical [finance, approval]
```
</if>
View Audience Segment
<if condition="subcommand-is-view">
<if condition="no-slug">Ask the user which segment to view (list available options via AskUserQuestion).</if>
Read `<home>/.things/heres-the-thing/audiences/<slug>.json`.
Present the full profile in a readable format:
```
Audience: Engineering Leadership
Receptiveness: neutral
Tags: leadership, executive, technical-strategy
Description: Directors and VPs of engineering, responsible for org-wide technical decisions
Typical Concerns:
- Reliability and stability
- Team productivity impact
- Maintenance burden
Decision Criteria:
- ROI with clear timeline
- Risk mitigation story
- Team consensus signals
Communication Preferences:
- Format: Bottom-line-up-front, then supporting evidence
- Length: Concise -- 1 page max for initial pitch
- Language: Business impact over technical details
Known Objections: (none yet)
```
</if>
Edit Audience Segment
<if condition="subcommand-is-edit">
<if condition="no-slug">Ask the user which segment to edit.</if>
Read the existing segment. Show current values.
Use AskUserQuestion to ask what to change:
<options>
- Name and description
- Tags
- Typical concerns
- Decision criteria
- Communication preferences
- Receptiveness baseline
- Known objections (add or remove)
</options>
Update the specified fields. Set `updated` to current date. Write the file.
</if>
Delete Audience Segment
<if condition="subcommand-is-delete">
<if condition="no-slug">Ask the user which segment to delete.</if>
<ask-user>
Confirm: "Delete audience segment '<name>'? This cannot be undone. Campaigns that reference this segment will keep their inline audience data."
</ask-user>
```bash
rm <home>/.things/heres-the-thing/audiences/<slug>.json
```
</if>
Confirm
<completion-message>
Show the action taken and current segment count.
</completion-message>
npx claudepluginhub brennacodes/brenna-plugs --plugin heres-the-thingSynthesizes audience insights from analytics, CRM, social, surveys, and other data into unified personas, behavioral segments, and targeting recommendations.
Creates audience segments in CRM, email, or ad platforms based on behavioral, demographic, or engagement criteria. Supports RFM modeling and lifecycle segmentation.
User segmentation and persona creation from mixed data sources — analytics, CRM, support tickets, reviews, or any combination. Use when asked to "build personas", "who are our users", "segment our users", "create user profiles", "define user archetypes", or "who is the target user".