thesoftwarehouse/copilot-collections/tsh-implementing-ci-cd

Claude Code and agent skill by thesoftwarehouse/copilot-collections

Trust tier 3
  • community
Source check pending

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

CI/CD pipeline design patterns and deployment strategies. Use when designing pipelines, implementing deployment strategies, or setting up automated delivery.

Install

npx vskill@latest install thesoftwarehouse/copilot-collections/tsh-implementing-ci-cd

SKILL.md

CI/CD Pipeline Patterns

When to Use

  • Designing new CI/CD pipelines
  • Implementing deployment strategies (rolling, blue-green, canary)
  • Setting up GitOps workflows
  • Configuring secure CI/CD credentials

Platform Detection

Check which CI/CD platform the project uses:

  • .github/workflows/*.yml → GitHub Actions
  • bitbucket-pipelines.yml → Bitbucket Pipelines
  • .gitlab-ci.yml → GitLab CI
  • azure-pipelines.yml → Azure Pipelines
  • Jenkinsfile → Jenkins

Use context7 to look up platform-specific syntax for the detected platform.

Pipeline Structure

Lint → Test → Build → Deploy (staging) → Deploy (production)
↓
Artifacts & Caching

Rule: Each stage should be independent and cacheable.

Deployment Strategy Decision

StrategyUse WhenRollbackRisk
RollingStateless apps, can tolerate mixed versionsSlowLow
Blue-GreenNeed instant rollback, DB migrationsInstantLow
CanaryHigh traffic, want gradual validationInstantVery Low
RecreateDev/test, breaking changes onlySlowHigh

Credentials Strategy Decision

ScenarioApproach
AWS from GitHub/GitLabOIDC federation (no long-lived keys)
AWS from BitbucketRepository variables + IAM role
Multi-cloudHashiCorp Vault with CI/CD auth
Simple/small teamPlatform native secrets

Rule: Prefer OIDC federation over long-lived access keys. Use tsh-managing-secrets skill for implementation details.

Monorepo Strategy

ToolDetectionApproach
Nxnx.jsonnx affected --target=build
Turborepoturbo.jsonturbo run build --filter=...[origin/main]
None-Path filtering in CI config

Process

  1. Discover context → Use tsh-technical-context-discovering to find existing CI patterns
  2. Detect platform → Check for CI config files listed above
  3. Look up syntax → Use context7 for platform-specific YAML syntax
  4. Choose deployment strategy → Use decision table above
  5. Configure credentials → Use tsh-managing-secrets skill
  6. Validate → Run pipeline in dry-run/plan mode first

Checklist

  • [ ] Secrets stored in platform secret manager (not in code)
  • [ ] Caching configured for dependencies
  • [ ] Branch protection enabled on main/master
  • [ ] Environment approvals required for production
  • [ ] Rollback procedure documented
  • [ ] Pipeline uses pinned versions (not @latest)

Anti-Patterns

  • Storing secrets in code or logs
  • Skipping tests for "quick fixes"
  • Using latest tags in production images
  • Deploying without artifact verification
  • Direct pushes to main/master

Infrastructure as Code Pipelines

Terraform/Terragrunt Pipeline Structure
Lint (fmt) → Validate → Security Scan → Plan → [Manual Approval] → Apply
↓
Save Plan Artifact
↓
PR Comment with Diff

Rule: Never use local state in CI/CD. Always configure remote backend before pipeline runs.

Required Elements
ElementImplementationWhy
AWS Credentialsaws-actions/configure-aws-credentials@v4 with OIDCNo long-lived secrets
State BackendS3 + DynamoDB lockingPersistent state, concurrent access protection
Plan Artifactterraform plan -out=tfplan + upload artifactEnsure apply matches reviewed plan
PR Commentactions/github-script or terraform-pr-commenterReviewers see changes before merge
Security Scanaquasecurity/tfsec-action or bridgecrewio/checkov-actionCatch misconfigurations early
Production Guardenvironment: production with required reviewersHuman approval before infra changes
Cacheactions/cache for .terraform directoryFaster init, reduced API calls
GitHub Actions OIDC for AWS
yaml
permissions:
id-token: write
contents: read
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-arn: ${{ secrets.AWS_ROLE_ARN }}
aws-region: ${{ vars.AWS_REGION }}

Rule: Always use OIDC federation. Never store AWS access keys as secrets.

Environment Protection
yaml
apply:
runs-on: ubuntu-latest
needs: plan
environment: production # Requires manual approval
if: github.ref == 'refs/heads/main' && github.event_name == 'push'

Configure in GitHub: Settings → Environments → production → Required reviewers.

Plan Artifact Pattern
yaml
plan:
steps:
- run: terraform plan -out=tfplan
- uses: actions/upload-artifact@v4
with:
name: tfplan
path: tfplan
apply:
steps:
- uses: actions/download-artifact@v4
with:
name: tfplan
- run: terraform apply tfplan

Rule: Apply must use the exact plan that was reviewed, not regenerate it.

IaC Anti-Patterns
  • apply -auto-approve without environment protection gates
  • Repeating terraform init in every job without cache
  • Missing remote state backend configuration
  • No plan artifact between plan and apply jobs
  • Skipping security scanning (tfsec, checkov, trivy)
  • Using latest provider versions instead of pinned versions
  • Not posting plan output to PR for review
IaC Checklist
  • [ ] Remote state backend configured (S3/GCS/Azure Blob)
  • [ ] State locking enabled (DynamoDB/native)
  • [ ] OIDC federation for cloud credentials
  • [ ] Security scanning in pipeline (tfsec/checkov)
  • [ ] Plan artifact saved and reused in apply
  • [ ] Plan diff posted as PR comment
  • [ ] Environment protection on production
  • [ ] Provider versions pinned in versions.tf
  • [ ] .terraform directory cached between runs

Related Skills

  • tsh-managing-secrets - For credential configuration
  • tsh-technical-context-discovering - For finding existing patterns

Security

  • Security scanPassed, 100 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
266
Repository forks
18
7-day trend score
28

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/thesoftwarehouse/copilot-collections/tsh-implementing-ci-cd/badge)](https://verified-skill.com/skills/thesoftwarehouse/copilot-collections/tsh-implementing-ci-cd)

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