.github/skills/tsh-managing-secrets/SKILL.md
Secrets management patterns for cloud and Kubernetes environments. Use when implementing secure credential storage, rotation, or CI/CD authentication.
npx skillsauth add thesoftwarehouse/copilot-collections tsh-managing-secretsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Scenario | Recommended Solution | |----------|---------------------| | Single cloud, simple apps | Cloud-native (AWS Secrets Manager, Azure Key Vault, GCP Secret Manager) | | Multi-cloud / hybrid | HashiCorp Vault | | GitOps with Kubernetes | Sealed Secrets or External Secrets Operator | | Local dev / small teams | SOPS with age/GPG | | CI/CD → Cloud | OIDC federation (no long-lived keys) |
Check which cloud provider the project uses:
*.tf with provider "aws" → AWS Secrets Manager*.tf with provider "azurerm" → Azure Key Vault*.tf with provider "google" → GCP Secret ManagerUse context7 or cloud documentation MCP to look up provider-specific syntax.
Check for existing patterns:
SealedSecret resources → Bitnami Sealed SecretsExternalSecret resources → External Secrets Operator*.enc.yaml files → SOPS encryptionvault-agent sidecars → HashiCorp Vault| CI Platform | Cloud | Approach |
|-------------|-------|----------|
| GitHub Actions | AWS | OIDC with aws-actions/configure-aws-credentials |
| GitHub Actions | Azure | OIDC with azure/login |
| GitHub Actions | GCP | OIDC with google-github-actions/auth |
| GitLab CI | AWS/GCP | OIDC with CI_JOB_JWT |
| Bitbucket | AWS | Repository variables + assume role |
| Any | Any | HashiCorp Vault with JWT/OIDC auth |
Rule: Always prefer OIDC federation over long-lived access keys.
context7 or cloud MCP for current syntax| ❌ Don't | ✅ Do |
|----------|-------|
| Hardcode secrets in code | Use secret references |
| Commit .env files | Use .env.example with placeholders |
| Share secrets via Slack/email | Use secret manager with access control |
| Same secret across environments | Separate secrets per environment |
| Long-lived CI/CD credentials | OIDC federation with short-lived tokens |
| Secrets in ConfigMaps | Use Kubernetes Secrets (encrypted at rest) |
tsh-implementing-ci-cd - For pipeline credential setuptsh-implementing-terraform-modules - For IaC secret resource patternstsh-optimizing-cloud-cost - Secret manager pricing considerationsdevelopment
Custom hook and composable patterns — naming, composition, stable return shapes, lifecycle cleanup, and testing strategies. Use when writing reusable logic units (React hooks, Vue composables), refactoring logic into hooks, debugging hook behavior, or reviewing hook implementations.
testing
UI verification criteria, structure checklists, severity definitions, and tolerance rules for comparing implementations against Figma designs. Use for verifying UI matches design, understanding what to check, and determining acceptable differences.
development
Clean raw workshop or meeting transcripts from small talk, filler words, and off-topic tangents. Extract and structure business-relevant content into a standardized format with discussion topics, key decisions, action items, and open questions.
development
Discover and establish technical context before implementing any feature. Prioritize project instructions, existing codebase patterns, and external documentation in that order. Use for any task requiring understanding of project conventions, coding standards, architecture patterns, and established practices before writing code.