Configuring
Skill oaustegard/claude-skills/plugins/environment-and-config/skills/configuring
Universal environment variable loader for AI agent environments. Loads secrets and config from Claude.ai, Claude Code, OpenAI Codex, Jules, and standard .env files.From its SKILL.md
npx -y skills add oaustegard/claude-skills --skill configuringAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
3.3 KB, 809 tokens by cl100k_base, as published. Nobody here has run it
Configuring
Unified configuration management across AI coding environments. Load environment variables, secrets, and other opinionated configuration setups from any AI coding platform.
Quick Start
import sys
sys.path.insert(0, '/path/to/claude-skills') # or wherever skills are installed
from configuring import get_env, detect_environment
# Get a variable (searches all sources automatically)
token = get_env("TURSO_TOKEN", required=True)
# With default
port = get_env("PORT", default="8080")
# What environment are we in?
env = detect_environment() # "claude.ai", "claude-code-desktop", "codex", "jules", etc.
Supported Environments
| Environment | Config Sources |
|---|---|
| Claude.ai Projects | /mnt/project/*.env, /mnt/project/*-token.txt |
| Claude Code | ~/.claude/settings.json (env block), .claude/settings.json |
| OpenAI Codex | ~/.codex/config.toml, setup script → ~/.bashrc, shell_snapshots/*.sh |
| Jules | Environment settings UI, .env in repo |
| Universal | os.environ, .env, .env.local |
API Reference
# Core
get_env(key, default=None, *, required=False, validator=None) -> str | None
load_env(path) -> dict[str, str] # Load specific file
load_all(force_reload=False) -> dict # Load all sources
# Utilities
detect_environment() -> str # Current platform
mask_secret(value, show_chars=4) -> str # Safe logging
debug_info() -> dict # Troubleshooting
get_loaded_sources() -> list[str] # What was checked
Credential File Formats
.env files (KEY=value):
TURSO_TOKEN=eyJhbGciOiJFZERTQSI...
EMBEDDING_API_KEY=sk-svcacct-...
Single-value files (*-token.txt, *-key.txt):
eyJhbGciOiJFZERTQSI...
Filename becomes key: turso-token.txt → TURSO_TOKEN
Claude Code settings.json:
{
"env": {
"TURSO_TOKEN": "eyJhbGciOiJFZERTQSI..."
}
}
Priority Order
Later sources override earlier:
- OS environment variables
- Platform-specific sources (detected automatically)
.envfiles in cwd- OS environment variables (again - explicit exports always win)
Debugging
import sys
sys.path.insert(0, '/path/to/claude-skills')
from configuring import debug_info
print(debug_info())
# {'environment': 'claude.ai', 'sources': ['os.environ', 'claude.ai:/mnt/project/'], ...}
CLI:
cd /path/to/claude-skills/configuring
python scripts/getting_env.py # Show debug info
python scripts/getting_env.py TURSO_TOKEN # Get specific key
Migration from api-credentials / getting-env
Replace:
# Old (api-credentials)
from credentials import get_anthropic_api_key
key = get_anthropic_api_key()
# Old (getting-env)
from getting_env import get_env
key = get_env("ANTHROPIC_API_KEY")
# New (configuring)
import sys
sys.path.insert(0, '/path/to/claude-skills')
from configuring import get_env
key = get_env("ANTHROPIC_API_KEY", required=True)
What ships with it: 8 files
30.8 KB alongside SKILL.md, 4 of them executable
assets/
- example.env485 B
examples/
- turso_refactored.pyruns8.9 KB
scripts/
- getting_env.pyruns19.4 KB
- __init__.pyruns0 B
- CHANGELOG.md920 B
- .gitignore202 B
- __init__.pyruns681 B
- README.md201 B
Gives 0 of the 12 instructions most context ai engineering skills give in 809 tokens
Counted across 1,193 of the 1,976 authors here whose files we hold, read 2026-08-07
- Dispatch a fresh implementer subagent per taskin 48 of 1193, across 19 files
- Dispatch a final code reviewer after all tasksin 33 of 1193, across 8 files
- Provide full task text to the subagentin 30 of 1193, across 9 files
- Review spec compliance before code qualityin 27 of 1193, across 10 files
- Make the hook script executablein 26 of 1193, across 8 files
- Re-snapshot after navigation or DOM changesin 25 of 1193, across 19 files
- Read files before editing themin 22 of 1193, across 11 files
- Answer subagent questions before proceedingin 22 of 1193, across 7 files
- Mark task complete in TodoWrite after approvalin 22 of 1193, across 6 files
- Merge hook into existing settingsin 21 of 1193, across 3 files
- Ask if installation is global or projectin 20 of 1193, across 2 files
- Copy the hook script to target locationin 20 of 1193, across 2 files
Said here and by no other author read
- use get_env to fetch environment variables
- specify defaults for optional environment variables
- use detect_environment to identify the current platform
- use load_env to load a specific configuration file
- use load_all to load all configuration sources
- use mask_secret for safe logging
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.