Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add cboone/agent-harness-plugins --skill suggest-next-issuegit clone --depth 1 https://github.com/cboone/agent-harness-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/cboone/agent-harness-plugins/suggest-next-issue)<a href="https://agentmods.dev/skills/cboone/agent-harness-plugins/suggest-next-issue"><img src="https://agentmods.dev/badge/skills/cboone/agent-harness-plugins/suggest-next-issue/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/cboone/agent-harness-plugins/suggest-next-issue"><img src="https://agentmods.dev/badge/skills/cboone/agent-harness-plugins/suggest-next-issue.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00048 | $0.05248 |
| Opus 5.5 | $0.00019 | $0.02099 |
| Sonnet 5.5 | $0.00010 | $0.01050 |
| Haiku 4.5 | $0.00005 | $0.00525 |
Grade C, and why
suggest-next-issue scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
The install guide still references the old `curl | bash` method; needs updating for the new package manager install flow. Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
The install guide still references the old `curl | bash` method; needs updating for the new package manager install flow. How it starts
The opening of the file, as written. The whole thing — 266 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Suggest Next Issue
Analyze open GitHub issues and recommend what to work on next.
Give a focused terminal answer. For a persistent view of the full backlog, lanes, dependencies and work in progress, use the publish-report-board skill's backlog-triage board. Both use the shared progress model to distinguish available work from work in progress.
Options
The user may provide these options inline:
- label filter: Focus on issues with a specific label (e.g., "suggest next bug" or "suggest next issue --label enhancement")
- milestone filter: Focus on issues in a specific milestone
- limit: Number of recommendations (default: 5)
- include PRs: Also consider open PRs needing attention (reviews, conflicts, CI failures)
- --parallel-only: Recommend only issues that can run beside the work already under way, excluding any whose verification needs an exclusive resource another worktree holds
Treat a request that asks for parallel-safe work in its own words as --parallel-only, whether or not the flag was typed: "what can I work on in parallel", "what can I start alongside this", "anything that does not need the DAW". The user asked for the restriction; requiring the flag as well would answer a question they did not ask.
Workflow
1. Gather Context
Run these commands to build a complete picture:
# Open issues (with details for analysis)
gh issue list --state open --json number,title,labels,assignees,createdAt,updatedAt,comments,milestone,body,author --limit 1000
# Recently closed issues (understand momentum)
gh issue list --state closed --json number,title,labels,closedAt --limit 10 --sort updated
# Current branches/worktrees (what's already in progress)
git worktree list
git branch --list --format='%(refname:short) %(committerdate:iso-strict) %(authoremail)'
git branch --remotes --format='%(refname:short) %(committerdate:iso-strict) %(authoremail)'
# Branches with commits beyond the default branch, which gh repo view below names
git branch --all --no-merged "origin/DEFAULT_BRANCH" --format='%(refname:short)'
# Open pull requests (how far along each piece of work is)
gh pr list --state open --limit 1000 --json number,title,headRefName,isDraft,reviewDecision,mergeable,mergeStateStatus,statusCheckRollup,reviewRequests,latestReviews,closingIssuesReferences,createdAt,updatedAt,author,files
# Recently merged pull requests (work merged on an issue still open), most
# recently updated first, so a recent merge of an old pull request is inside
# the limit
gh pr list --state merged --search "sort:updated-desc" --limit 300 --json number,title,body,mergedAt,closingIssuesReferences,author,files
# Merged pull requests that mention an issue carrying an "in progress" label,
# in their body, a comment or a commit; run once per such issue
gh api --paginate "repos/OWNER/REPO/issues/NUMBER/timeline" --jq '.[] | select(.event == "cross-referenced") | .source.issue | select(.pull_request.merged_at != null and .repository.full_name == "OWNER/REPO") | .number'
# Current authenticated user and git identity (for affinity)
gh api user --jq '.login'
git config user.email
git log --branches --remotes=origin --no-merges --since='30 days ago' --fixed-strings --regexp-ignore-case --author="$(git config user.email)" --name-only --format='commit %h %cI'
# Files changed on each of the user's branches with unmerged work, for tier 1
# affinity; run once per branch the listings above show as theirs and unmerged
git diff --name-only "origin/DEFAULT_BRANCH...BRANCH"
# Project context
gh repo view --json description,defaultBranchRef
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago Changed · +2 lines · -7 tokens per session 7829360ff215
- 5d ago Changed · +24 lines dc5b7c387b32
- 8d ago Changed · +1 lines · +23 tokens per session 90dc448eb71f
- 15d ago Changed · +1 lines 194dc2918907
- 18d ago Changed · -8 tokens per session 82310b25ac03
- 26d ago Changed · -7 lines · -95 tokens per session 64290b28481b
- 1mo ago Changed · +68 lines · +27 tokens per session 9865bc44ae42
- 1mo ago Changed 671a5cb1fc6a
- 1mo ago Changed 273f124e269c
- 1mo ago First seen · 177 lines · 108 tokens per session scan C 3819dba71a49
suggest-next-issue is a skill published in the GitHub repository cboone/agent-harness-plugins (2 stars, last pushed yesterday), licensed MIT. It adds 48 tokens to every session and 5,248 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
linear-app-setup
Create and configure a Linear agent app so the assistant can manage issues, projects, and workflows under its own identity.
factory-mcp
Use the Warp Factory MCP to hand work to a software factory and collaborate with it — bundle local work and send it to the cloud, find factory tasks from a Slack thread / Linear ticket / description, and pull a task down to test or iterate locally and hand it back.
oz-notify-user
Send a progress notification to the user who triggered this Oz task (e.g., via Slack or Linear).
oz-finish-task
Report task completion or failure back to the Oz platform when done with a task.
todoist-cli
Manage Todoist tasks, projects, labels, filters, sections, comments, reminders, and workspaces via the td CLI. Use when the user wants to view, create, update, complete, or organize Todoist items, or mentions tasks, inbox, today, upcoming, projects, labels, or filters.
model-triage
Adopt the per-issue model-selection convention in a repo — tier every open issue, apply the model: labels, board field, and callouts behind an approval gate. Also runs in maintenance mode to sweep up unlabeled issues and label/field drift.