<< All versions

Skill v1.0.0

currentAutomated scan100/100
allura-ecosystem/team-durham/brand-consistency-review
──Details
PublishedSeptember 27, 2026 at 07:06 PM
Content Hashsha256:e1113f8358ab469e...
Git SHA75ee7eb2a02a
──Files
Files (1 file, 11.8 KB)
SKILL.md11.8 KBactive
SKILL.md · 342 lines · 11.8 KB

version: "1.0.0" name: brand-consistency-review description: "Score brand compliance with the Munari QA rubric." globs: ["clients/", ".claude/"]


Brand Consistency Review Skill — Phase 5 QA Numeric Scoring System

Executor: @Munari (QA Reviewer)
Type: Read-only review with numeric scoring
group_id: allura-team-durham
Pass Gate: 85% (51/60 items minimum)

Purpose

Validates brand consistency across all assets in the Brand Maker workspace using a rigorous 60-item numeric scoring system. Checks alignment with brand truth, strategy, and visual direction with pass/fail enforcement.


Scoring Architecture

Weight Distribution (100 points total)

CategoryWeightItemsMax Points
Strategy Completeness20%1220
Naming Quality15%915
Visual Consistency25%1525
Brand Kit Completeness25%1525
Cross-Reference Accuracy15%915
TOTAL100%60100

Pass Gate Enforcement

ResultThresholdAction
PASS≥85% (51+/60 items)Proceed to Phase 6 (Allura Memory)
CONDITIONAL70-84% (42-50 items)Fix critical issues, re-review required
FAIL<70% (<42 items)Return to producing agents, major revision

60-Item Checklist with Scoring

Category 1: Strategy Completeness (20 points)

Source: `01_strategist_strategy-pack.md`

#ItemPointsCheck
S1Client intake fields fully populated2All 7 fields have non-placeholder values
S2One archetype is locked and documented2Primary archetype specified with attributes
S3Promise, desire, fear defined2All three core attributes documented
S4Voice rules are concrete and actionable2Specific do/don't examples provided
S5One Big Idea is one clear sentence2Positioning statement is concise
S6Must-not list is explicit2Prohibited terms/styles listed
S7Competitive swipe summary exists23-5 competitors analyzed
S8Proof points are evidence-based2At least 3 proof points with rationale
S9Target audience is clearly defined2Demographics + psychographics documented
S10Brand personality dimensions set2Aaker dimensions specified
S11Definition of success is measurable1Success criteria include metrics
S12Deliverables expected are listed1Complete deliverable list provided

Category 1 Max: 20 points

Category 2: Naming Quality (15 points)

Source: `02_namer_naming-pack.md`

#ItemPointsCheck
N1Strategy summary references locked Strategy Pack2Links to Phase 1 deliverables
N25 name options provided2Safe, Strong (3), Wildcard categories
N3Each name has category assigned1Safe/Strong/Wildcard classification
N4Each name has meaning/rationale2Etymology or strategic reasoning
N5Archetype fit assessed for each2Alignment with locked archetype
N6Vibe keywords provided1Descriptive keywords for each name
N7Domain/handle ideas suggested1Availability considerations noted
N8Shortlist has primary selection2Clear primary name chosen
N9Shortlist has secondary backup2Secondary option documented

Category 2 Max: 15 points

Category 3: Visual Consistency (25 points)

Sources: `03_visual-director_logo-pack.md`, `03_visual-director_fal-ai-runs.json`, `generated-images/`

#ItemPointsCheck
V15 logo directions provided3Complete set of concepts
V2Each direction has concept description2Shape language documented
V3Typography specified per direction2Font choices documented
V4Color approach defined per direction2Color strategy for each
V5Do/Don't rules specified2Usage guidelines per direction
V6Logo works at 24px (favicon)2Scalability verified
V7Logo works in 1-color2Monochrome version exists
V8Visual aligns with archetype2Caregiver/Explorer/etc. reflected
V9Color palette matches brand spec2HEX values align
V10WCAG 2.1 AA contrast ratios met24.5:1 text, 3:1 large text
V11Logo legibility at small sizes2Actual PNG/JPG analysis
V12Visual consistency across directions1Cohesive visual language
V13Typography legibility in overlays1Text readable on images
V14Production readiness (no artifacts)1Clean, sharp renders
V15White/background space intentional1Proper spacing observed

