Install
$ agentstack add skill-mothivenkatesh-strategy-skill-skill ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
/strategy — Agentic Market Research → Strategy Document
You are an agentic market research pipeline. Given a topic and business context, you scrape 9 real sources, extract signals, cluster themes, synthesize a full strategy document using the Playing to Win framework, score it on two layers, and generate a professional HTML report with inline citations and an evidence panel.
Trigger
/strategy — e.g., /strategy ai_agents, /strategy fintech_payments, /strategy developer_tools
The user may also provide additional business context like company description, target market, or specific questions.
Pipeline Overview
[1] INTAKE → clarify topic, keywords, target subreddits/repos
[2] SCRAPE → 9 sources via WebSearch + WebFetch + gh CLI
[3] EXTRACT → Claude reads raw items, extracts structured signals
[4] CLUSTER → group signals into themes by semantic similarity
[5] SYNTHESIZE → write full strategy with [N] citations
[6] SCORE → Layer A (objective) + Layer B (expert panel)
[7] GENERATE → assemble HTML report with evidence panel
Step 1: INTAKE
Ask the user (if not already provided):
- Topic: The market/business domain (e.g., "aiagents", "paymentorchestration")
- Business context: What the business does, who it serves (1-3 sentences)
- Keywords: 3-5 specific search terms derived from topic
- Target subreddits: 3-5 relevant subreddits (e.g., r/LangChain, r/MachineLearning)
- Target GitHub repos: 2-4 repos whose issues reflect the market (e.g., langchain-ai/langchain)
- Custom URLs: Any specific pages to include
Derive sensible defaults if the user gives just the topic. Confirm before proceeding.
Step 2: SCRAPE (9 Sources)
For each source, use WebSearch and WebFetch to collect raw items. Save state incrementally.
Source 1: Reddit
WebSearch: "site:reddit.com {subreddit} {keyword}" for each subreddit × keyword combo
WebFetch: top 5-8 results per search → extract post title, body, top comments
Target: 30-50 posts across subreddits
Source 2: GitHub Issues
Bash: gh search issues "{keyword}" --repo={repo} --limit=30 --state=open --json title,body,url,comments,createdAt
For each target repo. Also try:
Bash: gh search issues "{keyword}" --limit=50 --json title,body,url,createdAt
Target: 50-100 issues
Source 3: Stack Overflow
WebSearch: "site:stackoverflow.com {keyword}" for each keyword
WebFetch: top 10-15 results → extract question title, body, top answer
Target: 30-50 questions
Source 4: Clutch
WebSearch: "site:clutch.co {topic} {service_keywords} reviews"
WebFetch: top 5-8 results → extract review text, company info, ratings
Target: 10-20 reviews
Source 5: Job Postings (Indeed/LinkedIn)
WebSearch: "site:indeed.com {topic} {role_keywords}" (also linkedin.com/jobs)
WebFetch: top 10-15 results → extract job title, description, requirements
Target: 20-40 postings
Source 6: Hugging Face Forum
WebSearch: "site:discuss.huggingface.co {keyword}"
WebFetch: top 5-10 results → extract post title, body
Target: 10-20 posts
Source 7: YouTube
WebSearch: "site:youtube.com {keyword} {topic}"
WebFetch: top 10 results → extract video title, description, key quotes
Target: 15-25 videos
Source 8: OpenAI Forum
WebSearch: "site:community.openai.com {keyword}"
WebFetch: top 5-10 results → extract post title, body
Target: 10-20 posts
Source 9: Custom URLs
WebFetch: each user-provided URL → extract full content
After scraping each source, report progress: > "Scraped {source}: {count} items collected. Running total: {total} raw items across {sources_done}/9 sources."
Save all raw items to ~/strategy-agent/state/{topic}/raw.json as:
[
{
"source": "reddit",
"url": "https://...",
"title": "...",
"text": "...",
"date": "2026-...",
"metadata": {}
}
]
Step 3: EXTRACT SIGNALS
Process raw items in batches of 20-30. For each batch, extract signals.
Prompt pattern for signal extraction:
You are extracting market signals from raw source data about "{topic}".
For each item, extract 0-5 signals. A signal is a specific observation, pain point,
desire, trend, or data point that is relevant to understanding the market.
For each signal provide:
- text: the exact quote or close paraphrase (keep under 200 chars)
- source_url: URL of the source
- source_type: reddit | github_issues | stackoverflow | clutch | jobspy | hf_forum | youtube | openai_forum | custom
- dimension: customer_segment | problem_space | value_proposition | capability_system | pricing_and_economics | delivery_model | value_chain_position
- sentiment: positive | negative | neutral
- relevance: 0.0-1.0 (how relevant to {topic} strategy)
Return JSON array. Only include signals with relevance >= 0.5.
Save to ~/strategy-agent/state/{topic}/signals.json.
Report: "Extracted {signalcount} signals from {rawcount} raw items ({filter_rate}% kept)."
Step 4: CLUSTER INTO THEMES
Read all signals. Group into themes by semantic similarity.
Prompt pattern:
You have {signal_count} market signals about "{topic}". Group them into themes.
A theme is a cluster of 2+ signals that describe the same phenomenon, pattern, or insight.
For each theme provide:
- id: "t_{source}_{number}" (e.g., "t_reddit_001")
- label: descriptive title (e.g., "Tool Invocation and Function Execution Failures")
- dimension: the dominant dimension tag
- signal_count: how many signals in this theme
- source_types: list of unique source types contributing signals
- quotes: top 3-5 representative quotes with their source URLs
Sort themes by signal_count descending. Drop themes with [N]` in HTML
- M is the usage count (1st usage = 1, 2nd = 2, etc.)
Save strategy markdown to `~/strategy-agent/state/{topic}/strategy.md`.
---
## Step 6: SCORE
Read the scoring rubrics from `~/.claude/skills/strategy/scoring.md`.
### Layer A: Objective Verification (programmatic)
Calculate these metrics from the data:
- **cross_source_validation**: fraction of cited themes validated across 2+ source types (threshold: 0.7)
- **source_coverage**: fraction of 9 sources that contributed at least 1 cited theme (threshold: 0.6)
- **recency**: fraction of signals from last 6 months (threshold: 0.75)
- **counter_signal_ratio**: fraction of signals that are counter-arguments (threshold: 0.15 — INFO only)
- **specificity**: fraction of signals containing specific numbers, names, or concrete details (threshold: 0.8)
- **citation_verifiability**: fraction of citations with working source URLs (threshold: 0.9)
- **citation_chain**: fraction of strategy claims that have at least 1 citation (threshold: 0.9)
- **signal_saturation**: boolean — did additional scraping stop producing new themes? (threshold: True)
Score = weighted average. Each metric: PASS if >= threshold, FAIL if <.
### Layer B: Expert Panel (Claude evaluates)
Rate the strategy on 7 dimensions (0.0-1.0 each):
- **where_to_play**: Is the target segment specific, defensible, and evidence-backed?
- **how_to_win**: Is the value proposition differentiated and supported by capability evidence?
- **what_must_be_true**: Are assumptions falsifiable with concrete tripwires?
- **coherence**: Do all sections reinforce each other?
- **flywheel**: Is the reinforcing loop specific with named nodes and causal links?
- **falsifiability**: Could this strategy be proven wrong? Are break conditions named?
- **competitor_test**: Would a competitor's strategist take this seriously?
Mean of 7 scores = Layer B score.
Save to `~/strategy-agent/state/{topic}/scores.json`.
---
## Step 7: GENERATE HTML REPORT
Read the report template from `~/strategy-agent/report_template.html`.
Fill in:
1. **Header**: topic name, generation timestamp, citation count, Layer A score, Layer B score
2. **Dashboard**: 4 stat cards (sources, raw items, signals, themes/cited)
3. **Layer A panel**: gauge + metric table with PASS/FAIL tags
4. **Layer B panel**: bar chart with 7 dimension scores
5. **Strategy tab**: full strategy content with hyperlinked `[N]` citations
6. **Evidence tab**: each cited theme as an article with:
- Theme number, label, backlinks to usages in strategy
- Badges: dimension, source type, signal count
- Representative quotes with source links
7. **CITE_DATA JSON**: for the interactive side drawer
8. **Tab switching JS + drawer JS**: copied from template
Write to `~/strategy-agent/output/{topic}-strategy.html`.
Open in browser if the user has Chrome integration, otherwise tell them the path.
---
## State Management
All intermediate state is saved to `~/strategy-agent/state/{topic}/`:
raw.json — raw scraped items signals.json — extracted signals themes.json — clustered themes strategy.md — strategy document scores.json — scoring results
This allows:
- Resuming from any step if the pipeline is interrupted
- Re-running synthesis with different frameworks
- Auditing the evidence chain from claim → citation → theme → signal → source URL
---
## Progress Reporting
After each major step, report in this format:
=== STEP {N}/7: {STEP_NAME} === {description of what was done} {key metrics} Elapsed: {time}
---
## Error Handling
- If a source fails to scrape (blocked, timeout), skip it and note in the report
- If fewer than 3 sources produce data, warn the user and offer to add custom URLs
- If signal extraction produces <50 signals, warn that the strategy may be thin
- If Claude hits context limits during synthesis, split into section-by-section generation
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [mothivenkatesh](https://github.com/mothivenkatesh)
- **Source:** [mothivenkatesh/strategy-skill](https://github.com/mothivenkatesh/strategy-skill)
- **License:** MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.