Skip to content
Development
Skill

/deferred-capture

Defines the contract for deferred-item capture across plugins. Use when building or validating a plugin's deferred-capture wrapper or adding source labels.

From plugin
claude-night-market
343200 skills60 agents162 commands1 MCP

Claude Code

$ npx -y skills add athola/claude-night-market --skill deferred-capture --agent claude-code

SKILL.md

deferred-capture.SKILL.md
name: deferred-capture
description: Defines the contract for deferred-item capture across plugins. Use when building or validating a plugin's deferred-capture wrapper or adding source labels.
alwaysApply: false

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. `plugins/<plugin>/scripts/deferred_capture.py`)

  • Creating GitHub issues manually

Specification that all plugin deferred-capture wrappers implement. Not a runtime dependency, just 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` 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`-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` 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

  • [ ] 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.

Exit Criteria

  • [ ] Compliance test passes: `deferred_capture.py --dry-run` outputs

valid JSON with a `status` field (`created`, `duplicate`, or `error`) for any conformant wrapper

  • [ ] Created issues have title prefixed `[Deferred]`, carry both

the `deferred` label and the source label, and body matches the required template (Source, Captured, Branch, Captured by, Context, Original Artifact, Next Steps)

  • [ ] Duplicate detection runs before creation: `gh issue list

--search "<title> in:title"` called and exact match (after stripping prefix and lowercasing) suppresses the new issue

  • [ ] JSON written to stdout on every invocation; `{"status":

"created", "issue_url": "...", "number": N}` on success, `{"status": "duplicate", ...}` on duplicate, `{"status": "error", "message": "..."}` on failure

Read more
@athola
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

343200 skills60 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
343
Star history of athola/claude-night-market on GitHub, a chart by star-history.com

Other skills on claude-night-market.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about deferred-capture.

Which coding agents can use deferred-capture?
deferred-capture installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.