{"id":"bc4e9d27-32f1-44c6-b522-7444a7a891f8","shortId":"QH4uE4","kind":"skill","title":"SonarQube PR Gate","tagline":"Integrates SonarQube quality gates into pull request workflows via the SonarQube Web API /api/qualitygates/project_status. Blocks merges when code smells, duplications, or coverage thresholds fail and posts inline annotations using the GitHub Checks API.","description":"# SonarQube PR Gate\n\nIntegrates SonarQube quality gates into pull request workflows via the SonarQube Web API /api/qualitygates/project_status. Blocks merges when code smells, duplications, or coverage thresholds fail and posts inline annotations using the GitHub Checks API.\n\n## Installation\n\nUse the upstream install or setup path that matches your environment:\n- Make sure that you follow our [code style](https://github.com/SonarSource/sonar-developer-toolset#code-style) and all tests are passing (Travis build is executed for each pull request).\n- yarn\n- yarn build\n- yarn generate-translation-keys\n\nRequirements and caveats from upstream:\n- Native Git - Must be installed and available in your PATH\n- But if your contribution also contains UI changes, you must clone the sonarqube-webapp repository, do your changes there, build it locally and then build the sonarqube repository using the WEBAPP_BUILD_PATH environmen...\n\nBasic usage or getting-started notes:\n- Java 17 - Required to build the project\n- npm - Required for building\n- Tests - Can be disabled if needed by adding -x test to the gradle command (useful if you just want to build without running tests)\n\n- Source: https://github.com/SonarSource/sonarqube\n- Extracted from upstream docs: https://raw.githubusercontent.com/SonarSource/sonarqube/HEAD/README.md\n\n## Source\n\n- [Agent Skill Exchange](https://agentskillexchange.com/skills/sonarqube-pr-gate-skill/)","tags":["sonarqube","gate","skill","skills","agentskillexchange","agent-skills","ai-agents","ai-tools","awesome-list","claude-code","codex","cursor"],"capabilities":["skill","source-agentskillexchange","skill-sonarqube-pr-gate-skill","topic-agent-skills","topic-ai-agents","topic-ai-tools","topic-awesome-list","topic-claude-code","topic-codex","topic-cursor","topic-llm","topic-mcp","topic-npx-skills","topic-openclaw","topic-skills-catalog"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/agentskillexchange/skills/sonarqube-pr-gate-skill","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add agentskillexchange/skills","source_repo":"https://github.com/agentskillexchange/skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (1,428 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:12:34.087Z","embedding":null,"createdAt":"2026-05-18T13:19:33.102Z","updatedAt":"2026-05-18T19:12:34.087Z","lastSeenAt":"2026-05-18T19:12:34.087Z","tsv":"'/api/qualitygates/project_status':17,53 '/skills/sonarqube-pr-gate-skill/)':226 '/sonarsource/sonar-developer-toolset#code-style)':95 '/sonarsource/sonarqube':212 '/sonarsource/sonarqube/head/readme.md':219 '17':175 'ad':192 'agent':221 'agentskillexchange.com':225 'agentskillexchange.com/skills/sonarqube-pr-gate-skill/)':224 'also':136 'annot':31,67 'api':16,36,52,72 'avail':128 'basic':167 'block':18,54 'build':102,111,152,157,164,178,184,205 'caveat':119 'chang':139,150 'check':35,71 'clone':142 'code':21,57,91 'command':198 'contain':137 'contribut':135 'coverag':25,61 'disabl':188 'doc':216 'duplic':23,59 'environ':84 'environmen':166 'exchang':223 'execut':104 'extract':213 'fail':27,63 'follow':89 'gate':3,7,39,43 'generat':114 'generate-translation-key':113 'get':171 'getting-start':170 'git':123 'github':34,70 'github.com':94,211 'github.com/sonarsource/sonar-developer-toolset#code-style)':93 'github.com/sonarsource/sonarqube':210 'gradl':197 'inlin':30,66 'instal':73,77,126 'integr':4,40 'java':174 'key':116 'local':154 'make':85 'match':82 'merg':19,55 'must':124,141 'nativ':122 'need':190 'note':173 'npm':181 'pass':100 'path':80,131,165 'post':29,65 'pr':2,38 'project':180 'pull':9,45,107 'qualiti':6,42 'raw.githubusercontent.com':218 'raw.githubusercontent.com/sonarsource/sonarqube/head/readme.md':217 'repositori':147,160 'request':10,46,108 'requir':117,176,182 'run':207 'setup':79 'skill':222 'skill-sonarqube-pr-gate-skill' 'smell':22,58 'sonarqub':1,5,14,37,41,50,145,159 'sonarqube-webapp':144 'sourc':209,220 'source-agentskillexchange' 'start':172 'style':92 'sure':86 'test':98,185,194,208 'threshold':26,62 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-tools' 'topic-awesome-list' 'topic-claude-code' 'topic-codex' 'topic-cursor' 'topic-llm' 'topic-mcp' 'topic-npx-skills' 'topic-openclaw' 'topic-skills-catalog' 'translat':115 'travi':101 'ui':138 'upstream':76,121,215 'usag':168 'use':32,68,74,161,199 'via':12,48 'want':203 'web':15,51 'webapp':146,163 'without':206 'workflow':11,47 'x':193 'yarn':109,110,112","prices":[{"id":"0e0e105d-8034-4ec9-afe0-e9987cd8bd08","listingId":"bc4e9d27-32f1-44c6-b522-7444a7a891f8","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"agentskillexchange","category":"skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:19:33.102Z"}],"sources":[{"listingId":"bc4e9d27-32f1-44c6-b522-7444a7a891f8","source":"github","sourceId":"agentskillexchange/skills/sonarqube-pr-gate-skill","sourceUrl":"https://github.com/agentskillexchange/skills/tree/main/skills/sonarqube-pr-gate-skill","isPrimary":false,"firstSeenAt":"2026-05-18T13:19:33.102Z","lastSeenAt":"2026-05-18T19:12:34.087Z"}],"details":{"listingId":"bc4e9d27-32f1-44c6-b522-7444a7a891f8","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"agentskillexchange","slug":"sonarqube-pr-gate-skill","github":{"repo":"agentskillexchange/skills","stars":8,"topics":["agent-skills","ai-agents","ai-tools","awesome-list","claude-code","codex","cursor","llm","mcp","npx-skills","openclaw","skills-catalog"],"license":"mit","html_url":"https://github.com/agentskillexchange/skills","pushed_at":"2026-05-18T19:02:17Z","description":"The open catalog of AI agent skills — 2,000+ security-scanned skills for Claude Code, Cursor, Codex, and more.","skill_md_sha":"b9e3f7dfd36afdc642449c9d8c041d6e9db4ff49","skill_md_path":"skills/sonarqube-pr-gate-skill/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/agentskillexchange/skills/tree/main/skills/sonarqube-pr-gate-skill"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"SonarQube PR Gate","description":"Integrates SonarQube quality gates into pull request workflows via the SonarQube Web API /api/qualitygates/project_status. Blocks merges when code smells, duplications, or coverage thresholds fail and posts inline annotations using the GitHub Checks API."},"skills_sh_url":"https://skills.sh/agentskillexchange/skills/sonarqube-pr-gate-skill"},"updatedAt":"2026-05-18T19:12:34.087Z"}}