Skip to content
Back to skills

Evidence Case Lab

ASecurity

Self-improving evidence case convergence loop. Runs question banks against /create-evidence-case, diagnoses mismatches, and tracks convergence across cycles.

  • 6 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 11, 2026
securitygobashsecurity

Security analysis

A100/100

Pro scans all 15 files and shows the line behind each finding

Scanned September 11, 2026

npx -y skills add grahama1970/agent-skills --skill evidence-case-lab --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Evidence Case Lab?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Evidence Case Lab
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/grahama1970-evidence-case-lab/badge)](https://www.skillsdirectory.com/skills/grahama1970-evidence-case-lab)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: evidence-case-lab
version: 0.2.0
description: >
  Self-improving evidence case convergence loop. Runs question banks against
  /create-evidence-case, diagnoses mismatches, and tracks convergence across cycles.
triggers:
  - evidence case lab
  - evidence case converge
  - fix evidence scoring
  - run evidence questions
metadata:
  short-description: Self-improving evidence case convergence loop
composes:
  - create-evidence-case
  - memory
  - agentic-evals
provides:
  - evidence-case-convergence
disciplines:
  - compliance-security
  - evaluation-quality
---

> STOP. READ THIS ENTIRE SKILL.MD BEFORE CALLING ANY ENDPOINT.

# /evidence-case-lab

Self-improving convergence loop for `/create-evidence-case`. Runs question bank,
diagnoses mismatches (false positives, false negatives, grounding failures),
re-runs, and tracks convergence across cycles.

## Commands

| Command    | Description |
|------------|-------------|
| `run`      | Run question bank, produce results.json + REPORT.md |
| `diagnose` | Classify failures from last run into error categories |
| `converge` | Full loop: run → diagnose → (human/agent adjusts) → re-run |

## Usage

```bash
# Run the full question bank
./run.sh run

# Run with custom questions file
./run.sh run --questions path/to/questions.json

# Diagnose last run
./run.sh diagnose

# Convergence loop (max 5 cycles)
./run.sh converge --max-cycles 5
```

## Error Categories

| Category | Meaning | Fix |
|----------|---------|-----|
| `false_positive` | Adversarial question got SATISFIED | Improve grounding checks |
| `false_negative` | Real question got NOT_SATISFIED | Improve recall or technique bridge |
| `grounding_failure` | FP caused by unresolved ID-like terms | Entity extraction grounding evidence |
| `technique_scatter` | Too many unrelated techniques | Improve technique bridge thresholds |

## Convergence Criteria

- Adversarial false positive rate = 0% (10/10 rejected)
- Real question SATISFIED rate >= 85% (no regression from 92.5%)
- No regressions from previous cycle
- Off-topic questions must return not_satisfied

## State Files

- `state/convergence.jsonl` — per-cycle metrics (append-only)
- `state/last_results.json` — most recent run results
- `state/eval_baseline.json` — last known good baseline
- `state/results_cycle_N.json` — per-cycle results for comparison

## Question Bank Format

```json
[
  {"id": "Q1", "question": "What SPARTA controls...", "expected": "satisfied"},
  {"id": "ADV1", "question": "How does X23-MUSTARD...", "expected": "not_satisfied"}
]
```

Files in this skill

  • SKILL.md2.5 KB
  • backfill_qra_evidence.py7.5 KB
  • diagnosis.py10.9 KB
  • evidence_case_lab.py18.5 KB
  • fixtures/agentic_eval.json512 B
  • generate_expansion.py25.8 KB
  • generate_stress_2000.py12.8 KB
  • generate_stress_questions.py25.3 KB
  • generate_validation_500.py28.5 KB
  • json_report.py5.1 KB
  • lab_report.py29 KB
  • pyproject.toml535 B
  • run.sh400 B
  • run_stress_test.py24.5 KB
  • test_diagnosis.py6.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.