agentleFS
xiongxianfeixiongxianfei/skillsmith/skills/purchase-comparison/SKILL.md

purchase-comparison

Skill2 starsChanged 12 days agoMITView on GitHub

Build and fill a weighted comparison sheet to choose between products (keyboard, mouse, mousepad, suitcase, or any other item type), where the user sets the scores. Use whenever the user wants to compare, shortlist, rank, score or choose between candidate products or models, asks "which one should I buy", "what attributes should I look at", or mentions the Black Friday comparison sheet, even if they never say "comparison sheet". Covers listing attributes, defining the options for each attribute, letting the user assign option scores and weights, recording candidate models, calculating totals and recommending.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 5 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Attributes: Read references/<item>.md if one exists for the item type.

    line 37
  2. Distinctive:

    Score and total: Look up each Value in the Options row.

    line 41
  3. Distinctive:

    Do not preset Must/Prefer scores.

    line 50
  4. Distinctive:

    Do not invent specifications, prices or review numbers.

    line 51
  5. Distinctive:

    Keep the Value row factual and the Score row numeric.

    line 52
  6. Distinctive:

    Keep replies short and show small tables.

    line 54

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Purchase comparison

Help the user choose a product by comparing candidates on a small set of attributes. The user decides what matters and how much; the skill supplies the structure, the options, the lookups and the arithmetic. Never invent scores or weights for the user. Suggestions are allowed only when the user asks for them, and are labelled as optional.

Core idea

For each attribute: (1) list the options that exist, (2) the user gives each option a score, (3) the user gives the attribute a weight. Each candidate model's value is matched to an option, which gives its score. Total = weights x scores.

Sheet layout (always the same)

One sheet per item type. Columns: Model | Row | <attribute 1> | <attribute 2> | ... | Total, then optional Source and Verified. The Row column lets the user filter. Three header rows, then two rows per model:

ModelRowLayoutWeight (g)
HeaderWeight32
HeaderOptionsFull / TKL / 75% / 65%<50 / 50-60 / 61-70 / >70
HeaderOption score1 / 5 / 5 / 32 / 5 / 4 / 0
Model AValueTKL58
Model AScore55

(Numbers above only show the format. They are not defaults.)

  • Weight row: importance of each attribute, set by the user. A negative weight is allowed for an attribute the user wants to avoid.
  • Options row: the possible choices for that attribute, separated by /. Numeric attributes use non-overlapping ranges that cover every realistic value.
  • Option score row: the user's score for each option, in the same order as the Options row, usually 0-5. The letter X means reject: the model is disqualified if its value falls in that option.
  • Value row: the raw facts for a model, taken from official specs. Leave unknowns blank.
  • Score row: looked up from the Value row via the Options and Option score rows. Total sits only on the Score row: the sum of weight x score, with the maximum (5 x sum of weights) shown beside it as a percentage. Any X makes the Total show "Rejected".

Workflow

  1. Item type and context. Ask what is being bought and what matters about the user (for example hand size and grip for a mouse, usage mix, budget). Check the conversation and memory first; do not ask for things already known. If the Black Friday tracker (tblItems) is in use, the Item there is the type name (Keyboard), while this sheet's Model column holds exact product names.
  2. Attributes. Read references/<item>.md if one exists for the item type; otherwise propose a short list (6-10) and agree it with the user. Let them add or remove attributes.
  3. Options. Define the options for every attribute (from the reference file, edited as needed). Check: options are mutually exclusive, ranges do not overlap or leave gaps, and the order is consistent.
  4. User scores. Show the options and ask the user to fill in the Option score row and the Weight row. Offer to leave any blank for later. If the user asks for suggestions, give them as clearly optional, with a one-line reason each, and only for options the user has not scored.
  5. Candidates. Record exact model names (including version or size, for example "ZA12", not "ZA"). Fill the Value row from official specs; where specs are from memory or a review site, mark Verified = No and say so. Never guess a missing value.
  6. Score and total. Look up each Value in the Options row. Flag a Value that matches no option, an option with no score, or an attribute with no weight. Compute the Total.
  7. Recommend. Give the top one to three with the reason (which attributes drove the score), anything unverified, and what needs hands-on testing (for example shape, click feel, texture). Write the final score back to tblItems if that tracker exists.

Building the file

If the user wants a spreadsheet, read the xlsx skill first, then build it with the layout above: an Excel table with the Row column filterable, the Option score cells highlighted for the user to fill, and a lookup formula for the Score row (for example INDEX with MATCH on the Options list, using TEXTSPLIT or a helper range for the option lists). Put option lists in helper ranges if splitting text in one cell is unreliable. Total =SUMPRODUCT(weights, scores) on Score rows only.

Rules

  • Do not preset Must/Prefer scores. The user's weights and option scores are the only source of truth.
  • Do not invent specifications, prices or review numbers. Blank means unknown.
  • Keep the Value row factual and the Score row numeric.
  • Record source and verified status for every spec.
  • Keep replies short and show small tables. Do not repeat the whole sheet after each edit; show only what changed.

References

  • references/keyboard.md, references/mouse.md, references/mousepad.md: attribute lists with options only, no scores. Read the one that matches the item type. For other item types, build a new list in the same format and offer to save it as a new reference file.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.