Token导航 LogoToken导航

Agent Skill · 研究检索

sonarqube-cli(sonarqube CLI 搜索)

sonarqube-cli 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

sonarqube-cli 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 65,896。

总安装 272周安装 11GitHub Stars 公开资料未说明下载 85核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:sonarqube-cli(sonarqube CLI 搜索)
来源仓库:https://github.com/g-imhoff/skills
仓库路径:skills/sonarqube-cli
安装命令:
npx skills add https://github.com/g-imhoff/skills --skill sonarqube-cli
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/g-imhoff/skills --skill sonarqube-cli

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

sonarqube-cli 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。适用于代码质量分析、技术文档检索或开发流程中的信息整理场景。

通过 npx skills add 命令从指定 GitHub 仓库安装,需结合原始 README 确认具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/sonarqube-cli

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/g-imhoff/skills --skill sonarqube-cli;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

sonarqube-cli 怎么安装?

在终端执行 npx skills add https://github.com/g-imhoff/skills --skill sonarqube-cli。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

sonarqube-cli 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

sonarqube-cli 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

sonarqube-cli 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

sonarqube-cli 用的人多吗?

公开数据是累计安装 272 次,近一周安装 11 次,下载 85 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

sonarqube-cli 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
sonarqube-cli

sonarqube CLI 搜索 · 本页

272—接触敏感数据未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

SonarQube CLI Skill

This skill centers on scripts/scan_branch.py — a Python orchestrator that runs a full SonarQube analysis on a branch and reports the quality gate. For single-file checks, secrets scanning, and direct API calls, it wraps the sonar CLI (v0.9.0, Beta).

CRITICAL — Credential checks (run before ANY command)

Before running scripts/scan_branch.py or sonar-scanner, verify SONAR_HOST_URL and SONAR_TOKEN are set without reading their values:

[ -n "${SONAR_HOST_URL}" ] && echo "SONAR_HOST_URL set" || echo "SONAR_HOST_URL MISSING"
[ -n "${SONAR_TOKEN}" ]    && echo "SONAR_TOKEN set"    || echo "SONAR_TOKEN MISSING"

Before running sonar CLI commands, verify authentication:

sonar --version
sonar auth status

NEVER read, print, echo, or log the values of SONAR_TOKEN or SONAR_HOST_URL. If any check fails, stop and ask the user to set the variable or run sonar auth login.


Primary workflow — scripts/scan_branch.py

scripts/scan_branch.py is a self-contained Python script (stdlib only) that replicates the manual-sonarqube.yml GitHub Actions workflow as a local command. Use it whenever the user wants to analyze a branch end-to-end.

It performs:

  1. git checkout of the requested ref
  2. sonar-scanner invocation (single-project context by default for Community Edition)
  3. Polls /api/ce/task until analysis completes
  4. Calls /api/qualitygates/project_status for the gate result
  5. Pass → prints success banner, exits 0
  6. Fail → fetches /api/issues/search, prints a severity-sorted table, exits 1

Prerequisites

  • sonar-scanner and git on PATH (install scanner: https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarscanner/)
  • SONAR_HOST_URL and SONAR_TOKEN exported (verified as above — never print values)
  • If the project has a sonar-project.properties file, run the script from that directory. Properties like sonar.projectKey, sonar.sources, etc. are read automatically; use -D extras only to override.
  • Branch analysis (--use-branch) requires SonarQube Developer Edition or higher

Usage

# Community Edition (default) — checks out the ref, scans against the main project context
python scripts/scan_branch.py --branch feature/my-branch --project-key my-project

# Project living in a subdirectory (matches the GitHub Actions workflow layout)
python scripts/scan_branch.py --branch develop --project-key my-project --project-dir ./yodea-app

# Developer Edition+ — true branch analysis via sonar.branch.name
python scripts/scan_branch.py --branch feature/my-branch --project-key my-project --use-branch

