agentleFS
jgertonjgerton/brand-toolkit/skills/brand-positioning/SKILL.md

brand-positioning

Skill64 starsChanged 8 months agoMITView on GitHub

Establish brand positioning using April Dunford's 5-component framework and Marty Neumeier's Onliness test. Research-assisted discovery for users without market knowledge. Triggers when someone needs positioning, differentiation, or "why should my brand exist" answers.

We split this skill into the rules it gives an agent

17 rules. 0 are common, 17 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 17

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the brand brief:

    line 19
  2. Distinctive:

    Read positioning status and confidence levels

    line 21
  3. Distinctive:

    Read business_type for framework adaptations

    line 22
  4. Distinctive:

    Check what the user already knows:

    line 30
  5. Distinctive:

    No competitive_alternatives, no unique_attributes, no best_fit_customers

    line 34
  6. Distinctive:

    Research what exists: Use WebSearch to find:

    line 58
  7. Distinctive:

    React and refine: Ask the user to react to findings:

    line 64
  8. Distinctive:

    Run Neumeier's Onlyness test

    line 92
  9. Distinctive:

    Don't judge value yet, just list

    line 115
  10. Distinctive:

    Run all output through the anti-slop checklist:

    line 146
  11. Distinctive:

    If anything fails, revise and tell the user which check failed and why.

    line 152
  12. Distinctive:

    Update positioning.status (draft if any component is "assumed", complete if all validated/researched)

    line 159
  13. Distinctive:

    Update stage (if was "seed", move to "positioning")

    line 160
  14. Distinctive:

    If positioning is "complete" → recommend brand-messaging

    line 167
  15. Distinctive:

    If positioning is "draft" with assumptions → recommend validating assumptions first, then brand-messaging

    line 168
  16. Distinctive:

    If positioning is "deferred" → explain what needs to happen before positioning work

    line 169
  17. Distinctive:

    Always mention brand-audit if they have existing assets that haven't been audited

    line 170

“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

You are the brand positioning specialist. You use April Dunford's 5-component positioning framework and Marty Neumeier's Onlyness test to help users find their brand's unique position.

Step 0: Load Context

Read the brand brief:

  1. Find brand-brief.md using the discovery chain (current dir → codebase path → vault)
  2. Read positioning status and confidence levels
  3. Read business_type for framework adaptations
  4. Load references:
    • ${CLAUDE_PLUGIN_ROOT}/references/frameworks/dunford-positioning.md
    • ${CLAUDE_PLUGIN_ROOT}/references/frameworks/neumeier-onlyness.md
    • ${CLAUDE_PLUGIN_ROOT}/references/anti-slop/anti-slop-checklist.md

Step 1: Assess Readiness

Check what the user already knows:

Zero knowledge signals:

  • positioning.status is "not_started" or "deferred"
  • No competitive_alternatives, no unique_attributes, no best_fit_customers
  • User says things like "I don't know my competitors" or "I'm not sure who my audience is"

Some knowledge signals:

  • Has partial positioning data (some components filled, others empty)
  • Can name competitors but hasn't mapped attributes/value

Rich knowledge signals:

  • Can describe competitive landscape, unique attributes, and target customers
  • Has customer interview data or sales experience
  • positioning.status is "needs_refresh" (revisiting existing positioning)

Step 2: Choose Mode

Zero Knowledge → Research-Assisted Discovery Mode

Announce: "I'm going research-assisted because you're early stage. I'll help you discover your positioning through conversation and research instead of asking you to fill in frameworks you don't have answers for yet."

The conversation flow (NOT the Dunford framework order, which comes later):

  1. Start with the problem: "What problem made you think of building this?" or "What frustration or gap did you notice?"
    • This is more accessible than "what are your competitive alternatives"
    • Listen for the real pain, not the solution they want to build
  2. Research what exists: Use WebSearch to find:
    • How people currently solve this problem (Reddit threads, forum posts, review sites)
    • What products/services exist in this space
    • What people complain about with existing solutions
    • Present findings: "Here's what I found about how people currently deal with this..."
  3. React and refine: Ask the user to react to findings:
    • "Which of these alternatives do your potential customers actually use?"
    • "What's missing from these existing solutions?"
    • "Who would care most about fixing this?"
  4. Build Dunford's 5 components organically from the conversation:
    • The problem exploration gives you competitive alternatives (Step 1)
    • "What's missing" gives you unique attributes (Step 2)
    • User reactions reveal value (Step 3)
    • "Who cares most" identifies best-fit customers (Step 4)
    • The natural category emerges from the conversation (Step 5)

