Best for
- Use when the agent or user wants to review brand files, audit marketing docs, check brand consistency, verify brand health, or assess what's missing from brand memory.
MoizIbnYousaf/marketing-cli/skills/document-review/SKILL.md
Audits brand/ files for completeness, consistency, and freshness. Use when the agent or user wants to review brand files, audit marketing docs, check brand consistency, verify brand health, or assess what's missing from brand memory. Produces a structured audit report with per-file scores, cross-file contradiction detection, staleness flags, and recommended next skills to run. This is the quality gate for the brand memory system. Also use when someone says 'check my brand', 'brand audit', 'what'
Decision brief
You audit the brand/ directory for quality: completeness, consistency, and freshness. You report problems — you never fix them. Fixes belong to domain skills (e.g., /audience-research fixes audience.md).
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/MoizIbnYousaf/marketing-cli --skill "skills/document-review"Inspect the Agent Skill "document-review" from https://github.com/MoizIbnYousaf/marketing-cli/blob/f12fbcbe4929584697b309b9096c9427b0cfce8e/skills/document-review/SKILL.md at commit f12fbcbe4929584697b309b9096c9427b0cfce8e. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
For single-file reviews, still cross-reference against other brand files for consistency.
For each of the 10 brand files, assess status:
Cross-reference files for contradictions. Only check files that are complete or partial (skip empty and missing).
Flag files that may be outdated.
Output a structured audit report. This is the primary deliverable.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 83/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 27 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
You audit the brand/ directory for quality: completeness, consistency, and freshness. You report problems — you never fix them. Fixes belong to domain skills (e.g., /audience-research fixes audience.md).
For brand memory protocol, see /cmo rules/brand-memory.md.
brand/ directory exists. If it does not exist, report Overall Health as Not Started and recommend mktg init. Skip all phases.brand/ files (or confirm which are missing).| Request | Scope |
|---|---|
| "review brand files" | Full brand/ audit (default) |
| "check audience.md" | Single-file deep review |
| "is my brand consistent?" | Consistency-only (Phase 2) |
| "what's stale?" | Freshness-only (Phase 3) |
| No specific request | Full brand/ audit |
For single-file reviews, still cross-reference against other brand files for consistency.
For each of the 10 brand files, assess status:
These should contain substantive content beyond the template scaffold.
| File | Key Sections | Owner Skill |
|---|---|---|
voice-profile.md | Voice DNA (tone, personality, vocabulary), do/don't examples | /brand-voice |
positioning.md | Core positioning (category, for, unlike, we), angles | /positioning-angles |
audience.md | Primary audience (who, pain points, watering holes), personas | /audience-research |
competitors.md | Named competitors with positioning, strengths, weaknesses | /competitive-intel |
keyword-plan.md | Priority keywords table (keyword, intent, difficulty, priority) | /keyword-research |
creative-kit.md | Brand colors, typography, visual style | /creative |
stack.md | Available tools (email, social, video, search, media) | mktg init |
Scoring:
| Score | Meaning | Criteria |
|---|---|---|
| complete | Ready for use | File exists, has substantive content beyond template, key sections populated |
| partial | Needs work | File exists but some key sections are empty or still contain template placeholders (<!-- Generated by mktg init --> without real content below) |
| empty | Template only | File exists but matches the mktg init template exactly (no customization) |
| missing | Not created | File does not exist |
How to detect template-only content:
- **Tone:** with no value after the colon<!-- Generated by mktg init. Fill in or let /cmo build this. --> as the only substantive comment| File | Purpose | Owner |
|---|---|---|
assets.md | Log of created assets | All skills (append) |
learnings.md | What worked, what didn't, audience insights | All skills (append) |
Scoring:
| Score | Meaning | Criteria |
|---|---|---|
| complete | Has entries | File exists with dated entries |
| empty | No entries | File exists but contains only the header/comment |
| missing | Not created | File does not exist |
Append-only files are never "partial" — they either have entries or they don't.
Cross-reference files for contradictions. Only check files that are complete or partial (skip empty and missing).
| Check | Files Involved | What to Look For |
|---|---|---|
| Audience alignment | positioning.md ↔ audience.md | Does positioning's "For:" match audience's primary persona? |
| Voice-brand fit | voice-profile.md ↔ positioning.md | Does the tone match the brand positioning? (e.g., playful voice + enterprise positioning = mismatch) |
| Keyword-positioning alignment | keyword-plan.md ↔ positioning.md | Do target keywords reflect the positioning angles? |
| Competitor consistency | competitors.md ↔ positioning.md | Are competitor names consistent across both files? |
| Audience-keyword fit | audience.md ↔ keyword-plan.md | Do keywords match the language/pain points of the target audience? |
| Stack-skill alignment | stack.md ↔ all profile files | Do other files reference tools or channels not listed in stack.md? |
| Creative-voice alignment | creative-kit.md ↔ voice-profile.md | Does visual style complement the voice? (e.g., minimalist design + maximalist voice = tension) |
| Learnings integration | learnings.md ↔ all profile files | Are learnings reflected in strategy? (e.g., learning says "short subject lines work" but voice profile favors long-form) |
| Severity | Meaning | Example |
|---|---|---|
| high | Files directly contradict | Positioning targets "enterprise CTOs" but audience.md says "indie developers" |
| medium | Files are misaligned but not contradictory | Voice is "casual and fun" but positioning is "premium and exclusive" |
| low | Minor inconsistency | Different competitor names used (abbreviation vs full name) |
Flag files that may be outdated.
Note these as "content staleness" separately from "date staleness."
Output a structured audit report. This is the primary deliverable.
# Brand Audit Report
**Date:** YYYY-MM-DD
**Scope:** [Full audit | Single file | Consistency only | Freshness only]
**Overall Health:** [Healthy | Needs Attention | Incomplete | Not Started]
## Summary
- **Files:** X/9 complete, Y partial, Z empty, W missing
- **Contradictions:** X found (H high, M medium, L low)
- **Stale files:** X flagged
## Completeness
| File | Score | Notes |
|------|-------|-------|
| voice-profile.md | complete | All sections populated |
| positioning.md | partial | Missing "Unlike" differentiator |
| audience.md | missing | — |
| competitors.md | empty | Template only |
| keyword-plan.md | complete | 12 keywords mapped |
| creative-kit.md | partial | Colors defined, typography missing |
| stack.md | complete | 5 tools configured |
| assets.md | complete | 8 entries |
| learnings.md | empty | No entries yet |
## Contradictions
### [Severity]: [Short description]
- **Files:** file-a.md ↔ file-b.md
- **Detail:** [What contradicts what]
- **Recommendation:** [Which file to update and how]
## Freshness
| File | Last Modified | Status | Action |
|------|--------------|--------|--------|
| voice-profile.md | 15 days ago | current | — |
| positioning.md | 45 days ago | stale | Re-run /positioning-angles |
## Recommended Next Steps
Priority-ordered list of skills to run:
1. **Run `/audience-research`** — audience.md is missing. This blocks positioning and copy quality.
2. **Run `/positioning-angles`** — positioning.md is stale (45 days) and missing differentiator.
3. **Run `/competitive-intel`** — competitors.md is still template-only.
| Health | Criteria |
|---|---|
| Healthy | 7+ files complete, 0 high contradictions, 0 stale files |
| Needs Attention | 5-6 files complete, or 1+ high contradictions, or 2+ stale files |
| Incomplete | 2-4 files complete, foundation gaps |
| Not Started | 0-1 files complete, brand/ mostly empty or missing |
Priority order for recommendations:
Always map recommendations to specific skills:
| Gap | Skill to Run |
|---|---|
| voice-profile.md missing/empty/stale | /brand-voice |
| positioning.md missing/empty/stale | /positioning-angles |
| audience.md missing/empty/stale | /audience-research |
| competitors.md missing/empty/stale | /competitive-intel |
| keyword-plan.md missing/empty/stale | /keyword-research |
| creative-kit.md missing/empty/stale | /creative |
| stack.md missing/empty | mktg init (re-run) |
| Contradictions between files | Skill that owns the less-accurate file |
| learnings.md empty | No action — accumulates naturally |
| assets.md empty | No action — accumulates naturally |
| Anti-Pattern | Instead |
|---|---|
| Fixing files directly | Report the issue, recommend the owner skill |
| Overwriting brand files | Read-only audit. Never write to brand/ |
| Skipping files because they're empty | Score them as empty, recommend the fix |
| Reporting everything as high severity | Reserve "high" for direct contradictions |
| Generic recommendations ("improve your brand") | Specific: "Run /audience-research to fill audience.md" |
| Auditing non-brand files | Scope to brand/ directory only (extend later) |
Alternatives
MoizIbnYousaf/marketing-cli
Build an organic-traffic operating system for any site or app: a multi-phase, resumable engine that ships programmatic landing pages (alternatives, comparisons, use-cases, playbooks) on top of real keyword research. Use when the user says 'SEO machine', 'build organic traffic', 'rank on Google', 'we need traffic', 'alternatives pages', 'comparison pages', '/for/ pages', 'programmatic SEO', or 'build an SEO engine'. Distinct from `seo-audit` (one-off diagnostic) and `seo-content` (single-article
coreyhaines31/marketingskills
When the user wants to create sales collateral, pitch decks, one-pagers, objection handling docs, or demo scripts. Also use when the user mentions 'sales deck,' 'pitch deck,' 'one-pager,' 'leave-behind,' 'objection handling,' 'deal-specific ROI analysis,' 'demo script,' 'talk track,' 'sales playbook,' 'proposal template,' 'buyer persona card,' 'help my sales team,' 'sales materials,' or 'what should I give my sales reps.' Use this for any document or asset that helps a sales team close deals. Fo
nexu-io/open-design
One-click contribution flow for Open Design (nexu-io/open-design) — even for non-coders. Pick one of four cards (ship a Skill or Design System you made with OD; translate docs; fix a typo / write a blog; report a bug), the agent validates and opens a PR (or issue) for you. Trigger words contribute to open design, ship my OD skill, ship my OD design system, translate OD docs, report an OD bug, od-contribute.
K-Dense-AI/scientific-agent-skills
Query and download public cancer imaging data from NCI Imaging Data Commons using idc-index. Use for accessing large-scale radiology (CT, MR, PET) and pathology datasets for AI training or research. No authentication required. Query by metadata, visualize in browser, check licenses.