MCPInstall

secrets-vault-manager

Use when the user asks to set up secret management infrastructure, integrate HashiCorp Vault, configure cloud secret stores (AWS Secrets Manager, Azure Key Vault, GCP Secret Manager), implement secret rotation, or audit secret access patterns.

Installs
698
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/alirezarezvani/claude-skills --skill secrets-vault-manager
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads secrets-vault-manager automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Secrets Vault Manager

Tier: POWERFUL Category: Engineering Domain: Security / Infrastructure / DevOps


Overview

Production secret infrastructure management for teams running HashiCorp Vault, cloud-native secret stores, or hybrid architectures. This skill covers policy authoring, auth method configuration, automated rotation, dynamic secrets, audit logging, and incident response.

Distinct from env-secrets-manager which handles local .env file hygiene and leak detection. This skill operates at the infrastructure layer — Vault clusters, cloud KMS, certificate authorities, and CI/CD secret injection.

When to Use

  • Standing up a new Vault cluster or migrating to a managed secret store
  • Designing auth methods for services, CI runners, and human operators
  • Implementing automated credential rotation (database, API keys, certificates)
  • Auditing secret access patterns for compliance (SOC 2, ISO 27001, HIPAA)
  • Responding to a secret leak that requires mass revocation
  • Integrating secrets into Kubernetes workloads or CI/CD pipelines

HashiCorp Vault Patterns

Architecture Decisions

DecisionRecommendationRationale
Deployment modeHA with Raft storageNo external dependency, built-in leader election
Auto-unsealCloud KMS (AWS KMS / Azure Key Vault / GCP KMS)Eliminates manual unseal, enables automated restarts
NamespacesOne per environment (dev/staging/prod)Blast-radius isolation, independent policies
Audit devicesFile + syslog (dual)Vault refuses requests if all audit devices fail — dual prevents outages

Auth Methods

AppRole — Machine-to-machine authentication for services and batch jobs.

# Enable AppRole
path "auth/approle/*" {
  capabilities = ["create", "read", "update", "delete", "list"]
}

# Application-specific role
vault write auth/approle/role/payment-service \
  token_ttl=1h \
  token_max_ttl=4h \
  secret_id_num_uses=1 \
  secret_id_ttl=10m \
  token_policies="payment-service-read"

Kubernetes — Pod-native authentication via service account tokens.

vault write auth/kubernetes/role/api-server \
  bound_service_account_names=api-server \
  bound_service_account_namespaces=production \
  policies=api-server-secrets \
  ttl=1h

OIDC — Human operator access via SSO provider (Okta, Azure AD, Google Workspace).

vault write auth/oidc/role/engineering \
  bound_audiences="vault" \
  allowed_redirect_uris="https://vault.example.com/ui/vault/auth/oidc/oidc/callback" \
  user_claim="email" \
  oidc_scopes="openid,profile,email" \
  policies="engineering-read" \
  ttl=8h

Secret Engines

EngineUse CaseTTL Strategy
KV v2Static secrets (API keys, config)Versioned, manual rotation
DatabaseDynamic DB credentials1h default, 24h max
PKITLS certificates90d leaf certs, 5y intermediate CA
TransitEncryption-as-a-serviceKey rotation every 90d
SSHSigned SSH certificates30m for interactive, 8h for automation

Policy Design

Follow least-privilege with path-based granularity:

# payment-service-read policy
path "secret/data/production/payment/*" {
  capabilities = ["read"]
}

path "database/creds/payment-readonly" {
  capabilities = ["read"]
}

# Deny access to admin paths explicitly
path "sys/*" {
  capabilities = ["deny"]
}

Policy naming convention: {service}-{access-level} (e.g., payment-service-read, api-gateway-admin).


Cloud Secret Store Integration

Comparison Matrix

