222 lines
12 KiB
Markdown
222 lines
12 KiB
Markdown
---
|
|
name: brand-voice-enforcement
|
|
description: >
|
|
This skill applies MPM brand guidelines to content creation. Use when asked to
|
|
"write an email", "draft a proposal", "create a pitch deck", "write a LinkedIn post",
|
|
"draft a presentation", "write a Slack message", "draft sales content", or any content
|
|
creation request where MPM's brand voice should be applied. Also triggers on "on-brand",
|
|
"brand voice", "enforce voice", "apply brand guidelines", "brand-aligned content",
|
|
"write in our voice", "use our brand tone", "make this sound like MPM",
|
|
"rewrite this in our tone", or "this doesn't sound on-brand".
|
|
Not for generating guidelines from scratch (use guideline-generation).
|
|
---
|
|
|
|
# MPM Brand Voice Enforcement
|
|
|
|
Apply Message Point Media's brand voice to all content creation. Load brand settings, apply voice constants and tone flexes, generate content, and validate the output.
|
|
|
|
> **Assets are baked in.** This plugin ships the full MPM logo catalog (PNG + SVG) and the
|
|
> Montserrat / Open Sans fonts inside `assets/`. You never need the Google Drive connector or
|
|
> the Google MCP to fetch a logo or font — those are slow. Use the local files directly.
|
|
|
|
## Loading Brand Settings
|
|
|
|
Find MPM's brand settings using this sequence. Stop as soon as you find them:
|
|
|
|
1. **Plugin settings (always available — REQUIRED first step)**
|
|
|
|
Read `settings/brand-voice.local.md` from the plugin directory.
|
|
|
|
> ⚠️ **CRITICAL — READ METHOD:** The `Read` tool **cannot** access `.remote-plugins` paths and will fail silently, returning nothing. You **must** use `bash` with a `cat` command to read this file.
|
|
>
|
|
> Use the exact bash path — translate the plugin directory location to its bash mount path. The plugin root is also exposed as `${CLAUDE_PLUGIN_ROOT}`:
|
|
> ```bash
|
|
> cat "${CLAUDE_PLUGIN_ROOT}/settings/brand-voice.local.md"
|
|
> ```
|
|
> If `${CLAUDE_PLUGIN_ROOT}` is unset, translate the plugin path manually, e.g.:
|
|
> ```bash
|
|
> cat "/sessions/<session-id>/mnt/.remote-plugins/plugin_<id>/settings/brand-voice.local.md"
|
|
> ```
|
|
>
|
|
> **If you cannot read the file:** STOP. Do not proceed with content generation. Tell the user: "I cannot access the brand voice settings file. Please verify the plugin is installed and the session has access to `.remote-plugins`."
|
|
>
|
|
> **Never silently fall back to generic colors, fonts, or a generic voice.** A failed read must surface as an explicit error — not invisible substitution.
|
|
|
|
This file contains the full MPM brand voice: messaging pillars, tone guidance, logo system, typography, color palette, and product terminology. It is the authoritative source.
|
|
|
|
2. **Working folder override** — Check for `.claude/brand-voice.local.md` inside the user's working folder. If found, this project-specific version takes precedence. Merge any project-specific overrides with the plugin settings.
|
|
|
|
3. **Session context** — Check if updated guidelines were generated earlier in this session via `guideline-generation`. If so, use those as the freshest source.
|
|
|
|
Also check for `.claude/brand-voice-guidelines.md` in the working folder — this may contain additional detail from prior guideline generation runs.
|
|
|
|
## Logo Usage
|
|
|
|
When producing any document, presentation, proposal, or visual content, **always include the appropriate MPM logo.** Logo files are **baked into this plugin** — no Google Drive fetch needed:
|
|
|
|
> **Baked-in logos (authoritative, instant):**
|
|
> - `assets/logos/png/` — PNG/JPG for documents, presentations, web, email
|
|
> - `assets/logos/svg/` — SVG for print and large-format
|
|
>
|
|
> Resolve a logo's absolute path through the plugin root, then hand that path to the
|
|
> document/image tool:
|
|
> ```bash
|
|
> ls "${CLAUDE_PLUGIN_ROOT}/assets/logos/png/"
|
|
> echo "${CLAUDE_PLUGIN_ROOT}/assets/logos/png/Logo-Standard-Dark.png"
|
|
> ```
|
|
> If `${CLAUDE_PLUGIN_ROOT}` is unset, translate the plugin path to its `.remote-plugins`
|
|
> bash mount (same pattern as the settings file above). Always confirm the path with `ls`
|
|
> before inserting. The upstream source of truth remains the MPM Logos Drive folder
|
|
> (`drive.google.com/drive/folders/1xpO_sh0dQvWiMQbdmbhRZARuev4RpZiL`), but you should not
|
|
> need to touch it at runtime.
|
|
|
|
### Logo Selection Rules
|
|
|
|
| Background | Logo to Use | File (in `assets/logos/png/`) |
|
|
|---|---|---|
|
|
| White or light backgrounds | **Standard Dark (DEFAULT)** | `Logo-Standard-Dark.png` |
|
|
| White / off-white backgrounds | **Gold + Black text** | `Logo-Gold-Black.png` |
|
|
| Dark, charcoal, or dark-gold backgrounds | **Gold + White text** | `Logo-Gold-White.png` |
|
|
| Cover pages, title blocks with dark header bar | **Gold + White text** | `Logo-Gold-White.png` |
|
|
| Single-color black print | **Black text only** | `Logo-Black-Text.png` |
|
|
| Dark background, icon only needed | **White Cutout** | `Logo-White-Cutout.png` |
|
|
| Pre-composed dark banner (no transparency) | **White Cutout on dark BG** | `Logo-White-Cutout-Reversed-Text-BG.jpg` |
|
|
|
|
For print and large-format output, use the matching SVG from `assets/logos/svg/` (e.g. `Logo-Standard-Dark.svg`, `Standard-Logo-Dark.svg`).
|
|
|
|
### Transit-Specific Content (proposals, specs, sell sheets)
|
|
|
|
For Community Transit or any transit agency deliverable, use the **TransitPoint sub-brand lockup**:
|
|
- Light background: `assets/logos/png/MPM-Transitpoint-Dark.png`
|
|
- Dark background: `assets/logos/png/MPM-Transitpoint-Light.png`
|
|
|
|
Transit product-line sub-brand marks (Mobile, Smart Intermodal, Smart Stop, Solar, MPLocal, MPMetro, MPRail, MPTram, MPXpress) are SVG-only in `assets/logos/svg/` — always subordinate to the primary MPM logo.
|
|
|
|
### Placement in Documents
|
|
|
|
- **DOCX / Word:** Top of title/cover page. Header of formal proposals (right-aligned or left-aligned per template).
|
|
- **PPTX / Slides:** Top-right or top-left of title slide. Bottom-right of content slides as a watermark/identifier.
|
|
- **PDFs:** Cover page and header/footer.
|
|
- **Emails / HTML:** Above the signature block or in the email header.
|
|
|
|
### When a Logo File Can't Be Resolved
|
|
|
|
Logos are baked in, so this should be rare. If `${CLAUDE_PLUGIN_ROOT}` is unset and the
|
|
`.remote-plugins` path doesn't resolve:
|
|
1. Run `ls` on the candidate `assets/logos/png/` path to diagnose, and try the
|
|
`${CLAUDE_PLUGIN_ROOT}` form first.
|
|
2. If it still cannot be found, tell the user explicitly: "I could not resolve the baked-in
|
|
logo path. The default light-background logo is `assets/logos/png/Logo-Standard-Dark.png`
|
|
inside the mpm-brand-voice plugin." Reserve a clearly labeled placeholder:
|
|
`[INSERT MPM LOGO HERE — Logo-Standard-Dark.png]`.
|
|
3. Do **not** omit the logo silently or substitute a non-MPM logo.
|
|
|
|
## MPM Brand Identity Quick Reference
|
|
|
|
Before generating content, internalize these MPM-specific constants from the settings file:
|
|
|
|
**Voice:** Expert Partner — knowledgeable without being condescending. We know transit technology deeply; we help agencies succeed, not just sell them hardware.
|
|
|
|
**Tagline in use:**
|
|
- Primary: "Born to Innovate. Built to Last." — use across all branded materials and client-facing communications
|
|
|
|
**Visual Identity — Non-Negotiable (apply to all documents and presentations):**
|
|
|
|
Typography (**baked in** at `assets/fonts/` — no Google Fonts download needed):
|
|
- Headings / titles: **Montserrat** (`assets/fonts/Montserrat-wght.ttf`) — Bold for H1, SemiBold for H2/H3
|
|
- Body text: **Open Sans** (`assets/fonts/OpenSans-wght.ttf`) — Regular, 11pt / 22 half-points in DOCX
|
|
- Both are variable fonts; the single file per family covers every weight
|
|
- Do **not** substitute Arial, Calibri, or any system default font
|
|
|
|
Color palette (hex values — use exactly):
|
|
|
|
| Role | Name | Hex |
|
|
|---|---|---|
|
|
| Heading text, document titles | Dark Gold | `#998643` |
|
|
| Accent lines, dividers, borders | Middle Gold | `#DCBB4F` |
|
|
| Body text | Dark Shade | `#232022` |
|
|
| Page/section backgrounds (light) | Light Shade | `#F5F1EC` |
|
|
| Subtle / secondary elements | Light Accent | `#849698` |
|
|
| Table headers (background) | Dark Shade | `#232022` |
|
|
| Table header text | Light Shade | `#F5F1EC` |
|
|
| Alternating table rows | Warm Off-White | `#FAF7F2` |
|
|
| Light gold (on dark backgrounds) | Light Gold | `#F5CD15` |
|
|
|
|
> ⚠️ **Do not use generic blues (#1A4F8A or similar), Calibri, or Arial in any MPM-branded output.** These are the single most common brand voice failures. If you catch yourself using a blue accent or a system font, stop and correct before delivering the output.
|
|
|
|
**We Are / We Are Not** (from settings):
|
|
- Knowledgeable Partner, NOT Vendor
|
|
- Innovative, NOT Hype-Driven
|
|
- Approachable Expert, NOT Jargon-Heavy
|
|
- Mission-Aligned, NOT Purely Commercial
|
|
- Proven and Reliable, NOT Cutting-Edge-for-Its-Own-Sake
|
|
|
|
**Critical terminology rules:**
|
|
- Always say "native" integrations, never "wrapper" or "middleware"
|
|
- "MP.TV CMS" not "the CMS" or "OnSign" (in customer-facing materials)
|
|
- "Subscription-based support" not "support contract"
|
|
- Conference motorsports language (pit stop, race, velocity, etc.) is MPower 2025 theme ONLY — do not use in standard brand materials
|
|
|
|
Refer to settings file for full messaging pillars, audience personas, product terminology, and tone matrix.
|
|
|
|
## Enforcement Workflow
|
|
|
|
### 1. Analyze the Content Request
|
|
|
|
Before writing, identify:
|
|
- **Content type**: email, presentation, proposal, social post, RFP response, etc.
|
|
- **Target audience**: which MPM persona applies (Transit Agency Leader, IT Director, Procurement, etc.)
|
|
- **Key messages needed**: which of MPM's 11 messaging pillars are most relevant
|
|
- **Specific requirements**: length, format, formality, any stated overrides
|
|
|
|
### 2. Apply Voice Constants
|
|
|
|
MPM's voice stays constant across all content:
|
|
- Apply "We Are / We Are Not" attributes from settings
|
|
- Use MPM-approved terminology; avoid prohibited terms
|
|
- Incorporate the relevant messaging pillars naturally (not as a checklist)
|
|
- Reference brand color names and product names exactly as specified
|
|
|
|
Refer to `references/voice-constant-tone-flexes.md` for the voice constant / tone flex model.
|
|
|
|
### 3. Flex Tone for Context
|
|
|
|
Use MPM's tone-by-context matrix from the settings file:
|
|
- **Formality**: proposal/RFP = high; email = medium; social = medium-low
|
|
- **Energy**: cold outreach = high; customer success = warm; technical docs = measured
|
|
- **Technical depth**: IT/operations audience = high; executive = low; general = medium
|
|
|
|
### 4. Generate Content
|
|
|
|
Create content that:
|
|
- Opens with a value claim or compelling question — not "I wanted to reach out"
|
|
- Uses MPM's data points and proof language (subscription-first, device-agnostic, transit-specialized)
|
|
- Mirrors the real-world examples in the brand settings
|
|
- For transit content: leads with rider experience and agency outcomes before technology
|
|
- For partner/vendor content: emphasizes the "boutique alternative" positioning
|
|
|
|
For long-form or complex content (proposals, white papers, full decks), use multiple passes: outline first, then fill section by section, validating voice at each step.
|
|
|
|
### 5. Validate and Explain
|
|
|
|
After generating:
|
|
- Note which voice attributes and messaging pillars were applied
|
|
- Flag any terminology the user should verify (product names, version numbers)
|
|
- Offer to adjust tone, length, or emphasis
|
|
- If the request conflicts with brand guidelines, explain the conflict and offer options
|
|
|
|
## Handling MPM-Specific Conflicts
|
|
|
|
**Conference language creep:** If the user asks for "race-themed" or "pit stop" language outside an MPower conference context, gently note this is event-specific and offer the standard brand equivalent.
|
|
|
|
**Technical depth vs. audience:** If unsure of the audience's technical level, default to medium depth with a note — it's easier to add detail than strip jargon after the fact.
|
|
|
|
**Tagline use:** "Born to Innovate. Built to Last." is MPM's primary tagline — use it across all branded materials, including sales collateral and cold outreach. Render it exactly as written, with a period after each clause.
|
|
|
|
## Reference Files
|
|
|
|
- **`references/voice-constant-tone-flexes.md`** — The voice constant / tone flex mental model, "We Are / We Are Not" structure, and tone matrix
|
|
- **`references/before-after-examples.md`** — Before/after examples per content type showing enforcement in practice
|
|
- **`references/mpm-brand-resources.md`** — MPM-specific brand document locations, the baked-in logo/font index, color values, and Google Drive links
|
|
- **`../../assets/README.md`** — Baked-in asset manifest: logo quick-pick table, font list, and path-resolution guidance
|