gitcode-issue-reply

Generate reply drafts for a single GitCode issue with similar-issue references; maintainer reviews before posting. Use when user asks to reply to or comment on an issue and provides a GitCode issue link; do not use when user only wants to fetch or query issue data. 针对单个 GitCode Issue 生成回复草稿(含相似 Issue 参考),维护者审阅后可发送评论;仅当用户要回复或评论且提供链接时使用,仅获取或查询 issue 信息时勿用。Python 3.7+ standard library only.

3,891 stars

Best use case

gitcode-issue-reply is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate reply drafts for a single GitCode issue with similar-issue references; maintainer reviews before posting. Use when user asks to reply to or comment on an issue and provides a GitCode issue link; do not use when user only wants to fetch or query issue data. 针对单个 GitCode Issue 生成回复草稿(含相似 Issue 参考),维护者审阅后可发送评论;仅当用户要回复或评论且提供链接时使用,仅获取或查询 issue 信息时勿用。Python 3.7+ standard library only.

Teams using gitcode-issue-reply should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/gitcode-issue-reply/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/autoxj/gitcode-issue-reply/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/gitcode-issue-reply/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How gitcode-issue-reply Compares

Feature / Agentgitcode-issue-replyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate reply drafts for a single GitCode issue with similar-issue references; maintainer reviews before posting. Use when user asks to reply to or comment on an issue and provides a GitCode issue link; do not use when user only wants to fetch or query issue data. 针对单个 GitCode Issue 生成回复草稿(含相似 Issue 参考),维护者审阅后可发送评论;仅当用户要回复或评论且提供链接时使用,仅获取或查询 issue 信息时勿用。Python 3.7+ standard library only.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# GitCode Issue 回复

对**单个** GitCode Issue 生成回复草稿与相似 Issue 参考,供维护者审阅后发送。

## 何时使用(须同时满足)