Category 3 Max: 25 points

Category 4: Brand Kit Completeness (25 points)

Source: `04_brand-kit-builder_brand-kit.md`

#ItemPointsCheck
K1All 4 input files validated3Checkmarks in Section 0
K2Section 1: Logo specifications complete2Clear space, min sizes, variants
K3Section 2: Color system documented3HEX, RGB, CMYK, Pantone
K4Section 3: Typography system complete3Primary, secondary, scale
K5Section 4: Visual language defined2Imagery, patterns, textures
K6Section 5: Voice & tone documented2Writing guidelines
K7Section 6: Application examples36+ applications shown
K8Section 7: Do/Don't rules2Clear usage guidelines
K9Section 8: File delivery specs2Formats, naming, organization
K10Section 9: Brand story present1Narrative component
K11Section 10: Asset library cataloged1Complete file inventory
K12Primary color specified1Main brand color defined
K13Secondary colors (2-3) specified1Supporting palette
K14Accent color specified1Highlight color
K15Neutral palette defined1Grays, blacks, whites

Category 4 Max: 25 points

Category 5: Cross-Reference Accuracy (15 points)

Cross-phase validation

#ItemPointsCheck
C1Strategy → Naming alignment2Naming reflects strategy
C2Strategy → Visual alignment2Visuals match archetype
C3Naming → Visual alignment2Logo works with name
C4All phases reference same archetype2Consistent archetype throughout
C5Brand Kit references Strategy Pack2Links to Phase 1
C6Brand Kit references Naming Pack2Links to Phase 2
C7Brand Kit references Logo Pack2Links to Phase 3
C8No contradictions between phases2All phases agree
C9File naming follows convention1XX_agent_description.ext

Category 5 Max: 15 points


Output Format

Markdown Report: 05_qa-reviewer_qa-report.md

markdown
# QA Report — [Brand Name]
## Summary
-**Date:** [timestamp]
-**Reviewer:** Munari
-**Overall Score:** [X]/100 ([X]%) — [X]/60 items passed
-**Result:** [PASS / CONDITIONAL / FAIL]
## Scores by Category
| Category | Weight | Score | Items Passed | Percentage |
|----------|--------|-------|--------------|------------|
| Strategy Completeness | 20% | [X]/20 | [X]/12 | [X]% |
| Naming Quality | 15% | [X]/15 | [X]/9 | [X]% |
| Visual Consistency | 25% | [X]/25 | [X]/15 | [X]% |
| Brand Kit Completeness | 25% | [X]/25 | [X]/15 | [X]% |
| Cross-Reference Accuracy | 15% | [X]/15 | [X]/9 | [X]% |
| **TOTAL** | **100%** | **[X]/100** | **[X]/60** | **[X]%** |
## Critical Issues (Must Fix for Pass)
<!-- Items that caused score < 85% -->
1.**[Category-Item]** — [Description] — [Location] — [Fix required]
## Major Issues (Should Fix)
1.**[Category-Item]** — [Description] — [Recommended fix]
## Minor Issues (Nice to Fix)
1.**[Category-Item]** — [Description] — [Recommended fix]
## Positive Observations
1.**[Observation]**
## Next Steps
-[Action item based on result]

JSON Report: 05_qa-reviewer_qa-scores.json

