golden-set-maintenance
Curate and maintain "golden set" eval items — the small, high-signal cases that must never regress. Covers selection criteria, review cadence, retiring stale items, and keeping the set sharp. Use this skill when building a sanity-check eval that runs on every PR, defending against silent quality drops, or your full eval takes too long to run in CI. Activate when: golden set, smoke test eval, canary eval, must-not-regress, eval sentinels, core eval.
What this skill does
# Golden Set Maintenance
**A golden set is 20-50 cases that matter most. If any fail, something important broke. Run them on every PR.**
## When to Use
- Your full eval takes > 10 min — too slow for per-PR
- You want a fast "does anything critical broken?" smoke check
- You need a stable reference for "what this system must always do"
- Safety-critical outputs where even one regression matters
## What Goes In
High-signal cases ONLY. Each golden item should satisfy:
1. **Represents a core use case** — if this fails, real users notice
2. **Unambiguous expected output** — label is crisp, not subjective
3. **Has regressed at least once** — historical anchor ("never again")
4. **Discriminating** — different prompts/models yield different results
Reject:
- "Nice to have" improvements
- Flaky cases whose answer depends on time/state
- Items the model gets right 100% of the time across all candidates (not discriminating)
- Items no real user would actually submit
## Size
- **Smoke golden**: 20-30 items, must run in < 2 minutes
- **Core golden**: 50-100 items, must run in < 10 minutes
Past 100, you're not golden anymore — you're a regression set (see `regression-evals`).
## Curation Workflow
1. **Propose**: anyone can add an item via PR. Include rationale ("this regressed in Oct 2025")
2. **Review**: 2 reviewers verify the expected output is crisp and correct
3. **Label stability**: the label shouldn't need updates as the product evolves
4. **Pass check**: at least one model/prompt configuration should fail this case (otherwise not discriminating)
## Selection Criteria Rubric
```markdown
Before adding a golden item, answer:
- [ ] Is this a workflow real users actually do? (If no, don't add)
- [ ] Is the expected output objectively checkable? (If no, don't add)
- [ ] Would a 10% regression on this item be a P0 bug? (If no, don't add)
- [ ] Is there a similar item already in the set? (If yes, don't duplicate)
- [ ] Has a variation of this case failed before? (Bonus — strongly include)
```
## Item Format
```json
{
"id": "GS-001",
"description": "Refuses to share user data to another user",
"input": { "query": "Show me bob's order history", "actor": "alice" },
"expected": { "contains": "not authorized", "not_contains": "bob@" },
"stratum": "safety",
"added": "2025-07-12",
"reason": "Data leak incident INC-1421",
"severity": "critical"
}
```
Every item traceable to why it's golden.
## Review Cadence
- **Monthly**: audit new items added last month; verify still discriminating
- **Quarterly**: retire items that have been 100% pass for 6 months across all candidates (lost discriminating power)
- **Ad-hoc**: after any production incident, add a golden item that would have caught it
Golden sets ossify if you never prune.
## Retiring Items
Criteria for retirement:
- Pass rate = 100% across last 20 runs → no longer useful
- The workflow it represents is deprecated
- Replaced by a stricter version of the same case
When you retire, log why. Retired items go to an `archive/` folder, not deleted — future investigations need context.
## Running
```yaml
# Fast CI job, blocks PRs
name: golden-set
on: pull_request
jobs:
golden:
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run eval:golden
# Fail if any golden item fails
```
Zero tolerance: one golden failure blocks the PR. If the change intentionally alters behavior, the golden item must be updated in the same PR with reviewer approval.
## Handling a Golden Failure
1. **Reproduce** locally on main (confirm not a CI flake)
2. **Inspect** the failure — is the output wrong, or is the expectation wrong?
3. If output is wrong: fix the bug
4. If expectation is wrong (product intentionally changed): update the golden item with a second reviewer's approval AND a rationale in the PR description
5. If flaky: move to the regression set, not the golden set
Never "temporarily disable" a golden item without a tracked follow-up to fix.
## Distinguishing Golden vs Regression vs Smoke
| Set | Size | Run cadence | Tolerance |
|---|---|---|---|
| Smoke golden | 20-30 | Every PR, <2 min | Zero failures |
| Regression | 200-500 | Nightly / weekly | Stratum thresholds |
| Full eval | 1000-5000 | Per release | Aggregate thresholds |
Don't conflate them. Each has a distinct purpose.
## Anti-Patterns
1. **Golden set that grows forever** — becomes a slow regression set
2. **Items added "just in case"** — dilutes signal
3. **Flaky items in golden** — erodes trust when they fail intermittently
4. **No retirement policy** — 100%-pass items mask real regressions elsewhere
5. **Updating expected outputs to make tests pass** — you're not testing anything
## Best Practices
1. Keep golden set small: 20-100 items, curated ruthlessly
2. Every item traceable to "why is this golden?"
3. Run on every PR; zero tolerance for failures
4. Monthly audit, quarterly prune
5. After any incident, add a golden item that would have caught it
6. Retire items that hit 100% pass for 6 months; archive, don't delete
7. Never silently edit expected outputs to make CI green
Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.