.agents/skills/sonarcloud-pr-review/SKILL.md
Reviews the current pull request against SonarCloud and fixes reported issues. Fetches PR issues with rule documentation, then applies code changes per rule guidance. Use when the user asks to review the PR, fix SonarCloud issues, or address SonarCloud findings.
npx skillsauth add microboxlabs/modulariot sonarcloud-pr-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Review the current branch's PR against SonarCloud and fix all reported issues using rule documentation as context.
@microboxlabs/sonarcloud-tools (built from turbo-repo/packages/sonarcloud-tools/). Run from repo root via node turbo-repo/packages/sonarcloud-tools/dist/cli.js. If dist/ is missing, build first: cd turbo-repo/packages/sonarcloud-tools && npm run build.--pr auto-detect: gh CLI or a CI env (e.g. GITHUB_REF).Loading token from shell config: The shell used to run commands is often non-login and does not load ~/.zshrc or ~/.bashrc. If the user says the token is in their shell rc, source it before running the command, e.g. source ~/.zshrc 2>/dev/null; node turbo-repo/packages/sonarcloud-tools/dist/cli.js ....
From the repository root, run (source shell rc if SONAR_TOKEN is set there, e.g. in .zshrc):
source ~/.zshrc 2>/dev/null; node turbo-repo/packages/sonarcloud-tools/dist/cli.js issues -k microboxlabs_modulariot --pr -o context --with-docs
--branch-current instead of --pr if PR detection fails (e.g. no gh or CI env).If the command fails (e.g. missing token or no PR), stop and ask the user to set SONAR_TOKEN or pass the token, and to confirm they are on a PR branch or to use --branch-current or -b <branch>.
source ~/.zshrc 2>/dev/null; node turbo-repo/packages/sonarcloud-tools/dist/cli.js issues -k microboxlabs_modulariot --pr -o context
npm test or npx vitest for changed modules).| Rule intent | Action |
|------------|--------|
| Duplicated string literal | Define a constant and use it everywhere the literal appeared. |
| Unused variable / import | Remove the unused variable or import. |
| Cognitive complexity too high | Extract helper functions to reduce nesting and complexity. |
| Code smell: no-duplicate-case | Remove or fix the duplicate case in switch statements. |
| Redundant type assertion | Remove unnecessary as casts or type assertions where TypeScript can infer the type. |
| Unused function parameter | Prefix with _ or remove if not needed by the interface/signature. |
| Missing return type | Add explicit return type annotations to exported functions. |
| Console statement in production | Remove console.log / console.debug or replace with a proper logger. |
| Promises must be awaited or returned | Ensure async calls are properly awaited or returned. |
When the rule documentation disagrees with this table, follow the rule documentation.
After applying fixes, report briefly:
For CLI options and output format details, see reference.md.
tools
Query and manage ModularIoT Calendar services via the miot CLI. List calendars, check slot availability, create bookings, manage time windows, and run slot managers. Use when the user asks about schedules, appointments, bookings, availability, calendar configuration, time slots, capacity, or calendar services in their ModularIoT organization.
tools
Propagate OpenAPI spec changes through all three layers: (1) the hand-authored TypeScript client package — types, resource methods, tests, version bump; (2) the CLI package — commands, flags, table columns, tests, version bump; (3) the agent skill — SKILL.md workflows, business rules, and reference.md sections. Use when the user says the openapi.json has changed and needs to be reflected end-to-end. Triggers on phrases like "update the client from the new openapi", "sync the client with the API spec", "implement the api changes in the client", "the openapi.json changed, update the client package", "propagate the API changes", or "update all layers from the spec".
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
tools
Tag and release a monorepo package following the project's scoped-tag convention. Use when the user wants to publish a new version of a package, create a release tag, or bump a package version.