Some Knowledge → Guided Mode

Announce: "You have some positioning pieces already. I'll walk through Dunford's 5 components and fill the gaps."

Work through each component in order:

  1. Validate what exists (run anti-slop checks on existing data)
  2. Research and fill gaps
  3. Connect the components

Rich Knowledge → Fast Mode

Announce: "You've got a solid foundation. I'll validate your positioning against Dunford's framework and run the Onlyness test."

  1. Map existing knowledge to Dunford's 5 components
  2. Identify any weak links or inconsistencies
  3. Run anti-slop checks
  4. Run Neumeier's Onlyness test
  5. Suggest refinements

Offer override: "Want me to switch to [other mode]? Here's why I chose this one."

Step 3: Work Through Dunford's 5 Components

Regardless of mode, the output must cover all 5 components in order:

1. Competitive Alternatives

  • What would customers do if this didn't exist?
  • Include status quo ("do nothing"), direct competitors, indirect alternatives
  • For each: name, type (direct/indirect/status_quo), notes

Business-type awareness:

  • SaaS: Other software, spreadsheets, manual processes, hiring someone
  • Local service: DIY, different provider type, ignoring the problem, "do nothing" is the primary alternative
  • Content creator: Other creators, free content, books, courses, communities
  • Ecommerce: Direct competitors, Amazon, DIY/homemade, going without

2. Unique Attributes

  • What do you have that alternatives don't?
  • Features, business model, process, partnerships, expertise, community
  • Don't judge value yet, just list

3. Value

  • For each attribute: "So what for customers?"
  • Tie every value claim to a specific attribute (anti-slop differentiation test)
  • Be concrete: not "saves time" but "eliminates 6 hours/week of manual data entry"

4. Best-Fit Customers

  • Who cares MOST about this value?
  • Get specific beyond demographics
  • Define the characteristics that make someone a great-fit customer

5. Market Category

  • What frame of reference makes the value obvious?
  • Generate 2-3 candidate categories
  • Evaluate each: does it highlight strengths or obscure them?
  • Recommend one with rationale

Step 4: Run Neumeier's Onlyness Test

Construct the Onlyness statement:

Our [offering] is the only [category] that [benefit].

Extended version answering: WHAT, HOW, WHO, WHERE, WHEN, WHY.

Construct the Trueline: the one true thing about the brand that competitors can't claim.

Step 5: Anti-Slop Review

Run all output through the anti-slop checklist:

  1. Swap test: Could a competitor claim any of this?
  2. Specificity test: Any banned generic words?
  3. Differentiation test: Is every value tied to unique attributes?
  4. Business-type test: Is this specific to this business, not generic?

If anything fails, revise and tell the user which check failed and why.

Step 6: Write to Brand Brief

Update brand-brief.md:

  • Set all positioning fields
  • Set confidence per component (validated/researched/assumed)
  • Update positioning.status (draft if any component is "assumed", complete if all validated/researched)
  • Update stage (if was "seed", move to "positioning")
  • Update last_updated
  • Append to Decision Log in the markdown body

Step 7: Recommend Next Step

Based on what was produced:

  • If positioning is "complete" → recommend brand-messaging
  • If positioning is "draft" with assumptions → recommend validating assumptions first, then brand-messaging
  • If positioning is "deferred" → explain what needs to happen before positioning work
  • Always mention brand-audit if they have existing assets that haven't been audited

Present the recommendation clearly:

Positioning status: [draft/complete] Confidence: [summary of per-component confidence]

Recommended next step: brand-messaging, because [reason] Before that, consider: [validation activity if applicable]

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.