{"id":"1aa08234-0a6f-436d-890b-42a037286ffc","shortId":"wnhkp3","kind":"skill","title":"SonarQube Gate Enforcer","tagline":"Enforces SonarQube quality gate conditions in CI pipelines using the SonarQube Web API /api/qualitygates/project_status endpoint. Blocks merges when coverage drops, duplications exceed thresholds, or new bugs are introduced.","description":"# SonarQube Gate Enforcer\n\nEnforces SonarQube quality gate conditions in CI pipelines using the SonarQube Web API /api/qualitygates/project_status endpoint. Blocks merges when coverage drops, duplications exceed thresholds, or new bugs are introduced.\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-gate-enforcer/)","tags":["sonarqube","gate","enforcer","skills","agentskillexchange","agent-skills","ai-agents","ai-tools","awesome-list","claude-code","codex","cursor"],"capabilities":["skill","source-agentskillexchange","skill-sonarqube-gate-enforcer","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-gate-enforcer","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,404 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:33.995Z","embedding":null,"createdAt":"2026-05-18T13:19:32.997Z","updatedAt":"2026-05-18T19:12:33.995Z","lastSeenAt":"2026-05-18T19:12:33.995Z","tsv":"'/api/qualitygates/project_status':17,48 '/skills/sonarqube-gate-enforcer/)':216 '/sonarsource/sonar-developer-toolset#code-style)':85 '/sonarsource/sonarqube':202 '/sonarsource/sonarqube/head/readme.md':209 '17':165 'ad':182 'agent':211 'agentskillexchange.com':215 'agentskillexchange.com/skills/sonarqube-gate-enforcer/)':214 'also':126 'api':16,47 'avail':118 'basic':157 'block':19,50 'bug':29,60 'build':92,101,142,147,154,168,174,195 'caveat':109 'chang':129,140 'ci':10,41 'clone':132 'code':81 'command':188 'condit':8,39 'contain':127 'contribut':125 'coverag':22,53 'disabl':178 'doc':206 'drop':23,54 'duplic':24,55 'endpoint':18,49 'enforc':3,4,34,35 'environ':74 'environmen':156 'exceed':25,56 'exchang':213 'execut':94 'extract':203 'follow':79 'gate':2,7,33,38 'generat':104 'generate-translation-key':103 'get':161 'getting-start':160 'git':113 'github.com':84,201 'github.com/sonarsource/sonar-developer-toolset#code-style)':83 'github.com/sonarsource/sonarqube':200 'gradl':187 'instal':63,67,116 'introduc':31,62 'java':164 'key':106 'local':144 'make':75 'match':72 'merg':20,51 'must':114,131 'nativ':112 'need':180 'new':28,59 'note':163 'npm':171 'pass':90 'path':70,121,155 'pipelin':11,42 'project':170 'pull':97 'qualiti':6,37 'raw.githubusercontent.com':208 'raw.githubusercontent.com/sonarsource/sonarqube/head/readme.md':207 'repositori':137,150 'request':98 'requir':107,166,172 'run':197 'setup':69 'skill':212 'skill-sonarqube-gate-enforcer' 'sonarqub':1,5,14,32,36,45,135,149 'sonarqube-webapp':134 'sourc':199,210 'source-agentskillexchange' 'start':162 'style':82 'sure':76 'test':88,175,184,198 'threshold':26,57 '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':105 'travi':91 'ui':128 'upstream':66,111,205 'usag':158 'use':12,43,64,151,189 'want':193 'web':15,46 'webapp':136,153 'without':196 'x':183 'yarn':99,100,102","prices":[{"id":"d9bc09ba-6795-43c6-b92f-f97b082a7bf6","listingId":"1aa08234-0a6f-436d-890b-42a037286ffc","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:32.997Z"}],"sources":[{"listingId":"1aa08234-0a6f-436d-890b-42a037286ffc","source":"github","sourceId":"agentskillexchange/skills/sonarqube-gate-enforcer","sourceUrl":"https://github.com/agentskillexchange/skills/tree/main/skills/sonarqube-gate-enforcer","isPrimary":false,"firstSeenAt":"2026-05-18T13:19:32.997Z","lastSeenAt":"2026-05-18T19:12:33.995Z"}],"details":{"listingId":"1aa08234-0a6f-436d-890b-42a037286ffc","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"agentskillexchange","slug":"sonarqube-gate-enforcer","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":"2c128cbb3eb38bff3284b8855576858d73182a1a","skill_md_path":"skills/sonarqube-gate-enforcer/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/agentskillexchange/skills/tree/main/skills/sonarqube-gate-enforcer"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"SonarQube Gate Enforcer","description":"Enforces SonarQube quality gate conditions in CI pipelines using the SonarQube Web API /api/qualitygates/project_status endpoint. Blocks merges when coverage drops, duplications exceed thresholds, or new bugs are introduced."},"skills_sh_url":"https://skills.sh/agentskillexchange/skills/sonarqube-gate-enforcer"},"updatedAt":"2026-05-18T19:12:33.995Z"}}