npx claudepluginhub growthxai/output --plugin outputaiThis skill is limited to using the following tools:
- First time setting up credentials for a project
Manages encrypted secrets in Output SDK workflows using @outputai/credentials. Handles API keys, database passwords, and tokens via CLI init, edit, show, and get commands.
Extracts hardcoded secrets from CLAUDE.md, .mcp.json, and project config into gitignored .env file, wires SessionStart hook for auto-loading. Use for 'separate secrets' or 'extract API keys'.
Secures Claude Code sessions with nopeek CLI: loads .env secrets without exposing values, stores keys, redacts cloud CLI outputs to prevent API key leaks. Useful for secret and credential safety.
Share bugs, ideas, or general feedback.
The npx output credentials init command generates two files:
.key) — the decryption secret. Never commit this..yml.enc) — the credentials store. Safe to commit.# Global credentials (most common)
npx output credentials init
# Environment-specific
npx output credentials init -e production
npx output credentials init -e staging
# Per-workflow credentials (overrides globals for that workflow)
npx output credentials init -w my_workflow
# Force overwrite existing files
npx output credentials init --force
config/
├── credentials.key ← Add to .gitignore
└── credentials.yml.enc ← Safe to commit
config/credentials/
├── production.key ← Add to .gitignore
└── production.yml.enc ← Safe to commit
src/workflows/{name}/
├── credentials.key ← Add to .gitignore
└── credentials.yml.enc ← Safe to commit
After init, the encrypted YAML contains this template:
anthropic:
api_key: ""
openai:
api_key: ""
_env:
ANTHROPIC_API_KEY: anthropic.api_key
OPENAI_API_KEY: openai.api_key
The _env section wires credentials to environment variables automatically at worker startup. See output-credentials-env-vars for details.
npx output credentials edit # Opens $EDITOR with decrypted YAML
Fill in the empty values, save, and close. The file is re-encrypted automatically.
echo "*.key" >> .gitignore
echo "config/credentials.key" >> .gitignore
Or add to your .gitignore:
# Credentials decryption keys — never commit
*.key
config/credentials.key
config/credentials/*.key
src/workflows/*/credentials.key
In CI/CD pipelines, pass the key as an environment variable instead of committing the file:
# Set in your CI/CD environment
OUTPUT_CREDENTIALS_KEY=<key-value>
# Environment-specific
OUTPUT_CREDENTIALS_KEY_PRODUCTION=<key-value>
# Per-workflow
OUTPUT_CREDENTIALS_KEY_MY_WORKFLOW=<key-value>
The key value is the contents of the .key file.
config/credentials.key created (or env-specific variant)config/credentials.yml.enc created.key files added to .gitignorenpx output credentials edit run to fill in secret valuesnpx output credentials show verifies decryption worksoutput-credentials-edit — Fill in and manage credential valuesoutput-credentials-env-vars — Wire credentials to environment variablesoutput-dev-credentials — Full credentials system reference