handling-secretslisted
Install: claude install-skill ssheleg/project-observatory-dashboard
# Handling secrets
Keep values on the user's machine. Work with project, environment and variable
names. Never ask the user to paste a credential into the conversation.
## Start here
1. Locate the installed full engine. Use the operator's explicit
`OBSERVATORY_ROOT`, or obtain its path with `project-observatory full-path`.
Do not guess a checkout location or inspect another account's files.
2. Select the user's initialized `OBSERVATORY_HOME`. Run
`python3 "$OBSERVATORY_ROOT/observatory.py" doctor`. A missing workspace
needs the documented onboarding before secret operations.
3. Run `python3 "$OBSERVATORY_ROOT/tools/skill_check.py" handling-secrets 0.11.0`.
If stale, read the installed skill once and follow its compatible commands.
Do not turn an unavailable version check into a retry loop.
4. Inspect names using `tools/use_secret.py names PROJECT` or `tools/vault.py
list PROJECT ENV`, with each script resolved beneath `OBSERVATORY_ROOT`.
Never read a value file to discover whether it exists.
All commands below are Python scripts under `OBSERVATORY_ROOT/tools`. `PROJECT`,
`ENV` and `NAME` are placeholders for existing user-selected names. `ENV` is
`local`, `stage` or `prod`; choose production only when the task calls for it.
## Use the named door
| Need | Command |
|---|---|
| Store a credential supplied locally | `vault.py put PROJECT ENV NAME`, value on stdin |
| List slots | `vault.py list PROJECT ENV` |
| Run a command using a slot | `use_secr