Skills Agentes

Blog Brand

Crea contexto editorial duradero para el resto de subskills: genera BRAND.md (audiencia, posicionamiento, reglas editoriales, frases prohibidas, competencia) y VOICE.md (la persona en prosa legible) en la raíz del proyecto.

Estrellas
2.2k

en todo el repo

Actividad
54

0–100, la ruta de este skill

Actualizado
hace 3 meses

último commit aquí

Commits
3

últimos 90 días

Contexto
2.3k tok

160 tok en reposo

Paquete
1 archivo

9 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add AgriciDaniel/claude-blog --skill blog-brand --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Hace una entrevista de 5 pasos: audiencia, posicionamiento y entidad canónica, reglas editoriales, límites temáticos y voz
  • Escribe `BRAND.md` y `VOICE.md` en la raíz del proyecto con la plantilla completa y la fecha de última actualización
  • Rellena las respuestas de voz desde el JSON de blog-persona si ya existe, sin sustituirlo como fuente de verdad
  • El orquestador los carga en write, rewrite, brief, outline, calendar y strategy; si no existen, el comportamiento no cambia
  • `show` muestra el contenido actual y `update` repite la entrevista con los valores vigentes como predeterminados

Úsalo cuando

  • El usuario dice "blog brand", "crear contexto de marca", "BRAND.md", "VOICE.md" o "guía editorial del blog"

No lo uses cuando

  • Necesitas la persona estructurada en JSON para control programático de tono y legibilidad: eso lo gestiona blog-persona

Qué lo activa

Di cualquiera de estas frases y el agente debería cargar este skill.

  • “Crea el BRAND.md y el VOICE.md de mi blog”
  • “Muéstrame el contexto de marca actual”
  • “Actualiza las reglas editoriales del blog”

SKILL.md

En inglés

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

Command Purpose
/blog brand init Interactive interview, writes BRAND.md and VOICE.md to project root
/blog brand show Display current contents (or report missing)
/blog brand update Re-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

Output Files

BRAND.md template

Write to project root as:

# 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:

# 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

Concern blog-persona blog-brand
Structured persona JSON for programmatic use Yes No
Readable brand context for cross-skill prompts No Yes
Audience and positioning No Yes
Taboo phrases and editorial don'ts Partial (don't list) Full (taboo + disclosures + scope)
Competitor differentiation No Yes
Topic boundaries No Yes
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.

Reproducido de AgriciDaniel/claude-blog bajo licencia MIT. Leer esta página en markdown.

Archivos

1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

Detalles

Categoría
Marketing
Licencia
MIT
Recursos incluidos
Solo SKILL.md
Código fuente
Ver SKILL.md

Etiquetas

Más de AgriciDaniel/claude-blog

Este repo incluye 33 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack claude-blog entero y su comando de instalación

Blog

2.2k

Motor de blog de ciclo completo con 31 subskills, 12 plantillas, puntuación sobre 100 y 5 agentes. Enruta cada petición a la subskill correcta: escribir, reescribir, analizar, auditar, schema, clusters y publicación multilingüe.

Costo de contexto al activarse
6.2k tok
Tamaño del paquete
35 archivos
Última actualización
hace 2 meses
seo geo

Integración con las APIs de Google para rendimiento de blog: PageSpeed Insights, CrUX con 25 semanas de histórico, Search Console, URL Inspection, Indexing API, GA4, NLP de entidades, YouTube y Keyword Planner.

Costo de contexto al activarse
3.3k tok
Tamaño del paquete
24 archivos
Última actualización
hace 2 meses
seo geo

Consulta cuadernos de Google NotebookLM para obtener respuestas ancladas en tus propios documentos y con citas: gestiona la biblioteca de cuadernos, la autenticación con Google y el descubrimiento de contenido.

Costo de contexto al activarse
2.5k tok
Tamaño del paquete
15 archivos
Última actualización
hace 2 meses
investigacion

Genera narración en audio de posts con Google Gemini TTS: resumen hablado, lectura completa o diálogo tipo pódcast a dos voces, con 30 voces y salida MP3 más el código de inserción HTML5.

Costo de contexto al activarse
2.2k tok
Tamaño del paquete
8 archivos
Última actualización
hace 2 meses
redaccion contenido

Generación y edición de imágenes con IA para contenido de blog mediante Gemini por MCP: portadas, ilustraciones, tarjetas sociales y OG, con 6 modos de dominio y retorno silencioso si el MCP no está disponible.

Costo de contexto al activarse
3.4k tok
Tamaño del paquete
6 archivos
Última actualización
hace 2 meses
redaccion contenido

Motor de clusters temáticos semánticos: investiga keywords desde el SERP, agrupa por intención y solapamiento, construye una arquitectura hub-and-spoke, genera un mapa SVG y ejecuta el cluster llamando a blog-write.

Costo de contexto al activarse
4.9k tok
Tamaño del paquete
4 archivos
Última actualización
hace 2 meses
seo geo

Skills relacionados

Blog

2.2k

Motor de blog de ciclo completo con 31 subskills, 12 plantillas, puntuación sobre 100 y 5 agentes. Enruta cada petición a la subskill correcta: escribir, reescribir, analizar, auditar, schema, clusters y publicación multilingüe.

Costo de contexto al activarse
6.2k tok
Tamaño del paquete
35 archivos
Última actualización
hace 2 meses
seo geo

Audita y puntúa posts con 100 puntos en 5 categorías: calidad de contenido, SEO, señales E-E-A-T, elementos técnicos y preparación para citas de IA. Exporta en markdown, JSON o tabla y admite análisis por lotes.

Costo de contexto al activarse
3.8k tok
Tamaño del paquete
1 archivo
Última actualización
hace 3 meses
redaccion contenido

Genera narración en audio de posts con Google Gemini TTS: resumen hablado, lectura completa o diálogo tipo pódcast a dos voces, con 30 voces y salida MP3 más el código de inserción HTML5.

Costo de contexto al activarse
2.2k tok
Tamaño del paquete
8 archivos
Última actualización
hace 2 meses
redaccion contenido