Install
$ agentstack add skill-schalkneethling-claude-toolkit-github-goal-issue-triage ✓ 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
GitHub Goal Issue Triage
Overview
Use this skill to turn a list of GitHub repositories into an applied issue-priority pass and a readable HTML report. Treat GOAL.md as the project's north star; without it, flag the repository and skip all issue triage for that repository.
Inputs
Expect the repository list from one of these sources:
- Inline in the user's prompt, separated by spaces, commas, or new lines.
- A local text, Markdown, JSON, YAML, or CSV file path supplied by the user.
- Standard input or pasted content from the user.
- The current GitHub issue, pull request, repository page, or local git remote only when the user explicitly asks to use the current context.
Accept repository entries as owner/name, https://github.com/owner/name, git@github.com:owner/name.git, or a JSON/YAML/CSV field clearly named repo, repository, repositories, url, or github_url. Normalize every entry to owner/name, remove duplicates while preserving first-seen order, and ignore blank lines and comments beginning with #.
If no repository list is provided and no current GitHub context was explicitly requested, ask the user for the repository list before taking action. If the user does not specify an output path, write github-issue-triage-report.html in the current working directory.
Use the authenticated GitHub connector when available. Otherwise use gh or the GitHub REST/GraphQL API. If authentication or write permission is missing, continue in read-only mode and report the labels that would have been applied.
Repository Workflow
For each repository, in the user's order:
- Fetch
GOAL.mdfrom the repository root on the default branch. - If
GOAL.mdis missing, record the repository as skipped, include the reason in the report, and move to the next repository. - Read the project goal and extract the concrete outcomes, audiences, constraints, and near-term signals of progress.
- Retrieve all open issues, not pull requests. Use pagination; do not rely on default issue-list limits.
- Inspect each issue's title, body, labels, milestone, assignees, comments when needed, age, and recent activity. Avoid changing issue bodies, comments, milestones, state, or assignees unless the user explicitly asks.
- Ensure the repository has the labels
p0,p1,p2, andp3. Create only missing labels and preserve existing label colors/descriptions. - Assign exactly one priority label to each open issue. Remove any other
p0/p1/p2/p3labels from that issue so priority state is unambiguous. Preserve all non-priority labels. - Nominate one next issue for the repository unless there are no open issues.
Priority Rubric
Use goal alignment as the main criterion, then weigh impact, urgency, unblock value, user harm, implementation readiness, and risk.
p0: Critical to the project goal now. Blocks core usage, release, trust, security, data integrity, or a prerequisite without which the project cannot make meaningful progress.p1: High-impact work that substantially advances the goal, fixes a major user-facing problem, unlocks several other issues, or removes a major adoption or reliability barrier.p2: Useful and goal-aligned, but not urgent. Includes medium-impact bugs, incremental improvements, important documentation, and work that helps after higher-priority blockers are handled.p3: Low immediate impact, weak goal alignment, polish, speculative ideas, minor cleanup, stale work, or nice-to-have improvements.
When evidence is thin, choose the lower priority and explain the uncertainty in the issue rationale.
Next Issue Nomination
Nominate the issue that should be worked on next, not necessarily the smallest issue.
Prefer the highest-priority issue that:
- Most directly advances the stated goal.
- Unblocks other issues or users.
- Has enough context to start.
- Has a reasonable scope for the next focused work session.
- Carries lower coordination risk than equally important alternatives.
If the top issue is too ambiguous, nominate a clearer issue and note what context would be needed before the ambiguous one becomes actionable.
GitHub Label Details
Create missing labels with these defaults unless the repository already defines them:
| Label | Color | Description | | ----- | -------- | ------------------------------------------------------------------ | | p0 | b60205 | Critical priority: blocking the project goal or urgent user impact | | p1 | d93f0b | High priority: major impact or strong goal alignment | | p2 | fbca04 | Medium priority: useful, goal-aligned, not urgent | | p3 | 0e8a16 | Low priority: polish, speculative, or weak immediate impact |
If label creation or issue updates fail, capture the error and include a read-only triage result in the report. Do not claim labels were applied unless the update succeeded.
HTML Report Requirements
Generate a self-contained HTML file with readable CSS and no external dependencies. Escape issue titles, labels, body excerpts, and rationale text before writing HTML.
The report must include:
- Generation timestamp.
- Input repository list.
- A summary section with counts by repository: skipped, total open issues, p0, p1, p2, p3, and nominated next issue.
- One `
element per repository, with a` that includes the repository name, status, priority counts, and nominee. - For skipped repositories, a short explanation that
GOAL.mdwas missing and no issues were triaged. - For triaged repositories, the project goal summary, label-update status, next-issue nomination, and an issue table.
Issue table columns:
- Priority.
- Issue link with number and title.
- Rationale tied to
GOAL.md. - Impact.
- Current labels after update or intended labels in read-only mode.
- Notes or uncertainty.
Sort issues within each repository by priority (p0 to p3), then by goal alignment and impact. Keep repositories in the input order.
Use semantic HTML. A compact structure like this is sufficient:
owner/repo - 12 open issues - next: #42 Improve release flow
Quality Checks
Before finishing:
- Verify every input repository has either a skipped reason or complete triage results.
- Verify every open issue in triaged repositories has exactly one
p0/p1/p2/p3label applied or listed as intended in read-only mode. - Verify the nominee for each repository links to an open issue from that repository.
- Verify the HTML file opens without missing resources and all issue links are absolute GitHub URLs.
- Summarize what changed on GitHub and where the HTML report was written.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: schalkneethling
- Source: schalkneethling/claude-toolkit
- License: MIT
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.