# Longer timeout + extra scanner properties (anything after the flags is passed through)
python scripts/scan_branch.py \
  --branch main \
  --project-key my-project \
  --timeout 900 \
  -Dsonar.sources=src \
  -Dsonar.exclusions=**/*.test.ts

Options

OptionRequiredDescription
--branchYesGit ref to check out before scanning
--project-keyNo*SonarQube project key (falls back to SONAR_PROJECT_KEY)
--project-nameNoDisplay name (default: project key)
--project-dirNoPassed as sonar.projectBaseDir
--timeoutNoMax seconds to wait for analysis (default: 600)
--poll-intervalNoSeconds between /api/ce/task polls (default: 5)
--use-branchNoSend sonar.branch.name to the scanner (Developer Edition+)
*trailing positional args*NoForwarded verbatim to sonar-scanner (e.g. -Dsonar.sources=src)
  • One of --project-key or SONAR_PROJECT_KEY is required.

Environment variables

VariableRequiredDescription
SONAR_HOST_URLYesSonarQube server URL
SONAR_TOKENYesUser token, read by both sonar-scanner and the script
SONAR_PROJECT_KEYNoDefault project key, overridden by --project-key

Only user tokens work — project, global, and scoped-organization tokens will be rejected.

Output

Gate passed (exit 0):

============================================================
  QUALITY GATE PASSED - Everything looks good!
============================================================

Gate failed (exit 1):

============================================================
  QUALITY GATE FAILED (FAILED)
============================================================

Failed conditions:
  - new_violations 3 > 0

Issues found: 12

SEVERITY   TYPE            COMPONENT                                 MESSAGE
--------------------------------------------------------------------
BLOCKER    BUG             src/app.ts:42                             Null pointer dereference
CRITICAL   VULNERABILITY   src/auth.ts:15                            Hardcoded credentials
MAJOR      CODE_SMELL      src/utils.ts:88                           Function has 42 parameters

When to reach past the script

Drop to raw sonar-scanner only when the script is not a fit — e.g. custom analysis lifecycle, you already did the checkout, or you need to drive sonar-scanner from another orchestrator. The script's bare-metal equivalent is:

git checkout <branch>
sonar-scanner                                # Community Edition
sonar-scanner -Dsonar.branch.name=<branch>   # Developer Edition+

TASK_ID=$(grep ceTaskId .scannerwork/report-task.txt | cut -d= -f2)
sonar api get "/api/ce/task?id=$TASK_ID"
sonar api get "/api/qualitygates/project_status?projectKey=<key>&branch=<branch>"
sonar list issues -p <key> --branch <branch>

Extending the script

scripts/scan_branch.py is designed to be edited directly — it's one file, stdlib only, and each stage is a small function:

  • run_scanner() — builds and runs the sonar-scanner command
  • wait_for_analysis() — polls /api/ce/task
  • check_quality_gate() — reads /api/qualitygates/project_status
  • fetch_issues() — paginates /api/issues/search
  • format_issues() — renders the severity-sorted table

If the user asks for a new behavior (e.g. JSON output, a different gate metric, Slack notification on failure), modify the relevant function rather than adding a parallel script.


Secondary workflows — sonar CLI

These commands do not require scan_branch.py. Use them for targeted, local tasks. Full option tables and every flag live in references/commands.md — read that file whenever the user needs a flag that is not listed below.

Single-file check — sonar verify

Fastest way to scan one file for all issue classes:

sonar verify --file src/app.ts
sonar verify --file src/app.ts --branch main -p my-project

Secrets scan — sonar analyze secrets

Detects hardcoded credentials. Exits non-zero on a hit, so it plugs directly into CI:

sonar analyze secrets src/ .env.example
cat .env | sonar analyze secrets --stdin

Server-side deep analysis — sonar analyze sqaa (Cloud only)

sonar analyze sqaa --file src/app.ts --branch main

Listing issues and projects

sonar list issues -p my-project --severity CRITICAL --branch main
sonar list issues -p my-project --format toon           # AI-friendly output
sonar list projects -q partial-name

Raw API access — sonar api

sonar api get  "/api/qualitygates/project_status?projectKey=my-project"
sonar api post "/api/issues/do_transition" --data '{"issue":"<id>","transition":"accept"}'

Supports get, post, patch, put, delete. Add --verbose for request/response debugging.

API docs: Cloud · Server

Integrations

sonar integrate git                  # Pre-commit secrets hook
sonar integrate git --hook pre-push --global
sonar integrate claude -p my-project # Claude Code hooks + MCP server

Auth, config, self-update

sonar auth login / logout / status / purge
sonar config telemetry --enabled | --disabled
sonar self-update [--status | --force]

For every flag on every subcommand, see references/commands.md.


Decision guide

NeedCommand
Full branch analysis + quality gate + issue report (Community Edition)python scripts/scan_branch.py --branch <ref> --project-key <key>
Full branch analysis with true branch context (Developer Edition+)python scripts/scan_branch.py --branch <ref> --project-key <key> --use-branch
Project lives in a subdirectoryadd --project-dir./<subdir> to the script call
Override scanner propertiesappend -Dsonar.key=value to the script call
Check a single file locallysonar verify --file <path>
Find hardcoded secretssonar analyze secrets <paths…>
Deep server-side file analysis (Cloud)sonar analyze sqaa --file <path>
List issues for a projectsonar list issues -p <key> [--severity …] [--branch …]
List/search projectssonar list projects [-q …]
Arbitrary API callsonar api <method> <endpoint> [--data …]
Prevent secret leaks in Gitsonar integrate git [--hook pre-push] [--global]
Protect Claude Code sessionssonar integrate claude -p <key>
Run sonar-scanner manuallyonly when scan_branch.py doesn't fit — see the raw workflow above

Quick setup checklist

  1. Install CLI: curl -o- https://raw.githubusercontent.com/SonarSource/sonarqube-cli/refs/heads/master/user-scripts/install.sh | bash
  2. Install scanner: https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarscanner/
  3. sonar auth login and confirm with sonar auth status
  4. Export credentials for the script: export SONAR_HOST_URL="https://your-sonarqube.example.com" export SONAR_TOKEN="squ_your_token_here" # optional default for the script export SONAR_PROJECT_KEY="my-project"
  5. Verify variables are set (without printing): [-n "${SONAR_HOST_URL}"] && [-n "${SONAR_TOKEN}"] && echo "OK" || echo "MISSING"
  6. Run python scripts/scan_branch.py --branch <ref> from the project root (or the directory containing sonar-project.properties).

平台分布

Codex

37.99%
按下载量换算32

Claude

28.81%
按下载量换算24

Cursor

19.73%
按下载量换算17

Gemini CLI

9.11%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills