procurement
Skill1 starsChanged 6 months agoMITView on GitHub
Research any consumer or business product (bicycles, PCs, cameras, audio gear, smart-home, appliances, cosmetics, furniture, mobility, IT software, medical devices, and anything else — unknown categories auto-derive a new domain pack and save it for future runs) as a professional procurement specialist would: formalize requirements, build a candidate slate, validate standards compliance and compatibility, run TCO and vendor-risk analysis, and deliver a documented decision memo with a post-purchase lifecycle plan. Self-feeds — builds up its own domain-pack library as it researches new categories. Supports both B2C (personal / household) and B2B (company / procurement) modes. Auto-extracts context from working-directory files and asks the user only for what's missing. Triggers on: "research [product]", "compare [A] vs [B]", "help me pick a [category]", "is X compatible with Y", "what should I upgrade on my [thing]", "should I buy [product]", "build me a [PC/bike/setup] for [budget]", "evaluate [product] for [use case]", "TCO of [product]", "procurement analysis for [product]", "RFP for [category]", "vendor comparison for [SaaS/equipment]".
2 other projects use a version of this.
Adopted by
Most recently taken up by
- 10Legs/ceo-f500-harnesstheir own version, first seen Jul 22, 2026
- LukeJMadden/Veltrix-skillstheir own version, first seen Mar 28, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- 10Legs/ceo-f500-harness★ 8same name
- LukeJMadden/Veltrix-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 5 are distinctive, and 2 are 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.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Every research request runs the same structured pipeline.
- Distinctive: line 64
Run these in order. Step depth scales to the Kraljic class set in step 1.5.
- Very specific: line 74
2. Load playbooks: Read references/procurement-playbook.md + references/universal-dimensions.md + the matched references/domain-<name>.md …
- Distinctive: line 76
Path B (fallback): run the inline 8-category deep search (~20–30 web calls) with parallel-batched WebSearch/WebFetch calls per category …
- Very specific: line 157
If file exists: append a new ## Re-evaluation <YYYY-MM-DD> section.
- Distinctive: line 159
Always confirm the written path back to the user.
- Distinctive: line 195
Every URL goes in the report's Sources section, numbered.
≈ “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.
Files
procurement
Operating mindset
This skill behaves as a professional procurement specialist, not a casual shopping assistant. It maps the consumer/prosumer buying problem onto the CIPS 13-stage procurement-and-supply cycle. See references/procurement-playbook.md for the full mental model.
Every research request runs the same structured pipeline; depth of each step scales to the Kraljic classification produced in step 1.5.
When to use
- "research a [product]" / "help me pick a [category]"
- "compare [A] vs [B] vs [C]"
- "is [X] compatible with [Y]"
- "what should I upgrade on my [bike/PC/setup]?"
- "should I buy [product]?" / "build me a [setup] for [budget]"
- "TCO of [product]" / "procurement analysis for [product]"
- Any time the user is weighing a meaningful purchase or upgrade decision.
When NOT to use
- Pure price lookup ("what does X cost on Amazon?") — just answer directly.
- Pure spec recall ("what's the IP rating of X?") — just answer directly.
- Reviews of products the user already owns and isn't changing.
- Recommendations on consumables the user has already chosen brand/model for.
Inputs required
The skill needs (or auto-extracts, or asks for):
- Product / category and intent (new-purchase / upgrade / comparison / compat-check)
- Mode: B2C (personal/household) or B2B (company/procurement) — see
references/b2b-modifiers.md - Region + currency (always asked, no default)
- Budget envelope
- Use-case profile
- Must-haves / nice-to-haves / dealbreakers
- Existing ecosystem (gear the user already owns — for compatibility)
- Audience level: casual or pro (asked once; controls report density)
- TCO horizon (typically 3 or 5 years; B2B often 5+)
- ESG weighting (optional)
- Cooling-off threshold (household-rule for when to enforce a sleep-on-it pause); for B2B replaced by formal approval chain
- Output format(s) — Markdown (always), optionally + Executive deck (.pptx) + PDF brief + One-pager + Word .docx; see
references/output-formats.md
Workflow — the 11-step procurement process
Run these in order. Step depth scales to the Kraljic class set in step 1.5.
Pre-purchase
1. Scope & domain. Parse the user's message for product noun + brand/model. Read references/domain-index.md and match keywords. Classify intent (new-purchase / upgrade / comparison / compat-check). If ambiguous, ask one clarifying question via AskUserQuestion. If no domain matches → load references/domain-unknown.md to derive + self-feed a new pack (see self-feeding section below).
Also at this step, infer or ask mode: B2C (default for personal language) or B2B (triggered by "company", "office", "team", "procurement", "PO", "RFP", "vendor", "fleet" cues). See references/b2b-modifiers.md.
1.5. Kraljic classification — see references/kraljic-classification.md. Place purchase on supply-risk × importance matrix: routine / leverage / bottleneck / strategic. The classification dictates how deep the rest of the steps go.
2. Load playbooks. Read references/procurement-playbook.md + references/universal-dimensions.md + the matched references/domain-<name>.md from step 1. If mode = B2B, also read references/b2b-modifiers.md. If domain was unknown, follow references/domain-unknown.md to acquire the criteria-side knowledge:
- Path A (preferred when available): delegate to the
deep-researchskill via the Skill tool with a composite 8-category prompt; parse its cited synthesis into the domain-pack template. - Path B (fallback): run the inline 8-category deep search (~20–30 web calls) with parallel-batched WebSearch/WebFetch calls per category (multiple tool calls per turn).
Either path then: (a) adversarially verifies the high-stakes dimensions (compatibility, standards-regulators, compliance-recall) per references/adversarial-verify.md; (b) scores per-dimension confidence and computes the aggregate per references/schemas.md §3; (c) saves the result as references/domain-<slug>.md with the full dimension-confidence + verification frontmatter + appends to domain-index.md (self-feeding — see references/self-feeding.md). Run the schemas.md self-validation checklist before writing. Note: prices and current availability are intentionally never cached — step 6 always runs live. Cache derived dimensions for this run.
3. Auto-extract context. Glob **/*.md, **/*.txt, **/notes/** + loose files in .. Grep for product names, model numbers, existing gear, prior quotes, must-haves/dealbreakers, prior research in tasks/research/. Build known_context. Never re-ask for anything already found.
3.5. Option-space analysis — see references/option-space.md. Test make-vs-buy and build/buy/rent/subscribe before assuming the answer is "purchase".
4. Formalize requirements — see references/requirements-framework.md. Build the requirements doc (must-have/nice-to-have weighted/dealbreaker). Ask via AskUserQuestion only for what's missing — single batched call. Always ask region+currency, audience level, Kraljic-derived importance, and output format(s) (Markdown default; optional .pptx / PDF / one-pager / .docx — see references/output-formats.md).
Sourcing & validation
5. RFI → shortlist + compliance — see references/compliance-checks.md + references/compatibility-playbook.md. Build 2–5 candidate SKUs. Verify: certification marks (CE/FCC/UL/RoHS/CCC/Energy Star/EPREL), authorized-dealer/SKU verification, return policy, IoT cyber/privacy (smart devices), counterfeit risk, compatibility with user's existing gear. Disqualify failures + document reasons. For strategic-class purchases, adversarially verify each compatibility-matrix row and each B2B compliance attestation per references/adversarial-verify.md — a wrong compat/compliance call is the most expensive mistake to ship.
6. RFP → RFQ + price discovery — see references/price-discovery.md. For each surviving candidate, run MSRP capture → aggregator scan (region-appropriate: Google Shopping / PriceSpy / Idealo / Geizhals / Newegg / PCPartPicker / Kakaku / regional equivalents — see the table in price-discovery.md) → price history (camelcamelcamel / Keepa) → used/refurb floor (eBay sold, manufacturer refurb) → peer-tier benchmark → cross-border landed-cost math if relevant → red-flag pass → synthesize fair-price band (aspirational / target / walk-away).
7. TCO + risk + negotiation — see references/tco-and-risk.md + references/sourcing-and-negotiation.md. Compute landed-cost TCO (purchase + accessories + consumables + energy + maintenance + repairs − resale − rebates − CC bonuses + financing + insurance net of CC). Run FMEA-lite + single-source-of-failure + vendor risk. Assemble negotiation playbook.
Decision & commit
8. Decide & document — see references/decision-frameworks.md. Method scales with Kraljic class: routine → quick weighted; leverage → full weighted; bottleneck → risk-adjusted; strategic → AHP or Pugh. Render references/report-template.md into tasks/research/<slug>.md. Slug = kebab-case <category>-<keyword>. If exists: append ## Re-evaluation <YYYY-MM-DD>. Auto-create tasks/research/.
After the canonical Markdown is written, chain to additional output formats if the user requested any in step 4 — see references/output-formats.md. The skill calls anthropic-skills:pptx for executive decks, anthropic-skills:pdf for PDF briefs and PDF one-pagers, and anthropic-skills:docx for Word reports. All formats land in tasks/research/<slug>.<ext> alongside the Markdown.
8.5. Pre-mortem + devil's advocate — see references/pre-commit-checks.md. Klein's prospective hindsight: top-3 regret scenarios + mitigations. Inversion check.
8.6. Cooling-off pause. Threshold rule: above household threshold, recommend a 24–72h pause. Report flags with "Re-confirm after <date>".
Post-purchase (lifecycle)
9. Receive + register + archive — see references/lifecycle-management.md. Incoming inspection, warranty registration deadline, day-1 firmware/secure setup, insurance enrollment, document archival.
10. Recall + maintenance + spares. Recall monitoring sources, maintenance calendar, spare-parts stocking.
11. End-of-life. Resale target / trade-in / recycle plan + data-wipe for smart devices. Lessons-learned to tasks/lessons.md per CLAUDE.md §3.
Steps 9–11 are written into the report as a Lifecycle plan — the skill provides a dated checklist, not autonomous execution.
Domain detection rules
Authoritative source: references/domain-index.md — always consult this first; it is updated as the skill self-feeds new packs.
Current hand-authored packs (snapshot — full list in the index):
| Domain | Pack | Mode bias |
| Bicycle | domain-bicycle.md | B2C |
| PC build | domain-pc.md | B2C / prosumer |
| Cosmetics | domain-cosmetics.md | B2C |
| Home appliance (major) | domain-home-appliance.md | B2C |
| Small appliance | domain-small-appliance.md | B2C |
| Camera | domain-camera.md | B2C / prosumer |
| Audio | domain-audio.md | B2C / prosumer |
| Smart home | domain-smart-home.md | B2C |
| Furniture / mattress | domain-furniture.md | B2C + B2B |
| Personal mobility | domain-mobility.md | B2C |
| IT software / SaaS | domain-it-software.md | B2B |
| Medical device | domain-medical-device.md | B2C + B2B (clinic) |
| Anything else | domain-unknown.md → derives + saves new pack | — |
Matching rule: lowercase user query → scan domain-index.md keywords → longest-keyword-match wins → if no match, fall through to domain-unknown.md self-feeding workflow. If multiple packs match with comparable specificity → ask user via AskUserQuestion.
Self-feeding
The skill grows its own domain-pack library. On encountering a category with no matching pack:
domain-unknown.mdacquires criteria-side knowledge via an 8-category deep search (Path A: delegate todeep-research; Path B: inline parallel-batched search).- High-stakes dimensions are adversarially verified; each of 9 dimensions is scored
low/medium/highand the aggregate is computed (references/schemas.md§3). - Result is saved as a new
references/domain-<slug>.mdwith the fulldimension-confidence+verificationfrontmatter (status: auto-generated, aggregateconfidence). - A row is appended to
references/domain-index.md. - Future runs on the same category reuse the saved pack — zero web calls for criteria; only live price discovery runs.
- A user reviewing the pack can promote it to
confidence: high, human-reviewed: true.
See references/self-feeding.md for the full design, references/schemas.md for the confidence model, references/adversarial-verify.md for the verification methodology.
The skill should mention to the user when it has created or updated a domain pack — this is part of the value delivered.
Output
- Path:
tasks/research/<slug>.md. Auto-createtasks/research/. - Slug: kebab-case
<category>-<keyword>(e.g.,bicycle-gravel-upgrade,pc-rtx-5070-build). - If file exists: append a new
## Re-evaluation <YYYY-MM-DD>section. Do not overwrite. - Template:
references/report-template.md. - Always confirm the written path back to the user.
Audience-level switch
Asked once in step 4. The underlying procurement analysis runs in full regardless of choice — only reporting density changes.
audience=casual: Executive summary up top is the headline; Procurement detail sections are condensed (one-sentence per subsection, 2–3 candidates, single bottom-line TCO, top-3 risk bullets).audience=pro: Same Executive summary; Procurement detail sections fully expanded (3–5 candidates, full TCO line items, complete vendor-risk profile, longer source list, explicit weighted/AHP/Pugh scoring matrix).
Information sources
See references/information-sources.md for the canonical source list — cross-region (camelcamelcamel, Keepa, PCPartPicker, eBay sold, MPB/KEH), regional aggregators (US / EU / UK / CA / AU / JP / IN / BR / MENA / TR / others), reviews (RTINGS, Wirecutter, Consumer Reports, r/BuyItForLife, etc.), compliance (EPREL, CPSC SaferProducts.gov, EU RAPEX, MHRA, TGA, Health Canada, EUDAMED, etc.), repairability (iFixit, EU repairability index), and customs (USITC, TARIC, gov.uk Trade Tariff, CBSA, ABF, plus national equivalents).
Quality & verification
The skill's trust model is explicit, not implicit — see references/schemas.md (canonical shapes + per-dimension confidence model) and references/adversarial-verify.md (refutation methodology).
- Per-dimension confidence: auto-generated domain packs score each of 9 dimensions
low/medium/highrather than a single blanket label; the aggregate is computed, not guessed. Hand-authored packs are treated ashighthroughout. - Adversarial verification: high-stakes claims (compatibility, certification, recall, B2B compliance) must survive an independent refutation pass before they're trusted. Default verdict is
unverified, neververified. - Report honesty: any
refuted/unverifiedhigh-stakes claim is surfaced in Section 16 (Open questions), never stated as settled fact. If a pack's high-stakes dimension islow, the report names it specifically.
Failure modes
- Domain unknown → run the 8-category deep search (
references/domain-unknown.md); if it can't complete cleanly, save aconfidence: lowpack withdeep-search-completed: falseand ask the user to supply the key dimensions. - Adversarial verification can't corroborate a high-stakes claim → mark it
unverified, cap that dimension atlow, surface it in the report's Open Questions. Never upgrade an unverified claim to settled fact. - Web unreachable → fall back to user knowledge + local domain pack; explicitly mark price/risk data + all verifications as "unverified".
- User can't answer required input → mark requirement as
unspecified, downgrade scoring confidence, surface in Open Questions. - No candidate passes compliance → surface the failure modes, ask user whether to relax must-haves or expand budget.
- No reliable price data → output MSRP only with an explicit "fair-price band could not be established" note.
- Classification ambiguous → ask user one question to disambiguate; default to leverage if unanswered.
Source citation discipline
- Standards / compatibility claims: ≥2 independent sources.
- Opinions / reviews: ≥1 source.
- Price data: ≥1 aggregator + ≥1 primary seller link.
- Every URL goes in the report's Sources section, numbered.
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
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.

