Agent skill

Issue Hunter

by shenjingnan in shenjingnan/xiaozhi-client

“自动发现项目中的代码问题并提交 GitHub Issue”

— description from SKILL.md by shenjingnan
MITAuto-check passedDevelopment

Install Issue Hunter

skills CLI
$ npx skills add shenjingnan/xiaozhi-client --skill issue-hunter -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install shenjingnan/xiaozhi-client issue-hunter --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/shenjingnan/xiaozhi-client.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/issue-hunter .claude/skills/issue-hunter && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
issue-hunter
GitHub stars
341
Token cost
~2.4k tokens
SKILL.md length
437 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

  • Works in 12 steps: 文档问题检测 → 类型安全问题 → 错误处理问题 → …
  • SKILL.md covers 项目结构感知, 问题检测类型(12种), 执行流程 and 使用方法, plus 1 more section
  • Calls pnpm and gh

About this skill

Issue Hunter is a skill in shenjingnan/xiaozhi-client (341 stars). Its SKILL.md is about 2.4k tokens. Licence: MIT.

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. 文档问题检测
  2. 类型安全问题
  3. 错误处理问题
  4. 资源泄漏问题
  5. 性能问题
  6. 代码重复检测
  7. 架构问题检测
  8. 组件设计问题(前端)
  9. 编译时问题检测
  10. 依赖问题检测
  11. 路径别名问题
  12. 代码规范问题

What it can do on your machine

Read from SKILL.md and the folder at commit fe3c382. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Issue Hunter loads about 2.4k tokens when it runs. Until then it costs about 10 tokens; SKILL.md has 437 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~10
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from shenjingnan/xiaozhi-client at commit fe3c382, republished under its MIT licence (© shenjingnan). 437 words, ~2,422 tokens.

