/jenkinsfile-generator
Generate/create/scaffold Jenkinsfile — declarative, scripted, shared library, CI/CD pipelines.
$ npx -y skills add akin-ozer/cc-devops-skills --skill jenkinsfile-generator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/jenkinsfile-generator
Context preview
The summary Claude sees to decide when to auto-load this skill.
Generate/create/scaffold Jenkinsfile — declarative, scripted, shared library, CI/CD pipelines.
SKILL.md
jenkinsfile-generator.SKILL.mdname: jenkinsfile-generator
description: Generate/create/scaffold Jenkinsfile — declarative, scripted, shared library, CI/CD pipelines.
Jenkinsfile Generator Skill
Generate production-ready Jenkinsfiles following best practices. All generated files are validated using devops-skills:jenkinsfile-validator skill.
Trigger Phrases
- "Generate a CI pipeline for Maven/Gradle/npm"
- "Create a Jenkins deployment pipeline with approvals"
- "Build a Jenkinsfile with parallel test stages"
- "Create a scripted pipeline with dynamic stage logic"
- "Scaffold a Jenkins shared library"
- "Generate a Jenkinsfile for Docker or Kubernetes agents"
When to Use
- Creating new Jenkinsfiles (declarative or scripted)
- CI/CD pipelines, Docker/Kubernetes deployments
- Parallel execution, matrix builds, parameterized pipelines
- DevSecOps pipelines with security scanning
- Shared library scaffolding
Declarative vs Scripted Decision Tree
1. Choose **Declarative** by default when stage order and behavior are mostly static. 2. Choose **Scripted** when runtime-generated stages, complex loops, or dynamic control flow are required. 3. Choose **Shared Library scaffolding** when request is about reusable pipeline functions (`vars/`, `src/`, `resources/`). 4. If unsure, start Declarative and only switch to Scripted if requirements cannot be expressed cleanly.
Template Map
| Template | Path | Use When | |---|---|---| | Declarative basic | `assets/templates/declarative/basic.Jenkinsfile` | Standard CI/CD with predictable stages | | Declarative parallel example | `examples/declarative-parallel.Jenkinsfile` | Parallel test/build branches with fail-fast behavior | | Declarative kubernetes example | `examples/declarative-kubernetes.Jenkinsfile` | Kubernetes agent execution using pod templates | | Scripted basic | `assets/templates/scripted/basic.Jenkinsfile` | Complex conditional logic or generated stages | | Shared library scaffold | Generated by `scripts/generate_shared_library.py` | Reusable pipeline functions and organization-wide patterns |
Quick Reference
// Minimal Declarative Pipeline
pipeline {
agent any
stages {
stage('Build') { steps { sh 'make' } }
stage('Test') { steps { sh 'make test' } }
}
}
// Error-tolerant stage
stage('Flaky Tests') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
sh 'run-flaky-tests.sh'
}
}
}
// Conditional deployment with approval
stage('Deploy') {
when { branch 'main'; beforeAgent true }
input { message 'Deploy to production?' }
steps { sh './deploy.sh' }
}| Option | Purpose | |--------|---------| | `timeout(time: 1, unit: 'HOURS')` | Prevent hung builds | | `buildDiscarder(logRotator(numToKeepStr: '10'))` | Manage disk space | | `disableConcurrentBuilds()` | Prevent race conditions | | `catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE')` | Continue on error |
Core Capabilities
1. Declarative Pipelines (RECOMMENDED)
**Process:** 1. **Read templates for structure reference:**
- Read `assets/templates/declarative/basic.Jenkinsfile` to understand the standard structure
- Templates show the expected sections: pipeline → agent → environment → options → parameters → stages → post
- For complex requests, adapt the structure rather than copying verbatim
2. **Consult reference documentation:**
- Read `references/best_practices.md` for performance, security, and reliability patterns
- Read `references/common_plugins.md` for plugin-specific syntax
3. **Generate with required elements:**
- Proper stages with descriptive names
- Environment block with credentials binding (never hardcode secrets)
- Options: timeout, buildDiscarder, timestamps, disableConcurrentBuilds
- Post conditions: always (cleanup), success (artifacts), failure (notifications)
- **Always add `failFast true` or `parallelsAlwaysFailFast()` for parallel blocks**
- **Always include `fingerprint: true` when using `archiveArtifacts`**
4. **ALWAYS validate** using devops-skills:jenkinsfile-validator skill
2. Scripted Pipelines
**When:** Complex conditional logic, dynamic generation, full Groovy control **Process:** 1. **Read templates for structure reference:**
- Read `assets/templates/scripted/basic.Jenkinsfile` for node/stage patterns
- Understand try-catch-finally structure for error handling
2. Implement try-catch-finally for error handling 3. **ALWAYS validate** using devops-skills:jenkinsfile-validator skill
3. Parallel/Matrix Pipelines
Use `parallel {}` block or `matrix {}` with `axes {}` for multi-dimensional builds.
- Default behavior is fail-fast for generated parallel pipelines (`parallelsAlwaysFailFast()` or stage-level `failFast true`).
4. Security Scanning (DevSecOps)
Add SonarQube, OWASP Dependency-Check, Trivy stages with fail thresholds.
5. Shared Library Scaffolding
python3 scripts/generate_shared_library.py --name my-library --package org.example
Declarative Syntax Reference
Agent Types
agent any // Any available agent
agent { label 'linux && docker' } // Label-based
agent { docker { image 'maven:3.9.11-eclipse-temurin-21' } }
agent { kubernetes { yaml '...' } } // K8s pod template
agent { kubernetes { yamlFile 'pod.yaml' } } // External YAMLEnvironment & Credentials
environment {
VERSION = '1.0.0'
AWS_KEY = credentials('aws-key-id') // Creates _USR and _PSW vars
}Options
options {
buildDiscarder(logRotator(numToKeepStr: '10'))
timeout(time: 1, unit: 'HOURS')
disableConcurrentBuilds()
timestamps()
parallelsAlwaysFailFast()
durabilityHint('PERFORMANCE_OPTIMIZED') // 2-6x faster for simple pipelines
}Parameters
parameters {
string(name: 'VERSION', defaultValue: '1.0.0')
choice(name: 'ENV', choices: ['dev', 'staging', 'Read more
name: jenkinsfile-generator description: Generate/create/scaffold Jenkinsfile — declarative, scripted, shared library, CI/CD pipelines.
Jenkinsfile Generator Skill
Generate production-ready Jenkinsfiles following best practices. All generated files are validated using devops-skills:jenkinsfile-validator skill.
Trigger Phrases
- "Generate a CI pipeline for Maven/Gradle/npm"
- "Create a Jenkins deployment pipeline with approvals"
- "Build a Jenkinsfile with parallel test stages"
- "Create a scripted pipeline with dynamic stage logic"
- "Scaffold a Jenkins shared library"
- "Generate a Jenkinsfile for Docker or Kubernetes agents"
When to Use
- Creating new Jenkinsfiles (declarative or scripted)
- CI/CD pipelines, Docker/Kubernetes deployments
- Parallel execution, matrix builds, parameterized pipelines
- DevSecOps pipelines with security scanning
- Shared library scaffolding
Declarative vs Scripted Decision Tree
1. Choose **Declarative** by default when stage order and behavior are mostly static. 2. Choose **Scripted** when runtime-generated stages, complex loops, or dynamic control flow are required. 3. Choose **Shared Library scaffolding** when request is about reusable pipeline functions (`vars/`, `src/`, `resources/`). 4. If unsure, start Declarative and only switch to Scripted if requirements cannot be expressed cleanly.
Template Map
| Template | Path | Use When | |---|---|---| | Declarative basic | `assets/templates/declarative/basic.Jenkinsfile` | Standard CI/CD with predictable stages | | Declarative parallel example | `examples/declarative-parallel.Jenkinsfile` | Parallel test/build branches with fail-fast behavior | | Declarative kubernetes example | `examples/declarative-kubernetes.Jenkinsfile` | Kubernetes agent execution using pod templates | | Scripted basic | `assets/templates/scripted/basic.Jenkinsfile` | Complex conditional logic or generated stages | | Shared library scaffold | Generated by `scripts/generate_shared_library.py` | Reusable pipeline functions and organization-wide patterns |
Quick Reference
// Minimal Declarative Pipeline
pipeline {
agent any
stages {
stage('Build') { steps { sh 'make' } }
stage('Test') { steps { sh 'make test' } }
}
}
// Error-tolerant stage
stage('Flaky Tests') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
sh 'run-flaky-tests.sh'
}
}
}
// Conditional deployment with approval
stage('Deploy') {
when { branch 'main'; beforeAgent true }
input { message 'Deploy to production?' }
steps { sh './deploy.sh' }
}| Option | Purpose | |--------|---------| | `timeout(time: 1, unit: 'HOURS')` | Prevent hung builds | | `buildDiscarder(logRotator(numToKeepStr: '10'))` | Manage disk space | | `disableConcurrentBuilds()` | Prevent race conditions | | `catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE')` | Continue on error |
Core Capabilities
1. Declarative Pipelines (RECOMMENDED)
**Process:** 1. **Read templates for structure reference:**
- Read `assets/templates/declarative/basic.Jenkinsfile` to understand the standard structure
- Templates show the expected sections: pipeline → agent → environment → options → parameters → stages → post
- For complex requests, adapt the structure rather than copying verbatim
2. **Consult reference documentation:**
- Read `references/best_practices.md` for performance, security, and reliability patterns
- Read `references/common_plugins.md` for plugin-specific syntax
3. **Generate with required elements:**
- Proper stages with descriptive names
- Environment block with credentials binding (never hardcode secrets)
- Options: timeout, buildDiscarder, timestamps, disableConcurrentBuilds
- Post conditions: always (cleanup), success (artifacts), failure (notifications)
- **Always add `failFast true` or `parallelsAlwaysFailFast()` for parallel blocks**
- **Always include `fingerprint: true` when using `archiveArtifacts`**
4. **ALWAYS validate** using devops-skills:jenkinsfile-validator skill
2. Scripted Pipelines
**When:** Complex conditional logic, dynamic generation, full Groovy control **Process:** 1. **Read templates for structure reference:**
- Read `assets/templates/scripted/basic.Jenkinsfile` for node/stage patterns
- Understand try-catch-finally structure for error handling
2. Implement try-catch-finally for error handling 3. **ALWAYS validate** using devops-skills:jenkinsfile-validator skill
3. Parallel/Matrix Pipelines
Use `parallel {}` block or `matrix {}` with `axes {}` for multi-dimensional builds.
- Default behavior is fail-fast for generated parallel pipelines (`parallelsAlwaysFailFast()` or stage-level `failFast true`).
4. Security Scanning (DevSecOps)
Add SonarQube, OWASP Dependency-Check, Trivy stages with fail thresholds.
5. Shared Library Scaffolding
python3 scripts/generate_shared_library.py --name my-library --package org.example
Declarative Syntax Reference
Agent Types
agent any // Any available agent
agent { label 'linux && docker' } // Label-based
agent { docker { image 'maven:3.9.11-eclipse-temurin-21' } }
agent { kubernetes { yaml '...' } } // K8s pod template
agent { kubernetes { yamlFile 'pod.yaml' } } // External YAMLEnvironment & Credentials
environment {
VERSION = '1.0.0'
AWS_KEY = credentials('aws-key-id') // Creates _USR and _PSW vars
}Options
options {
buildDiscarder(logRotator(numToKeepStr: '10'))
timeout(time: 1, unit: 'HOURS')
disableConcurrentBuilds()
timestamps()
parallelsAlwaysFailFast()
durabilityHint('PERFORMANCE_OPTIMIZED') // 2-6x faster for simple pipelines
}Parameters
parameters {
string(name: 'VERSION', defaultValue: '1.0.0')
choice(name: 'ENV', choices: ['dev', 'staging', 'A practical skill pack for DevOps work in Claude Code and Codex desktop. This repository ships 31 skills: 16 generators for scaffolding production-ready configs 14 validators for linting, security checks, and dry-run validation 1 debugger (k8s-debug) for
Repo: akin-ozer/cc-devops-skills
Other skills on cc-devops-skills.
- /ansible-generator
Generate, create, or scaffold Ansible playbooks, roles, tasks, handlers, inventory, vars.
Open skill - /ansible-validator
Validate, lint, audit, or debug Ansible playbooks, roles, inventories, FQCN, tasks.
Open skill - /azure-pipelines-generator
Generate/create/scaffold azure-pipelines.yml, stages, jobs, steps, or reusable templates.
Open skill - /azure-pipelines-validator
Validate, lint, audit, or review azure-pipelines.yml — syntax, security, best practices.
Open skill - /bash-script-generator
Create, generate, write, or scaffold bash/shell scripts (.sh), automation, or CLI tools.
Open skill - /bash-script-validator
Validate, lint, audit, or fix bash/shell/.sh scripts via ShellCheck.
Open skill

