Night Market Skill — ported from claude-night-market/leyline. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
scripts/deferred_capture.py)Specification that all plugin deferred-capture wrappers implement. Not a runtime dependency -- a convention.
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 deferredOptional arguments:
--labels (str): Comma-separated additional labels beyond
deferred and 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 issueTitle: [Deferred] <title>
Labels: deferred and <source>
Body:
text
## 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
LabelColorPurposedeferred``#7B61FFUniversal query handlewar-room``#B60205Source: war-room deliberationbrainstorm``#1D76DBSource: brainstorming sessionscope-guard``#FBCA04Source: scope-guard deferralfeature-review``#F9A825Source: feature-reviewreview``#0E8A16Source: code/PR reviewregression``#D73A4ASource: skill regressionegregore``#5319E7Source: 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:
text
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.