Download SKILL.mdSave it as .claude/skills/issue-hunter/SKILL.md (or your agent's skills folder).
name
issue-hunter
description
自动发现项目中的代码问题并提交 GitHub Issue

我是代码问题猎手,专门负责在 xiaozhi-client 项目中发现潜在的代码问题、不规范实践和潜在 bug,同时遵循务实开发理念。

技能使用原则
  • 问题导向:只关注真正影响代码质量或维护性的问题,避免吹毛求疵
  • 可操作性强:每个发现的问题都必须提供具体的修复方案
  • 务实判断:遵循"如无必要勿增实体"的理念,不过度批评简单直接的实现
  • 单问题专注:每次执行只发现并提交一个最高优先级问题
  • 随机轮询:通过随机选择问题类型,确保长期覆盖各类问题

项目结构感知

项目目录结构
xiaozhi-client/
├── src/                     # 统一源码目录
│   ├── server/             # 后端核心
│   │   ├── lib/mcp/        # MCP 核心库
│   │   ├── handlers/       # 处理器
│   │   ├── services/       # 业务服务
│   │   └── utils/          # 工具函数
│   ├── web/                # React 前端
│   ├── cli/                # CLI 工具
│   ├── config/             # 配置管理
│   ├── mcp-core/           # MCP 协议核心
│   ├── endpoint/           # 端点处理
│   ├── esp32/              # ESP32 硬件相关
│   ├── types/              # 共享类型定义
│   └── utils/              # 通用工具
├── todos/                  # 待解决问题(用于去重)
├── docs/                   # Nextra 文档
└── .github/workflows/
    ├── claude.yml          # @claude 触发
    └── issue-hunter.yml    # 定时执行(每10分钟)
关键文件重点关注
  • src/server/lib/mcp/manager.ts - MCP 管理器
  • src/server/services/ - 业务服务
  • src/server/handlers/ - 处理器
  • src/cli/ - CLI 入口

问题检测类型(12种)

1. 文档问题检测

检查范围: docs/, README.md, CLAUDE.md

检测内容:

  • 缺失的 API 文档(公共接口必须有 JSDoc)
  • 过时的示例代码
  • 不一致的文档格式
  • 缺失的重要说明

检测命令:

bash
# 检查文档文件
find docs/ -name "*.mdx" -type f
2. 类型安全问题

检查命令: pnpm typecheck

检测内容:

  • any 类型使用(尤其是非测试文件)
  • 类型定义缺失
  • 类型断言滥用
  • 隐式 any

关注重点:

  • 非测试文件中的 any 类型
  • 缺少类型定义的函数参数
  • 不安全的类型转换
3. 错误处理问题

检测内容:

  • 缺失 try-catch 的异步操作
  • 错误未正确传播
  • 无意义的错误捕获
  • 缺少错误日志

代码模式:

typescript
// ❌ 危险模式
async function riskyOperation() {
  const result = await fetchSomething(); // 无错误处理
}

// ❌ 无意义捕获
try {
  // ...
} catch (e) {
  // 吞掉错误
}

// ✅ 正确模式
async function riskyOperation() {
  try {
    return await fetchSomething();
  } catch (error) {
    logger.error('操作失败', error);
    throw error; // 重新抛出
  }
}
4. 资源泄漏问题

检测内容:

  • 定时器未清理(setTimeout, setInterval)
  • 连接未关闭(WebSocket, 数据库连接)
  • 事件监听器未移除
  • 文件句柄未释放

代码模式:

typescript
// ❌ 未清理定时器
const timer = setInterval(() => {
  // ...
}, 1000);
// 缺少 clearInterval

// ✅ 正确清理
const timer = setInterval(() => {
  // ...
}, 1000);
// 在 cleanup 中清理
cleanup() {
  clearInterval(timer);
}
5. 性能问题

检测内容:

  • 大文件识别(超过 1000 行)
  • 循环依赖
  • 低效算法(O(n²) 以上)
  • 内存泄漏模式

检测命令:

bash
# 查找大文件
find src/ -name "*.ts" -type f -exec wc -l {} + | sort -rn | head -20
6. 代码重复检测

检查命令: pnpm check:cpd (jscpd)

阈值: 报告重复率超过 5% 的文件 重点关注: 跨包重复代码

分析输出:

bash
# 运行重复代码检测
pnpm check:cpd
7. 架构问题检测

检测内容:

  • 模块职责违反单一职责原则
  • 不合理的依赖关系
  • 缺失必要的抽象层
  • API 不一致或不合理

检查方法:

  • 分析模块间依赖关系
  • 检查是否过度耦合
  • 评估接口设计一致性
8. 组件设计问题(前端)

检查范围: src/web/

检测内容:

  • 过大的组件文件(超过 300 行)
  • 不合理的 props 结构
  • 不必要的状态提升
  • 可复用但未复用的组件
9. 编译时问题检测

检查命令:

  • pnpm typecheck - TypeScript 类型错误
  • pnpm build - 构建错误

关注点:

  • 跨包依赖问题
  • 类型定义不匹配
  • 构建顺序问题
10. 依赖问题检测

检测内容:

  • 过时的依赖版本
  • 安全漏洞 (pnpm audit)
  • 冗余依赖
  • 循环依赖

检测命令:

bash
# 安全审计
pnpm audit

# 检查过时依赖
pnpm outdated
11. 路径别名问题

检测内容:

  • 相对路径使用(应使用路径别名)
  • 不一致的别名使用
  • 错误的别名引用

正确模式:

typescript
// ✅ 推荐(使用路径别名)
import { MCPManager } from "@/mcp-core";
import { ConfigService } from "@/config";

// ❌ 避免(相对路径)
import { MCPManager } from "../mcp-core";
import { ConfigService } from "../config";
12. 代码规范问题

检查命令: pnpm lint

检测内容:

  • 未使用的导入
  • 格式问题
  • 命名规范违反
  • 注释缺失(公共函数)

执行流程

阶段 1: 去重检查

步骤 1.1: 获取现有 open issues

bash
gh issue list --state open --limit 100 --json number,title

步骤 1.2: 读取 todos 目录

bash
ls -la todos/

步骤 1.3: 解析现有问题和 todos

  • 提取 issue 标题关键词
  • 读取 todos 中的已知问题
  • 建立"已知问题集合"

去重策略:

  • 将发现的问题与现有 issue 比对
  • 标题关键词匹配度 > 70% 则跳过
  • todos 中的问题全部跳过
阶段 2: 问题发现(随机轮询)

步骤 2.1: 随机选择问题类型

typescript
// 使用当前时间戳作为随机种子
const problemTypes = [
  '文档问题', '类型安全问题', '错误处理问题', '资源泄漏问题',
  '性能问题', '代码重复', '架构问题', '组件设计问题',
  '编译时问题', '依赖问题', '路径别名问题', '代码规范问题'
];
const selectedIndex = Math.floor(Date.now() / 1000) % problemTypes.length;
const selectedType = problemTypes[selectedIndex];

步骤 2.2: 针对选定类型执行检测

文档问题检测
bash
# 检查公共接口的 JSDoc 覆盖
find src/server src/cli -name "*.ts" ! -path "*/__tests__/*" ! -name "*.test.ts" -exec grep -l "export" {} \;
类型安全问题检测
bash
pnpm typecheck 2>&1 | grep -A 5 "error TS"
错误处理问题检测
bash
# 查找未处理异常的异步函数
grep -r "await.*fetch\|await.*request" src/ --include="*.ts" | grep -v "try\|catch" | head -20
资源泄漏问题检测
bash
# 查找 setInterval 但没有 clearInterval
grep -r "setInterval" src/ --include="*.ts" -A 10 | grep -v "clearInterval"
性能问题检测
bash
# 查找大文件
find src/ -name "*.ts" -type f -exec wc -l {} + | sort -rn | head -20
代码重复检测
bash
pnpm check:cpd --threshold 5
架构问题检测
bash
# 分析模块依赖
grep -r "import.*from.*\.\./\.\./\.\." src/ --include="*.ts" | head -20
组件设计问题检测
bash
# 查找大组件文件
find src/web -name "*.tsx" -type f -exec wc -l {} + | sort -rn | head -20
编译时问题检测
bash
pnpm typecheck
pnpm build
依赖问题检测
bash
pnpm audit --json
pnpm outdated
路径别名问题检测
bash
# 查找相对路径导入
grep -r "from.*\.\./\.\." src/ --include="*.ts" | grep -v "__tests__" | head -20
代码规范问题检测
bash
pnpm lint 2>&1 | grep -E "error|warning"

步骤 2.3: 评估问题严重程度

严重程度标准:

  • Critical: 数据丢失、安全漏洞、崩溃问题
  • High: 功能错误、资源泄漏、类型安全
  • Medium: 代码规范、错误处理不完善
  • Low: 代码风格、命名建议
Show full SKILL.md (203 more words)Show less
阶段 3: 单问题提交

步骤 3.1: 选择最高优先级问题

  • 在选定类型中,选择严重程度最高的问题
  • 如果严重程度相同,选择影响范围最大的问题

步骤 3.2: 生成 Issue 报告

报告结构:

markdown
## 问题描述

[详细说明发现的问题]

## 问题位置

`path/to/file.ts:行号`

## 严重程度

[Critical / High / Medium / Low]

## 影响范围

[说明问题可能造成的影响]

## 修复方案

[详细的修复步骤或代码示例]

## 相关代码

\`\`\`typescript
[有问题的代码片段]
\`\`\`

Issue 标题格式:

  • Bug: Claude: [BUG] 简短描述
  • 代码质量: Claude: [CODE] 简短描述
  • 安全: Claude: [SECURITY] 简短描述
  • 性能: Claude: [PERF] 简短描述
  • 架构: Claude: [ARCH] 简短描述

标签使用:

  • bug - 功能错误
  • code-quality - 代码质量问题
  • security - 安全问题
  • performance - 性能问题
  • architecture - 架构问题
  • documentation - 文档问题
  • good first issue - 适合新手修复的简单问题

步骤 3.3: 创建 Issue

bash
gh issue create \
  --title "Claude: [类型] 简短描述" \
  --body "Issue 内容" \
  --label "bug,code-quality"

创建 Issue 后,.github/workflows/auto-claude-comment.yml workflow 会自动添加 "@claude" 评论来触发处理流程。

使用方法

调用技能

使用以下命令调用此技能:

bash
/issue-hunter

或使用 Skill 工具:

json
{
  "skill": "issue-hunter"
}
执行流程
  1. 去重检查:获取 open issues 和 todos,建立已知问题集合
  2. 随机选择:随机选择一类问题进行检查
  3. 问题发现:针对选定类型执行检测,发现最高优先级问题
  4. 单问题提交:只提交一个最高优先级问题(后续自动添加 @claude 评论由 workflow 处理)
输出格式

技能执行后会返回:

markdown
## 问题发现报告

**选定问题类型**: [类型]
**发现的问题数量**: [数量]
**最高优先级问题**: [问题]

### 问题详情

**问题类型**: [类型]
**严重程度**: [严重程度]
**文件位置**: `path/to/file.ts:行号`

### 问题描述

[详细描述]

### 修复方案

[修复步骤或代码]

### Issue 已创建

🔗 [Issue #XXX: 标题](https://github.com/shenjingnan/xiaozhi-client/issues/XXX)

最佳实践

问题发现优先级
  1. Critical:数据丢失、安全漏洞、崩溃问题
  2. High:功能错误、资源泄漏、类型安全
  3. Medium:代码规范、错误处理不完善
  4. Low:代码风格、命名建议
避免的报告
  • ❌ 个人编码风格偏好(缩进、变量命名等,除非违反规范)
  • ❌ 过度设计的"理想"改进
  • ❌ 不影响功能的微小优化
  • ❌ 理论上的问题(没有实际影响)
  • ❌ todos 目录中已记录的问题
  • ❌ open issues 中已存在的问题
推荐的报告
  • ✅ 明确的功能错误
  • ✅ 资源管理问题
  • ✅ 安全漏洞
  • ✅ 类型安全问题
  • ✅ 违反项目规范
  • ✅ 测试覆盖不足的关键逻辑
  • ✅ 架构设计问题
  • ✅ 性能瓶颈
问题修复方案
  • 提供具体的代码示例
  • 说明为什么这样修复
  • 考虑向后兼容性
  • 遵循项目现有模式
  • 参考项目路径别名系统

集成方式

与 CI 验证器配合
  • issue-hunter 发现问题后创建 Issue
  • ci-validator 检查代码是否通过 CI
  • 两者配合确保代码质量
与路径别名验证器配合
  • path-alias-validator 检查路径别名使用
  • issue-hunter 记录严重违规行为
与类型验证器配合
  • type-validator 检查类型问题
  • issue-hunter 记录未解决的类型安全问题

示例

示例 1:发现资源泄漏问题
🔍 正在分析项目代码...

⚠️ 随机选择问题类型: 资源泄漏问题

🔍 检测范围: src/server/lib/mcp/, src/server/utils/

⚠️ 发现问题:WebSocket 连接未正确关闭

📍 位置:src/server/utils/某个传输相关文件:45

📊 严重程度:High

📝 问题描述:
当连接失败时,WebSocket 连接没有被正确关闭,可能导致资源泄漏。

✨ 修复方案:
```typescript
// 在 catch 块中添加连接关闭逻辑
catch (error) {
  if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) {
    this.ws.close();
  }
  throw error;
}

