Multi-stage quality assurance protocol for marketing assets with channel-specific validation.
Runs comprehensive quality assurance on marketing assets with channel-specific validation. Triggers on commands like "QA this asset" or "validate for [channel]" to check technical specs, content accuracy, and brand compliance, generating approval-ready reports.
/plugin marketplace add jmagly/ai-writing-guide/plugin install marketing@aiwgThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Multi-stage quality assurance protocol for marketing assets with channel-specific validation.
This skill implements comprehensive quality assurance across marketing deliverables by:
When triggered, this skill:
Identifies asset type and channel:
Runs technical validation:
Validates content:
Checks brand compliance:
Applies channel rules:
Generates QA report:
social_channels:
instagram:
feed_post:
aspect_ratios: [1:1, 4:5, 1.91:1]
max_video_duration: 60s
max_carousel: 10
caption_limit: 2200
hashtag_limit: 30
story:
aspect_ratio: 9:16
max_duration: 15s
dimensions: 1080x1920
reel:
aspect_ratio: 9:16
max_duration: 90s
dimensions: 1080x1920
linkedin:
post:
image_ratio: [1.91:1, 1:1, 4:5]
video_duration: [3s, 10min]
text_limit: 3000
hashtag_limit: 5
article:
header_image: 1200x627
min_words: 500
twitter:
tweet:
text_limit: 280
image_ratio: [16:9, 1:1]
max_images: 4
video_duration: [0.5s, 140s]
thread:
max_tweets: 25
facebook:
post:
text_limit: 63206
image_ratio: [1.91:1, 1:1, 4:5]
video_duration: [1s, 240min]
ad:
primary_text: 125
headline: 40
description: 30
image_ratio: 1.91:1
email_specs:
general:
max_width: 600px
max_file_size: 100KB per image
total_size: 1MB recommended
subject_line: 50 chars optimal
preheader: 85-100 chars
images:
formats: [jpg, png, gif]
max_dimensions: 600x1200
alt_text: required
background_colors: required (image blocking)
links:
tracking: required
utm_params: required
unsubscribe: required
physical_address: required
testing:
clients: [gmail, outlook, apple_mail, yahoo]
dark_mode: required
mobile_responsive: required
ad_specs:
google_display:
formats:
- {size: "300x250", name: "medium_rectangle"}
- {size: "336x280", name: "large_rectangle"}
- {size: "728x90", name: "leaderboard"}
- {size: "300x600", name: "half_page"}
- {size: "320x50", name: "mobile_leaderboard"}
max_file_size: 150KB
formats: [jpg, png, gif, html5]
animation_length: 30s max
meta_ads:
image:
ratio: 1.91:1
min_resolution: 1080x1080
text_overlay: <20% recommended
video:
ratio: [1:1, 4:5, 9:16]
duration: [1s, 241min]
max_file_size: 4GB
carousel:
cards: [2, 10]
ratio: 1:1
print_specs:
general:
color_space: CMYK
resolution: 300dpi minimum
bleed: 0.125in (3mm)
safe_zone: 0.25in from trim
formats:
letter: 8.5x11in
a4: 210x297mm
business_card: 3.5x2in
brochure_trifold: 8.5x11in folded
preflight:
fonts_embedded: required
images_linked: check
overprint: verify
transparency: flatten for offset
content_checks:
copy:
- spelling_grammar: Run spell check
- brand_terminology: Use approved terms
- cta_present: Clear call-to-action
- value_proposition: Key message present
- tone_voice: Matches brand voice
accuracy:
- dates_times: Verify all dates
- prices_offers: Confirm pricing
- contact_info: Validate phone/email
- links_urls: Test all links
- legal_claims: Substantiation check
localization:
- translations: Accuracy check
- cultural_sensitivity: Review imagery
- regional_compliance: Local regulations
technical_checks:
files:
- naming_convention: Follows standard
- file_format: Correct for channel
- file_size: Within limits
- resolution: Meets minimum
layout:
- safe_zones: Content within bounds
- bleed_setup: Correct for print
- aspect_ratio: Matches spec
- responsive: Mobile optimized
accessibility:
- alt_text: Present and descriptive
- contrast_ratio: WCAG compliant
- font_size: Minimum 14px
- color_independence: Not color-only
brand_checks:
visual:
- logo_usage: Correct version and placement
- color_palette: On-brand colors only
- typography: Approved fonts
- imagery_style: Matches guidelines
verbal:
- tone: Consistent with brand voice
- messaging: Key messages present
- tagline: Correct usage
- terminology: Approved glossary
# Quality Assurance Report
**Asset**: Holiday Email Campaign - Hero Banner
**Channel**: Email
**Date**: 2025-12-08
**QA Specialist**: qa-protocol skill
## Summary
| Category | Checks | Passed | Failed | Warnings |
|----------|--------|--------|--------|----------|
| Content | 12 | 11 | 0 | 1 |
| Technical | 8 | 8 | 0 | 0 |
| Brand | 6 | 5 | 1 | 0 |
| Channel | 10 | 9 | 1 | 0 |
| **Total** | **36** | **33** | **2** | **1** |
## Status: CONDITIONAL PASS
Asset may proceed after addressing 2 blocking issues.
## Blocking Issues
### BLK-001: Missing Alt Text
- **Category**: Channel (Email)
- **Element**: Hero image
- **Requirement**: Alt text required for email images
- **Fix**: Add descriptive alt text: "Holiday sale - 30% off all products"
### BLK-002: Off-Brand Color
- **Category**: Brand
- **Element**: CTA button
- **Current**: #FF6B6B (coral)
- **Required**: #0066CC (brand blue) or #00AA55 (brand green)
- **Fix**: Update button color to brand palette
## Warnings
### WARN-001: Subject Line Length
- **Category**: Content
- **Current**: 62 characters
- **Recommended**: 50 characters optimal
- **Note**: May truncate on mobile devices
- **Suggestion**: "Holiday Sale: 30% Off Everything" (35 chars)
## Passed Checks
### Content
- [x] Spelling and grammar verified
- [x] CTA present and clear ("Shop Now")
- [x] Value proposition stated (30% off)
- [x] Dates accurate (Dec 15-25)
- [x] Links functional (3 tested)
- [x] Unsubscribe link present
- [x] Physical address included
- [x] Price claims verified
- [x] Terms link present
- [x] Preheader text present
- [x] Tone matches brand voice
### Technical
- [x] File size: 450KB (under 1MB limit)
- [x] Image resolution: 600x400 (correct)
- [x] Format: HTML with inline CSS
- [x] Width: 600px (correct)
- [x] Images have fallback colors
- [x] Mobile responsive
- [x] Dark mode compatible
- [x] Client tested (Gmail, Outlook, Apple Mail)
### Brand
- [x] Logo: Correct horizontal version
- [x] Typography: Inter font family
- [x] Imagery: On-brand photography style
- [x] Tone: Friendly professional
- [x] Tagline: Correct usage
### Channel (Email)
- [x] Subject line present
- [x] Preheader configured
- [x] UTM parameters present
- [x] Tracking pixels configured
- [x] List-unsubscribe header
- [x] SPF/DKIM configured
- [x] Preview text optimized
- [x] Footer compliant
- [x] Mobile preview checked
## Approval Recommendation
**Status**: CONDITIONAL
Asset is ready for approval pending:
1. Add alt text to hero image
2. Update CTA button to brand color
Estimated fix time: 15 minutes
## Sign-off
- [ ] Content Owner: _____________
- [ ] Brand Manager: _____________
- [ ] Legal (if applicable): _____________
- [ ] Final Approver: _____________
User: "QA this email campaign"
Skill executes:
1. Detect asset type: Email campaign
2. Load email QA rules
3. Run content validation
4. Run technical checks
5. Run brand compliance
6. Apply email-specific rules
7. Generate report
Output:
"QA Complete: CONDITIONAL PASS
36 checks run:
- Passed: 33
- Failed: 2
- Warnings: 1
Blocking Issues:
1. Missing alt text on hero image
2. CTA button uses off-brand color
Report: .aiwg/marketing/qa/email-holiday-qa-report.md"
User: "Validate for Instagram"
Skill focuses on:
- Instagram feed/story/reel specs
- Aspect ratio validation
- Caption length check
- Hashtag count
Output:
"Instagram Validation: PASS
All checks passed:
- Aspect ratio: 1:1 (correct for feed)
- Resolution: 1080x1080 (meets minimum)
- Caption: 180 chars (under 2200 limit)
- Hashtags: 12 (under 30 limit)
Ready for posting."
User: "Pre-flight check for print"
Skill validates:
- CMYK color space
- 300dpi resolution
- Bleed setup
- Font embedding
- Linked images
Output:
"Print Pre-flight: FAIL
Critical issues:
1. Color space: RGB (need CMYK)
2. Resolution: 150dpi (need 300dpi)
3. Bleed: Not set (need 0.125in)
Must fix before sending to printer."
This skill uses:
brand-compliance: For brand validation dimensionproject-awareness: For detecting asset contextartifact-metadata: For tracking QA statusagents:
content_review:
agent: editor
focus: Copy accuracy, spelling, grammar
brand_review:
agent: brand-guardian
focus: Visual and verbal brand compliance
technical_review:
agent: quality-controller
focus: Specs, formats, technical requirements
legal_review:
agent: legal-reviewer
focus: Claims, disclosures, compliance
condition: has_claims == true
qa_config:
channel_specs: .aiwg/marketing/config/channel-specs.yaml
brand_rules: .aiwg/marketing/brand/
qa_templates: templates/governance/qa-checklist.md
severity:
blocking:
- missing_legal_disclosure
- broken_link
- wrong_price
- missing_alt_text
- off_brand_logo
warning:
- suboptimal_length
- minor_typo
- style_preference
advisory:
- optimization_suggestion
- best_practice_note
.aiwg/marketing/qa/{asset}-qa-report.md.aiwg/marketing/qa/checklists/.aiwg/marketing/approvals/Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.