Install
$ agentstack add skill-loomantix-claude-platform-issues ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
/issues
Thin workflow over gh issue with a smart ready query that parses Blocked by #N / Depends on #N from issue bodies to compute dependency-free work. (Blocks #N is written as the reciprocal side by /issues link, but isn't parsed as a blocker itself — the authoritative direction is Blocked by.)
Arguments: $ARGUMENTS
Dispatch on the first word of $ARGUMENTS. If no verb is given, default to ready.
Permission hygiene
Never use heredocs in gh commands — the auto-approval regex can't match multiline commands, which causes permission prompts. Always write multiline content to a temp file first:
cat > /tmp/issue-body.md --body-file /tmp/issue-body.md
Apply to: gh issue create, gh issue edit, gh issue comment.
ready
Show open issues with no open blockers, sorted by priority.
./.claude/skills/issues/scripts/ready.py
Flags (all optional):
--mine— only issues assigned to me--unassigned— only unassigned issues--agent— only issues labeleddev: agent--priority critical|high|medium|low--area(matchesarea:label — e.g.,backend,frontend,mobile,packages)--limit N(default 20)--json— machine-readable
Exclusion rules:
- Label
status: blocked - Label
status: on-staging— fix merged to a staging/integration branch, awaiting release/promotion (done, pending; an opt-in convention — no-op in repos that don't apply it) - Any
agent-bail:*label — explicitly excluded by backlog refinement or a prior loop run, even if a staledev: agentlabel remains - Body contains
Blocked by #NorDepends on #Nwhere #N is still open - Targeted by a closing reference from an open PR, or from a PR merged in the last 30 days (via
closingIssuesReferences, with a closing-keyword body fallback) — keeps issues already fixed as a PR side-item or by an in-review PR out of the queue, including done-on-integration issues that a non-default-branch merge never auto-closed
The --agent / --priority / --area flags work via standard label conventions (dev: agent, priority: , area: ). Repos that don't use those labels will simply get an empty result for those filters — the script doesn't enforce a label scheme, it just queries one when asked.
show \
gh issue view
Surface dependency refs explicitly (useful for triage):
gh issue view --json body --jq '.body' | grep -iE '^[[:space:]]*[-*]?[[:space:]]*(blocked by|blocks|depends on)[:\s]+#[0-9]+' || echo "(no dependency refs)"
claim \
gh issue edit --add-assignee @me
printf 'Claiming this.\n' > /tmp/issue-comment.md
gh issue comment --body-file /tmp/issue-comment.md
start \
Claim + create working branch off the repo's default branch. The default branch is auto-detected (main, staging, etc.) via the upstream HEAD ref so this works across consumer repos without per-repo config:
gh issue edit --add-assignee @me
slug=$(gh issue view --json title --jq '.title' | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g; s/--*/-/g; s/^-//' | cut -c1-50 | sed 's/-$//')
default_branch=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@')
default_branch="${default_branch:-main}"
git fetch origin "$default_branch"
git checkout -b "fix/issue--$slug" "origin/$default_branch"
Replace ` and the slug interpolation with the real issue number. If git symbolic-ref is unset (rare; happens when the remote was added without --mirror or git remote set-head was never run), the fallback is main. Run git remote set-head origin --auto` once on the affected clone to fix it permanently.
close \ \[msg\]
With a comment:
printf '\n' > /tmp/issue-close.md
gh issue close --comment "$(cat /tmp/issue-close.md)"
Without:
gh issue close
Confirm with the user before closing if the issue isn't assigned to them or the close reason isn't obvious from the conversation.
link \ blocks|blocked-by \
Adds dependency refs to both issues so ready sees them regardless of which side you query.
./.claude/skills/issues/scripts/link.py blocks
./.claude/skills/issues/scripts/link.py blocked-by
link A blocks B→ writesBlocks #Bto A,Blocked by #Ato Blink A blocked-by B→ writesBlocked by #Bto A,Blocks #Ato B
Refs land under a ## Dependencies section in each body. If a matching ref already exists, the script no-ops that side.
search \
Forward to gh issue list --search:
gh issue list --search "" --limit 20
Useful query fragments: label:"dev: agent", is:open no:assignee, in:title pipeline, author:@me.
Dependency parsing rules
ready recognizes these patterns (case-insensitive, on their own line, optionally bulleted):
Blocked by #NDepends on #N
To mark a dependency, prefer /issues link over manual edits — it keeps both issues consistent and under a parseable ## Dependencies section. The label status: blocked is also honored (excludes from ready regardless of body content).
Hard rules
- Never use heredocs in
ghcommands — always temp files. - Never close someone else's issue without explicit user confirmation.
- Keep dependency refs under the
## Dependenciessection so they stay parseable and don't conflict with prose. - If
readyreturns nothing, don't invent work — report the empty queue and stop.
Source of truth
This skill lives upstream at .claude/skills/issues/. Synced to consumer repos via the sync mechanism. Edits in a consumer will be overwritten on next sync — make changes upstream.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: loomantix
- Source: loomantix/claude-platform
- License: Apache-2.0
- Homepage: https://github.com/loomantix/claude-platform
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.