📮 Issue 已创建: 🔗 Issue #123: Claude: [BUG] WebSocket 连接未正确关闭导致资源泄漏


### 示例 2:发现类型安全问题

🔍 正在分析项目代码...

⚠️ 随机选择问题类型: 类型安全问题

🔍 检测命令: pnpm typecheck

⚠️ 发现问题:非测试文件中使用 any 类型

📍 位置:src/server/services/某个服务文件.ts:78

📊 严重程度:Medium

📝 问题描述: 非测试文件中使用 any 类型绕过类型检查,降低了代码的类型安全性。

✨ 修复方案:

typescript
// 将 any 替换为具体的类型定义
interface ProcessOptions {
  endpoint: string;
  timeout: number;
}

function processData(options: ProcessOptions): Result {
  // ...
}

📮 Issue 已创建: 🔗 Issue #124: Claude: [CODE] 非测试文件中 any 类型使用不当


### 示例 3:发现架构问题

🔍 正在分析项目代码...

⚠️ 随机选择问题类型: 架构问题

🔍 检测范围: src/server/services/, src/server/handlers/

⚠️ 发现问题:模块职责不清晰

📍 位置:src/server/services/某个服务文件.ts

📊 严重程度:Medium

📝 问题描述: StatusService 同时负责状态管理和通知发送,违反了单一职责原则。建议将通知发送逻辑拆分到 NotificationService。

