mcpbeat

Elimination Research

glebis/elimination-research

This skill should be used for elimination-style research where the user wants to choose from a shortlist of products, tools, services, vendors, or other options using explicit criteria, numeric evidence, tournament-style comparison, source/domain classification, image-supported consumer reports, raw data tables, and ownership-cost estimates for replaceable parts. Use this skill whenever the user asks to compare options, buy something, shortlist candidates, rank alternatives, generate a "don't make me think" report, or produce a full audit report with raw numeric data.

52k tokens
context cost
the whole folder, loaded on every use
14
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
337
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/glebis/claude-skills --skill elimination-research

What comes with it

200 342 bytes besides the instruction
assets/examples/consumer_goods_dataset.example.json
assets/examples/domain_registry.example.json
references/dataset-schema.md
references/workflow.md
scripts/elimination_research_lib/application/__init__.py
scripts/elimination_research_lib/application/report_generator.py
scripts/elimination_research_lib/domain/__init__.py
scripts/elimination_research_lib/domain/domain_classifier.py
scripts/elimination_research_lib/domain/evidence_normalizer.py
scripts/elimination_research_lib/domain/scoring_engine.py
scripts/elimination_research_lib/infrastructure/__init__.py
scripts/elimination_research_lib/infrastructure/google_image_search.py
scripts/generate_elimination_report.py

The instruction itself

9 sections, as written by the author

Elimination Research

Purpose

Generate a reproducible elimination-research package: a shortlist dataset, numeric scoring model, quick consumer report, full audit report, raw data JSON, source/domain audit, purchase/info links, contextual images, and ownership-cost estimates.

Use this skill to turn fuzzy "which one should I choose?" requests into a clean decision workflow with explicit criteria and inspectable data.

Workflow

Follow this sequence for new comparisons:

  • Read references/workflow.md for the full operating procedure.
  • Ask the intake questions before researching. Prefer cenno popup questions when available. Use closed choices and include a free-text comment field.
  • Gather candidate, source, price, spec, replacement-part, image, and evidence data.
  • Save all collected data into a dataset JSON matching references/dataset-schema.md.
  • Run scripts/generate_elimination_report.py to generate reports.
  • Verify the quick report and full report in a browser.
  • Preserve raw data and numeric tables; do not hide or discard evidence just because the quick report is simplified.

Intake Questions

Ask these at the start of a new comparison, not inside the final report:

  • What matters most: overall quality, lowest price, sensitive-skin/user-fit, low maintenance, or travel/portability?
  • What is the hard limit: budget ceiling, must-have features, excluded brands, or purchase country?
  • How much evidence is needed: quick consumer view, full audit report, or both?
  • Which source types are allowed: manufacturer, retailer, price aggregator, expert review, forum, or all with flags?

Always include a comment field for constraints that do not fit the closed choices.

Output Contract

Produce these files in the chosen output directory:

  • quick_report.html — consumer-facing "don't make me think" report with cards/table switch, images in context, rounded prices, links, and visible ownership summaries.
  • report.html — full audit report with task, criteria, scoring, raw numeric data, source/domain tables, tournament, and embedded JSON.
  • report.md — markdown version of the full audit report.
  • final_report.json — normalized report payload.
  • raw_research_data.json — collected dataset before rendering.
  • image_search_results.json — cached Google image-search output when image refresh is used.

The quick report should keep numeric detail behind expandable evidence links, but the full report must expose all numeric data as tables.

Generator

Run the bundled generator from the skill directory:

python3 scripts/generate_elimination_report.py \
  --dataset assets/examples/consumer_goods_dataset.example.json \
  --output-dir /tmp/elimination-report \
  --max-price-eur 200

Common options:

--dataset PATH             Structured shortlist dataset JSON
--output-dir PATH          Output directory
--max-price-eur NUMBER     Purchase-price ceiling override
--price-limit-basis FIELD  Usually device_price_eur or three_year_cost_eur
--question TEXT            Override report task question
--market TEXT              Purchase market/country
--currency TEXT            Currency label
--domain-registry PATH     Optional domain registry JSON
--refresh-images           Refresh Google Custom Search image data
--image-results NUMBER     Image results per candidate when refreshing

For Google Images, load keys only from environment variables or SOPS-encrypted dotenv files. Never commit plaintext keys. The image helper checks GOOGLE_CUSTOM_SEARCH_JSON_API_KEY, GOOGLE_CUSTOM_SEARCH_API_KEY, GOOGLE_CUSTOM_SEARCH_CX, and GOOGLE_IMAGE_SEARCH_ENV_FILE.

Data Rules

Read references/dataset-schema.md before creating or editing the dataset.

Key requirements:

  • Use stable candidate IDs.
  • Keep every numeric observation as a number, not prose.
  • Store prices in explicit currency fields such as device_price_eur.
  • For replaceable parts, include rough replacement_unit_price_eur, replacement_quantity_3y, replacement_interval_months, and replacement_part_name.
  • Include item_links or source references so each item has 1-3 purchase/info links.
  • Classify source domains by role and trust tier. Manufacturer/spec, retailer, price aggregator, expert review, forum, and affiliate sources should remain distinct.
  • Store caveats explicitly. Do not silently remove weak assumptions.

Report Design Rules

For consumer reports:

  • Let product images illustrate the options in context; do not create a standalone image-source section.
  • Keep image blocks on a light neutral background.
  • Hide image host/score/dimensions from the consumer report; keep them in JSON.
  • Round visible prices in the quick report.
  • Avoid eyebrow labels.
  • Provide a card/table switch where cards and table are mutually exclusive views.
  • Show ownership cost directly on each option card/table row when replaceable parts exist.
  • Keep source links as short action chips: price, official, review, parts, or head price.

For audit reports:

  • Start with the task and criteria so the report is understandable without conversation context.
  • Show all numeric data as tables.
  • Include the full candidate dataset, domain/source audit, score formula, tournament rows, sensitivity rankings, and caveats.

Verification

Before handing off:

  • Run the generator on the dataset.
  • Validate JSON with python3 -m json.tool.
  • Open quick_report.html and verify the card/table switch replaces the options view rather than stacking table below cards.
  • Check mobile width for text overflow, low contrast, and touch targets under 44px.
  • Confirm report.html includes raw numeric columns for device price, replacement allowance, part unit price, interval, quantity, and three-year cost.
  • Commit and push changes when editing the skills repo or generated report project.

How to use it

Copy the folder

Take glebis/elimination-research from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.