Install
openclaw skills install devtools-secretsKnowledge and guardrails for the mise + fnox + infisical secrets toolchain. Use when the user asks to "configure secrets", "set up fnox", "infisical", "mise env", "secrets management", "environment variables for secrets", or mentions secret injection, secret providers, or env var hygiene.
openclaw skills install devtools-secretsKnowledge and guardrails for the mise + fnox + infisical secrets toolchain.
IMPORTANT: Check tool availability before proceeding with any guidance.
command -v mise >/dev/null 2>&1 && echo "INSTALLED ($(mise --version 2>/dev/null | head -1))" || echo "MISSING — install with: curl https://mise.run | sh"command -v fnox >/dev/null 2>&1 && echo "INSTALLED ($(fnox --version 2>/dev/null | head -1))" || echo "MISSING — install with: mise use -g fnox"command -v infisical >/dev/null 2>&1 && echo "INSTALLED ($(infisical --version 2>/dev/null | head -1))" || echo "MISSING — install with: mise use -g infisical"If any tool above shows MISSING, stop and help the user install it before proceeding. Do not provide configuration guidance for tools that aren't installed.
test -f fnox.toml && echo "YES" || echo "NO (run: fnox init)"test -f .infisical.json && cat .infisical.json || echo "NO (run: infisical init)"grep -A5 '^\[env\]' mise.toml 2>/dev/null || echo "No env section"test -f ~/.config/mise/config.toml && head -10 ~/.config/mise/config.toml || echo "No global mise config"test -f ~/.config/fnox/config.toml && head -10 ~/.config/fnox/config.toml || echo "No global fnox config"infisical user get 2>/dev/null | head -3 || echo "Not logged in or not installed"| Tool | Role |
|---|---|
| mise | Task runner + env manager. Orchestrates dev tooling, runs tasks, manages env vars through plugins. |
| fnox | Unified secret interface. Abstracts over multiple secret backends (infisical, age, env files) with a single CLI. |
| infisical | Remote secrets backend. Stores, syncs, and injects secrets from a central server. |
These tools complement each other: infisical stores secrets remotely, fnox provides a unified local interface to them, and mise orchestrates tasks that consume secrets via fnox.
The typical flow:
fnox exec -- resolves secrets from the provider and injects them as env varsfnox exec to run commands with secrets injectedcdThis project enforces secrets hygiene via always-on hooks in
.claude/settings.json (not scoped to this skill):
block-hardcoded-secrets.py — Blocks Edit/Write operations containing
hardcoded API keys, tokens, passwords, or known secret prefixes (sk-, ghp_,
AKIA, xox[bpras]-)block-bare-secret-exports.py — Blocks Bash commands that export
secret-like env vars without wrapping in fnox exec or infisical runThese hooks are always active regardless of whether this skill is loaded.
Detailed configuration for each tool is in the reference files:
fnox exec works. Run
fnox init if missing..infisical.json is safe to commit — it contains project IDs and
workspace config, not secrets.fnox.toml may contain sensitive paths — review before committing if
using age-encrypted file provider.cd — if a plugin calls fnox and fnox is
misconfigured, you get errors on every directory change.infisical login tokens have a TTL. CI/CD
should use INFISICAL_TOKEN (service token) instead./ cannot
access secrets in child paths like /git_actions. Each path requires its
own token or use --recursive with the CLI directly.