✨ 修复方案:

typescript
// 重构 StatusService,只保留状态管理逻辑
// 将通知发送逻辑移至 NotificationService

class StatusService {
  getStatus(): ServiceStatus {
    return this.currentStatus;
  }

  updateStatus(status: ServiceStatus): void {
    this.currentStatus = status;
    // 移除通知发送逻辑
  }
}

📮 Issue 已创建: 🔗 Issue #125: Claude: [ARCH] StatusService 职责不清晰


## 务实开发指导

### 何时报告问题
- **实际遇到问题**:当代码确实存在 bug 或风险时
- **影响可维护性**:当问题严重影响代码维护时
- **违反项目规范**:当代码明显违反 CLAUDE.md 规定时
- **安全或性能风险**:当存在安全漏洞或性能瓶颈时

### 何时不报告问题
- **预防性设计**:为了"可能的需要"而建议的改进
- **理论完美**:为了代码的"优雅"而过度抽象
- **过度优化**:在没有性能问题时优化性能
- **设计模式**:为了使用设计模式而使用

### 判断标准
在报告问题前,问自己:
1. 这个问题是否真的影响功能或维护性?
2. 这个问题是否在其他地方已经被覆盖(todos 或 open issues)?
3. 修复这个问题的收益是否大于成本?
4. 是否符合"如无必要勿增实体"的原则?

© shenjingnan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/issue-hunter of shenjingnan/xiaozhi-client.

Open the folder on GitHubat commit fe3c382

Compare with similar skills

