Help us improve
Share bugs, ideas, or general feedback.
From leyline
Defines contract for deferred-item capture wrappers in plugins: CLI interface, GitHub issue template/labels, duplicate detection, JSON output, and validation guidelines.
npx claudepluginhub athola/claude-night-market --plugin leylineHow this skill is triggered — by the user, by Claude, or both
Slash command
/leyline:deferred-captureThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Building a new plugin deferred-capture wrapper
Captures user-reported bugs as durable GitHub issues using the project's own domain language. Avoids stale references like file paths.
Single source of truth for VCS operations on GitLab and GitHub repos — creating/updating/closing issues and MRs, resolving project IDs, and running glab/gh CLI commands. Consuming skills reference this rather than duplicating logic.
Searches USPTO patent and trademark records from official APIs including PatentSearch, TSDR, and assignment databases.
Share bugs, ideas, or general feedback.
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 + 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 + <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 | 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.