FeatureAWS Secrets ManagerAzure Key VaultGCP Secret Manager
RotationBuilt-in LambdaCustom logic via FunctionsCloud Functions
VersioningAutomaticManual or automaticAutomatic
EncryptionAWS KMS (default or CMK)HSM-backedGoogle-managed or CMEK
Access controlIAM policies + resource policyRBAC + Access PoliciesIAM bindings
Cross-regionReplication supportedGeo-redundant by defaultReplication supported
AuditCloudTrailAzure Monitor + Diagnostic LogsCloud Audit Logs
Pricing modelPer-secret + per-API callPer-operation + per-keyPer-secret version + per-access

When to Use Which

  • AWS Secrets Manager: RDS/Aurora credential rotation out of the box. Best when fully on AWS.
  • Azure Key Vault: Certificate management strength. Required for Azure AD integrated workloads.
  • GCP Secret Manager: Simplest API surface. Best for GKE-native workloads with Workload Identity.
  • HashiCorp Vault: Multi-cloud, dynamic secrets, PKI, transit encryption. Best for complex or hybrid environments.

SDK Access Patterns

Principle: Always fetch secrets at startup or via sidecar — never bake into images or config files.

# AWS Secrets Manager pattern
import boto3, json

def get_secret(secret_name, region="us-east-1"):
    client = boto3.client("secretsmanager", region_name=region)
    response = client.get_secret_value(SecretId=secret_name)
    return json.loads(response["SecretString"])
# GCP Secret Manager pattern
from google.cloud import secretmanager

def get_secret(project_id, secret_id, version="latest"):
    client = secretmanager.SecretManagerServiceClient()
    name = f"projects/{project_id}/secrets/{secret_id}/versions/{version}"
    response = client.access_secret_version(request={"name": name})
    return response.payload.data.decode("UTF-8")
# Azure Key Vault pattern
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient

def get_secret(vault_url, secret_name):
    credential = DefaultAzureCredential()
    client = SecretClient(vault_url=vault_url, credential=credential)
    return client.get_secret(secret_name).value

Secret Rotation Workflows

Rotation Strategy by Secret Type

Secret TypeRotation FrequencyMethodDowntime Risk
Database passwords30 daysDual-account swapZero (A/B rotation)
API keys90 daysGenerate new, deprecate oldZero (overlap window)
TLS certificates60 days before expiryACME or Vault PKIZero (graceful reload)
SSH keys90 daysVault-signed certificatesZero (CA-based)
Service tokens24 hoursDynamic generationZero (short-lived)
Encryption keys90 daysKey versioning (rewrap)Zero (version coexistence)

Database Credential Rotation (Dual-Account)

  1. Two database accounts exist: app_user_a and app_user_b
  2. Application currently uses app_user_a
  3. Rotation rotates app_user_b password, updates secret store
  4. Application switches to app_user_b on next credential fetch
  5. After grace period, app_user_a password is rotated
  6. Cycle repeats

API Key Rotation (Overlap Window)

  1. Generate new API key with provider
  2. Store new key in secret store as current, move old to previous
  3. Deploy applications — they read current
  4. After all instances restarted (or TTL expired), revoke previous
  5. Monitoring confirms zero usage of old key before revocation

Dynamic Secrets

Dynamic secrets are generated on-demand with automatic expiration. Prefer dynamic secrets over static credentials wherever possible.

Database Dynamic Credentials (Vault)

# Configure database engine
vault write database/config/postgres \
  plugin_name=postgresql-database-plugin \
  connection_url="postgresql://{{username}}:{{password}}@db.example.com:5432/app" \
  allowed_roles="app-readonly,app-readwrite" \
  username="vault_admin" \
  password="<admin-password>"

# Create role with TTL
vault write database/roles/app-readonly \
  db_name=postgres \
  creation_statements="CREATE ROLE \"{{name}}\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}'; GRANT SELECT ON ALL TABLES IN SCHEMA public TO \"{{name}}\";" \
  default_ttl=1h \
  max_ttl=24h

