brand-guidelines — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited brand-guidelines (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A universal skill for producing, reviewing, and advising on brand-compliant materials across any company. This skill turns a brand configuration file into an active quality gate — every deliverable you produce or review passes through brand rules automatically.
The skill operates in three modes depending on what the user needs:
| Mode | Trigger | What Happens |
|---|---|---|
| Configure | User provides brand info or uploads a brand guide | Parse → generate brand-config.json |
| Produce | User asks to create a deliverable (poster, PPT, copy…) | Load config → apply brand rules → create output |
| Review | User asks to check/audit existing material | Load config → run compliance checklist → report issues |
Every task begins here. Check if a brand-config.json exists in the working directory or in the user's uploaded files.
If config exists: Read it and confirm the brand name with the user.
If config does NOT exist: Ask the user for brand information. They may:
Then generate the config by running:
python3 <skill-path>/scripts/init_brand_config.py --output brand-config.jsonEdit the output JSON to fill in the user's brand details. The config structure covers every aspect of brand identity — see references/brand-config-template.md for the full schema and field-by-field guidance.
Minimum viable config (enough to start producing materials):
{
"brand_name": "Company Name",
"colors": {
"primary": [{"name": "Main", "hex": "#000000"}],
"accent": [{"name": "Accent", "hex": "#FF6600"}]
},
"typography": {
"heading_font": "Poppins",
"body_font": "Inter"
}
}Even a partial config is useful — the skill will work with whatever is provided and flag gaps when they matter for the specific deliverable.
When the user provides brand source material (a PDF brand book, a website, verbal descriptions), your job is to extract structured brand data into brand-config.json.
elements; for websites, note colors, fonts, and layout patterns.
references/brand-config-template.mdand fill what you can find.
eyeball it or ask the user. If tone-of-voice examples exist but no explicit personality traits are listed, derive them from the examples.
missing. Prioritize gaps that affect near-term deliverables.
scripts/validate_brand.py --config brand-config.json --check colorsto ensure contrast ratios meet WCAG AA for all foreground/background combinations.
brand-config.json and give the user a visual summary:color swatches (as an HTML or SVG artifact), font hierarchy, and key verbal guidelines.
When a user asks you to create any marketing material, follow this workflow:
Read references/deliverable-specs.md to find the matching deliverable type and its specs. Common types:
| Category | Deliverables |
|---|---|
| Social Media | Instagram post/story/reel, Facebook post/cover, LinkedIn post/banner, Twitter/X post, TikTok, WeChat Moments, Xiaohongshu |
| Digital Ads | Web banner (IAB sizes), display ads, email header |
| Presentations | Pitch deck, company intro, sales deck, keynote template |
| Poster (A3/A2/A1), flyer (A5/A4), brochure, business card, letterhead | |
| Long-form | Company brochure/lookbook, annual report, brand book itself |
| Video | Storyboard, title card, end card, lower-third template |
| Copy | Taglines, social captions, website copy, email campaigns, press releases |
For every deliverable, apply these rules from the brand config:
Visual rules (read references/visual-identity.md for details):
60% primary/neutral, 30% secondary, 10% accent).
body in body font. Never mix unapproved fonts.
Never stretch, rotate, recolor, or add effects to the logo.
cropping ratios, and subject matter.
and padding across materials.
Verbal rules (read references/tone-of-voice.md for details):
every piece of copy should reflect that balance.
Calls-to-action should use approved language.
(LinkedIn is professional; Instagram is visual-first; Twitter is concise).
Consult the size table in references/deliverable-specs.md for exact dimensions, DPI, file format, and bleed requirements. Key principles:
Before delivering ANY material, run the brand compliance review:
python3 <skill-path>/scripts/validate_brand.py --config brand-config.json --material <output-file>Also mentally walk through the checklist in references/review-checklist.md:
When a user asks you to review or audit materials for brand compliance:
For documents, read the content. For presentations, check each slide.
references/review-checklist.md and score eachcategory (Visual Identity, Typography, Color, Logo, Imagery, Copy, Format).
# Brand Compliance Report — [Material Name]
## Overall Score: X/100
## Summary
One-paragraph overview of compliance level.
## Findings
### Passes (what's correct)
- ...
### Issues (what needs fixing)
For each issue:
- **What**: Description of the violation
- **Where**: Location in the material
- **Rule**: Which brand guideline it violates
- **Fix**: Specific recommended correction
## Recommendations
Prioritized list of improvements.This skill often works alongside other creation skills. The brand config acts as a constraint layer on top of their output:
| Partner Skill | How Brand Guidelines Applies |
|---|---|
| pptx | Apply brand colors, fonts, and logo to presentation templates. Use brand imagery style. |
| docx | Apply brand fonts, heading styles, and color accents to documents. Enforce tone of voice. |
| xlsx | Apply brand colors to chart formatting and header styling. |
| Ensure generated PDFs follow brand typography and color rules. |
When invoking a partner skill, pass the relevant brand parameters explicitly:
When writing copy for social media or marketing channels, adapt the brand voice to each platform's conventions. Read references/tone-of-voice.md for the full framework, but here's the quick reference:
| Platform | Max Length | Tone Shift | Format Notes |
|---|---|---|---|
| 3000 chars | More professional, thought-leadership | Paragraphs, minimal emoji | |
| 2200 chars | Visual-first, lifestyle-oriented | Short paragraphs, strategic emoji, 3-5 hashtags | |
| Twitter/X | 280 chars | Punchy, conversational | One core message, 1-2 hashtags max |
| 500 chars optimal | Community-oriented, storytelling | Questions work well, link-friendly | |
| 2000 chars | Relationship-focused, informative | Longer form OK, image-text mix | |
| Xiaohongshu | 1000 chars | Authentic, personal, lifestyle | Emoji-rich, tip-style formatting, 10+ hashtags |
| Email Subject | 50 chars | Direct, benefit-focused | Front-load the value proposition |
| Email Body | Varies | Warm but professional | Clear CTA, scannable sections |
The brand-config.json is structured into these top-level sections:
| Section | Purpose | Reference |
|---|---|---|
brand_name | Company name | — |
brand_identity | Mission, values, positioning, personality | references/brand-config-template.md |
colors | Full color palette with codes | references/visual-identity.md |
typography | Font families, sizes, hierarchy | references/visual-identity.md |
logo | Usage rules, variants, clear space | references/visual-identity.md |
imagery | Photography/illustration style | references/visual-identity.md |
verbal_identity | Tone, terminology, key messages | references/tone-of-voice.md |
deliverable_defaults | Per-type default settings | references/deliverable-specs.md |
These are typically pre-installed. If not, install with:
pip install Pillow python-pptx python-docx openpyxl --break-system-packages~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.