Greenfield Metal Sales (GMS) is a Midwest manufacturer of standing-seam roofing, exposed-fastener panels, and architectural trim. The product catalog is ~91,000 SKUs across multiple product families, gauges, lengths, colors, and finishes. Pricing, sourcing, production, and sales all depend on shared domain knowledge that was previously tribal — held in people’s heads, in spreadsheets, and in a 20-year-old Paradigm ERP instance.
This plugin was built to make that domain knowledge addressable by Claude Code — installable, versionable, evalable, and (where safety rails allow) automatable.
The internal production plugin ships 11 skills. This public repo ships 7 of them. The other 4 are described here so a reader of this case study understands the full scope, even though the code isn’t public.
| Skill | Core pattern |
|---|---|
gms-pricing-engine |
Formula-driven: encode sell = base × gauge × length × finish as a reusable calculator with preview-before-apply safety rails |
gms-sku-decoder |
Parser + encoder: round-trip between product IDs and human-readable descriptions; ships two Python scripts as tools |
gms-material-estimator |
Geometric: building dimensions → panel/trim takeoff with waste factors |
gms-color-authority |
Catalog lookup with fuzzy aliases: “dark gray crinkle” → CCH (Crinkle Charcoal Gray) |
gms-production-nav |
Graph traversal: product → assembly → coil → labor ops |
gms-supplier-intel |
Routing logic: color/gauge combo → supplier + lead time + reorder math |
gms-inventory-health |
Time-series heuristics: velocity × days-on-hand → stock status |
Dropped from the public repo for specific reasons:
gms-battlecard — A competitive-intelligence skill covering three named regional competitors with positioning, objection handling, and win/loss patterns. Dropped because publishing specific competitor weakness claims carries defamation risk and exposes Greenfield’s competitive strategy. The skill architecture is identical to the public skills — the signal value is in the others.gms-sales-outreach — Cold-email and follow-up templates targeted at the same competitors. Same reason.gms-customer-intel — ICP (ideal-customer-profile) classification, MABC health metrics, and churn-risk scoring. Dropped because the segmentation logic is real proprietary go-to-market strategy, not generic.jarvis-dev-companion — An internal developer-assistance skill that referenced specific service endpoints, bearer-token env vars, and dashboard URLs on the GMS internal platform. Dropped because the infrastructure refs aren’t useful without access to that platform and are a minor footprint leak.Pattern-wise, the 4 dropped skills are identical to the 7 public ones: frontmatter description as the trigger, SKILL.md for the main content, references/ for long tables, evals.json for assertions. A reader who wants to build competitive or customer-facing skills for their domain has all the scaffolding they need from the 7 public examples.
SKILL.md + references/*.md written from the interview transcript. The SKILL.md is scannable (≤~15K tokens); reference docs are deep-link material.critical-correctness (must pass) / correctness (should pass) / depth (nice to have).customer-lifecycle skill would have been cleaner.evals/evals.json inside each skill folder — that’s the right call. Earlier versions had evals in a sibling directory and they rotted.how-to-write-a-skill.skill that demonstrates the skill pattern itself. Future-me would have been more productive with a self-documenting template.The pattern translates cleanly to any vertical with:
Verticals it would fit well: insurance underwriting, medical coding, legal contract review, supply chain routing, real estate comparables, commercial lending. Each of those has a “pricing-engine-shaped” skill, a “decoder-shaped” skill, and one or two catalog-lookup skills waiting to be written.