Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Full CI pipeline: run local tests, type check, push branch, and return the pipeline URL. The only command you need before opening a PR.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -28% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 50% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 78% | 0% |
Runs everything in order: local tests → type check → push → pipeline URL.
One /ci:all replaces: manual tests + git push + copying the pipeline URL.
bashif [ -f "uv.lock" ]; then STACK="python" elif [ -f "pnpm-lock.yaml" ]; then STACK="node" elif [ -f "package-lock.json" ]; then STACK="node-npm" elif [ -f "Cargo.toml" ]; then STACK="rust" fi
Python (uv/pytest):
bashuv run pytest --tb=short -q # Failure → STOP + print failing tests
Node (pnpm/vitest):
bashpnpm vitest run pnpm tsc --noEmit # Failure → STOP
Rust:
bashcargo test --quiet 2>&1
If --skip-tests is passed → skip to step 2.
bashBRANCH=$(git branch --show-current) # Verify commits exist to push AHEAD=$(git rev-list --count origin/$BRANCH..HEAD 2>/dev/null || echo "1") if [ "$AHEAD" = "0" ]; then echo "Branch already up to date on origin." else git push origin "$BRANCH" fi
bashREMOTE=$(git remote get-url origin) WEB_URL=$(echo "$REMOTE" | sed 's/git@gitlab\.com:/https:\/\/gitlab.com\//' | sed 's/\.git$//') echo "Pipeline: $WEB_URL/-/pipelines?ref=$BRANCH" # Optional: live status via glab CLI if command -v glab &>/dev/null; then sleep 3 glab ci status --branch "$BRANCH" 2>/dev/null || true fi
bashREMOTE=$(git remote get-url origin) WEB_URL=$(echo "$REMOTE" | sed 's/git@github\.com:/https:\/\/github.com\//' | sed 's/\.git$//') echo "Actions: $WEB_URL/actions?query=branch%3A$BRANCH" # Optional: live status via gh CLI if command -v gh &>/dev/null; then sleep 5 gh run list --branch "$BRANCH" --limit 3 2>/dev/null || true fi
CI: my-app (Node/Vitest)
──────────────────────────
① Local tests
✅ 47 passed in 8.2s
② Type check
✅ No errors
③ Push
✅ origin/feat/my-feature
④ Pipeline
🔗 https://gitlab.com/org/my-app/-/pipelines?ref=feat/my-feature
Next step: open a PR with /pr or directly on GitLab/GitHub.If tests fail:
CI: my-api (Python/pytest)
────────────────────────────
① Local tests
❌ 2 failed
FAILED tests/test_orders.py::TestOrderService::test_refund_validation
AssertionError: expected 400, got 500
→ Fix tests before pushing. Pipeline not triggered./ci:all
/ci:all --skip-tests # push without re-running tests
/ci:all --e2e # include E2E tests (if configured)Target: $ARGUMENTS
Other measured skills in the registry, with their headline benchmark lift.