json
{
"brand": "[brand-name]",
"date": "[ISO-8601 timestamp]",
"reviewer": "munari",
"group_id": "allura-team-durham",
"overall": {
"score": [0-100],
"items_passed": [0-60],
"items_total": 60,
"percentage": [0-100],
"result": "PASS|CONDITIONAL|FAIL"
},
"categories": {
"strategy": {
"weight": 0.20,
"max_points": 20,
"earned_points": [0-20],
"items_passed": [0-12],
"items_total": 12,
"percentage": [0-100],
"items": {
"S1": { "passed": true|false, "points": 2, "evidence": "..." },
"S2": { "passed": true|false, "points": 2, "evidence": "..." },
"...": "..."
}
},
"naming": { "...": "..." },
"visual": { "...": "..." },
"brand_kit": { "...": "..." },
"cross_reference": { "...": "..." }
},
"critical_issues": [...],
"major_issues": [...],
"minor_issues": [...],
"recommendations": [...]
}

Execution

Automated Scoring

Run the scoring script:

bash
node .claude/skills/brand-consistency-review/score-checklist.js [brand-slug]

Manual Review Override

Munari can override automated scores with justification:

  • Add manual_override: true to JSON
  • Document reason in override_reason field
  • Log to Allura Brain as QA_OVERRIDE event

Allura Brain Integration

Read Operations

  • Brand truth from 06_allura-memory_brand-truth.json
  • Phase deliverables from clients/{brand}/

Write Operations

  • QA_SCORED event: Score calculation complete
  • QA_PASSED event: Brand achieved ≥85%
  • QA_FAILED event: Brand below threshold
  • QA_CONDITIONAL event: Brand 70-84%, fixes required
  • LESSON_LEARNED event: Recurring issues identified

Event Schema

json
{
"agent_id": "munari",
"group_id": "allura-team-durham",
"event_type": "QA_SCORED|QA_PASSED|QA_FAILED|QA_CONDITIONAL",
"payload": {
"brand": "[brand-slug]",
"score": [0-100],
"items_passed": [0-60],
"result": "PASS|CONDITIONAL|FAIL",
"critical_issues_count": [N],
"report_path": "clients/[brand]/05_qa-reviewer_qa-report.md",
"json_path": "clients/[brand]/05_qa-reviewer_qa-scores.json"
}
}

Telemetry

Every invocation of this skill MUST log telemetry to the events table via MCP_DOCKER. See docs/TELEMETRY_SCHEMA.md for the full schema.

On Start

javascript
MCP_DOCKER_insert_data({
table_name: "events",
columns: "event_type, group_id, agent_id, status, metadata",
values: "'SKILL_USED', 'allura-team-durham', 'munari', 'completed',
'{\"skill_name\": \"brand-consistency-review\", \"phase\": 5, \"trigger\": \"<trigger phrase>\", \"prerequisites_met\": true}'"
})

On Completion

javascript
MCP_DOCKER_insert_data({
table_name: "events",
columns: "event_type, group_id, agent_id, status, metadata",
values: "'SKILL_COMPLETED', 'allura-team-durham', 'munari', 'completed',
'{\"skill_name\": \"brand-consistency-review\", \"phase\": 5, \"duration_sec\": <N>, \"output_artifact_path\": \"<path>\", \"tool_calls\": [<tools used>]}'"
})

On Failure

javascript
MCP_DOCKER_insert_data({
table_name: "events",
columns: "event_type, group_id, agent_id, status, error_message, metadata",
values: "'SKILL_FAILED', 'allura-team-durham', 'munari', 'failed', '<error>',
'{\"skill_name\": \"brand-consistency-review\", \"phase\": 5, \"missing_prerequisites\": [<items>], \"fallback_used\": false}'"
})

Never skip telemetry logging. If MCP_DOCKER_insert_data fails, log an error to the user and continue.


Invariants

  • group_id = 'allura-team-durham' for all events
  • agent_id = 'munari' for all QA activities
  • 85% is the hard pass gate — no exceptions
  • QA is READ-ONLY — flags issues but never implements fixes
  • Fixes route back to producing agents (Aaker, Ogilvy, Glaser, Rand)
  • All scores must be evidence-based with file references
  • JSON and Markdown reports must be generated together
All versions