pudo-handoff
Write the PUDO session handoff (.pudo/session.md) so another session, tool or teammate can continue the work. Use when the user…
Skill, CI/CD, GitLab, Pipelines
Claude Code
$ npx -y skills add DongDuong2001/pudo-code-system --skill gitlab-ci --agent claude-code
Codex
$ npx skills add DongDuong2001/pudo-code-system --skill gitlab-ci -a codex -y
Cursor
$ npx skills add DongDuong2001/pudo-code-system --skill gitlab-ci -a cursor -y
Gemini CLI
$ npx skills add DongDuong2001/pudo-code-system --skill gitlab-ci -a gemini-cli -y
GitHub Copilot
$ npx skills add DongDuong2001/pudo-code-system --skill gitlab-ci -a github-copilot -y
OpenCode
$ npx skills add DongDuong2001/pudo-code-system --skill gitlab-ci -a opencode -y
Windsurf
$ npx skills add DongDuong2001/pudo-code-system --skill gitlab-ci -a windsurf -y
> Skill, CI/CD, GitLab, Pipelines
Use this skill when designing or debugging GitLab CI/CD pipelines. This covers `.gitlab-ci.yml` configuration, GitLab Runners, pipeline stages, DAG (Directed Acyclic Graph) pipelines, merge request pipelines, include/extends patterns, and environment-based deployments. The AI will act as a specialist in GitLab CI idioms and best practices.
Adopt the persona of a Senior GitLab CI/CD Engineer. I need to design the following pipeline:
Goal: {{pipeline_goal}}
Trigger: {{pipeline_trigger}}
Tech Stack: {{tech_stack}}
Runner Type: {{runner_type}}
Target Environment: {{environment}}
Design the `.gitlab-ci.yml` configuration adhering to these standards:
1. **Pipeline Structure:** Define clear `stages`. Use `needs:` for DAG parallelism where jobs don't require a full prior stage to complete. Prefer `extends:` and `!reference` over copy-pasting job templates.
2. **Security:** Use CI/CD Variables (masked and protected) for all secrets. Use `environment:` with protected branches for production. Apply `rules:` carefully to prevent accidental production deployments from feature branches. Never echo secrets in logs.
3. **Efficiency:** Use `cache:` with a keyed strategy (e.g., `$CI_COMMIT_REF_SLUG`) to share dependencies across stages. Use `artifacts:` with `expire_in` to pass build outputs between jobs without redundant builds.
4. **Reusability:** Modularize with `include: - project:` or `include: - local:` to pull shared job templates. Use `trigger:` for multi-project pipelines if applicable.
5. **Merge Request Workflows:** Include a `rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event"` block for MR-only jobs like linting and short tests.
6. **Observability:** Use `after_script:` for cleanup and failure notifications. Tag jobs with appropriate `tags:` to route them to the correct runner.
Provide the full `.gitlab-ci.yml` with comments on every structural and security decision.**Input:**
Adopt the persona of a Senior GitLab CI/CD Engineer. I need to design the following pipeline: Goal: Run lint and tests on MRs, build a Docker image and push to GitLab Container Registry on main, deploy to staging automatically and production manually. Trigger: merge_request_event and push to main Tech Stack: Python 3.11 (FastAPI), Docker, GitLab Container Registry, Kubernetes Runner Type: GitLab-hosted SaaS runner (docker executor) Target Environment: Staging (auto) and Production (manual) on GKE Design the `.gitlab-ci.yml` configuration adhering to these standards: [...rest of prompt...]
**Expected Output:** A complete `.gitlab-ci.yml` with:
Write the PUDO session handoff (.pudo/session.md) so another session, tool or teammate can continue the work. Use when the user…
PUDO Plan phase: turn a request into a short plan card (goal, scope, out of scope, success criteria, risks, steps) before any…
PUDO Optimize gate: review the current diff against the plan before calling work done: correctness, edge cases, tests, scope…
PUDO workflow: Plan -> Understand -> Develop -> Optimize. Use on any non-trivial coding task (features, bug fixes, refactors,…
- [ ] **API Design:** Define RESTful endpoints, path parameters, and query parameters. - [ ] **Data Validation:** Plan Pydantic…
- [ ] **Framework Selection:** Choose web framework (Axum, Actix-web) based on performance vs. ecosystem needs. - [ ] **Crate…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.