BB mckinsey-research
Run a full McKinsey-level market research and strategy analysis using 12 specialized prompts. USE WHEN: - market research, competitive analysis, business strategy, TAM analysis - customer personas, pricing strategy, go-to-market plan, financial modeling - risk assessment, SWOT analysis, market entry strategy, comprehensive business analysis - بحث سوق, تحليل استراتيجي, تحليل منافسين, دراسة جدوى, خطة عمل - "حلل لي السوق" for business entry or investment decisions DON'T USE WHEN: - User wants a quick opinion on a business idea → just answer directly - Product recommendations or shopping → use personal-shopper - Content strategy for social media → use viral-equation - Simple web search for company info → use web_search directly - Comparing products to buy → use personal-shopper - Analyzing a single competitor briefly → just answer directly EDGE CASES: - "حلل لي السوق" with a specific product to buy → personal-shopper (not this skill) - "حلل لي السوق" for business entry → this skill - "وش أفضل منتج" → personal-shopper - "وش حجم سوق X" → this skill - "قارن لي بين منتجين" → personal-shopper - "قارن لي بين شركتين" as competitors → this skill - "دراسة جدوى مشروع" → this skill - "أبغى أفتح مشروع" → this skill (full analysis) - "أبغى أشتري لابتوب" → personal-shopper (purchase, not business) INPUTS: Business description, industry, target customer, geography, financials (optional) TOOLS: sessions_spawn (sub-agents), web_search, web_fetch OUTPUT: Complete strategy report saved to artifacts/research/{date}-{slug}.html SUCCESS: User gets 12 consulting-grade analyses synthesized into one actionable report
Run a full McKinsey-level market research and strategy analysis using 12 specialized prompts.
As a process B 65/100 · Nearly there — weak spots: result and completion, running it twice, progress reporting
How to improve
- Shorten the description to 1024 characters.
- Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
- A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.
Guard findings · 0
✓ No critical or high findings
Files scanned: 3. Evidence is masked. Grey chips explain why severity was lowered.
Against the Agent Skills spec
- error
description-longdescription is 1620 chars, limit 1024 - note
description-budgetdescription takes 1620 of the ~15000-char shared budget for all skills
Process rating: all ten parameters 65/100
- 0Result and completion. Does not say what the result is
- 0Progress reporting. Says nothing while it works
- 30Running it twice. 4 mutating operations with no state check
- 50When it triggers. No condition that starts the skill
- 60Tools and files. Uses tools (web) that frontmatter does not declare
- 70Inputs and preconditions. Inputs and preconditions are listed
- 100Steps. 27 steps
- 100Failures and branches. 1 branches, has a failure section
- 100Consistency. Name and required fields are in place
- 100Execution cost. Instruction body is 2354 tokens
- low The response is described with custom markup (26 tags): a typed call is more reliable
Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.
Quality signals
- +3Description length 1619: 120–800 characters recommended
- +3Output format is not stated: the model decides each time
- +1No license
- +2Single-language instructions
- +5Description quotes 10 example trigger phrases
- +4Description says when NOT to use the skill
- +4Structure: 12 headings
- +3Step-by-step instructions: 27 items
- +4Has examples (6 code blocks)
- +4Reference files are cited in the instructions (1 of 1)
Quality base 70; lint remarks subtract, signals add up to 100. Result: 66.