用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/kapilvirenahuja/garura --skill manage-issue命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | manage-issue |
| description | Read, create, close, comment, resolve, or list GitHub issues with optional sub-issue attachment |
| user-invocable | false |
| model | sonnet |
| allowed-tools | Bash, Read |
Model-invocable skill for managing GitHub issues.
Read existing issues, create new ones, close issues, post comments, or resolve an issue reference (find existing or create new). Supports attaching issues as sub-issues to a parent.
You DO the issue operations. You do NOT make decisions about what to do with the results.
Receive from agent:
action — read | create | close | comment | resolve_or_create | listissue_number — (required for read, close, and comment, optional for resolve_or_create)body — (required for comment) The comment body to post to the issuedescription — (required for create, optional for resolve_or_create)parent_issue_number — (optional) If provided, attach created/resolved issue as sub-issueplatform — github (from config)labels — (optional) Comma-separated labels to apply on createreason — (optional, close only) Close reason: completed (default) or not_plannedcomment — (optional, close only) Comment to add when closing the issuefilters — (optional, list only) Object with optional fields:
state — default: openassignee — default: none (unassigned issues only)labels — default: ["enhancement", "no-label"] (enhancement label OR no label)sort — default: updated_desclimit — default: 5 (maximum: 5)readInvoke the platform-adapter skill with verb: view-issue and args: {issue_number: {issue_number}}.
Parse and return structured output.
create~/.garura/core/memory/standards/templates/github-issue.mdplatform-adapter skill with verb: create-issue and args: {title: {title}, body: {body}, labels: {labels}, assignee: "@me"}.parent_issue_number is provided, attach as sub-issue (see Sub-Issue Attachment below)listReturn a filtered, sorted list of open issues for candidate selection. GitHub's CLI does not support label:X OR no:label in a single query, so this action runs two separate queries and merges the results.
Step 1 — Query labeled candidates:
Invoke the platform-adapter skill with verb: list-issues and args: {state: "open", query: "no:assignee label:enhancement", limit: 10}.
Step 2 — Query unlabeled candidates:
Invoke the platform-adapter skill with verb: list-issues and args: {state: "open", query: "no:assignee no:label", limit: 10}.
Step 3 — Merge and sort:
number (keep one entry per issue)updatedAt descendinglimit entries (default: 5, hard cap: 5)Apply any caller-provided overrides to state, assignee, labels, sort, or limit before running the queries. When limit exceeds 5, cap it at 5 silently.
Output (written to the calling agent's designated STM path):
candidates:
- number: 42
title: "Add OAuth login"
updated_at: "2026-04-28T10:30:00Z"
labels: ["enhancement"]
state: "open"
- number: 37
title: "Improve error messages"
updated_at: "2026-04-25T08:15:00Z"
labels: []
state: "open"
candidate_count: 2
query_filters:
state: open
assignee: none
labels: [enhancement, no-label]
sort: updated_desc
limit: 5
If both queries return zero results, candidate_count is 0 and candidates is an empty list.
resolve_or_createissue_number is provided → perform read actiondescription is provided:
a. Search for matching issues: Invoke the platform-adapter skill with verb: list-issues and args: {state: "open", query: "{description}", limit: 5}.
b. If a matching open issue is found → return it
c. If no match → perform create actionparent_issue_number is provided, attach as sub-issue after resolve/createcommentplatform-adapter skill with verb: view-issue and args: {issue_number: {issue_number}} to verify the issue exists and is open.commented: false and reason.platform-adapter skill with verb: comment-issue and args: {issue_number: {issue_number}, body: {body}}.commented: true and the comment URL.closeplatform-adapter skill with verb: view-issue and args: {issue_number: {issue_number}} to verify the issue exists and is open.closed: false (no action taken)platform-adapter skill with verb: close-issue and args: {issue_number: {issue_number}, reason: {reason}, comment: {comment}}. Pass comment only when provided. Note: on GitLab, the reason argument is silently ignored by the adapter.platform-adapter skill with verb: view-issue and args: {issue_number: {issue_number}} to verify closure.closed: trueWhen parent_issue_number is provided and an issue is created or resolved:
Invoke the platform-adapter skill with verb: attach-sub-issue and args: {child_number: {child_number}, parent_number: {parent_number}}.
Important: On GitHub, the adapter uses the issue's internal numeric id (not the visible issue number) for the sub-issue attachment. On GitLab, parent/child hierarchy is not supported — the adapter falls back to a related-issues link, which creates a peer "relates to" link only. See memory/tools/gitlab/adapter.md for caveats.
Produce output using template: templates/issue-output.md
IMPORTANT: This skill produces operation results. The calling agent receives this output and decides what to do next. Do NOT instruct the agent to return or stop.
Platform-specific CLI and API reference: reference/github-issue.md (GitHub). This file is retained as a delegation pointer — the executable command translations now live in core/components/skills/platform-adapter/reference/{platform}/verbs.md. Do NOT add a gitlab-issue.md sibling here; GitLab translations are in the adapter's reference layer.
close@me on createplatform-adapter skill — never call gh or glab directly| Field | Value |
|---|---|
| Version | 1.2.0 |
| Category | operations |