Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Defines the contract for deferred-item capture across plugins. Use when building or validating a plugin's deferred-capture wrapper or adding source labels.
.claude/skills/athola-deferred-capture/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 220% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 129% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 186% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -33% | 0% |
wrapper directly, e.g. plugins/<plugin>/scripts/deferred_capture.py)
Specification that all plugin deferred-capture wrappers implement. Not a runtime dependency, just a convention.
Required arguments:
--title (str): Concise description. Becomes issue titleafter [Deferred] prefix
--source (str): Origin skill. One of: war-room, brainstorm,scope-guard, feature-review, review, regression, egregore
--context (str): Why raised and why deferredOptional arguments:
--labels (str): Comma-separated additional labels beyonddeferred and source
--session-id (str): Session ID. Canonical source:session_id from the hook payload stdin (jq -r '.session_id'), fallback: UTC timestamp YYYYMMDD-HHMMSS
--artifact-path (str): Absolute path or $HOME-basedpath to source artifact
--captured-by (str): explicit (default) or safety-net--dry-run (flag): Print JSON output without creating issueTitle: [Deferred] <title>
Labels: deferred and <source>
Body:
## Deferred Item
Source: <source> (session <session-id>) Captured: <YYYY-MM-DD> Branch: <current git branch> Captured by: <explicit|safety-net>
### Context
<context argument verbatim>
### Original Artifact
<artifact-path if provided, otherwise "N/A">
### Next Steps
| Label | Color | Purpose | |-------|-------|---------| | deferred | #7B61FF | Universal query handle | | war-room | #B60205 | Source: war-room deliberation | | brainstorm | #1D76DB | Source: brainstorming session | | scope-guard | #FBCA04 | Source: scope-guard deferral | | feature-review | #F9A825 | Source: feature-review | | review | #0E8A16 | Source: code/PR review | | regression | #D73A4A | Source: skill regression | | egregore | #5319E7 | Source: autonomous agent |
Search: gh issue list --search "<title> in:title" --state open --json number,title
Compare: exact title match after stripping [Deferred] prefix and normalizing to lowercase.
Only open issues are checked. Re-filing a closed deferred item is intentional.
Created: {"status": "created", "issue_url": "...", "number": 42} Duplicate: {"status": "duplicate", "existing_url": "...", "number": 17} Error: {"status": "error", "message": "..."}
Any wrapper can verify conformance with:
python3 scripts/deferred_capture.py \ --title "Test: compliance check" \ --source test \ --context "Automated compliance verification" \ --dry-run
Must output valid JSON with a status field.
deferred_capture.py --dry-run outputsvalid JSON with a status field (created, duplicate, or error) for any conformant wrapper
[Deferred], carry boththe deferred label and the source label, and body matches the required template (Source, Captured, Branch, Captured by, Context, Original Artifact, Next Steps)
--search "<title> in:title" called and exact match (after stripping prefix and lowercasing) suppresses the new issue
"created", "issue_url": "...", "number": N} on success, {"status": "duplicate", ...} on duplicate, {"status": "error", "message": "..."} on failure
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | pass→pass | 7,324 | 5,383 | -27% | 1 | 1 | 0% | 1,280 | 2,017 | +58% | 0 | 0 | — |
case-01 | fail→pass | 34,247 | 12,075 | -65% | 1 | 1 | 0% | 1,092 | 3,493 | +220% | 0 | 0 | — |
case-02 | fail→pass | 39,652 | 12,883 | -68% | 1 | 1 | 0% | 1,334 | 3,055 | +129% | 0 | 0 | — |
case-03 | fail→pass | 60,760 | 12,882 | -79% | 1 | 1 | 0% | 1,292 | 3,697 | +186% | 0 | 0 | — |
case-04 | pass→pass | 6,543 | 3,916 | -40% | 1 | 1 | 0% | 960 | 1,798 | +87% | 0 | 0 | — |
case-06 | pass→pass | 6,828 | 3,180 | -53% | 1 | 1 | 0% | 1,131 | 1,627 | +44% | 0 | 0 | — |
case-07 | fail→pass | 14,203 | 5,910 | -58% | 1 | 1 | 0% | 2,406 | 2,094 | -13% | 0 | 0 | — |
case-08 | fail→pass | 15,145 | 3,477 | -77% | 1 | 1 | 0% | 2,374 | 1,597 | -33% | 0 | 0 | — |
case-09 | fail→pass | 11,853 | 2,171 | -82% | 1 | 1 | 0% | 1,987 | 1,339 | -33% | 0 | 0 | — |
case-15 | fail→pass | 13,037 | 3,116 | -76% | 1 | 1 | 0% | 1,993 | 1,591 | -20% | 0 | 0 | — |
case-10 | pass→pass | 12,676 | 4,789 | -62% | 1 | 1 | 0% | 1,977 | 1,830 | -7% | 0 | 0 | — |
case-11 | pass→pass | 9,193 | 3,066 | -67% | 1 | 1 | 0% | 1,229 | 1,567 | +28% | 0 | 0 | — |
case-12 | fail→pass | 10,047 | 3,100 | -69% | 1 | 1 | 0% | 1,669 | 1,581 | -5% | 0 | 0 | — |
case-13 | fail→pass | 10,875 | 2,861 | -74% | 1 | 1 | 0% | 1,634 | 1,564 | -4% | 0 | 0 | — |
case-14 | pass→pass | 6,320 | 1,413 | -78% | 1 | 1 | 0% | 929 | 1,303 | +40% | 0 | 0 | — |
case-16 | fail→fail | 15,802 | 2,000 | -87% | 1 | 1 | 0% | 2,357 | 1,421 | -40% | 0 | 0 | — |
case-17 | pass→pass | 10,365 | 3,920 | -62% | 1 | 1 | 0% | 1,672 | 1,682 | +1% | 0 | 0 | — |
case-18 | fail→pass | 13,476 | 2,791 | -79% | 1 | 1 | 0% | 2,077 | 1,469 | -29% | 0 | 0 | — |
case-19 | pass→pass | 13,576 | 2,493 | -82% | 1 | 1 | 0% | 1,983 | 1,463 | -26% | 0 | 0 | — |
case-20 | fail→pass | 12,156 | 2,030 | -83% | 1 | 1 | 0% | 1,888 | 1,378 | -27% | 0 | 0 | — |
case-21 | fail→pass | 17,862 | 2,709 | -85% | 1 | 1 | 0% | 1,998 | 1,518 | -24% | 0 | 0 | — |
case-22 | pass→pass | 14,042 | 1,700 | -88% | 1 | 1 | 0% | 2,375 | 1,289 | -46% | 0 | 0 | — |
case-23 | fail→fail | 17,518 | 3,548 | -80% | 1 | 1 | 0% | 2,757 | 1,663 | -40% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 20 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +52 percentage points is the difference between those two pass rates over the 20 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.