AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Data Product Eval

skill-evan-kim2028-agent-skills-product-eval · by Evan-Kim2028

>

No reviews yet
0 installs
16 views
0.0% view→install

Install

$ agentstack add skill-evan-kim2028-agent-skills-product-eval

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-evan-kim2028-agent-skills-product-eval)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
17d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Data Product Eval? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Data product eval — estimates vs later truth

data-semantic-quality asks “is this row the right entity with the right flags?” This skill asks “is this published number honest against what later happened?” Code tests (quality-check / tdd) do not answer that.

No product thresholds, no marketplace rule books. Those stay in the product repo.

When to invoke

  • Scoring a published estimate / mark / forecast / fill against later realized facts.
  • Preparing a data-product surface for release (coverage vs error, honesty labels).
  • Adding a canary, shadow pack, or truth panel that must share policy with prod.
  • An issue or PR closed but the live error / coverage / calibration metric did not move.

Don't use

| Task | Go here instead | |---|---| | Quality flags, trust ladders, entity golden packs | data-semantic-quality | | Attaching messy records to entity keys | data-identity-resolution | | Schema, watermarks, Iceberg publish | data-apache-lakehouse / data hub | | Serving honors attributes; keyset/sidecars | data-api | | Code TDD, browser proof, merge checklist | quality-check | | Domain constants (bands, floors, venue weights) | product-repo skill |

Non-negotiables

  1. No domain product nouns or concrete business thresholds in advice from this skill.
  2. Eval and production run the same policy function. A second scorer is a second truth.
  3. Snapshots are frozen. Scoring a moving publish against a moving fact table is not an eval.
  4. Coverage and error are different gates. Raising coverage by filling junk is a fail.
  5. Observe-only is allowed; calling it a release gate is not.

Principles

Each has a falsifiable Test:.

1. One policy path

The function that decides “eligible / excluded / estimate / thin” in production is the function the eval imports. Shadow copies drift within a week.

Test: change one eligibility rule. Does tonight’s eval and tonight’s publish move together, or only one?

2. Freeze both sides of the comparison

Pin the estimate snapshot and the realized-fact snapshot (or a temporal as-of). Do not score “whatever is live now” against “whatever sold since.”

Test: re-run yesterday’s eval job. Are the inputs byte-identical to yesterday’s freeze? If numbers wiggle with no code change, the freeze is missing.

3. Separate fit from forecast

  • Fit: estimate published at T vs facts already known at T (did we describe the past).
  • Forecast: estimate at T vs facts in (T, T+k] (did we predict).

Mixing them hides stale-but-pretty marks.

Test: can you name the fit window and the forecast window, and are they computed as two series?

4. Stratify before you quote a single error

Global MAPE/median-abs-log is a vanity number. Slice by the dimensions that change the distribution (status, cohort, volume band, age, venue, language — whatever the product actually serves). Details: [references/eval-loop.md](references/eval-loop.md).

Test: can a thin, stale, or wide slice look “fine” inside the global number? If yes, the report is not stratified.

5. Coverage floor ≠ accuracy gate

A coverage gate asks “what fraction of served slots have a number.” An accuracy gate asks “of slots that have a number, how wrong is it.” Filling empty slots with unlabeled guesses raises coverage and poisons accuracy.

Test: if you force 100% coverage with a naive fill, does the accuracy gate go red? If both stay green, you have one gate pretending to be two.

6. Dual budgets on values, not only flags

Entity packs (data-semantic-quality) guard known-good / known-bad rows. Estimate eval also needs known-good / known-bad values (this slot should stay near X; this slot must not print a number). Dual budgets: false-negative on known-bad, false-positive on known-good.

Test: delete the known-bad value cases. Does the release path still go green?

7. Honesty labels travel with the number

A served estimate that can be thin, stale, wide, or ambiguous must carry that status into eval. Scoring only the happy ok slice hides the product.

Test: turn off status filtering in the report. Do thin/stale/wide slots still appear, labeled, or did they vanish from the denominator?

8. Observe-only vs release gate is explicit

Nightly accuracy can be report-only. A release / promote / “ready for customers” path names the gate (coverage floor, pack budgets, calibration band) and fails closed. Do not say “we eval” when you only write a parquet nobody reads.

Test: break a core-tier pack case. Does anything block promote/release, or only a log line?

9. Merge is not the metric

Closing a ticket or merging a policy PR is not evidence the live error or coverage number moved. quality-check owns the closeout ritual; this skill owns which number to measure.

Test: after “done,” can you show before/after on the named eval metric from the frozen path? If you only have CI green, you did not eval.

Workflow: add or change an eval

Estimate eval change:
- [ ] 1. Name the consumer question (fit vs forecast; which slots)
- [ ] 2. Point eval at the production policy module (no fork)
- [ ] 3. Freeze estimate snapshot + fact snapshot (or as-of)
- [ ] 4. Define strata; refuse a global-only report
- [ ] 5. Split coverage gate from accuracy gate
- [ ] 6. Add ≥1 known-good value and ≥1 known-bad value (dual budgets)
- [ ] 7. Carry honesty labels into the score rows
- [ ] 8. Mark the run observe-only or release-gate (never both silently)
- [ ] 9. After ship: before/after on the named live metric
- [ ] 10. No domain thresholds committed into this pack

Common mistakes

  • A second “eval scorer” that almost-copies production eligibility.
  • Scoring live tables with no freeze (non-reproducible “wins”).
  • Quoting one error number across mixed statuses and cohorts.
  • Raising coverage by unlabeled fill, then celebrating accuracy on the remaining clean slice.
  • Golden entity packs only — no known-bad values.
  • Calling a report-only job a release gate.
  • Claiming done from a merged PR without a moved metric.

References

  • Loop mechanics (freeze, walk-forward, strata, gates): [references/eval-loop.md](references/eval-loop.md)
  • Row flags / entity packs → data-semantic-quality
  • Identity attach / remap → data-identity-resolution
  • Serving honors labels; does not rescore → data-api
  • Merge ≠ metric → quality-check (metric-gated closeout)
  • Shared pipeline principles → data hub

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.