skills/secrets/SKILL.md
Fetch credentials and API keys. Use when a skill needs an API token, password, or other secret.
npx skillsauth add athal7/dotfiles 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.
Secrets declared in local.yaml under the secrets key are exported as uppercase environment variables via ~/.envrc. Direnv caches the keychain lookups and the opencode direnv plugin injects them into every bash call automatically.
Read the uppercase env var directly. No setup, no fetch step.
# Examples
curl -H "Authorization: $LINEAR_API_KEY" ...
curl -H "X-Slack-Token: $SLACK_TOKEN" ...
The env var name is the secret name uppercased (e.g. linear_api_key → LINEAR_API_KEY). The full list of secret names lives in $(chezmoi source-path)/.chezmoidata/local.yaml under secrets.
If the env var is empty (e.g. outside direnv context, or a secret just added to Keychain but not yet reloaded):
MY_TOKEN=$(security find-generic-password -s "chezmoi" -a "<secret-name>" -w)
$(chezmoi source-path)/.chezmoidata/local.yaml under secrets (can be empty: my_secret: {}).chezmoi apply — this regenerates ~/.envrc with the new secret.security add-generic-password -U -s "chezmoi" -a "<name>" -w "<value>"
direnv reload to pick up the new value immediately.direnv reload or check that the Keychain entry exists: security find-generic-password -s "chezmoi" -a "<name>" -wThe specified item could not be found in the keychain — the secret hasn't been added yet. Tell the user to run security add-generic-password -U -s chezmoi -a <name> -w <value>.development
Zoom meeting captions — file locations and format
tools
macOS dictation custom vocabulary — sync knowledge base names and terms to the system spelling dictionary
testing
Look up people, projects, products, and decisions locally first: contact info (email, Slack ID, GitHub handle), titles and teams, project/product status, who works on what, and past decisions. Check before searching Slack, email, calendar, or GitHub — this is the first stop for any contact detail, project context, or decision-history question.
testing
Communication style, audience awareness, and AI-authorship markers for human-facing prose — load when composing chat messages, review comments, merge request descriptions, emails, doc bodies, or ticket descriptions