AudienceMD is an open, Markdown-native standard for describing a target audience in a way humans and AI agents can both understand and act on.
- Website: https://audiencemd.ai/
- Playground: https://audiencemd.ai/playground
- Spec:
SPEC.md - Changelog:
CHANGELOG.md - Security:
SECURITY.md
The core artifact is an AUDIENCE.md file: a plain-text document that captures who something is for, what they need, what they believe, what constraints they have, how they decide, what evidence supports the definition, and how not to manipulate or misrepresent them.
AudienceMD is designed for more than software repositories. It should work for:
- SaaS products and startups
- marketing campaigns and landing pages
- newsletters, podcasts, and content channels
- open-source projects and developer tools
- physical products
- communities, courses, events, and services
The goal is simple: make “who is this for?” explicit, portable, versionable, and useful.
AI agents are increasingly writing copy, designing flows, prioritizing features, generating content, and making product decisions. They usually receive audience context as loose prompt text, scattered notes, personas, or tribal knowledge.
That breaks down quickly.
AudienceMD gives teams and agents a shared source of truth that can live next to the work:
- versioned in Git
- readable without special tools
- strict enough to guide decisions
- flexible enough for real-world audiences
- portable across products, campaigns, and tools
- explicit about evidence, assumptions, and exclusions
This repository contains the AudienceMD v0.1 standard. The priority is the standard itself: a clear spec, strong examples, a copyable template, a minimal advisory JSON schema, and small local tooling that can validate real AUDIENCE.md files without hiding the Markdown.
GitHub Actions runs the repository checks and web build on pushes and pull requests to main.
AUDIENCE.md Audience definition for AudienceMD itself
SPEC.md v0.1 specification
schema/audience.schema.json Advisory structured schema
templates/AUDIENCE.md Copyable template
examples/*/AUDIENCE.md Example audience files across domains
docs/ Rationale, principles, versioning, contributing
packages/parser/ Dependency-free Markdown/frontmatter parser
packages/validator/ Advisory v0.1 validator
packages/generator/ Future generator package
apps/cli/ Minimal command-line app
apps/web/ Documentation/site app
The repository includes complete example AUDIENCE.md files across different domains:
examples/ai-agent/AUDIENCE.md— AI agent for personal knowledge workexamples/community/AUDIENCE.md— local repair and reuse communityexamples/course/AUDIENCE.md— practical course for first-time technical foundersexamples/marketing-campaign/AUDIENCE.md— privacy-first family photo backup campaignexamples/mobile-app/AUDIENCE.md— medication routine mobile appexamples/newsletter/AUDIENCE.md— independent AI strategy newsletterexamples/open-source/AUDIENCE.md— open-source developer CLIexamples/physical-product/AUDIENCE.md— ergonomic travel keyboardexamples/saas/AUDIENCE.md— SaaS onboarding analytics productexamples/youtube-channel/AUDIENCE.md— calm home cooking YouTube channel
Use them as concrete references for structure, specificity, evidence/assumption separation, and non-manipulative audience guidance.
Run the repository check to validate the root file, template, examples, package syntax, CLI syntax, and web app typecheck:
pnpm run checkThe validator is intentionally small and advisory-minded: it enforces required canonical sections, canonical order, and unknown top-level ## headings, with warnings for optional frontmatter guidance.
- Use the website playground or copy
templates/AUDIENCE.mdinto your project, campaign, product, content, or community workspace. - Keep the filename as
AUDIENCE.mdwhen possible. - Fill it with concrete observations, not aspirational fluff.
- Separate evidence from assumptions.
- Commit or store it next to the work it informs.
- Give it to humans and AI agents before they make audience-sensitive decisions.
Example:
cp templates/AUDIENCE.md ./AUDIENCE.mdOr use the published CLI package:
pnpm --package=@audiencemd/cli dlx audience init ./my-project
pnpm --package=@audiencemd/cli dlx audience validate ./my-projectnpm/npx equivalent:
npx @audiencemd/cli init ./my-project
npx @audiencemd/cli validate ./my-projectThe CLI is published as @audiencemd/cli. From a repository checkout, maintainers can still use pnpm exec audience ... for local development. See the website's /cli page or apps/cli/README.md for the current command reference.
Then use it in prompts:
Read
AUDIENCE.mdfirst. Propose a landing page for this product that respects the audience constraints, decision criteria, language guidance, evidence limits, and anti-goals.
A v0.1 AudienceMD file should use these canonical top-level sections:
Required core sections:
Audience nameSummaryPrimary audiencesJobs to be done / desired outcomesPains, anxieties, and constraintsMotivationsDecision criteriaLanguage and toneAnti-goals and exclusionsEvidenceAssumptionsOpen questions
Optional standard sections include Secondary audiences, Related files, Accessibility needs, Cultural and regional context, Channels and touchpoints, Objections, Triggers, Non-manipulation boundaries, Competitive alternatives, Research log, and Revision history.
AudienceMD is Markdown-first. YAML frontmatter is optional metadata, not the source of truth.
Recommended frontmatter:
---
audiencemd: "0.1"
title: "Audience name or project name"
status: draft
last_reviewed: 2026-05-02
owners:
- "Team or person"
---AudienceMD is:
- Markdown-first — readable and writable by anyone.
- Agent-friendly — structured enough for AI systems to parse and use.
- Portable — not tied to code, startups, marketing, or a single tool.
- Evidence-aware — separates known facts from assumptions.
- Anti-persona — does not require fake biographies, demographic stereotypes, or decorative avatars.
- Ethical by default — includes anti-goals, boundaries, and manipulation risks.
- Iterative — audiences change; the file should evolve with evidence.
When an AI agent receives an AUDIENCE.md file, it should read it before doing audience-sensitive work, treat anti-goals as constraints, prefer evidence over assumptions, call out uncertainty, and avoid inventing audience facts.
It should not silently replace the file with generic best practices.
MIT. See LICENSE.