视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
brand-context【文档与办公】Create and maintain the shared knowledge/ context files that every other marketing skill reads - brand voice, ICP personas, positioning, KPIs, and the learnings log. Run this once per company or client before using any other marketing skill. Use when the user says "set up brand context", "onboard my brand", "set up the marketing knowledge base", "the…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Builds the knowledge/ folder that the rest of the marketing skills read before they write anything. Without it, every skill produces competent generic output. With it, output carries the company's actual voice, audience, positioning and targets.
Run once per company or client. Re-run any single section when something changes.
21 of the 25 marketing skills declare a read on knowledge/. If those files are absent, some skills stop and the rest quietly guess. This skill is the only writer of that folder.
| File | What it holds | Read by |
|---|---|---|
knowledge/brand/voice.md | Tone dimensions, vocabulary, banned words, sentence rhythm, worked examples | Nearly every writing skill |
knowledge/brand/visual.md | Colours, fonts, logo rules, template path | ppt-maker, ad-campaign-writer |
knowledge/icp/personas.md | One block per persona: job, trigger, pains, alternatives, objections | Most planning and writing skills |
knowledge/markets/positioning.md | Category, competitive alternatives, unique attributes, value, best-fit segment | positioning-doc, landing-page-writer, ad-campaign-writer |
knowledge/markets/competitors.md | Named competitors, their claims, where we win and lose | competitor-analyst, content-writer |
knowledge/kpis.md | The one metric that matters now, supporting metrics, current baselines | campaign-brief, kpi-review, social-calendar |
knowledge/learnings.md | Append-only log of what worked and what did not | retro writes it, six skills read it |
knowledge/company.md | What the company does, model, stage, verified proof points, claim constraints | case-study-writer, press-release-writer |
knowledge/services/ | One file per product or offering, with what is and is not included | landing-page-writer, ad-campaign-writer, campaign-brief |
knowledge/content-library/ | Past published content, so skills do not repeat topics | content-repurposer, social-calendar, newsletter-writer |
Ask which mode, or infer from what the user gives you.
updated date.Check what already exists. List knowledge/. If files are present, read them and report what is covered and what is missing. Never overwrite a populated file without showing the user the current content and getting explicit confirmation.
If knowledge/ does not exist at all, copy the blank templates that ship with this skill before starting: cp -r ${CLAUDE_SKILL_DIR}/assets/knowledge ./knowledge. Every other skill then reads a template with visible [TEMPLATE] markers instead of hitting a missing file, which degrades far more gracefully.
Pick the mode and gather source material if mode 2.
Work through the sections below in order. Positioning depends on personas, and KPIs depend on positioning, so the order matters.
Drafting and writing are different acts. Always draft. Gate only the write.
The gates in this skill protect the knowledge/ folder from unreviewed content. They are not
a reason to withhold work. Refusing to produce a draft is a failure of this skill, not caution.
| Act | Gate |
|---|---|
| Draft the content and show it in full in your response | None. Always do this |
Write it to knowledge/ for the first time | Show it, then write. Say what you wrote |
| Overwrite a populated file | Show current content, show the change, wait for an explicit yes |
In mode 2, draft every file from the sources, present each one complete, and mark anything you
inferred rather than found with [NEEDS INPUT] or [UNVERIFIED]. Do not stop at "I need more
information": produce the draft from what the sources give you and name the gaps inside it.
In mode 3, perform the update. Read the current section, produce the revised version in full, show the difference, and write on confirmation. Do not refuse an update because the request was short.
Write each file as you complete it rather than at the end, so a user who runs out of time keeps what is done.
Run the completeness gate and report the score.
Tell the user what to run next.
Framework: the four tone dimensions from the Nielsen Norman Group tone-of-voice model.
Ask the user to place the brand on each axis, then make them justify one of the four with an example:
| Dimension | Ask |
|---|---|
| Funny to serious | Would a joke in a product email feel right or wrong? |
| Formal to casual | Do you write "cannot" or "can't"? Do you use first names? |
| Respectful to irreverent | Do you ever name a competitor, or push back on your own industry? |
| Enthusiastic to matter-of-fact | Is a launch "huge news" or "now available"? |
Then capture the mechanics, because tone words alone do not constrain a writer:
Write to knowledge/brand/voice.md:
---
updated: DD-MM-YYYY
source: interview | drafted from [url or file]
---
# Brand voice
## Tone
| Dimension | Position | Evidence |
|---|---|---|
| Funny - serious | [position] | [why] |
| Formal - casual | [position] | [why] |
| Respectful - irreverent | [position] | [why] |
| Enthusiastic - matter-of-fact | [position] | [why] |
## Vocabulary
**We say:** [terms]
**We never say:** [terms]
**We call the product:** [name and any rules]
**We call the customer:** [term]
## Mechanics
[rhythm, sentence length, punctuation rules]
## On-brand example
> [paragraph]
Why: [reason]
## Off-brand example
> [paragraph]
Why: [reason]
Framework: Jobs to be Done (Clayton Christensen) for the trigger, April Dunford for the alternatives.
One block per persona. Cap at three. A fourth persona is usually a segment nobody has actually sold to, so challenge it: "Have you closed at least three of these? If not, I will mark it provisional."
For each, capture: role and seniority, the job they hire this product to do, the trigger event that starts the search, top three pains in their own words, what they use today including doing nothing, their top three objections, and where they get information.
Two rules:
[NEEDS INPUT: real customer language] rather than inventing one.Write to knowledge/icp/personas.md, one ## Persona: [name] block each, with a confidence: high | provisional field per persona.
Framework: April Dunford's Obviously Awesome sequence, run in order.
The test before writing the file: if a competitor could claim the same statement without changing their product, it is not positioning. Say so and rerun step 2.
Write to knowledge/markets/positioning.md with the five sections plus a one-paragraph statement at the top.
Only if the user names competitors. Three to five, each with: what they claim, who they win with, where we genuinely lose to them.
"Where we lose" must not be empty. A competitor file with no losses is a marketing document, not a working file, and downstream skills will write copy that ignores real objections. If the user resists, ask which deals they lost last quarter and to whom.
Write to knowledge/markets/competitors.md.
Framework: the One Metric That Matters (Croll and Yoskovitz, Lean Analytics).
Mark any number the user is unsure of as [UNVERIFIED]. Downstream skills, especially kpi-review and campaign-brief, treat unverified baselines differently from measured ones.
Write to knowledge/kpis.md.
Create knowledge/learnings.md as an empty structured file. This skill never writes entries, retro does.
---
updated: DD-MM-YYYY
---
# Learnings
Append-only. Written by `/retro` after a campaign. Read by campaign-brief,
social-calendar, content-writer, email-nurture, ad-campaign-writer, kpi-review.
Each entry: date, campaign, what happened, why (Five Whys terminal cause),
scope (this-campaign-only | all-future-campaigns). Only all-future entries
change how later skills behave.
<!-- No entries yet. Run /retro after your first campaign. -->
Score before finishing and report it. Do not claim the setup is done below 7.
| Check | Points |
|---|---|
| Voice file has both worked examples filled in | 2 |
At least one persona at confidence: high | 2 |
| Every persona lists "doing nothing" as an alternative | 1 |
| Positioning survives the competitor-could-claim-this test | 2 |
| OMTM has a dated baseline, not just a target | 2 |
| Competitors file has a non-empty "where we lose" (or no competitors named) | 1 |
Every unverified number is tagged [UNVERIFIED] | 1 |
Every missing customer quote is tagged [NEEDS INPUT] | 1 |
Report as Context completeness: N/12 plus the specific gaps. Then say which skills are safe to run now and which will still guess.
DD-MM-YYYY in frontmatter and update it on any edit./positioning-doc turns section 3 into a full standalone positioning document/customer-research sources real persona material when the user has none/competitor-analyst does the deep ERRC and strategy-canvas work that section 4 only summarises/retro is the only other writer of knowledge/, and it writes learnings.md/customer-research sources evidence