activity-report-compos…
Use when the user asks for a client report, a monthly or activity report, a case study draft, or says 'what did i ship this month'. Turns the site audit log…
Use when the user says 'extract my brand voice', 'what is my writing style', or 'analyze my tone', or before any skill that writes copy for the site. Reads 5-10 published posts and persists tone, lexicon, sentence patterns, formality, signature phrases, and phrases the site
$ npx -y skills add respira-press/agent-skills-wordpress --skill brand-voice-synthesizer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/brand-voice-synthesizerContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user says 'extract my brand voice', 'what is my writing style', or 'analyze my tone', or before any skill that writes copy for the site. Reads 5-10 published posts and persists tone, lexicon, sentence patterns, formality, signature phrases, and phrases the site
name: brand-voice-synthesizer description: "Use when the user says 'extract my brand voice', 'what is my writing style', or 'analyze my tone', or before any skill that writes copy for the site. Reads 5-10 published posts and persists tone, lexicon, sentence patterns, formality, signature phrases, and phrases the site never uses." license: MIT metadata: author: Respira for WordPress author_url: https://respira.press version: 1.2.0 mcp-server: respira-wordpress category: intelligence
**Version:** 1.2.0 **Updated:** 2026-09-13 **Freshly updated:** v1.2.0 saves the voice to Site Memory with `respira_remember`, so every later session, in any AI client, reads it through `respira_get_site_context` with no extra call. The full profile stays with the user; the site keeps a distilled form that fits memory's 500-character entries. Plugins older than 8.3 keep the `respira_brand_voice` option. v1.1.0 wired the voice profile into the rest of the brand system. The extracted profile now persists to per-site memory via `respira_get_option` (diff first) + `respira_update_option`, cross-links explicitly with the Page Template Library and Design System Synthesizer skills so copy and layout share one brand foundation, and adds a brand-consistency report built from `respira_generate_activity_report` so you can see how on-voice recent content actually is. **Category:** intelligence **Status:** stable **Requires:** Respira for WordPress plugin 8.3+ for Site Memory (older plugins fall back to an option) + MCP server
---
Read 5–10 published posts on a WordPress site and extract the **brand voice** — tone, lexicon, sentence patterns, person used, formality, signature phrases, phrases the site never uses. Persist it to the site so every future content-writing skill produces copy that sounds like the brand, not like generic AI.
This is the verbal counterpart to the [Design System Synthesizer](https://respira.press/skills/design-system-synthesizer). The two together form a complete brand foundation that every future content-generation skill references.
---
A structured `brand_voice` artifact stored at the site level. Schema:
{
"version": "1.1.0",
"synthesized_at": "2026-05-24T14:30:00Z",
"synthesized_from": ["/blog/post-a/", "/blog/post-b/", "..."],
"n_samples": 8,
"total_words_sampled": 12450,
"person": "we",
"formality": "approachable_professional",
"sentence_length_avg_words": 14,
"sentence_length_median_words": 12,
"sentence_length_p90_words": 28,
"paragraph_length_avg_sentences": 3.2,
"reading_grade_avg": 8.4,
"tone_descriptors": ["confident", "direct", "lightly playful", "evidence-driven"],
"signature_phrases": [
"the short version is",
"here's what we learned",
"let's break that down"
],
"common_openers": ["here's", "the", "we"],
"common_closers": ["that's the lesson", "more soon", "questions welcome"],
"lexicon_preferred": ["ship", "wire", "land", "tighten", "lean into"],
"lexicon_avoided": ["leverage", "synergy", "best-in-class", "world-class", "innovative", "cutting-edge", "revolutionary"],
"punctuation_patterns": {
"em_dash_usage": "frequent",
"exclamation_marks": "never",
"oxford_comma": true,
"ellipsis_usage": "rare",
"parenthetical_asides": "frequent"
},
"structural_patterns": {
"opens_with_question": "sometimes",
"uses_headings": "every_post",
"uses_bullet_lists": "often",
"uses_code_blocks": "for_technical_posts",
"uses_blockquotes": "rare",
"ends_with_call_to_action": "never"
},
"examples": {
"good_paragraph": "We shipped the redesign last week. The short version is: fewer pages, more density, one CTA per screen. Conversion is up 18% on the new pricing page so far. We'll know more by end of month.",
"bad_paragraph": "We are thrilled to announce the launch of our revolutionary new design! This best-in-class experience leverages cutting-edge UX innovations to deliver unparalleled value!"
}
}The full artifact is for the user to keep: paste it into a style guide or save it as a file. What the site keeps is a distilled form in Site Memory (Step 6), because memory arrives in every future session through `respira_get_site_context`, while an option only reaches a skill that knows to ask for it. Earlier versions planned a separate artifact store; Site Memory replaced that plan.
---
---
---
Call `respira_get_active_site` + `respira_get_site_context`.
Call `respira_list_posts` with status=publish, limit=20. From the list, pick 5–10 posts that should represent the voice:
If fewer than 5 posts exist, use whatever's there but note `n_samples` honestly.
For each picked post, call `respira_read_post(post_id)` or `respira_extract_builder_content(post_id)` depending on the active builder. Strip:
The community hub for WordPress AI workflows. Skills that run inside Claude Code, Codex, Antigravity, Cursor, and any AI agent that supports Skills + MCP to analyze, audit, optimize, and fix WordPress sites. Built by the community. Curated by Respira.
Repo: respira-press/agent-skills-wordpress
Use when the user asks for a client report, a monthly or activity report, a case study draft, or says 'what did i ship this month'. Turns the site audit log…
Use on any page build, redesign, or 'make it look better' request on a site that has (or needs) a saved Art Direction. Loads the direction before the first…
Use when building or rebuilding a page, header, footer, or template on an Oxygen 6 (Jenga) site, or when a previous attempt produced a blank page, one raw HTML…
Use when the user says 'export my site', 'backup my pages before editing', 'download my content locally', or 'migrate content to my other site'. Exports pages,…
Use when the user says 'audit my conversion rate', 'cro check', 'find conversion leaks', or asks what is hurting conversion before a paid campaign or after a…
Use when the user asks to create a custom post type, build a portfolio, set up case studies, add team members, events, or podcast episodes, or says 'scaffold a…