Contract for unified deferred-item capture across plugins. Defines CLI interface, issue template, label taxonomy, and compliance test.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add aibot88/sec_skill_store --skill deferred-capture --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Deferred Capture?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-deferred-capture)More formats (shields.io, HTML) on the badges page.
---
name: deferred-capture
description: >-
Contract for unified deferred-item capture across plugins.
Defines CLI interface, issue template, label taxonomy,
and compliance test.
version: 1.9.0
alwaysApply: false
model_hint: standard
---
# Deferred Capture Contract
## When To Use
- Building a new plugin deferred-capture wrapper
- Validating an existing wrapper against the contract
- Adding new source labels or template fields
## When NOT To Use
- Capturing a deferred item at runtime (use the plugin
wrapper directly, e.g. `scripts/deferred_capture.py`)
- Creating GitHub issues manually
Specification that all plugin deferred-capture wrappers implement.
Not a runtime dependency -- a convention.
## CLI Interface
Required arguments:
- `--title` (str): Concise description. Becomes issue title
after `[Deferred]` prefix
- `--source` (str): Origin skill. One of: war-room, brainstorm,
scope-guard, feature-review, review, regression, egregore
- `--context` (str): Why raised and why deferred
Optional arguments:
- `--labels` (str): Comma-separated additional labels beyond
`deferred` + source
- `--session-id` (str): Session ID. Canonical source:
`$CLAUDE_SESSION_ID` env var, fallback: UTC timestamp
`YYYYMMDD-HHMMSS`
- `--artifact-path` (str): Absolute path or `$HOME`-based
path to source artifact
- `--captured-by` (str): `explicit` (default) or `safety-net`
- `--dry-run` (flag): Print JSON output without creating issue
## Issue Template
Title: `[Deferred] <title>`
Labels: `deferred` + `<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
- [ ] Evaluate feasibility in a future cycle
- [ ] Link to related work if applicable
## Label Taxonomy
| 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 |
## Duplicate Detection
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.
## Output (JSON to stdout)
Created: `{"status": "created", "issue_url": "...", "number": 42}`
Duplicate: `{"status": "duplicate", "existing_url": "...", "number": 17}`
Error: `{"status": "error", "message": "..."}`
## Compliance Test
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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!