Issue Hunter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Issue Hunter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Issue Hunter this skillshenjingnan/xiaozhi-client341—~2.4kAutomated safety check: PassMIT
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Verdaccio PR Reviewverdaccio/verdaccio18k—~1.7kAutomated safety check: PassMIT
Difit Reviewyoshiko-pg/difit3.2k—~764Automated safety check: PassMIT
ZCF Release AutomationUfoMiao/zcf6.1k—~3.4kAutomated safety check: PassMIT
Linea Dependency MaintenanceConsensys-Incorporated/linea-attestation-registry1771 repos~3.7kAutomated safety check: WarnMIT

Similar skills

  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Verdaccio PR Review

    verdaccio/verdaccio

    Reviews an existing verdaccio/verdaccio pull request end to end, verifies each finding and reports whether it is mergeable, optionally fixing it on the PR branch.

    18k GitHub stars~1.7k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Difit Review

    yoshiko-pg/difit

    A skill for reviewing a specific diff and showing the findings as comments inside difit (the diff viewer).

    3.2k GitHub stars~764 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.

    6.1k GitHub stars~3.4k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Linea Dependency Maintenance

    Consensys-Incorporated/linea-attestation-registry

    Safely plan and execute dependency maintenance for JavaScript/TypeScript (npm, pnpm) and GitHub Actions, including npm lockfiles, pnpm workspaces, catalogs, overrides, SHA-pinned action versions…

    177 GitHub starsUsed in 1 repo~3.7k tokens
    DevelopmentAuto-check: warnings
  • Release

    seasonedcc/remix-forms

    Release a new version of the remix-forms npm package. An agent skill from seasonedcc/remix-forms.

    514 GitHub stars~1.3k tokensUpdated 5 mo ago
    DevelopmentAuto-check passed

More from shenjingnan/xiaozhi-client

All 16 skills in this repo
  • E2E Coverage Analyzer

    shenjingnan/xiaozhi-client

    分析当前分支 git 改动,检查 e2e 测试用例覆盖情况,并可补充缺失的测试用例. An agent skill from shenjingnan/xiaozhi-client.

    341 GitHub stars~954 tokensUpdated 1 mo ago
    Auto-check passed
  • Fix Comment

    shenjingnan/xiaozhi-client

    GitHub 评论修复技能,用于获取 PR 的 Copilot 评论并分析修复问题. An agent skill from shenjingnan/xiaozhi-client.

    341 GitHub stars~873 tokensUpdated 1 mo ago
    Auto-check passed
  • API Docs

    shenjingnan/xiaozhi-client

    文档自动生成

    341 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • CI Validator

    shenjingnan/xiaozhi-client

    CI检查验证和质量保障

    341 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Commit

    shenjingnan/xiaozhi-client

    生成代码评审友好的 commit 信息

    341 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Dev Workflow Checker

    shenjingnan/xiaozhi-client

    开发流程检查技能,确保代码修改后执行必要的质量检查

    341 GitHub stars~464 tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Issue Hunter

How do I install Issue Hunter in Claude Code?

Run `npx skills add shenjingnan/xiaozhi-client --skill issue-hunter -a claude-code`. Or copy the skill folder (.agents/skills/issue-hunter in shenjingnan/xiaozhi-client) into .claude/skills/issue-hunter in your project. Claude Code loads it when a task matches its description.

How do I install Issue Hunter in Codex?

Run `npx skills add shenjingnan/xiaozhi-client --skill issue-hunter -a codex`. Or copy the skill folder (.agents/skills/issue-hunter in shenjingnan/xiaozhi-client) into .agents/skills/issue-hunter in your project. Codex loads it when a task matches its description.

Can I use Issue Hunter in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shenjingnan/xiaozhi-client --skill issue-hunter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/issue-hunter, .gemini/skills/issue-hunter, .github/skills/issue-hunter and .opencode/skills/issue-hunter in your project.

What does Issue Hunter need to run?

Going by SKILL.md and its folder, Issue Hunter needs the command-line tools its instructions call (pnpm and gh).

Does Issue Hunter access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Issue Hunter safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Issue Hunter use?

Issue Hunter is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Issue Hunter use?

About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Issue Hunter?

Skills that share tags, products or a category with Issue Hunter: Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), Verdaccio PR Review (verdaccio/verdaccio, 18k stars), Difit Review (yoshiko-pg/difit, 3.2k stars) and ZCF Release Automation (UfoMiao/zcf, 6.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Issue Hunter?

shenjingnan (a GitHub user) maintains it in shenjingnan/xiaozhi-client, which has 341 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on September 3, 2026.

Source: shenjingnan/xiaozhi-client on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.