1. 用户表达**「回复 issue」**意图(如「回复这个 issue」「帮回复 issue #123」)。
2. 用户提供了**唯一**的 GitCode Issue 链接或 `owner/repo#number`。

仅提供链接但无回复意图时,不要使用本技能。

## 认证

- **Token 获取方式**(按优先级):
  1. **用户直接提供**:用户可在问题中直接提供 token
  2. **环境变量**:从 `GITCODE_TOKEN` 读取
- **请求头**:使用 `PRIVATE-TOKEN: {token}`
- **未配置时**:提示用户到 [GitCode 个人访问令牌](https://gitcode.com/setting/token-classic) 创建 Token

## 依赖

- **Python 3.7+** 标准库(必需,无外部依赖)。

---

## 第一轮:生成草稿

### 1. 解析并调用脚本

- 从用户消息中解析 Issue:链接(`gitcode.com/.../issues/123`)或 `owner/repo#number`。若为后者,拼接为完整 URL:`https://gitcode.com/owner/repo/issues/number`。
- **SKILL_ROOT**:本 SKILL.md 所在目录。
- 执行(使用脚本**绝对路径**):
  ```
  python <SKILL_ROOT>/scripts/prepare_issue_reply.py --issue-url "<完整 Issue URL>"
  ```
- 脚本执行时间约 **30秒–2分钟**(DeepWiki 查询与 API 调用并行执行)。
- 若退出码非 0 或 JSON 中 `status == "error"`,提示用户错误信息并结束。

### 2. 读取脚本输出

脚本将 JSON 输出保存到文件 `<SKILL_ROOT>/output_{owner}_{repo}_{number}.json`(例如 `output_Ascend_RecSDK_1079.json`),同时向 stderr 输出执行进度和提醒信息。使用 Read 工具读取该 JSON 文件并解析。

### 3. 若已有人回复

若 `status == "already_replied"`:提示「该 Issue 已有其他人回复,已跳过」,流程结束。

### 4. 发送 Label(可选)

若 JSON 中 `label_needed == true`:
```
python <SKILL_ROOT>/scripts/post_comment.py --issue-url "<Issue URL>" --body "/label add triage-review"
```
若失败可忽略,不影响后续流程。

### 5. 生成回复草稿

JSON 中 `prompt_draft_partial` 为生成草稿的 prompt,`similar_issues` 为 BM25 检索到的相似 Issue 编号列表。

**执行顺序(必须按以下步骤执行):**

1. **检查关键字段**
   - status: 必须为 "ok",否则提示错误并结束
   - image_urls: 检查是否非空
   - deepwiki_status: 记录状态
   - security_warnings: 检查是否存在

2. **处理图片内容**(如 image_urls 非空,此步骤为强制)
   - 使用 Read 工具查看每张图片(优先使用 image_local_paths)
   - 记录图片关键信息(报错、配置、日志等)
   - 将图片分析结果纳入回复生成
   - ⚠️ 警告:此步骤不可跳过!图片信息对理解 Issue 至关重要!

3. **生成草稿**

**详细步骤说明:**

1. **检查关键字段**
   - `status`: 必须为 `"ok"`,否则提示错误并结束
   - `image_urls`: 检查是否非空,**非空时必须在生成草稿前查看图片**
   - `deepwiki_status`: 若不为 `"ok"`,告知用户知识库查询未成功
   - `security_warnings`: 若非空,提示检测到敏感信息

2. **处理图片内容(如 `image_urls` 非空)**
   - **必须**使用多模态能力查看每张图片(URL 在 `image_urls` 中,本地路径在 `image_local_paths` 或 base64 在 `image_base64_list`)
   - 记录图片中的关键信息(如报错截图、配置界面、日志等)
   - **图片信息对于理解 Issue 问题往往至关重要,不要忽略**
   - 将图片分析结果纳入回复草稿的生成过程

3. **生成草稿**
   - 将 `prompt_draft_partial` 作为 prompt
   - **结合**:Issue 内容 + DeepWiki 内容 + 图片分析结果(如有图片)
   - 去除首尾空白及「回复:」前缀,即为 **draft_reply**

4. **展示给维护者**
   - **拟回复内容(草稿)**:展示 **draft_reply**(仅供审阅与修改,尚未发送;可在会话中维护,用户修改后更新)
   - **相似 Issue**:从 JSON 的 `similarity_details` 字段获取详细信息(包含 `number`、`score`、`title`),按「[#N](https://gitcode.com/owner/repo/issues/N) - 标题(相似度: X.XX)」格式列出可点击链接(owner、repo 从 JSON 的 `owner`、`repo` 取),注明「仅供参考,不会加入回复内容」
   - **图片分析摘要**(如 `image_urls` 非空):简要说明图片内容,确认已纳入回复考虑
   - **DeepWiki 状态**:若 `deepwiki_status` 不为 `"ok"`,告知用户知识库查询未成功,草稿可能缺少项目背景信息
   - **安全警告**:若 `security_warnings` 非空,提示用户检测到敏感信息(如密钥泄露)
   - **必须展示提醒语**:「审阅后请说「发送」或「回复」以发布评论,说「取消」则结束本次操作。」
   - **会话状态**:第一轮结束后视为**未确认发送**(send_confirmed=false);**仅当**用户**后续消息**中明确说「发送」「回复」「发出去」等时,才可调用 post_comment 发送回复正文
   - 第一轮**必须在此结束**:**不得**在本轮调用 post_comment 发送回复正文;本轮**不**发送回复评论

---

## 第二轮:确认发送

**仅当**用户在同一会话的**后续消息**中明确表达「发送」「回复」「发出去」「就按这个回复」等**发送意图**时,才可调用 post_comment.py 发送回复正文。未收到上述任一表述前,**禁止**发送回复评论。

### 用户说「取消」

若用户在第一轮展示草稿后的**后续消息**中说「取消」「不发了」「算了」等:提示「已取消本次 Issue 回复操作」,流程结束,**不**调用 post_comment 发送任何回复内容。

### 确定发送内容

1. 若用户**本条消息**包含明确的回复正文(代码块、长段文本),用该内容。
2. 若用户之前在对话中修改过草稿,用**最后一次修改后的版本**。
3. 否则用第一轮生成的 **draft_reply**。

### 发送

确定 Issue URL 与 body 后:
- **短文本**(无换行、无引号):
  `python <SKILL_ROOT>/scripts/post_comment.py --issue-url "<URL>" --body "<正文>"`
- **长文本或含特殊字符**:先将正文用 Write 工具写入临时文件(**写入系统临时目录或工作区目录,不要写入 SKILL_ROOT**),再:
  `python <SKILL_ROOT>/scripts/post_comment.py --issue-url "<URL>" --body-file "<临时文件路径>"`

---

## 流程示例

### 完整正常流程

```
用户:回复这个 issue https://gitcode.com/owner/repo/issues/42
  → 解析 Issue URL → 执行 prepare_issue_reply.py
  → 读取 JSON → status=ok, label_needed=true, similar_issues=[38, 25]
  → 执行 post_comment.py 打 triage-review 标签
  → 生成 draft_reply → 会话状态 send_confirmed=false
  → 展示草稿 + 相似 Issue + 提醒语「审阅后请说「发送」或「回复」以发布评论,说「取消」则结束本次操作。」(第一轮结束)

用户:把第二段改温和一点
  → 修改 draft_reply → 更新会话中的草稿
  → 展示修改后的草稿 + 提醒语(仍为未确认发送状态)

用户:发送
  → 触发第二轮 → 视为 send_confirmed=true
  → 取修改后的 draft_reply 写入临时文件
  → 执行 post_comment.py --body-file "<临时文件>" 发送回复正文
  → 反馈发送成功结果
```

### 取消流程

```
用户:回复这个 issue https://gitcode.com/owner/repo/issues/42
  → 生成草稿并展示 + 提醒语

用户:取消
  → 提示「已取消本次 Issue 回复操作」,流程结束,不发送回复评论
```

---

## 禁止与约定

- **禁止在用户未明确表达发送意图前发送回复正文**:仅当用户**后续消息**中出现「发送」「回复」「发出去」「就按这个回复」等明确发送意图时,才可调用 post_comment.py 发送**回复内容**;第一轮生成草稿后不得在同一轮或未经用户确认即发送回复评论;用户说「取消」时不得发送。
- 除 **prepare_issue_reply.py**、**post_comment.py** 外,不生成、不执行其他脚本。
- 发评论统一用 **post_comment.py**。
- **临时文件不得写入 SKILL_ROOT 目录**。

---

## 参考

- **Prompt 模板**:`references/prompts/draft_reply.txt`。
- GitCode API:[官方文档](https://docs.gitcode.com/docs/apis/)。

## 历史版本

**v1.2.0** (2026-03-15)
- 🚀 修复 DeepWiki 返回未空的问题

**v1.1.0** (2026-03-15)
- 🔄 重构为通过 MCP 客户端访问 DeepWiki,移除 requests 依赖,改用标准库 urllib

**v1.0.0** (2026-03-11)
- 🎉 初始版本发布
- 💬 支持生成回复草稿与相似 Issue 参考

Related Skills

Skill: Gmail Auto-Reply for Client

3891
from openclaw/skills

## Purpose

gitcode

3891
from openclaw/skills

Fetch and query data from GitCode platform via its REST API: repositories, branches, issues, pull requests, commits, tags, users, organizations, search, webhooks, members, releases and more. 查询 GitCode 上的仓库、分支、议题、PR、提交、标签、用户、组织等数据。Python 3.7+ standard library only.

gitcode-pr-audit

3891
from openclaw/skills

Quality audit for merged GitCode PRs: sample by time range or repo list, check compliance (labels, comments, tests, size, etc.), output table. Use when user asks to 抽检/质量检查 已合入的 PR 规范性、多仓库 PR、或 将结果整理成表格. Multi-repo (owner/repo). Python 3.7+ stdlib only.

github-issue-resolver

3891
from openclaw/skills

Autonomous GitHub Issue Resolver Agent with guardrails. Use when the user wants to discover, analyze, and fix open issues in GitHub repositories. Triggers on requests like "fix GitHub issues", "resolve issues in repo", "work on GitHub bugs", or when the user provides a GitHub repository URL and asks for issue resolution. Supports the full workflow from issue discovery to PR submission with safety guardrails preventing scope creep, unauthorized access, and dangerous operations.

feishu-group-thread-reply

3891
from openclaw/skills

Force openclaw-lark bot replies into message threads in Feishu group chats, preventing main chat noise. Patches the plugin's dispatch layer and optionally the feishu-live-card watcher. Use when: (1) Bot replies appear in the main group chat stream instead of threads (2) After updating openclaw-lark plugin (patches get overwritten by npm updates) (3) User mentions "thread reply", "群聊 thread", "回复到话题", "thread 回复" (4) Checking if the thread reply patch is still applied (5) Setting up a new OpenClaw instance with Feishu group chats

epragma-redmine-issue

3891
from openclaw/skills

Read Redmine issues from any Redmine server via REST API with configurable URL and credentials. Use when you need to fetch a single issue, list/filter issues, or inspect issue fields for change planning; supports deployment to different Redmine instances via environment variables.

reply-coach

3891
from openclaw/skills

从剪贴板读取聊天内容,生成尊重边界、自然不油腻的高情商回复建议,适用于微信、QQ等聊天场景。

issue-reproducer

3891
from openclaw/skills

把 bug 描述整理成可复现步骤、环境、预期与实际结果和最小复现条件。;use for bug, reproduction, qa workflows;do not use for 伪造日志, 忽略用户给出的环境差异.

gitcode-repo-daily

3880
from openclaw/skills

Generate daily operations reports for GitCode repositories with key metrics, AI summaries and Markdown output. 将 GitCode 上配置的仓库运营数据整理成日报输出;支持关键指标统计、AI 摘要与 Markdown。Python 3.7+ standard library only, no pip dependencies.

gitcode-release-notes

3880
from openclaw/skills

Generate release notes for GitCode repositories from commits (by tag range or since-date), grouped as feat/fix/docs/other, output Markdown for Release pages. 按 tag 区间或日期拉取提交并生成版本发布公告 Markdown。Python 3.7+ standard library only.

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation