k-dense-ai/market-research-reports
Build evidence-traceable market research reports and assumption-driven market sizing or forecast scenarios. Use for market definition, industry and customer evidence, competitive landscapes, TAM/SAM/SOM reconciliation, forecast sensitivity, and auditable report scaffolds.
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills --skill market-research-reports
Create decision-focused market reports whose claims, calculations, assumptions,
and uncertainties can be audited. Match depth and format to the question and
evidence. There is no required length, chapter count, visual count, or output
format.
Do not:
measure, unit, denominator, currency/base year, and taxonomy.
exact source IDs.
forecasts, opinions, and recommendations.
filed company disclosures, and transparent original studies before
secondary synthesis.
ranges, sensitivity, and limitations.
calculations when practical.
circumvention, confidential material, or trade-secret acquisition.
Clarify:
another measure;
Ask a focused question when a missing choice would materially change the
denominator or result. Otherwise state a provisional scope and proceed.
Use references/report_structure_guide.md for modular report design.
Route each question to the source closest to the underlying event:
For company data, prefer the official filing system in the relevant
jurisdiction. For industry, labor, prices, population, trade, and national
accounts, prefer the responsible national statistical agency or central bank.
For cross-country work, use harmonized World Bank, IMF, OECD, or Eurostat data
only after checking definitions and original-source lineage.
Read references/official_data_sources.md before using public APIs. API rules
and limits are a dated snapshot: verify current official terms before automated
or high-volume retrieval. Never put an API key in a report or bundled script.
Assign stable IDs (S-001, S-002, ...). Record:
Use assets/source_ledger_template.csv and validate it:
python3 scripts/validate_evidence_ledger.py data/source_ledger.csv
If publication date is unavailable, record not-stated; do not guess.
Assign IDs (C-001, ...). Keep the exact claim text, statement type, source
IDs, report location, as-of date, geography, currency/base, measure/unit,
taxonomy, revision status, confidence, calculation ID, and assumption IDs.
Rules:
unknown, not no.Audit mappings:
python3 scripts/audit_claim_citations.py \
data/claims.csv data/source_ledger.csv
See references/evidence_model.md.
Give every component a disjoint coverage_key and one shared
denominator_id. Do not add:
Use product classifications and supply-use logic when industry codes are too
broad. Preserve an unknown/residual category instead of forcing totals.
Compute independently:
TAM_top = sum(disjoint in-scope component values)
TAM_bottom =
sum(customer_count
* addressable_fraction
* annual_quantity_per_customer
* price_per_unit)
Then apply scenario-specific serviceability and capture assumptions:
SAM_s = TAM * serviceable_fraction_s
SOM_s = SAM_s * obtainable_share_s
Use at least two genuinely different scenarios; a downside/base/upside set is
usually useful. State horizon, constraints, evidence, and assumptions. SOM is
not a guaranteed revenue forecast.
Run the deterministic calculator:
python3 scripts/calculate_market_sizing.py \
assets/market_sizing_scenarios_template.json
Report both methods, midpoint-relative gap, scope differences, sensitivity, and
unresolved reconciliation. Do not average incompatible methods.
Separate observed, estimated, and forecast periods. Record series ID,
frequency, units, seasonal adjustment, transformations, taxonomy breaks,
retrieval date, and vintage/revisions.
For each scenario:
assumptions;
Do not call scenario bounds confidence or prediction intervals. Do not assign
probabilities without a validated probabilistic model and diagnostics.
Run:
python3 scripts/forecast_sensitivity.py \
assets/forecast_sensitivity_template.json
Show the range by year, endpoint sensitivity, influential assumptions, and
switching values. See references/data_analysis_patterns.md.
For survey evidence, disclose sponsor, target population, frame,
probability/non-probability design, recruitment, mode/language, field dates,
unweighted sample, subgroup bases, weighting, response/participation,
instrument wording, precision, processing, and limitations.
For interviews/focus groups, disclose recruitment, consent, role coverage,
dates/mode, guide, coding, divergent evidence, privacy controls, and limits to
generalization.
Never:
Follow references/methods_and_ethics.md.
Define product and geographic scope from the customer perspective before
selecting competitors or calculating shares. Consider non-price dimensions,
channels, imports, digital/multi-sided features, innovation, and dynamic change
where relevant.
Use lawful public evidence and a common product edition, geography, and as-of
date. Validate a complete matrix:
python3 scripts/validate_competitor_matrix.py \
assets/competitor_feature_matrix_template.csv \
--source-ledger assets/source_ledger_template.csv
For shares, state revenue/units/capacity/users or other metric, denominator,
period, residual share, and source coverage. HHI/CRn are descriptive screens,
not legal conclusions. A TAM category is not automatically a relevant antitrust
market.
Before combining values:
Check comparison groups:
python3 scripts/check_unit_consistency.py \
assets/consistency_check_template.csv
Lead with findings and uncertainty, not frameworks. Use optional frameworks
only to organize questions; do not force scores or a fixed number of factors.
Keep recommendations separate from evidence and include dependencies,
trade-offs, decision thresholds, and disconfirming evidence.
Visuals are optional. If used, build them from validated local data and include
scope, units, source IDs, calculation ID, observed/forecast distinction, and
limitations. See references/visual_generation_guide.md.
Generate a Markdown workspace:
python3 scripts/generate_report_scaffold.py \
assets/report_manifest_template.json ./market-report-workspace
Or use the optional LaTeX assets:
assets/market_report_template.texassets/market_research.styassets/FORMATTING_GUIDE.mdunknown honestly.collection, brand impersonation, or investment-advice framing appears.
references/report_structure_guide.md — modular report architecture.references/evidence_model.md — claim-source mapping and provenance.references/data_analysis_patterns.md — sizing, forecast, consistency,survey, and concentration methods.
references/official_data_sources.md — current official source/API routing.references/methods_and_ethics.md — survey, interview, privacy, competitor,and antitrust safeguards.
references/visual_generation_guide.md — optional evidence-led displays.references/sources.md — dated authoritative source ledger.Use the templates in assets/ as synthetic schemas, not real-world evidence.
All scripts in scripts/ are standard-library, bounded, local-only tools. They
reject oversized or malformed input, do not follow symlink inputs, do not
overwrite outputs without explicit permission, and make no network, LLM, image,
dynamic-evaluation, or pickle calls.
Take k-dense-ai/market-research-reports from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.