Cloud IAM Dynamic Credentials

Vault can generate short-lived AWS IAM credentials, Azure service principal passwords, or GCP service account keys — eliminating long-lived cloud credentials entirely.

SSH Certificate Authority

Replace SSH key distribution with a Vault-signed certificate model:

  1. Vault acts as SSH CA
  2. Users/machines request signed certificates with short TTL (30 min)
  3. SSH servers trust the CA public key — no authorized_keys management
  4. Certificates expire automatically — no revocation needed for normal operations

Audit Logging

What to Log

EventPriorityRetention
Secret read accessHIGH1 year minimum
Secret creation/updateHIGH1 year minimum
Auth method loginMEDIUM90 days
Policy changesCRITICAL2 years (compliance)
Failed access attemptsCRITICAL1 year
Token creation/revocationMEDIUM90 days
Seal/unseal operationsCRITICALIndefinite

Anomaly Detection Signals

  • Secret accessed from new IP/CIDR range
  • Access volume spike (>3x baseline for a path)
  • Off-hours access for human auth methods
  • Service accessing secrets outside its policy scope (denied requests)
  • Multiple failed auth attempts from single source
  • Token created with unusually long TTL

Compliance Reporting

Generate periodic reports covering:

  1. Access inventory — Which identities accessed which secrets, when
  2. Rotation compliance — Secrets overdue for rotation
  3. Policy drift — Policies modified since last review
  4. Orphaned secrets — Secrets with no recent access (>90 days)

Use audit_log_analyzer.py to parse Vault or cloud audit logs for these signals.


Emergency Procedures

Secret Leak Response (Immediate)

Time target: Contain within 15 minutes of detection.

  1. Identify scope — Which secret(s) leaked, where (repo, log, error message, third party)
  2. Revoke immediately — Rotate the compromised credential at the source (provider API, Vault, cloud SM)
  3. Invalidate tokens — Revoke all Vault tokens that accessed the leaked secret
  4. Audit blast radius — Query audit logs for usage of the compromised secret in the exposure window
  5. Notify stakeholders — Security team, affected service owners, compliance (if PII/regulated data)
  6. Post-mortem — Document root cause, update controls to prevent recurrence

Vault Seal Operations

When to seal: Active security incident affecting Vault infrastructure, suspected key compromise.

Sealing stops all Vault operations. Use only as last resort.

Unseal procedure:

  1. Gather quorum of unseal key holders (Shamir threshold)
  2. Or confirm auto-unseal KMS key is accessible
  3. Unseal via vault operator unseal or restart with auto-unseal
  4. Verify audit devices reconnected
  5. Check active leases and token validity

See references/emergency_procedures.md for complete playbooks.


CI/CD Integration

Vault Agent Sidecar (Kubernetes)

Vault Agent runs alongside application pods, handles authentication and secret rendering:

# Pod annotation for Vault Agent Injector
annotations:
  vault.hashicorp.com/agent-inject: "true"
  vault.hashicorp.com/role: "api-server"
  vault.hashicorp.com/agent-inject-secret-db: "database/creds/app-readonly"
  vault.hashicorp.com/agent-inject-template-db: |
    {{- with secret "database/creds/app-readonly" -}}
    postgresql://{{ .Data.username }}:{{ .Data.password }}@db:5432/app
    {{- end }}

External Secrets Operator (Kubernetes)

For teams preferring declarative GitOps over agent sidecars:

apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: api-credentials
spec:
  refreshInterval: 1h
  secretStoreRef:
    name: vault-backend
    kind: ClusterSecretStore
  target:
    name: api-credentials
  data:
    - secretKey: api-key
      remoteRef:
        key: secret/data/production/api
        property: key

GitHub Actions OIDC

Eliminate long-lived secrets in CI by using OIDC federation:

- name: Authenticate to Vault
  uses: hashicorp/vault-action@v2
  with:
    url: https://vault.example.com
    method: jwt
    role: github-ci
    jwtGithubAudience: https://vault.example.com
    secrets: |
      secret/data/ci/deploy api_key | DEPLOY_API_KEY ;
      secret/data/ci/deploy db_password | DB_PASSWORD

Anti-Patterns

Anti-PatternRiskCorrect Approach
Hardcoded secrets in source codeLeak via repo, logs, error outputFetch from secret store at runtime
Long-lived static tokens (>30 days)Stale credentials, no accountabilityDynamic secrets or short TTL + rotation
Shared service accountsNo audit trail per consumerPer-service identity with unique credentials
No rotation policyCompromised creds persist indefinitelyAutomated rotation on schedule
Secrets in environment variables on CIVisible in build logs, process tableVault Agent or OIDC-based injection
Single unseal key holderBus factor of 1, recovery blockedShamir split (3-of-5) or auto-unseal
No audit device configuredZero visibility into accessDual audit devices (file + syslog)
Wildcard policies (path "*")Over-permissioned, violates least privilegeExplicit path-based policies per service

Tools

ScriptPurpose
vault_config_generator.pyGenerate Vault policy and auth config from application requirements
rotation_planner.pyCreate rotation schedule from a secret inventory file
audit_log_analyzer.pyAnalyze audit logs for anomalies and compliance gaps

Cross-References

  • env-secrets-manager — Local .env file hygiene, leak detection, drift awareness
  • senior-secops — Security operations, incident response, threat modeling
  • ci-cd-pipeline-builder — Pipeline design where secrets are consumed
  • docker-development — Container secret injection patterns
  • helm-chart-builder — Kubernetes secret management in Helm charts

FAQ

What does the secrets-vault-manager skill do?

Use when the user asks to set up secret management infrastructure, integrate HashiCorp Vault, configure cloud secret stores (AWS Secrets Manager, Azure Key Vault, GCP Secret Manager), implement secret rotation, or audit secret access patterns.

How do I install secrets-vault-manager?

Run npx skills add https://github.com/alirezarezvani/claude-skills --skill secrets-vault-manager in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/secrets-vault-manager/ (personal) or .claude/skills/secrets-vault-manager/ (project).

Which AI agents can use secrets-vault-manager?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is secrets-vault-manager safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains secrets-vault-manager?

It is published by alirezarezvani in alirezarezvani/claude-skills. It has 698 recorded installs.

More from alirezarezvani/claude-skills

View all →

engineering-skills

alirezarezvani/claude-skills

Index of the engineering-team skills bundle for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw, and 6 more tools. Architecture, frontend, backend, QA, DevOps, security, AI/ML, data engineering, Playwright, Stripe, AWS, MS365 (stdlib-only Python tools). Use when browsing or choosing among engineering-team role skills — load only the one specialist SKILL.md you need, never bulk-load the bundle.

Backend & APIs2.4K installs

finance-skills

alirezarezvani/claude-skills

Router/index for the finance skills bundled in this plugin: financial-analyst (ratio analysis, DCF valuation, budget variance, rolling forecasts), saas-metrics-coach (ARR/MRR, churn, CAC/LTV, NRR, quick ratio) and month-end-close (close calendar, reconciliations, flux review). Use when a finance request doesn't obviously match one skill and you need to pick the right one (e.g., 'analyze these financials', 'how healthy are my SaaS metrics').

Business & Finance2.3K installs

marketing-skills

alirezarezvani/claude-skills

Directory and router for the marketing skills library. Use when you need to find the right marketing skill for a task, see what marketing capabilities exist, or get oriented in this plugin. 44 specialist skills across 8 pods (content, SEO + AEO, CRO, channels, growth, intelligence, sales enablement, ops), 59 stdlib Python tools. Routes to one skill — it does not execute marketing work itself.

Marketing & SEO2.3K installs

