Agent skill

Blog Brand

by AgriciDaniel in AgriciDaniel/claude-blog

Establish durable brand and voice context for cross-skill consumption.

MITAuto-check passedWriting & Content

Install Blog Brand

skills CLI
$ npx skills add AgriciDaniel/claude-blog --skill blog-brand -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AgriciDaniel/claude-blog blog-brand --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-blog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/blog-brand .claude/skills/blog-brand && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
blog-brand
GitHub stars
2.3k
Used in
1 other repo
Token cost
~2.3k tokens
SKILL.md length
874 words
Files
1
Skills in repo
39
Repo updated
First seen
Licence
MIT

At a glance

Establish durable brand and voice context for cross-skill consumption.

  • Works in 5 steps: Audience → Positioning and Canonical Entity → Editorial rules → …
  • User says blog brand
  • SKILL.md covers Why this exists, Commands, Init Workflow and Output Files, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Blog Brand is an agent skill from AgriciDaniel/claude-blog. Establish durable brand and voice context for cross-skill consumption. Generates BRAND.md (audience, positioning, do/don't editorial rules, taboo phrases, competitor differentiation) and VOICE.md (existing persona JSON re-expressed as readable prose), both written to the project root. When present, the blog orchestrator auto-loads these files for write, rewrite, brief, outline, calendar, and strategy workflows. Pairs with blog-persona, which manages the structured persona JSON. Use when user says "blog brand"…

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Writing & Content, covering Positioning and messaging, Brand voice and tone and Brand strategy and identity. The repository describes itself as: Claude Code blog skill suite: 30 sub-skills, 5 agents, 5-gate v1.9.0 Blog Delivery Contract, dual-optimized for Google rankings and AI citations. Active development at… The licence is MIT.

When your agent uses it

  • User says blog brand
  • Create brand context
  • Brand voice doc
  • Establish editorial brand

Example prompts

  • “blog brand”
  • “create brand context”
  • “brand voice doc”
  • “/blog-brand”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Audience
  2. Positioning and Canonical Entity
  3. Editorial rules
  4. Topic boundaries
  5. Voice (auto-fill from blog-persona if present)

What it can do on your machine

Read from SKILL.md and the folder at commit 2500d4c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Blog Brand loads about 2.3k tokens when it runs. Until then it costs about 163 tokens; SKILL.md has 874 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~163
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AgriciDaniel/claude-blog at commit 2500d4c, republished under its MIT licence (© AgriciDaniel). 874 words, ~2,311 tokens.

Download SKILL.mdSave it as .claude/skills/blog-brand/SKILL.md (or your agent's skills folder).
name
blog-brand
description
Establish durable brand and voice context for cross-skill consumption. Generates BRAND.md (audience, positioning, do/don't editorial rules, taboo phrases, competitor differentiation) and VOICE.md (existing persona JSON re-expressed as readable prose), both written to the project root. When present, the blog orchestrator auto-loads these files for write, rewrite, brief, outline, calendar, and strategy workflows. Pairs with blog-persona, which manages the structured persona JSON. Use when user says "blog brand", "create brand context", "brand voice doc", "BRAND.md", "VOICE.md", "establish editorial brand", "brand guidelines for blog".
user-invokable
true
argument-hint
[init|show|update]
license
MIT

Blog Brand: Durable Editorial Context

Generates two project-root files that the blog orchestrator auto-loads for supported writing and planning commands when present:

  • BRAND.md: who the audience is, what the brand stands for, what to never say
  • VOICE.md: how the brand sounds, structurally and lexically

These are the editorial equivalent of impeccable's PRODUCT.md / DESIGN.md pattern: persistent context that survives across sessions and propagates to every command.

Why this exists

Today, persona JSON (from blog-persona) is loaded by some skills and not others. Topic-cluster context lives inside cluster vaults. Competitor positioning lives nowhere. Each blog command re-derives "what is the brand" from whatever context it has.

BRAND.md and VOICE.md fix this: one canonical source, loaded by the blog orchestrator at the start of every command.

When neither file exists, behavior is unchanged from v1.7.1. Backward compatible.

Commands

CommandPurpose
/blog brand initInteractive interview, writes BRAND.md and VOICE.md to project root
/blog brand showDisplay current contents (or report missing)
/blog brand updateRe-run the interview with current values as defaults

Init Workflow

Run the 5-step interactive interview. Ask each step, wait for response, then proceed. If blog-persona JSON already exists, pre-fill voice answers from it.

Step 1: Audience

Ask:

  • Primary audience role (e.g. "head of marketing at a 50-500 person B2B SaaS")
  • Secondary audience (optional)
  • Reader expertise level: beginner / intermediate / advanced / mixed
  • Problems the reader is actively trying to solve (3 to 5 bullets)
  • Common misconceptions the audience holds (used to anchor information gain)
Step 2: Positioning and Canonical Entity

Ask:

  • Official entity name (legal or public brand name)
  • Homepage URL (canonical brand front door)
  • Logo URL or file path (preferred square or SVG asset)
  • sameAs profiles (LinkedIn, X, YouTube, Crunchbase, GitHub, or other official profiles)
  • Wikidata Q-ID if one exists; leave blank if not notable
  • One-sentence brand mission (what the brand helps people do)
  • Distinctive point of view (the contrarian or non-obvious belief that shapes content)
  • What this brand is NOT (anti-positioning, what to never be confused with)
  • Top 3 direct competitors with the one-line differentiator vs each
Step 3: Editorial rules

Ask:

  • Do list (3 to 7 things the blog will always do; e.g. "cite primary sources only," "name the practitioner not the product")
  • Don't list (3 to 7 things the blog will never do; e.g. "no clickbait titles," "no listicle filler")
  • Taboo phrases (specific words or phrases this brand never uses; separate from the repository's optional project style list)
  • Required disclosures (e.g. affiliate disclosure, AI-content disclosure, conflict-of-interest patterns)
Step 4: Topic boundaries

Ask:

  • Topics fully in scope (core content pillars)
  • Topics partially in scope (adjacent; covered only with original angle)
  • Topics out of scope (will not cover; redirect to partner content)
  • Recurring formats / column names if any (e.g. "Monthly Field Notes," "Reader Q&A")
Step 5: Voice (auto-fill from blog-persona if present)

Ask:

  • Pronoun stance: first-person (we / I), second-person (you), third-person (the team), or mixed
  • Acceptable contractions: full / partial / none
  • Sentence ceiling: max words per sentence as a hard cap
  • Paragraph ceiling: max words per paragraph (default 150)
  • Headline patterns to favor: numbered / question / promise / statement
  • Headline patterns to avoid: any patterns banned for this brand
  • Summary box label: from blog-persona, or pick one
Show full SKILL.md (349 more words)Show less

Output Files

BRAND.md template

Write to project root as:

markdown
# Brand Context

> This file is auto-loaded by all blog sub-skills. Last updated: YYYY-MM-DD.

## Audience

- **Primary**: [role + context]
- **Secondary**: [if any]
- **Expertise**: [level]
- **Active problems**:
  - [problem 1]
  - [problem 2]
  - [problem 3]
- **Common misconceptions**:
  - [misconception 1]
  - [misconception 2]

## Positioning

- **Official entity name**: [brand/entity]
- **Homepage**: [canonical URL]
- **Logo**: [URL or file path]
- **sameAs profiles**:
  - [profile URL 1]
  - [profile URL 2]
- **Wikidata Q-ID**: [QID or none]
- **Mission**: [one sentence]
- **Distinctive POV**: [contrarian or non-obvious belief]
- **What we are NOT**: [anti-positioning]
- **Competitors**:
  - [Competitor A]: [our one-line differentiator]
  - [Competitor B]: [our one-line differentiator]
  - [Competitor C]: [our one-line differentiator]

## Editorial Rules

### Always do
- [rule 1]
- [rule 2]
- [rule 3]

### Never do
- [rule 1]
- [rule 2]
- [rule 3]

### Taboo phrases
- [phrase 1]
- [phrase 2]

### Required disclosures
- [disclosure rule]

## Topic Scope

- **In scope**: [pillars]
- **Partial scope**: [adjacent topics]
- **Out of scope**: [topics to refuse]
- **Recurring formats**: [if any]
VOICE.md template

Write to project root as:

markdown
# Voice Context

> This file is auto-loaded by all blog sub-skills. Last updated: YYYY-MM-DD.

## Pronoun stance
[first-person / second-person / third-person / mixed]

## Lexical rules
- **Contractions**: [full / partial / none]
- **Sentence ceiling**: [N words max]
- **Paragraph ceiling**: [N words max, default 150]
- **Summary label**: [Key Takeaways / TL;DR / etc.]

## Headline patterns
- **Favor**: [list]
- **Avoid**: [list]

## Voice fingerprint (from blog-persona)
- Funny vs serious: [0.0 to 1.0]
- Formal vs casual: [0.0 to 1.0]
- Respectful vs irreverent: [0.0 to 1.0]
- Enthusiastic vs matter-of-fact: [0.0 to 1.0]

## Readability target
- Audience tier: [consumer / professional / technical]
- Flesch Grade: [range]
- Flesch Ease: [range]

## Reference samples
- [URL 1] (extracted patterns: [summary])
- [URL 2] (extracted patterns: [summary])

Show Workflow

  1. Check for BRAND.md and VOICE.md at project root.
  2. If both exist, print a summary table (key sections only) and the file paths.
  3. If one or both are missing, print which are missing and suggest /blog brand init.

Update Workflow

Same as Init, but pre-fills every answer with the current value. The user can press enter to accept or type a new value. After collecting all answers, overwrite both files with the new contents and update the Last updated: line.

Integration with the blog orchestrator

When /blog write, /blog rewrite, /blog brief, /blog outline, /blog calendar, or /blog strategy runs, the orchestrator (skills/blog/SKILL.md) checks for BRAND.md and VOICE.md at the project root. If present, the contents are injected into the system prompt for downstream agents (blog-researcher, blog-writer, blog-seo, blog-reviewer).

If absent, behavior is unchanged. The orchestrator does not prompt the user to create them; they are opt-in context.

Relationship to blog-persona

Concernblog-personablog-brand
Structured persona JSON for programmatic useYesNo
Readable brand context for cross-skill promptsNoYes
Audience and positioningNoYes
Taboo phrases and editorial don'tsPartial (don't list)Full (taboo + disclosures + scope)
Competitor differentiationNoYes
Topic boundariesNoYes
Voice fingerprint (tone sliders)Yes (canonical)Mirror (read-only)

blog-brand does not replace blog-persona; it consumes it. The persona JSON remains the source of truth for tone dimensions, sentence-length distribution, and contraction frequency. VOICE.md mirrors the readable parts so prompts are self-contained.

If no persona exists when /blog brand init runs, the voice questions still produce a VOICE.md. Users who want programmatic enforcement can run /blog persona create after.

Error Handling

  • Project root unclear: ask the user where to write the files. Default is the current working directory.
  • Files already exist on init: ask whether to overwrite or run update instead.
  • Persona referenced but missing: ask whether to leave the persona reference blank or create one.
  • Reader provides minimal answers: prompt for at least 2 audience bullets and 3 editorial rules; refuse to write skeletons.

© AgriciDaniel, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/blog-brand of AgriciDaniel/claude-blog.

Open the folder on GitHubat commit 2500d4c

Used in 1 other repository

We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in AgriciDaniel/claude-blog, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Blog Brand next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Blog Brand compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Blog Brand this skillAgriciDaniel/claude-blog2.3k1 repos~2.3kAutomated safety check: PassMIT
Afa Brandafadtc/afa-dtc-skills168—~4.3kAutomated safety check: PassCustom licence
Brand Voice Guidelinesthatrebeccarae/claude-marketing161—~1.5kAutomated safety check: PassMIT
BrandOhh-889/skyroc79513 repos~733Automated safety check: PassMIT
Brand Strategy Squadohmyjahh/xquads-squads277—~852Automated safety check: PassMIT
Brand Guidelinesalirezarezvani/claude-skills28k1 repos~1.3kAutomated safety check: PassMIT

Similar skills

  • Afa Brand

    afadtc/afa-dtc-skills

    DTC 品牌定位与识别——定位画布、品牌声音、品牌故事、视觉识别。触发词: 品牌定位, brand positioning, 品牌声音, 品牌故事, 视觉识别, 品牌规范, 品牌升级, brand voice, brand story, visual identity, rebrand。复杂问题先经 afa。

    168 GitHub stars~4.3k tokensUpdated 3 days ago
    Writing & ContentAuto-check passed
  • Brand Voice Guidelines

    thatrebeccarae/claude-marketing

    Develop brand voice, tone matrices, messaging frameworks, and brand book documentation.

    161 GitHub stars~1.5k tokensUpdated 4 mo ago
    Writing & ContentAuto-check passed
  • Brand

    Ohh-889/skyroc

    Brand voice, visual identity, messaging frameworks, asset management, brand consistency.

    795 GitHub starsUsed in 13 repos~733 tokens
    Writing & ContentAuto-check passed
  • Brand Strategy Squad

    ohmyjahh/xquads-squads

    Portuguese-language brand strategy squad: a chief agent routes work to 14 specialists for positioning, audits, identity, architecture, brand story, archetypes and naming.

    277 GitHub stars~852 tokensUpdated 12 days ago
    Marketing & SEOAuto-check passed
  • Brand Guidelines

    alirezarezvani/claude-skills

    When the user wants to apply, document, or enforce brand guidelines for any product or company.

    28k GitHub starsUsed in 1 repo~1.3k tokens
    Writing & ContentAuto-check passed
  • Personal Branding

    harperreed/dotfiles

    A skill your agent uses when someone wants to build, refine, or audit their personal brand positioning across professional platforms.

    334 GitHub stars~2.2k tokensUpdated 8 days ago
    Writing & ContentAuto-check passed

More from AgriciDaniel/claude-blog

All 39 skills in this repo
  • Blog Google

    AgriciDaniel/claude-blog

    Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…

    2.3k GitHub starsUsed in 1 repo~3.3k tokens
    Auto-check: notes
  • Blog Audio

    AgriciDaniel/claude-blog

    Generate audio narration of blog posts using Google Gemini TTS.

    2.3k GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check: notes
  • Blog Flow

    AgriciDaniel/claude-blog

    FLOW framework integration for bloggers. An agent skill from AgriciDaniel/claude-blog.

    2.3k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Blog Notebooklm

    AgriciDaniel/claude-blog

    Query Google NotebookLM notebooks for source-grounded, citation-backed answers from user-uploaded documents.

    2.3k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check: warnings
  • Blog Image

    AgriciDaniel/claude-blog

    AI image generation and editing for blog content powered by Gemini via MCP.

    2.3k GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed
  • Blog Cluster

    AgriciDaniel/claude-blog

    Semantic topic cluster planning and automated execution engine for claude-blog.

    2.3k GitHub starsUsed in 1 repo~4.9k tokens
    Auto-check passed

Questions about Blog Brand

What does Blog Brand do?

Establish durable brand and voice context for cross-skill consumption. Blog Brand is an agent skill from AgriciDaniel/claude-blog. Establish durable brand and voice context for cross-skill consumption.

When should I use Blog Brand?

Blog Brand fits situations like: user says blog brand; create brand context; brand voice doc; establish editorial brand.

How do I install Blog Brand in Claude Code?

Run `npx skills add AgriciDaniel/claude-blog --skill blog-brand -a claude-code`. Or copy the skill folder (skills/blog-brand in AgriciDaniel/claude-blog) into .claude/skills/blog-brand in your project. Claude Code loads it when a task matches its description.

How do I install Blog Brand in Codex?

Run `npx skills add AgriciDaniel/claude-blog --skill blog-brand -a codex`. Or copy the skill folder (skills/blog-brand in AgriciDaniel/claude-blog) into .agents/skills/blog-brand in your project. Codex loads it when a task matches its description.

Can I use Blog Brand in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgriciDaniel/claude-blog --skill blog-brand -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/blog-brand, .gemini/skills/blog-brand, .github/skills/blog-brand and .opencode/skills/blog-brand in your project.

What does Blog Brand need to run?

SKILL.md names no scripts, command-line tools or credentials: Blog Brand is instructions for the agent only.

Does Blog Brand access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Blog Brand safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Blog Brand use?

Blog Brand is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Blog Brand use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Blog Brand?

Skills that share tags, products or a category with Blog Brand: Afa Brand (afadtc/afa-dtc-skills, 168 stars), Brand Voice Guidelines (thatrebeccarae/claude-marketing, 161 stars), Brand (Ohh-889/skyroc, 795 stars) and Brand Strategy Squad (ohmyjahh/xquads-squads, 277 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Blog Brand?

AgriciDaniel (a GitHub user) maintains it in AgriciDaniel/claude-blog, which has 2,348 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 9, 2026.

Source: AgriciDaniel/claude-blog on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.