Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Secure secrets management practices for CI/CD pipelines using Vault, AWS Secrets Manager, and other tools.
Purpose
Implement secure secrets management in CI/CD pipelines without hardcoding sensitive information.
Use this skill when
Store API keys and credentials
Manage database passwords
Handle TLS certificates
Rotate secrets automatically
Implement least-privilege access
Do not use this skill when
You plan to hardcode secrets in source control
You cannot secure access to the secrets backend
You only need local development values without sharing
Instructions
Identify secret types, owners, and rotation requirements.
Choose a secrets backend and access model.
Integrate CI/CD or runtime retrieval with least privilege.
Validate rotation and audit logging.
Safety
Never commit secrets to source control.
Limit access and log secret usage for auditing.
Secrets Management Tools
HashiCorp Vault
Centralized secrets management
Dynamic secrets generation
Secret rotation
Audit logging
Fine-grained access control
AWS Secrets Manager
AWS-native solution
Automatic rotation
Integration with RDS
CloudFormation support
Azure Key Vault
Azure-native solution
HSM-backed keys
Certificate management
RBAC integration
Google Secret Manager
GCP-native solution
Versioning
IAM integration
HashiCorp Vault Integration
Setup Vault
# Start Vault dev server
vault server -dev
# Set environmentexport VAULT_ADDR='http://127.0.0.1:8200'export VAULT_TOKEN='root'# Enable secrets engine
vault secrets enable -path=secret kv-v2
# Store secret
vault kv put secret/database/config username=admin password=secret
GitHub Actions with Vault
name:DeploywithVaultSecretson: [push]
jobs:deploy:runs-on:ubuntu-lateststeps:-uses:actions/checkout@v4-name:ImportSecretsfromVaultuses:hashicorp/vault-action@v2with:url:https://vault.example.com:8200token:${{secrets.VAULT_TOKEN}}secrets:|
secret/data/database username | DB_USERNAME ;
secret/data/database password | DB_PASSWORD ;
secret/data/api key | API_KEY
-name:Usesecretsrun:|
echo "Connecting to database as $DB_USERNAME"
# Use $DB_PASSWORD, $API_KEY
GitLab CI with Vault
deploy:image:vault:latestbefore_script:-exportVAULT_ADDR=https://vault.example.com:8200-exportVAULT_TOKEN=$VAULT_TOKEN-apkaddcurljqscript:-|
DB_PASSWORD=$(vault kv get -field=password secret/database/config)
API_KEY=$(vault kv get -field=key secret/api/credentials)
echo "Deploying with secrets..."
# Use $DB_PASSWORD, $API_KEY