Applying Brand Guidelines
AnthropicOfficialPublished by Anthropic
- Skill
- Guidelines
- Documents and content
- MIT
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides the official brand identity, visual standards, and content guidelines for Acme Corporation. It defines specific requirements for typography, color palettes, logo usage, and document layouts for PowerPoint, Excel, and PDF formats. Additionally, it outlines tone-of-voice expectations and data presentation rules to ensure all external communications maintain a professional and unified appearance.
What it does
- Defines specific color palettes and typography hierarchies for corporate documents.
- Sets layout and formatting rules for presentations, spreadsheets, and reports.
- Provides standardized opening and closing phrases for professional messaging.
- Establishes strict guidelines for logo placement and clear space.
- Outlines data presentation standards for tables, charts, and numerical formatting.
- Lists prohibited design elements to maintain brand integrity.
When to use it
- When creating new external-facing presentations, reports, or spreadsheets.
- When auditing existing documents for brand compliance.
- When onboarding team members on corporate communication standards.
- When preparing data visualizations to ensure consistent color usage.
Advantages
- Ensures a professional and consistent brand image across all media.
- Reduces ambiguity in document design and formatting decisions.
- Promotes clear, active, and professional communication styles.
- Provides actionable criteria for quality control and document review.
Usage examples
- “Format this project report according to Acme Corporation brand guidelines.”
- The agent applies the specified font hierarchy, color palette, and margin settings to the report, ensuring the logo is correctly placed and the tone is professional.
- “Check my presentation slides for brand compliance.”
- The agent reviews the slides against the provided guidelines, flagging any incorrect colors, fonts, or layout issues that deviate from the corporate standard.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/anthropics/applying-brand-guidelines/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip applying-brand-guidelines.zip -d .agents/skills
Documentation by Anthropic
Corporate Brand Guidelines Skill
This skill ensures all generated documents adhere to corporate brand standards for consistent, professional communication.
Brand Identity
Company: Acme Corporation
Tagline: "Innovation Through Excellence" Industry: Technology Solutions
Visual Standards
Color Palette
Primary Colors:
Acme Blue: #0066CC (RGB: 0, 102, 204) - Headers, primary buttons
Acme Navy: #003366 (RGB: 0, 51, 102) - Text, accents
White: #FFFFFF - Backgrounds, reverse text
Secondary Colors:
Success Green: #28A745 (RGB: 40, 167, 69) - Positive metrics
Warning Amber: #FFC107 (RGB: 255, 193, 7) - Cautions
Error Red: #DC3545 (RGB: 220, 53, 69) - Negative values
Neutral Gray: #6C757D (RGB: 108, 117, 125) - Secondary text
Typography
Primary Font Family: Segoe UI, system-ui, -apple-system, sans-serif
Font Hierarchy:
H1: 32pt, Bold, Acme Blue
H2: 24pt, Semibold, Acme Navy
H3: 18pt, Semibold, Acme Navy
Body: 11pt, Regular, Acme Navy
Caption: 9pt, Regular, Neutral Gray
Logo Usage
Position: Top-left corner on first page/slide
Size: 120px width (maintain aspect ratio)
Clear space: Minimum 20px padding on all sides
Never distort, rotate, or apply effects
Document Standards
PowerPoint Presentations
Slide Templates:
Title Slide: Company logo, presentation title, date, presenter
Section Divider: Section title with blue background
Content Slide: Title bar with blue background, white content area
Data Slide: For charts/graphs, maintain color palette
Layout Rules:
Margins: 0.5 inches all sides
Title position: Top 15% of slide
Bullet indentation: 0.25 inches per level
Maximum 6 bullet points per slide
Charts use brand colors exclusively
Excel Spreadsheets
Formatting Standards:
Headers: Row 1, Bold, White text on Acme Blue background
Subheaders: Bold, Acme Navy text
Data cells: Regular, Acme Navy text
Borders: Thin, Neutral Gray
Alternating rows: Light gray (#F8F9FA) for readability
Chart Defaults:
Primary series: Acme Blue
Secondary series: Success Green
Gridlines: Neutral Gray, 0.5pt
No 3D effects or gradients
PDF Documents
Page Layout:
Header: Company logo left, document title center, page number right
Footer: Copyright notice left, date center, classification right
Margins: 1 inch all sides
Line spacing: 1.15
Paragraph spacing: 12pt after
Section Formatting:
Main headings: Acme Blue, 16pt, bold
Subheadings: Acme Navy, 14pt, semibold
Body text: Acme Navy, 11pt, regular
Content Guidelines
Tone of Voice
Professional: Formal but approachable
Clear: Avoid jargon, use simple language
Active: Use active voice, action-oriented
Positive: Focus on solutions and benefits
Standard Phrases
Opening Statements:
"At Acme Corporation, we..."
"Our commitment to innovation..."
"Delivering excellence through..."
Closing Statements:
"Thank you for your continued partnership."
"We look forward to serving your needs."
"Together, we achieve excellence."
Data Presentation
Numbers:
Use comma separators for thousands
Currency: $X,XXX.XX format
Percentages: XX.X% (one decimal)
Dates: Month DD, YYYY
Tables:
Headers in brand blue
Alternating row colors
Right-align numbers
Left-align text
Quality Standards
Before Finalizing
Always ensure:
Logo is properly placed and sized
All colors match brand palette exactly
Fonts are consistent throughout
No typos or grammatical errors
Data is accurately presented
Professional tone maintained
Prohibited Elements
Never use:
Clip art or stock photos without approval
Comic Sans, Papyrus, or decorative fonts
Rainbow colors or gradients
Animations or transitions (unless specified)
Competitor branding or references
Application Instructions
When creating any document:
Start with brand colors and fonts
Apply appropriate template structure
Include logo on first page/slide
Use consistent formatting throughout
Review against brand standards
Ensure professional appearance
Scripts
apply_brand.py: Automatically applies brand formatting to documentsvalidate_brand.py: Checks documents for brand compliance
Notes
These guidelines apply to all external communications
Internal documents may use simplified formatting
Special projects may have exceptions (request approval)
Brand guidelines updated quarterly - check for latest version
Files
- ATTRIBUTION.mdAdded by AutoGineer911 B
- LICENSELicence file added by AutoGineer1.0 KiB
- REFERENCE.md3.5 KiB
- SKILL.md4.7 KiB
- apply_brand.pyScript14.9 KiB
- validate_brand.pyScript10.3 KiB
validate_brand.py
#!/usr/bin/env python3
"""
Brand Validation Script
Validates content against brand guidelines including colors, fonts, tone, and messaging.
"""
import json
import re
from dataclasses import asdict, dataclass
@dataclass
class BrandGuidelines:
"""Brand guidelines configuration"""
brand_name: str
primary_colors: list[str]
secondary_colors: list[str]
fonts: list[str]
tone_keywords: list[str]
prohibited_words: list[str]
tagline: str | None = None
logo_usage_rules: dict | None = None
@dataclass
class ValidationResult:
"""Result of brand validation"""
passed: bool
score: float
violations: list[str]
warnings: list[str]
suggestions: list[str]
class BrandValidator:
"""Validates content against brand guidelines"""
def __init__(self, guidelines: BrandGuidelines):
self.guidelines = guidelines
def validate_colors(self, content: str) -> tuple[list[str], list[str]]:
"""
Validate color usage in content (hex codes, RGB, color names)
Returns: (violations, warnings)
"""
violations = []
warnings = []
# Find hex colors
hex_pattern = r"#[0-9A-Fa-f]{6}|#[0-9A-Fa-f]{3}"
found_colors = re.findall(hex_pattern, content)
# Find RGB colors
rgb_pattern = r"rgb\s*\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*\)"
found_colors.extend(re.findall(rgb_pattern, content, re.IGNORECASE))
approved_colors = self.guidelines.primary_colors + self.guidelines.secondary_colors
for color in found_colors:
if color.upper() not in [c.upper() for c in approved_colors]:
violations.append(f"Unapproved color used: {color}")
return violations, warnings
def validate_fonts(self, content: str) -> tuple[list[str], list[str]]:
"""
Validate font usage in content
Returns: (violations, warnings)
"""
violations = []
warnings = []
# Common font specification patterns
font_patterns = [
r'font-family\s*:\s*["\']?([^;"\']+)["\']?',
r"font:\s*[^;]*\s+([A-Za-z][A-Za-z\s]+)(?:,|;|\s+\d)",
]
found_fonts = []
for pattern in font_patterns:
matches = re.findall(pattern, content, re.IGNORECASE)
found_fonts.extend(matches)
for font in found_fonts:
font_clean = font.strip().lower()
# Check if any approved font is in the found font string
if not any(approved.lower() in font_clean for approved in self.guidelines.fonts):
violations.append(f"Unapproved font used: {font}")
return violations, warnings
def validate_tone(self, content: str) -> tuple[list[str], list[str]]:
"""
Validate tone and messaging
Returns: (violations, warnings)
"""
violations = []
warnings = []
# Check for prohibited words
content_lower = content.lower()
for word in self.guidelines.prohibited_words:
if word.lower() in content_lower:
violations.append(f"Prohibited word/phrase used: '{word}'")
# Check for tone keywords (should have at least some)
tone_matches = sum(
1 for keyword in self.guidelines.tone_keywords if keyword.lower() in content_lower
)
if tone_matches == 0 and len(content) > 100:
warnings.append(
f"Content may not align with brand tone. "
f"Consider using terms like: {', '.join(self.guidelines.tone_keywords[:5])}"
)
return violations, warnings
def validate_brand_name(self, content: str) -> tuple[list[str], list[str]]:
"""
Validate brand name usage and capitalization
Returns: (violations, warnings)
"""
violations = []
warnings = []
# Find all variations of the brand name
brand_pattern = re.compile(re.escape(self.guidelines.brand_name), re.IGNORECASE)
matches = brand_pattern.findall(content)
for match in matches:
if match != self.guidelines.brand_name:
violations.append(
f"Incorrect brand name capitalization: '{match}' "
f"should be '{self.guidelines.brand_name}'"
)
return violations, warnings
def calculate_score(self, violations: list[str], warnings: list[str]) -> float:
"""Calculate compliance score (0-100)"""
violation_penalty = len(violations) * 10
warning_penalty = len(warnings) * 3
score = max(0, 100 - violation_penalty - warning_penalty)
return round(score, 2)
def generate_suggestions(self, violations: list[str], warnings: list[str]) -> list[str]:
"""Generate helpful suggestions based on violations and warnings"""
suggestions = []
if any("color" in v.lower() for v in violations):
suggestions.append(
f"Use approved colors: Primary: {', '.join(self.guidelines.primary_colors[:3])}"
)
if any("font" in v.lower() for v in violations):
suggestions.append(f"Use approved fonts: {', '.join(self.guidelines.fonts)}")
if any("tone" in w.lower() for w in warnings):
suggestions.append(
f"Incorporate brand tone keywords: {', '.join(self.guidelines.tone_keywords[:5])}"
)
if any("brand name" in v.lower() for v in violations):
suggestions.append(f"Always capitalize brand name as: {self.guidelines.brand_name}")
return suggestions
def validate(self, content: str) -> ValidationResult:
"""
Perform complete brand validation
Returns: ValidationResult
"""
all_violations = []
all_warnings = []
# Run all validation checks
color_v, color_w = self.validate_colors(content)
all_violations.extend(color_v)
all_warnings.extend(color_w)
font_v, font_w = self.validate_fonts(content)
all_violations.extend(font_v)
all_warnings.extend(font_w)
tone_v, tone_w = self.validate_tone(content)
all_violations.extend(tone_v)
all_warnings.extend(tone_w)
brand_v, brand_w = self.validate_brand_name(content)
all_violations.extend(brand_v)
all_warnings.extend(brand_w)
# Calculate score and generate suggestions
score = self.calculate_score(all_violations, all_warnings)
suggestions = self.generate_suggestions(all_violations, all_warnings)
return ValidationResult(
passed=len(all_violations) == 0,
score=score,
violations=all_violations,
warnings=all_warnings,
suggestions=suggestions,
)
def load_guidelines_from_json(filepath: str) -> BrandGuidelines:
"""
Load brand guidelines from JSON file
Args:
filepath: Path to JSON file containing brand guidelines
Returns:
BrandGuidelines object
Raises:
FileNotFoundError: If the file doesn't exist
json.JSONDecodeError: If the file contains invalid JSON
TypeError: If required fields are missing
"""
try:
with open(filepath) as f:
data = json.load(f)
return BrandGuidelines(**data)
except FileNotFoundError as e:
raise FileNotFoundError(f"Brand guidelines file not found: {filepath}") from e
except json.JSONDecodeError as e:
raise json.JSONDecodeError(
f"Invalid JSON in brand guidelines file: {e.msg}", e.doc, e.pos
) from e
except TypeError as e:
raise TypeError(f"Missing required fields in brand guidelines: {e}") from e
def get_acme_corporation_guidelines() -> BrandGuidelines:
"""
Get default Acme Corporation brand guidelines.
These guidelines match the standards defined in the SKILL.md reference.
Users should customize these for their own organization.
Returns:
BrandGuidelines object with Acme Corporation standards
"""
return BrandGuidelines(
brand_name="Acme Corporation",
primary_colors=["#0066CC", "#003366", "#FFFFFF"], # Acme Blue, Acme Navy, White
secondary_colors=[
"#28A745",
"#FFC107",
"#DC3545",
"#6C757D",
"#F8F9FA",
], # Success Green, Warning Amber, Error Red, Neutral Gray, Light Gray
fonts=["Segoe UI", "system-ui", "-apple-system", "sans-serif"],
tone_keywords=[
"innovation",
"excellence",
"professional",
"solutions",
"trusted",
"reliable",
],
prohibited_words=["cheap", "outdated", "inferior", "unprofessional", "sloppy"],
tagline="Innovation Through Excellence",
)
def main():
"""Example usage demonstrating brand validation"""
# Load Acme Corporation brand guidelines
# Users should customize this for their own organization
guidelines = get_acme_corporation_guidelines()
# Example content to validate (intentionally contains violations for demonstration)
test_content = """
Welcome to acme corporation!
We are a cheap solution provider with outdated technology.
Our innovation and excellence in professional solutions are trusted by many.
Contact us at: font-family: 'Comic Sans MS'
Color scheme: #FF0000
Background: rgb(255, 0, 0)
"""
# Validate
validator = BrandValidator(guidelines)
result = validator.validate(test_content)
# Print results
print("=" * 60)
print("BRAND VALIDATION REPORT")
print("=" * 60)
print(f"\nOverall Status: {'✓ PASSED' if result.passed else '✗ FAILED'}")
print(f"Compliance Score: {result.score}/100")
if result.violations:
print(f"\n❌ VIOLATIONS ({len(result.violations)}):")
for i, violation in enumerate(result.violations, 1):
print(f" {i}. {violation}")
if result.warnings:
print(f"\n⚠️ WARNINGS ({len(result.warnings)}):")
for i, warning in enumerate(result.warnings, 1):
print(f" {i}. {warning}")
if result.suggestions:
print("\n💡 SUGGESTIONS:")
for i, suggestion in enumerate(result.suggestions, 1):
print(f" {i}. {suggestion}")
print("\n" + "=" * 60)
# Return JSON for programmatic use
return asdict(result)
if __name__ == "__main__":
main()
Requirements and compatibility
Written for: Claude Code, Claude apps
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Python
Security
What our scanner noticed· Low risk
- Scripts that your agent may run
This skill includes scripts that your agent may run. Read them before you use it.
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Anthropic
- Publisher
- Anthropic (Official)
- Source
- anthropics/claude-cookbooks · skills/custom_skills/applying-brand-guidelines · commit ce8b262
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Anthropic or Anthropic.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download applying-brand-guidelines.zip