
Ci Cd Pipeline Builder
Detect your repo stack and generate a gated GitHub Actions or GitLab CI baseline with lint, test, build, and staging/production deploy patterns.
Overview
ci-cd-pipeline-builder is an agent skill most often used in Ship (also Build, Operate) that detects stack signals and generates gated GitHub Actions or GitLab CI workflows.
Install
npx skills add https://github.com/alirezarezvani/claude-skills --skill ci-cd-pipeline-builderWhat is this skill?
- stack_detector.py infers repository signals and emits JSON for pipeline generation.
- pipeline_generator.py outputs GitHub Actions or GitLab CI YAML from the detection payload.
- Minimum gate policy: lint before test, test before build, artifact required for deploy.
- Branch pattern: develop auto-deploys to staging; main requires manual approval for production.
- Reference docs for GitHub Actions templates, GitLab CI templates, and deployment gates.
- Minimum gate chain: lint → test → build → deploy with artifact required before deploy jobs
- Two Python scripts: stack_detector.py and pipeline_generator.py
Adoption & trust: 554 installs on skills.sh; 17.5k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have code in git but no CI YAML that matches your actual stack or enforces lint-test-build order before deploy.
Who is it for?
Repos ready for first real CI after local development, especially when you want GitHub Actions or GitLab CI without writing YAML from scratch.
Skip if: Teams needing fully custom multi-cloud Terraform pipelines, mobile store release trains, or compliance-heavy attestations without manual hardening.
When should I use this skill?
You need repository stack detection and a practical GitHub Actions or GitLab CI template with deployment gate conventions.
What do I get? / Deliverables
You get stack.json-driven workflow files plus a documented gate policy you can extend toward staging auto-deploy and manual production promote.
- stack.json stack detection output
- Generated .github/workflows/ci.yml or GitLab CI configuration
- Deployment gate policy aligned to develop/staging and main/production
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Continuous integration is how solo builders prove code is testable and buildable before promote-to-production decisions—classic Ship work. Testing subphase fits because the generated pipelines center on lint and test jobs as mandatory gates ahead of build and deploy.
Where it fits
Emit a GitHub Actions workflow where lint and unit tests block merges to main.
Wire develop-branch jobs to auto-deploy staging after a green build artifact.
Add manual approval gates on production deploy jobs for protected main.
Standardize CI commands after stack detection finds your test runner and package manager.
How it compares
Use as a repo-aware CI generator with embedded gate policy—not a hosted CI product or a one-off lint script.
Common Questions / FAQ
Who is ci-cd-pipeline-builder for?
Solo builders and small teams who want agent-assisted CI scaffolding grounded in what is actually in their repository.
When should I use ci-cd-pipeline-builder?
In Ship when adding automated test gates before release; in Build when standardizing checks for contributors; in Operate when tightening promote-to-production controls on main.
Is ci-cd-pipeline-builder safe to install?
Generated workflows can run arbitrary build steps—review the Security Audits panel on this page and inspect YAML for secrets, third-party actions, and deploy permissions before enabling on GitHub or GitLab.
SKILL.md
READMESKILL.md - Ci Cd Pipeline Builder
# CI/CD Pipeline Builder Detects your repository stack and generates practical CI pipeline templates for GitHub Actions and GitLab CI. Designed as a fast baseline you can extend with deployment controls. ## Quick Start ```bash # Detect stack python3 scripts/stack_detector.py --repo . --format json > stack.json # Generate GitHub Actions workflow python3 scripts/pipeline_generator.py \ --input stack.json \ --platform github \ --output .github/workflows/ci.yml \ --format text ``` ## Included Tools - `scripts/stack_detector.py`: repository signal detection with JSON/text output - `scripts/pipeline_generator.py`: generate GitHub/GitLab CI YAML from detection payload ## References - `references/github-actions-templates.md` - `references/gitlab-ci-templates.md` - `references/deployment-gates.md` ## Installation ### Claude Code ```bash cp -R engineering/ci-cd-pipeline-builder ~/.claude/skills/ci-cd-pipeline-builder ``` ### OpenAI Codex ```bash cp -R engineering/ci-cd-pipeline-builder ~/.codex/skills/ci-cd-pipeline-builder ``` ### OpenClaw ```bash cp -R engineering/ci-cd-pipeline-builder ~/.openclaw/skills/ci-cd-pipeline-builder ``` # Deployment Gates ## Minimum Gate Policy - `lint` must pass before `test`. - `test` must pass before `build`. - `build` artifact required for deploy jobs. - Production deploy requires manual approval and protected branch. ## Environment Pattern - `develop` -> auto deploy to staging - `main` -> manual promote to production ## Rollback Requirement Every deploy job should define a rollback command or procedure reference. # GitHub Actions Templates ## Node.js Baseline ```yaml name: Node CI on: [push, pull_request] jobs: ci: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - run: npm ci - run: npm run lint - run: npm test - run: npm run build ``` ## Python Baseline ```yaml name: Python CI on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.12' - run: python3 -m pip install -U pip - run: python3 -m pip install -r requirements.txt - run: python3 -m pytest ``` # GitLab CI Templates ## Node.js Baseline ```yaml stages: - lint - test - build node_lint: image: node:20 stage: lint script: - npm ci - npm run lint node_test: image: node:20 stage: test script: - npm ci - npm test ``` ## Python Baseline ```yaml stages: - test python_test: image: python:3.12 stage: test script: - python3 -m pip install -U pip - python3 -m pip install -r requirements.txt - python3 -m pytest ``` #!/usr/bin/env python3 """Generate CI pipeline YAML from detected stack data. Input sources: - --input stack report JSON file - stdin stack report JSON - --repo path (auto-detect stack) Output: - text/json summary - pipeline YAML written via --output or printed to stdout """ import argparse import json import sys from dataclasses import dataclass, asdict from pathlib import Path from typing import Any, Dict, List, Optional class CLIError(Exception): """Raised for expected CLI failures.""" @dataclass class PipelineSummary: platform: str output: str stages: List[str] uses_cache: bool languages: List[str] def parse_args() -> argparse.Namespace: parser = argparse.ArgumentParser(description="Generate CI/CD pipeline YAML from detected stack.") parser.add_argument("--input", help="Stack report JSON file. If omitted, can read stdin JSON.") parser.add_argument("--repo", help="Repository path for auto-detection fallback.") parser.add_argument("--platform", choices=["github", "gitlab"], required=True, help="Target CI platform.") parser.add_argument("--output", help="Write YAML to this file; otherwise prin