Install any skill in seconds. Free to start, no credit card required.
Get Started Free →SWOT analysis (Strengths, Weaknesses, Opportunities, Threats) for strategic positioning. Use when assessing a new market entry, a strategic pivot, a competitive response, an org restructure, or as input to annual strategic planning.
.claude/skills/borghei-swot-analysis/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 68% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 50% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 28% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 89% | 0% |
A grounded, evidence-backed SWOT — not the bullet-point ceremony most people perform at the start of a planning offsite.
| | Helpful | Harmful | |----------------|---------|---------| | Internal | Strengths | Weaknesses | | External | Opportunities | Threats |
Internal = within our control (people, IP, ops, brand, capital). External = outside our control (market, competition, regulation, tech shifts).
The single most-common SWOT failure: confusing internal with external.
Before building the SWOT, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
A SWOT must have an explicit subject:
A SWOT without scope produces 4 lists of bullets that point in 4 directions.
For each strength:
A strength no customer cares about isn't a strength.
For each weakness:
A SWOT with no real weaknesses signals bias or low candor.
For each opportunity:
"AI is hot" is not an opportunity. "Regulated industries replacing manual GDPR processes — $8B SAM, 36-month window" is.
For each threat:
The most-valuable post-SWOT step:
| | Opportunities | Threats | |--------------|---------------|---------| | Strengths | SO: leverage strength to capture opportunity | ST: leverage strength to defend against threat | | Weaknesses | WO: address weakness to capture opportunity | WT: minimize weakness to avoid threat |
This converts a static SWOT into strategic actions.
swot_scorer.pyAudit for: generic items, missing evidence, internal/external misclassification, no quantification, no TOWS actions, one-sided SWOT.
bashpython3 project-management/strategy-frameworks/swot-analysis/scripts/swot_scorer.py \ --input swot.json --format markdown
If the item depends on something we own (people, money, tech, brand, process, IP) → internal.
If the item depends on something we don't own (market, customers, competitors, regulators, technology trends) → external.
Common miscategorizations:
| Use SWOT | Use other | |----------|-----------| | Broad strategic positioning | Industry analysis → Porter's Five Forces | | Multi-stakeholder alignment | Macro environment → PESTLE | | Annual planning input | Growth options → Ansoff Matrix | | New market entry overview | Business model design → BMC / Lean Canvas |
SWOT is breadth. Other frameworks add depth on specific dimensions.
A SWOT alone isn't a strategy. It's input. Strategy comes from:
Skipping any step produces a wall of analysis without action.
swot_scorer.py for generic/ungrounded/miscategorized items.references/swot-framework.md — categorization, evidence standards, TOWSreferences/swot-anti-patterns.md — common failures + worked fixesproject-management/strategy-frameworks/porters-five-forces — competitive dynamicsproject-management/strategy-frameworks/ansoff-matrix — growth optionsproject-management/strategy-frameworks/business-model-canvas — operational viewproject-management/strategy-frameworks/lean-canvas — startup viewc-level-advisor/ceo-advisor — strategic context| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 28,465 | 28,256 | -1% | 1 | 1 | 0% | 4,245 | 6,047 | +42% | 0 | 0 | — |
case-02 | fail→pass | 19,313 | 21,312 | +10% | 1 | 1 | 0% | 2,894 | 4,875 | +68% | 0 | 0 | — |
case-03 | fail→pass | 26,165 | 26,513 | +1% | 1 | 1 | 0% | 3,745 | 5,603 | +50% | 0 | 0 | — |
case-04 | pass→pass | 24,030 | 21,607 | -10% | 1 | 1 | 0% | 3,510 | 4,730 | +35% | 0 | 0 | — |
case-05 | pass→pass | 20,305 | 27,090 | +33% | 1 | 1 | 0% | 2,926 | 5,743 | +96% | 0 | 0 | — |
case-06 | pass→pass | 19,289 | 16,970 | -12% | 1 | 1 | 0% | 2,854 | 4,222 | +48% | 0 | 0 | — |
case-07 | pass→pass | 5,342 | 6,085 | +14% | 1 | 1 | 0% | 909 | 2,767 | +204% | 0 | 0 | — |
case-08 | pass→pass | 6,619 | 5,904 | -11% | 1 | 1 | 0% | 982 | 2,658 | +171% | 0 | 0 | — |
case-14 | fail→fail | 14,532 | 19,251 | +32% | 1 | 1 | 0% | 2,264 | 4,651 | +105% | 0 | 0 | — |
case-09 | pass→pass | 8,990 | 6,350 | -29% | 1 | 1 | 0% | 1,404 | 2,742 | +95% | 0 | 0 | — |
case-10 | fail→pass | 21,551 | 16,577 | -23% | 1 | 1 | 0% | 3,165 | 4,052 | +28% | 0 | 0 | — |
case-11 | fail→pass | 13,754 | 14,123 | +3% | 1 | 1 | 0% | 2,014 | 3,806 | +89% | 0 | 0 | — |
case-12 | fail→fail | 14,456 | 16,288 | +13% | 1 | 1 | 0% | 2,287 | 4,216 | +84% | 0 | 0 | — |
case-13 | pass→pass | 13,937 | 9,261 | -34% | 1 | 1 | 0% | 2,068 | 3,055 | +48% | 0 | 0 | — |
case-15 | pass→pass | 11,956 | 10,463 | -12% | 1 | 1 | 0% | 1,738 | 3,274 | +88% | 0 | 0 | — |
case-16 | fail→fail | 16,685 | 17,924 | +7% | 1 | 1 | 0% | 2,693 | 4,493 | +67% | 0 | 0 | — |
case-17 | fail→pass | 19,390 | 22,195 | +14% | 1 | 1 | 0% | 3,086 | 5,096 | +65% | 0 | 0 | — |
case-18 | fail→fail | 14,861 | 14,741 | -1% | 1 | 1 | 0% | 2,334 | 3,828 | +64% | 0 | 0 | — |
case-19 | pass→pass | 14,695 | 13,867 | -6% | 1 | 1 | 0% | 2,048 | 3,709 | +81% | 0 | 0 | — |
case-20 | pass→pass | 11,455 | 9,952 | -13% | 1 | 1 | 0% | 1,714 | 3,136 | +83% | 0 | 0 | — |
case-21 | fail→pass | 14,541 | 8,506 | -42% | 1 | 1 | 0% | 2,298 | 2,960 | +29% | 0 | 0 | — |
case-22 | pass→pass | 15,212 | 13,746 | -10% | 1 | 1 | 0% | 2,457 | 3,803 | +55% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.