business-growth-skills

alirezarezvani/claude-skills

Router/index for the 4 business & growth skills bundled in this plugin: customer-success-manager (health scoring, churn risk, expansion), sales-engineer (RFP analysis, competitive matrices, PoC planning), revenue-operations (pipeline, forecast accuracy, GTM efficiency), and contract-and-proposal-writer. Use when a growth/revenue request doesn't obviously match one skill and you need to pick the right one (e.g., 'which accounts are at risk', 'should we bid on this RFP').

Business & Finance2.2K installs

engineering-advanced-skills

alirezarezvani/claude-skills

Index of 37 advanced engineering agent skills for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw. Use when browsing or choosing among the POWERFUL-tier engineering skills: agent design, RAG, MCP servers, CI/CD, database design, observability, security auditing, changelog/release automation, reliability (SLO/chaos/flags/operators), platform ops.

AI & Agents2K installs

product-skills

alirezarezvani/claude-skills

Use when coordinating product work across the 12 bundled product sub-skills (RICE, OKRs, UX research, design tokens, competitive teardown, analytics, experiments, discovery, roadmaps, spec-to-repo, landing pages, SaaS scaffolding) or the 4 standalone product-team plugins (user stories, Apple HIG, code-to-PRD, research summarizer). Triggers on 'help me prioritize', 'plan a product experiment', 'we ship features nobody uses', 'run the discovery loop', 'is our OST sound'. Forks context to route to one sub-skill via a deterministic signal router and returns a digest; can also drive a continuous-discovery loop (Torres cadence tracker + OST linter as machine gates) or a full goal→plan→execute→verify→close run through the repo-wide agent-harness. Distinct from project-management (how to deliver vs what to build), marketing/landing (from-scratch pages), and engineering/agent-harness (the generic loop engine this orchestrator plugs into).

Popular security skills

View category →

azure-compliance

microsoft/azure-skills

Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.

OfficialSecurity567K installs

minimal-run-and-audit

lllllllama/rigorpilot-skills

Rigor Run skill for README-first deep learning repo reproduction. Use when the task is specifically to capture or normalize evidence from the selected smoke test or documented inference or evaluation command and write standardized reprooutputs/ files, including patch notes when repository files changed. Do not use for training execution, initial repo intake, generic environment setup, paper lookup, target selection, hidden scientific-meaning changes, or end-to-end orchestration by itself.

Security477.4K installs

seo-audit

coreyhaines31/marketingskills

When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," "indexing issues," "stuck on page 2," "striking distance keywords," "title tag rewrite," "low CTR," "local SEO," "Google Business Profile," or "map pack." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema. For AI search optimization, see ai-seo.

Security238.7K installs

firebase-security-rules-auditor

firebase/agent-skills

Audits Firebase (Firestore, Cloud Storage) security rules for vulnerabilities, privilege escalation, role bypasses, create vs update inconsistencies, resource exhaustion, type safety, size limits, and hasOnly ownership checks. Use when auditing/reviewing rules, running red-team rule assessments, or scoring against auditor checklists. Don't use for Firebase CLI (login, deploy), Auth, Crashlytics, Remote Config, or database queries.

OfficialSecurity139.1K installs

audit

pbakaus/impeccable

Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns. Generates a scored report with P0-P3 severity ratings and actionable plan. Use when the user wants an accessibility check, performance audit, or technical quality review.

Security81.9K installs

competitors

coreyhaines31/marketingskills

When the user wants to create competitor comparison or alternative pages for SEO and buyer-facing use. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'competitor teardown,' 'audit our competitor pages,' 'are our comparison pages out of date,' or 'competitive asset audit.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For auditing existing claims (not researching competitors from scratch, which is competitor-profiling; not technical SEO on these pages, which is seo-audit), use the asset audit here. For internal battle cards and sales-specific competitor docs, see sales-enablement.

Security79.3K installs