Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
日本語の概要は準備中です。原文の説明を表示しています。
When picking a secrets store, designing rotation, or wiring scanning gates — multi-cloud (Vault, AWS, Azure, GCP), CI and Kubernetes — decision framework, provider deep-dives externalized.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Decision framework for storing, rotating, and scanning secrets across cloud, CI, and Kubernetes. Provider deep-dives live upstream (links in § Provenance) — this skill is the predicate, not the per-vendor cookbook. Sunset-policy compliant.
Do NOT use when:
aws-infrastructure already covers the placement — route there.security-audit or threat-modeling.Ephemeral, dev-only, never leaves the laptop → .env (gitignored). Stop.
Single-cloud, single-app → that cloud's native store
(AWS Secrets Manager / Azure Key Vault /
GCP Secret Manager).
Multi-cloud OR on-prem hybrid → HashiCorp Vault (or cloud-agnostic equivalent).
CI-only (deploy keys, signing tokens) → GitHub/GitLab repo+environment secrets;
scope to environment (production/staging).
Kubernetes workload secrets → External Secrets Operator pulling from
the canonical store above; never hand-rolled
k8s `Secret` objects committed to git.
Cross-tenant / cross-org shared secret → don't. Re-architect; shared secrets are an
outage and a breach class on their own.
AI-agent / MCP-server credential → env-var indirection in the agent/MCP config
(`.mcp.json`, agent-config, CI YAML) — the
value lives in the store above; the config
holds only `${ENV_VAR}`. Never a raw key
inline, and the config path is gitignored if
it can hold one.
Application reads at boot → fetch once, hold in memory; re-fetch on rotation event.
Application reads per-request → cache with TTL ≤ rotation period / 2.
Short-lived workload (Lambda, Job) → fetch per-invocation; rely on platform IAM.
Long-lived workload → leased / dynamic credentials (Vault DB engine,
AWS IAM role) — never static creds.
Human access → no shared logins; per-user identity + audit.
Every secret MUST have:
Static secrets without a rotation mechanism are a deferred incident — refuse to merge.
Three layers, all required:
Pre-commit → gitleaks / TruffleHog / detect-secrets pre-commit hook.
CI → server-side scan on every PR; block merge on high-confidence finding.
Org policy → push-protection at the SCM (GitHub Advanced Security secret scanning,
GitLab Secret Detection); rotate any leaked secret immediately.
A leaked secret is rotated, not deleted. Git history retention defeats deletion.
Logs → mask before write; CI runners must mark secrets as masked.
Stack traces → never include secret values; sanitize at the boundary.
Error responses → never echo the secret back, even on failure.
Telemetry / APM → strip from request/response captures; allowlist headers.
The scanning gates (Step 4) are the CI/pre-commit nets. The earliest gate is
the agent itself: before it writes a credential into a tracked file or stages a
commit, the secret-vcs-guard rule runs the
secret_detector library and, on a hit,
STOPS → shows the match (file:line · kind · masked · why) → asks via numbered
options → offers the tiered alternative below. It never silently commits and
never silently strips. VCS-agnostic: the same detector runs against the diff for
git, SVN, and Mercurial (SVN/hg native hooks are server-side, a stronger but
later net). The deterministic CI backstop is check_secret_leak — the agent
gate is one layer, not the whole defense.
False positives — audited allowlist, never a global mute. Suppress a
confirmed non-secret with an inline # secret-allow marker on the line, or a
narrow entry (path or path:line) in a repo-root .secret-allow file. Each
.secret-allow entry SHOULD carry a one-line justification comment (# …) so it
is reviewable in the diff; the entry is line-scoped, so it cannot mute a new
secret elsewhere in the same file.
Tiered alternative to suggest when a secret is caught (refines Step 1 for the in-the-moment fix; cite OWASP Secrets Management Cheat Sheet + CWE-798 + 12-factor):
Solo / local, dev-only → gitignored .env + committed .env.example (keys, no values).
Team / production app → cloud secret manager (AWS/GCP/Azure) or Vault / Doppler.
Kubernetes / GitOps → SOPS (encrypt values in the committed file) or Sealed Secrets.
CI / deploy → OIDC federation to the cloud — no long-lived stored credential.
Order matters; a history rewrite does not un-leak an already-pushed secret:
git rm / a deletion commit is insufficient — the secret stays in history
(git log, blame, prior commits, clones, forks, CI logs).git filter-repo (preferred) or BFG Repo-Cleaner.Secret; that Secret is base64, not encrypted. Threat-model node access accordingly.pull_request events from forks — designs that rely on them silently break for external contributors..mcp.json, an agent-config file, or a CI workflow YAML is a committed secret — the scanning gates (Step 4) must cover those paths too, and the config should reference ${ENV_VAR}, never the literal. An MCP server that ingests untrusted content and holds a live key is the egress leg of the lethal trifecta — see lethal-trifecta-guard.ps exposes them) — use env or stdin.Secret objects committed to git — use External Secrets Operator.aws-infrastructure, security-audit, threat-modeling, security.agents/settings/contexts/skills-provenance.yml (entry: secrets-management).verify-before-complete, skill-quality, non-destructive-by-default.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.
日本語の概要は準備中です。原文の説明を表示しています。
Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.
日本語の概要は準備中です。原文の説明を表示しています。
Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.
日本語の概要は準備中です。原文の説明を表示しています。
Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.
日本語の概要は準備中です。原文の説明を表示しています。