Grounded procurement research for any real-world need. Turn a problem — "reduce bedroom noise from the avenue", "add air conditioning", "hire an accountant", "buy a TV mount" — into a decision-shaped report with 3–5 ranked alternatives spanning DIY-retail → consultant/turnkey, cited price bands, confidence scores, locale-aware currency, and a clear recommendation with budget envelope.
The procurer skill is the agent's reflex when the user is about to spend money or effort on a problem and needs calibration before committing. It enforces grounding discipline (no price without a citation; no fabrication from training data; flag the dominant failure mode early) and produces a report you can act on.
# Project-level install:
npx skills add broomva/procurer
# Or globally for your user:
npx skills add -g broomva/procurerYou can also discover it through the interactive finder:
npx skills find procurerOnce installed, the skill auto-fires on procurement-shaped prompts:
"How much would it cost to fix the noise from my bedroom window?"
"What are my options for adding A/C?"
"Should I hire an accountant or do my taxes myself?"
"Give me a budget for renovating the bathroom."
You can also invoke explicitly with /procurer if your agent supports slash commands.
python3 scripts/validate_report.py path/to/report.mdExits non-zero with a list of structural issues if the report doesn't conform to the procurement-report template (≥ 3 alternatives, citations resolve, recommendation has a budget envelope, etc.).
Every procurer run produces a decision-shaped report with this structure:
# <Need restated>
**Locale**: CO Bogotá · **Currency**: COP · **Mode**: standard
## Problem framing
<Dominant failure mode named — separates symptom from cause>
## Alternatives
### Alternative A — <name> (Tiers: T1 → T3)
**Thesis** · **Cost band (low / typical / high)** · **Confidence (0–1)** · **Providers cited (table)** · **Notes**
### Alternative B — ...
### Alternative C — ...
## Cross-cutting notes
<Tax treatment · supplier shortlist · hidden costs · lead times>
## Recommendation
**Start with**: <X>
**Total budget envelope**: <low – high>
**Rationale**: <2–3 sentences>
**If that doesn't work**: <Y> as fallback
## Sources
[1] <url> — "<title>" — fetched <iso8601>
[2] ...See assets/examples/window-noise-attenuation.md for a fully-worked example.
- Decompose the need into 3–5 ranked alternatives using one of four canonical patterns:
- Incremental → Augmentation → Replacement (fix-it problems)
- DIY → Service → Managed (accountability questions)
- Standard → Custom → Bespoke (spec-driven cost)
- Single-vendor → Multi-vendor → Integrator (sourcing complexity)
- Map provider archetypes — each alternative gets placed on a 5-tier model (DIY-retail → mid-retail → specialty/fabricator → contractor → consultant/turnkey).
- Choose mode —
fast(rough number, < 1 min) /standard(default, ~3–5 min) /deep(executive report, multi-vendor sensitivity). - Search with grounding discipline — every price carries
source_url,source_title,fetched_at,provider_tier, and a confidence score (0–1). No fabrication; quote-on-request signals captured explicitly. - Render the report — using the template above. Validate with
scripts/validate_report.py.
Full procedure: SKILL.md. Detailed references in references/.
| Skill | Output shape | Use when |
|---|---|---|
procurer (this) |
Decision-shaped — recommendation + budget envelope | About to spend money or effort |
deep-research |
Research-shaped — knowledge artifact with citations | Understanding a topic |
technical-research |
Spike-shaped — technology selection memo | Choosing libraries / APIs / tools |
The differentiator: procurer ends with an actionable recommendation and a budget. The user can read it once and proceed. No follow-up synthesis required.
These rules bind every run, regardless of mode:
- No price without a citation. Every cost band carries
source_url,source_title,fetched_at. - No alternative without a thesis. Don't list options; list options with the problem each solves.
- No recommendation without a budget envelope. "Go with X" is incomplete; "Go with X, $A–$B inclusive of installation" is decision-shaped.
- No locale assumption. Ask the user's region before searching — supplier networks and tax handling diverge sharply.
- Flag the dominant failure mode early. If 80% of the problem can be solved by a 5% intervention, say so before recommending the 100% solution.
Full rules: references/grounding-discipline.md.
procurer/
├── SKILL.md # Agent entry point — frontmatter + procedure
├── README.md # This file — user-facing intro
├── LICENSE # MIT
├── CHANGELOG.md # Release history
├── CONTRIBUTING.md # How to contribute
├── SECURITY.md # Vulnerability disclosure
├── references/ # Load-on-demand depth (read by the agent)
│ ├── decomposition-patterns.md
│ ├── provider-taxonomy.md
│ ├── grounding-discipline.md
│ ├── mode-tiers.md
│ └── report-template.md
├── scripts/
│ └── validate_report.py # Structural linter for procurement reports
├── tests/ # pytest suite for the validator
│ ├── conftest.py
│ ├── test_validator_canonical.py
│ ├── test_validator_failures.py
│ └── fixtures/
└── assets/examples/ # Worked examples (treated as output references)
├── window-noise-attenuation.md
└── construction-materials-co.md
# Run the validator's test suite
python3 -m pytest tests/ -v
# Validate the canonical worked example
python3 scripts/validate_report.py assets/examples/window-noise-attenuation.md
# → OK — passes all procurer-report structural checks.No runtime dependencies — the validator uses only the Python 3.11+ standard library.
bookkeeping(P8) — reusable knowledge from procurement reports (market bands, supplier shortlists) is filed into the entity graph for future runs to compound on.deep-research— for needs where the user must learn before deciding, rundeep-researchfirst, thenprocurerfor the cost layer.technical-research— for software/library choice with a cost dimension, combine technical evaluation with SaaS/consultancy pricing.
MIT © 2026 Carlos D. Escobar-Valbuena (broomva). See LICENSE.
Procurer extracts and generalizes the supplier/taxonomy/grounding discipline of the materiales-intel.v1 rules-package — the construction-materials intelligence module shipped as part of the Broomva Life Agent OS. The construction-specific reference at assets/examples/construction-materials-co.md preserves that lineage.