florianbruniaux/claude-code-ultimate-guide/ci-all

Claude Code and agent skill by florianbruniaux/claude-code-ultimate-guide

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Full CI pipeline: run local tests, type check, push branch, and return the pipeline URL. The only command you need before opening a PR.

Install

npx vskill@latest install florianbruniaux/claude-code-ultimate-guide/ci-all

SKILL.md

The same SKILL.md was published earlier as florianbruniaux/claude-code-plugins/ci-all.

/ci:all: Full CI before PR

Runs everything in order: local tests → type check → push → pipeline URL.

One /ci:all replaces: manual tests + git push + copying the pipeline URL.

Stack detection

bash
if [ -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

Step 1: Local tests (blocking)

Python (uv/pytest):

bash
uv run pytest --tb=short -q
# Failure → STOP + print failing tests

Node (pnpm/vitest):

bash
pnpm vitest run
pnpm tsc --noEmit
# Failure → STOP

Rust:

bash
cargo test --quiet 2>&1

If --skip-tests is passed → skip to step 2.

Step 2: Push + pipeline

bash
BRANCH=$(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

Step 3: Pipeline URL

GitLab CI
bash
REMOTE=$(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
GitHub Actions
bash
REMOTE=$(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

Expected output

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.

Usage

/ci:all
/ci:all --skip-tests # push without re-running tests
/ci:all --e2e # include E2E tests (if configured)

Target: $ARGUMENTS

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
5,719
Repository forks
749
7-day trend score
43

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/florianbruniaux/claude-code-ultimate-guide/ci-all/badge)](https://verified-skill.com/skills/florianbruniaux/claude-code-ultimate-guide/ci-all)

Something wrong with this skill or its page? Tell us.