strategic-analysis
Skill7 starsChanged 20 days agoMITView on GitHub
Run a strategic analysis: competitive map, market sizing, opportunity, or business model. Trigger on "analyze this market", "competitor map", "evaluate this opportunity", "market research", "SWOT", "who are the competitors", "market sizing", "TAM SAM SOM", or any variation of strategic business analysis. Also fires when the user describes a business opportunity or competitor and wants structured thinking.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- anotb/management-consulting-plugintheir own version, first seen Nov 1, 2026
- sergeeey/Claude-cod-top-2026their own version, first seen May 13, 2026
- pengasuzie/claude-skillstheir own version, first seen Mar 2, 2026
- pengasuzie/claude-code-startertheir own version, first seen Feb 27, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- anotb/management-consulting-plugin★ 62same name
- sergeeey/Claude-cod-top-2026★ 9same name
- pengasuzie/claude-code-starter★ 1same name
- pengasuzie/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository100 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- notion-package/CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- add-handsSkill
- add-mouthSkill
- add-voiceSkill
- approval-gatesSkill
- auditSkill
- backupSkill
- blind-spot-reviewSkill
- bottleneck-diagnosticSkill
- brain-logSkill
- brain-passSkill
- brain-snapshotSkill
- brand-interviewSkill
- brand-voice-interviewSkill
- business-context-loaderSkill
- campaign-from-themeSkill
- capture-sweepSkill
- catch-upSkill
- client-updateSkill
- connectSkill
- content-repurposerSkill
- content-startSkill
- context-persistenceSkill
- cross-linkSkill
- data-securitySkill
- decision-frameworkSkill
- decisions-startSkill
- delivery-startSkill
- email-drafterSkill
- employee-reviewSkill
- finance-importSkill
- forcing-questionsSkill
- founder-coachingSkill
- founder-next-moveSkill
- founder-os-setupSkill
- founder-reviewSkill
- founder-scope-challengeSkill
- github-opsSkill
- handoff-protocolSkill
- hireSkill
- historySkill
- housekeepingSkill
- ingestSkill
- knowledge-captureSkill
- legal-complianceSkill
- linkedin-brand-directionSkill
- linkedin-network-scanSkill
- linkedin-postSkill
- linkedin-power-auditSkill
- linkedin-startSkill
- linkedin-warm-revivalSkill
- lintSkill
- list-prunerSkill
- log-archiveSkill
- log-replySkill
- meeting-prepSkill
- memory-passSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 9 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
No fluff. Every insight should lead to a decision or an action.
- Distinctive: line 23
If exit code is 1, read the output line and surface it to the user verbatim.
- Distinctive: line 35
Prefer the operator file if both exist.
- Distinctive: line 37
If a file is empty or missing, name the gap explicitly in the OUR POSITIONING block.
- Distinctive: line 43
If the snapshot is missing, run:
- Distinctive: line 62
Ask exactly one question. The one whose answer changes the analysis most.
- Distinctive: line 63
Wait for the answer. Then analyse.
- Very specific: line 101
If the founder gives you a URL directly, web-fetch-extract works with no search at all.
- Distinctive: line 229
Before the analysis goes anywhere, run the second pass.
- Distinctive: line 247
Name real gaps, not polite ones: If the whole market size is an estimate, the first row says so.
“Common” is measured: kept by at least 6 in 10 of the 3 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.
Files
Strategic Analysis Tool
Runs on: reasoning, with optional web reach - reads your files and reasons. Where the web is reachable it grounds the market half in live sources; where it is not, it says so in one line and works from your files alone. It never quietly produces an ungrounded market table.
No fluff. Every insight should lead to a decision or an action.
Before You Write
First, run: python scripts/check-identity-ready.py
If exit code is 1, read the output line and surface it to the user verbatim. Do not run the analysis. Stop.
Then read these files so the analysis is grounded in the user's actual position, not a generic competitive table.
core/identity.md- the founder's businesses and what they are building. The analysis is from THEIR seat, not from a neutral observer.context/companies.md- portfolio of companies and projects. Lift competitor and adjacent-business context from here before doing fresh research.context/decisions.md- prior decisions that bound the option space. Do not recommend an option already ruled out.brain/knowledge/- captured notes relevant to the market, competitor, framework, customer segment, or prior pattern. Read frontmatter and top headings first. Reference matching topics by name.Company-specific context (if analysing a specific company). Two-path check:
companies/<slug>-business.md(operator path - the company you run, if the analysis is about a brand you operate)companies/prospects/<slug>.md(prospect path - a competitor or target company you have tracked)
Prefer the operator file if both exist. If neither exists and the analysis is about a specific named company, name the gap explicitly in the OUR POSITIONING block - do not invent fit signals, anti-ICP signals, or relationship state.
If a file is empty or missing, name the gap explicitly in the OUR POSITIONING block. Do not silently default to a generic stance.
Brain context (default)
Before producing output, read brain/.snapshot.md. If it is missing, or its date: line is more than 3 days old, run python scripts/brain-snapshot.py --write first and read the fresh one - a stale snapshot read as current presents last week's flags and must-dos as today's, which is worse than no memory at all. If Python is unavailable, proceed without it and say so.
If the snapshot is missing, run:
python scripts/brain-snapshot.py --writeThen read it. If the snapshot script is also missing (older install), proceed using only the profile files. Do not block.
The snapshot tells you what flags are open, what the user is working on this week, and what the latest staleness state is. Apply this context to your output where it is relevant. Do not surface every snapshot field in every output - use judgment. For strategic analysis, open flags often reveal blocking constraints the analysis must respect, and recent decisions bound the option space you are allowed to recommend from.
Challenge the inputs before you analyse anything
An analysis built on a premise nobody tested is a confident answer to the wrong question, and it is harder to unpick later than a blank page. So before the framework, before any search, stress-test what you were handed.
- Say back the premise in one sentence, in your own words. If you cannot, the ask is not clear enough to analyse yet.
- Name what a sceptical buyer or investor would push on first. Not three things. The one that would end the meeting.
- Name what you would need to know to answer it, and whether you can get it.
- Ask exactly one question. The one whose answer changes the analysis most.
- Wait for the answer. Then analyse.
Skip this only when the founder has already answered that question in the ask itself. Do not skip it because the ask sounds clear: the clear-sounding ones are where an untested premise hides.
Grounding the market half in live sources
The files tell you your position. They do not tell you the market. Both halves are needed and they come from different places, so keep them separate and keep the sourcing honest.
- Search for what you actually need, not for the topic. A search for "the coffee market" returns a report summary. A search for "what three competitors charge for a monthly plan" returns something you can put in a table. Name the question before the query.
- Fetch the page, do not trust the summary. A search result snippet is
somebody's description of a number. Open the page with
WebFetch, or where a page needs more careful extraction, run theweb-fetch-extractskill, which usespython scripts/scrape.py <url>and falls back toWebFetchwhen the script or its packages are missing. - Every fetched number becomes a
[SOURCED: <url>, retrieved <date>]. The date is not decoration: the web changes, and a link without a date cannot be audited six months later when somebody asks where the figure came from. A number you reasoned to is an[ESTIMATE: <assumption>]and is completely honest as one. An estimate dressed as a measurement is what costs you the room. When the web is not reachable, say so in one line and carry on. Web search is not available on every plan or in every surface, and an org can switch it off. If
WebSearchis unavailable or returns nothing usable, do not silently produce a market table that looks sourced and is not. Say:Web search was not available, so the market numbers below are estimates from your files and my reasoning, not live sources.Then tag every one of them[ESTIMATE: ...], and put the searches you would have run into the research table at the end so the founder can run them by hand or paste a page in.If the founder gives you a URL directly,
web-fetch-extractworks with no search at all. One named page beats a search you cannot run.
Framework Selection
"Who are we competing with?" -> Competitor Map "How big is this market?" -> Market Sizing "Should we enter this market?" -> Opportunity Assessment "Is this a good business model?" -> Business Model Evaluation
Competitor Map
COMPETITOR MAP: [Market]
---
DIRECT COMPETITORS
| Company | What They Do | Strength | Weakness | Price |
|---------|-------------|----------|----------|-------|
INDIRECT COMPETITORS
| Company | How They Differ | When They Win | When We Win |
|---------|----------------|---------------|-------------|
SUBSTITUTES
-> [What the customer does instead of buying from any of us]
OUR POSITIONING
[One paragraph]
RELEVANT KNOWLEDGE
[Matching notes from brain/knowledge/, or "No knowledge notes matched the terms searched (<terms>) - if notes exist under another name, name the topic or run /founder-os:brain-pass."]
GAPS IN THE MARKET
[What nobody is doing well]Market Sizing
MARKET SIZE: [Market]
---
TAM: [Everyone who could theoretically use this. Math shown.]
SAM: [The portion we can actually reach.]
SOM: [What we can realistically capture in 12-24 months.]
RELEVANT KNOWLEDGE
[Matching notes from brain/knowledge/, or "No knowledge notes matched the terms searched (<terms>) - if notes exist under another name, name the topic or run /founder-os:brain-pass."]
ASSUMPTIONS
[Every assumption listed]
SENSITIVITY
[Which assumptions matter most]Opportunity Assessment
OPPORTUNITY: [Description]
---
THE CASE FOR: [Evidence, not hope]
THE CASE AGAINST: [Be honest]
RELEVANT KNOWLEDGE
[Matching notes from brain/knowledge/, or "No knowledge notes matched the terms searched (<terms>) - if notes exist under another name, name the topic or run /founder-os:brain-pass."]
WHAT WOULD HAVE TO BE TRUE
-> [Condition 1]
-> [Condition 2]
MINIMUM VIABLE TEST
[Smallest thing to test whether this works]
RECOMMENDATION
[Pursue / Don't pursue / Test first]Business Model Evaluation
BUSINESS MODEL: [Name]
---
VALUE PROPOSITION
[What job it does for the customer, in one sentence]
CUSTOMER SEGMENTS
[Who pays. Who uses. Whether they are the same.]
REVENUE MODEL
[How money comes in. Unit price, frequency, contract shape.]
COST STRUCTURE
[Biggest cost lines. Fixed vs variable. What scales linearly.]
KEY RESOURCES
[What the business cannot operate without]
KEY ACTIVITIES
[What the team has to be good at]
KEY PARTNERS
[Who carries load the business does not own]
CHANNELS
[How the offer reaches the customer and how the customer reaches back]
COMPETITIVE MOAT
[Why this is hard to copy. Be honest if it is not.]
RELEVANT KNOWLEDGE
[Matching notes from brain/knowledge/, or "No knowledge notes matched the terms searched (<terms>) - if notes exist under another name, name the topic or run /founder-os:brain-pass."]
VERDICT
[Viable / Viable with changes / Not viable, and the single biggest reason]Every number carries a tier
This skill produces market sizes, competitor prices, growth rates and counts. Those numbers get pasted into decks and shown to buyers and investors, so they are governed by rules/research-integrity.md.
Tag every load-bearing claim inline with one of three tiers. Each is an obligation, not a label:
[MEASURED: <artifact> + <command>]- reproducible from a file you hold.[SOURCED: <url>, retrieved <date>]- one live link and the day you fetched it.[ESTIMATE: <assumption>]- your judgment, with the assumption stated so a reader can swap it.
Two rules bite this skill hardest. A GAPS IN THE MARKET line saying "nobody is doing this" is a universal negative that nobody can verify: write what you actually did instead, "checked A, B and C on <date>, found none". And a competitor quote in quotation marks carries a URL and a date, or it comes out.
Before the analysis goes anywhere, run the second pass. The reviewer must not be the writer:
python scripts/claims_check.py <the document>It warns, never blocks, never edits your file.
Close with what to research next (every analysis, no exceptions)
An analysis that ends at its conclusion leaves the founder holding a verdict and no next move. The last section is always this table, and it is the part most likely to get used:
| The gap | Why it matters | Paste this to close it |
| What you could not establish | What decision it blocks, in one line | A prompt or a search they can run as written |
Three rules for it:
- Name real gaps, not polite ones. If the whole market size is an estimate, the first row says so. A table of minor caveats under a confident analysis is worse than no table.
- The third column has to be runnable as written. Not "research competitor pricing". A prompt they can paste, or a search string, or a named page to fetch. If you could not reach the web, this column is where those searches go.
- Order by what it unblocks, not by how hard it is.
Rules
- Show reasoning, not just conclusions
- Flag assumptions explicitly
- Be skeptical by default
- Numbers wherever possible, each one tagged per
rules/research-integrity.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

