From sst
This skill should be used when the user asks to "run pre-PR checks", "check before pushing", "run quality checks", "verify the branch is ready", "run lint and tests", or "make sure CI will pass". Runs the project's quality gates locally to catch failures before they hit the pipeline.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sst:pr-checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run the project's quality checks locally to catch issues before pushing. The checks and commands to run depend on the project — discover them before running anything.
Run the project's quality checks locally to catch issues before pushing. The checks and commands to run depend on the project — discover them before running anything.
Before running any checks, determine what tools the project uses:
Task runner detection (check in this order):
pyproject.toml with [tool.poe.tasks] → use poe <task>Makefile → use make <target>justfile → use just <target>package.json scripts → use npm run <script> or yarn <script>Quality tools to look for:
ruff, flake8, pylint (Python); eslint (JS/TS); clippy (Rust)ruff format, black, isort (Python); prettier (JS/TS)mypy, pyright (Python); tsc (TypeScript)pytest (Python); jest, vitest (JS/TS); cargo test (Rust)Read CLAUDE.md and the task runner config to identify the exact commands used in CI.
Detect the default branch, then diff against it:
# Detect default branch
git remote show origin | grep 'HEAD branch' | awk '{print $NF}'
# Fall back to: git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@'
git diff --name-only <default-branch>...HEAD
Use the changed file list to:
.html files changed)Stop at the first failure to save time. For each check:
Run the project's lint command. If auto-fixable issues are found, fix them and report what changed.
Run the project's format check. If issues are found, run the formatter and report.
Run the project's type checker. Report errors found in changed files. Pre-existing errors in unchanged files may be noted but not treated as blockers if they were present before this branch.
Determine which test files correspond to the changed source files and run them with fail-fast and quiet flags:
pytest tests/... -x -qvitest run --bail 1jest --bail 1 --silentcargo test -- --quietNote any tests that require external services (databases, caches, APIs) and flag them separately.
Provide a summary:
docker compose up <service>npx claudepluginhub shanethacker/sst-claude-plugin --plugin sstGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.