This skill should be used when the user asks to "generate gitlab-ci.yml", "create GitLab CI pipeline", "configure GitLab CI/CD", "use To-Be-Continuous templates", "setup TBC templates", "create CI/CD for Python/Node/Go/Java project", "configure Docker build in GitLab", "setup Kubernetes deployment in GitLab", "add SonarQube to GitLab CI", "configure Terraform with GitLab", or mentions "TBC", "To-Be-Continuous", "Kicker", or needs help selecting CI/CD templates for their project.
/plugin marketplace add rafaelcalleja/claude-market-place/plugin install gitlab-tbc@claude-market-placeThis skill inherits all available tools. When active, it can use any tool Claude has access to.
PLAN-SCHEMA-VALIDATION.mdexamples/java-maven-cf.ymlexamples/node-sonar-docker.ymlexamples/python-docker-k8s.ymlexamples/terraform-aws.ymlreferences/analysis-templates.mdreferences/build-templates.mdreferences/deployment-templates.mdreferences/presets.mdschemas/_meta.jsonschemas/amazon-web-services.jsonschemas/angular.jsonschemas/ansible.jsonschemas/azure.jsonschemas/bash.jsonschemas/bruno.jsonschemas/cloud-foundry.jsonschemas/cloud-native-buildpacks.jsonschemas/cypress.jsonschemas/dbt.jsonThis skill guides users through generating .gitlab-ci.yml files using the To-Be-Continuous (TBC) framework, replicating the exact workflow of the Kicker web wizard.
TBC Kicker is an interactive 8-step wizard that generates GitLab CI/CD configurations by combining 50 modular templates across 8 categories:
| Category | Count | Selection | Description |
|---|---|---|---|
| Build | 15 | Single | Programming language/framework |
| Code Analysis | 7 | Multiple | Security, linting, SAST |
| Packaging | 3 | Single | Container/package builds |
| Infrastructure | 1 | Single | Terraform IaC |
| Deployment | 11 | Single | Cloud/K8s deployment |
| Acceptance | 10 | Multiple | E2E/API testing |
| Other | 3 | Multiple | Misc utilities |
Before template selection, configure these options:
| Mode | Syntax | Use Case |
|---|---|---|
component | $CI_SERVER_FQDN/path/template@version | GitLab 16.0+ (recommended) |
project | project: "path" + ref + file | Self-hosted GitLab |
remote | https://host/path/-/raw/version/file | External GitLab |
| Mode | Example | Updates | Stability |
|---|---|---|---|
major | @7 | Auto major | Least stable |
minor | @7.5 | Auto patch | Recommended |
full | @7.5.2 | None | Most stable |
Select ONE build template or "none":
| Template | Prefix | Description |
|---|---|---|
| Angular | NG_ | Angular CLI projects |
| Bash | BASH_ | Shell scripts with ShellCheck/Bats |
| DBT | DBT_ | Data Build Tool |
| GitLab Package | GLPKG_ | Generic package publishing |
| Go | GO_ | Golang applications |
| Gradle | GRADLE_ | Java/Kotlin with Gradle |
| GNU Make | MAKE_ | Makefile-based builds |
| Maven | MAVEN_ | Java with Maven |
| MkDocs | MKD_ | Documentation sites |
| Node.js | NODE_ | npm/yarn/pnpm projects |
| PHP | PHP_ | PHP with Composer |
| pre-commit | PRE_COMMIT_ | Pre-commit hooks |
| Python | PYTHON_ | Python with pip/poetry |
| Scala/SBT | SBT_ | Scala applications |
| Sphinx | SPHINX_ | Sphinx documentation |
Select MULTIPLE analysis templates:
| Template | Prefix | Description |
|---|---|---|
| DefectDojo | DEFECTDOJO_ | Security report aggregation |
| Dependency Track | DEPTRACK_ | SBOM & vulnerability tracking |
| Gitleaks | GITLEAKS_ | Secret detection |
| MobSF | MOBSF_ | Mobile security |
| SonarQube | SONAR_ | Code quality & security |
| Spectral | SPECTRAL_ | OpenAPI/AsyncAPI linting |
| SQLFluff | SQLFLUFF_ | SQL linting |
Select ONE packaging template or "none":
| Template | Prefix | Description |
|---|---|---|
| Cloud Native Buildpacks | CNB_ | Paketo buildpacks |
| Docker | DOCKER_ | Dockerfile builds (kaniko/buildah/dind) |
| Source-to-Image | S2I_ | OpenShift S2I |
Select ONE infrastructure template or "none":
| Template | Prefix | Description |
|---|---|---|
| Terraform | TF_ | Infrastructure as Code |
Select ONE deployment template or "none":
| Template | Prefix | Description |
|---|---|---|
| Ansible | ANSIBLE_ | Configuration management |
| AWS | AWS_ | Amazon Web Services |
| Azure | AZURE_ | Microsoft Azure |
| Cloud Foundry | CF_ | Cloud Foundry PaaS |
| Docker Compose | DCMP_ | Docker Compose/Stack |
| Google Cloud | GCLOUD_ | Google Cloud Platform |
| Helm | HELM_ | Kubernetes Helm charts |
| Helmfile | HELMFILE_ | Helmfile deployments |
| Kubernetes | K8S_ | kubectl deployments |
| OpenShift | OS_ | OpenShift deployments |
| S3 | S3_ | S3-compatible storage |
Select MULTIPLE acceptance test templates:
| Template | Prefix | Description |
|---|---|---|
| Bruno | BRUNO_ | API testing |
| Cypress | CYPRESS_ | E2E web testing |
| Hurl | HURL_ | HTTP testing |
| k6 | K6_ | Load testing |
| Lighthouse | LHCI_ | Performance testing |
| Playwright | PLAYWRIGHT_ | E2E testing |
| Postman | POSTMAN_ | API testing |
| Puppeteer | PUPPETEER_ | Browser automation |
| Robot Framework | ROBOT_ | Test automation |
| TestSSL | TESTSSL_ | TLS/SSL testing |
Select MULTIPLE utility templates:
| Template | Prefix | Description |
|---|---|---|
| GitLab Butler | BUTLER_ | Project cleanup |
| Renovate | RENOVATE_ | Dependency updates |
| Semantic Release | SEMREL_ | Version management |
Generate the .gitlab-ci.yml with selected templates.
Each template has variables with these properties:
| Property | Description |
|---|---|
name | Variable name (e.g., PYTHON_IMAGE) |
default | Default value |
type | text, url, boolean, enum, number |
mandatory | Required to use template |
secret | Store in CI/CD settings, not in file |
advanced | Only show in advanced mode |
Templates have toggleable features:
# Feature enabled by default - disable with:
inputs:
lint-disabled: true
# Feature disabled by default - enable with:
inputs:
publish-enabled: true
Templates may have variants for additional functionality:
| Variant | Available In | Purpose |
|---|---|---|
| Vault | Most templates | HashiCorp Vault secrets |
| OIDC | AWS, Azure, GCP | OpenID Connect auth |
| Google Cloud | Ansible, Python, Helm, K8s, Terraform | GCP authentication |
| AWS | Python, Terraform | AWS authentication |
| GitLab Pages | MkDocs, Sphinx, DBT | Publish to GitLab Pages |
| Jib | Maven | Build Docker images with Jib |
include:
# Python template
- component: $CI_SERVER_FQDN/to-be-continuous/python/python@7
inputs:
image: "python:3.12-slim"
build-system: "poetry"
pytest-enabled: true
bandit-enabled: true
# Python template (Vault variant)
- component: $CI_SERVER_FQDN/to-be-continuous/python/python-vault@7
inputs:
vault-base-url: "https://vault.example.com"
# secret variables
# (define the variables below in your GitLab group/project variables)
# VAULT_ROLE_ID: The AppRole RoleID
# VAULT_SECRET_ID: The AppRole SecretID
include:
# Python template
- project: "to-be-continuous/python"
ref: "7.5"
file: "templates/gitlab-ci-python.yml"
# secret variables
# SONAR_TOKEN: SonarQube authentication token
variables:
PYTHON_IMAGE: "python:3.12-slim"
PYTHON_BUILD_SYSTEM: "poetry"
PYTEST_ENABLED: "true"
include:
# Python template
- remote: "https://gitlab.com/to-be-continuous/python/-/raw/7.5/templates/gitlab-ci-python.yml"
variables:
PYTHON_IMAGE: "python:3.12-slim"
For component mode, transform variable names:
PYTHON_IMAGE → IMAGEIMAGE → imageBUILD_SYSTEM → build-systemExamples:
PYTHON_IMAGE → imagePYTHON_BUILD_SYSTEM → build-systemPYTEST_ENABLED → pytest-enabledGO_CI_LINT_DISABLED → ci-lint-disabledstages:
- build
- test
- package-build
- package-test
- infra
- deploy
- acceptance
- publish
- infra-prod
- production
Deployment templates support 4 environments:
| Environment | Variable Prefix | Branch | Purpose |
|---|---|---|---|
| review | {PREFIX}_REVIEW_ | Feature | Dynamic review apps |
| integration | {PREFIX}_INTEG_ | develop | CI environment |
| staging | {PREFIX}_STAGING_ | main | Pre-production |
| production | {PREFIX}_PROD_ | main | Production |
Pre-configured variable sets for common services:
| Preset | Variables Set |
|---|---|
| SonarCloud | SONAR_HOST_URL: https://sonarcloud.io |
| OpenShift Sandbox | OS_URL, K8S_URL for RedHat sandbox |
For detailed template configurations:
references/build-templates.md - All 15 build templates with full variablesreferences/deployment-templates.md - 12 templates (1 infrastructure + 11 hosting) with variantsreferences/analysis-templates.md - 23 templates (7 analysis + 3 packaging + 10 acceptance + 3 misc/publish)references/presets.md - Pre-configured settings for SonarCloud, OpenShift SandboxWorking configurations in examples/:
python-docker-k8s.yml - Python + Docker + Helmnode-sonar-docker.yml - Node.js + SonarQube + Dockerterraform-aws.yml - Terraform + AWS with OIDCjava-maven-cf.yml - Maven + Cloud Foundryschemas/{template}.json to get valid inputs, components, and versions.gitlab-ci.ymlschemas/{template}.json to get valid inputs, components, and versionscomponent mode for GitLab 16.0+minor version for balance of updates and stabilityThis skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.