BC 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
As a process C 59/100 · Has gaps — weak spots: result and completion, inputs and preconditions, running it twice
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: 23. 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 59/100
- 0Result and completion. Does not say what the result is
- 0Inputs and preconditions. Does not say what the process needs to start
- 30Running it twice. 1 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
- 100Steps. 15 steps
- 100Failures and branches. 2 branches, has a failure section
- 100Consistency. Name and required fields are in place
- 100Execution cost. Instruction body is 1123 tokens
- 100Progress reporting. Reports progress
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
- +4No input/output examples
- +1No license
- +2Single-language instructions
- +5Description quotes 10 example trigger phrases
- +4Description says when NOT to use the skill
- +4Structure: 9 headings
- +3Step-by-step instructions: 15 items
- +4Reference files are cited in the instructions (6 of 6)
Quality base 70; lint remarks subtract, signals add up to 100. Result: 62.