Credential setup
Skill eugenelim/agent-ready-repo/packs/credential-brokers/.apm/skills/credential-setup
The complete AI operating model for software teams — from first idea to production. Three peer-supervised loops (discovery → build → release) over a catalogue of curated packs: skills, subagents, and hooks, each installed in one line. It's npm for your coding agent. Any agent, any stack — Claude Code, Codex, Cursor, Copilot, Gemini, Kiro.
npx -y skills add eugenelim/agent-ready-repo --skill credential-setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Interactive credential setup for skills declaring `metadata.auth` of creds. Walks the user through entering each required key from the skill's `creds-schema.toml` and writes to the highest-available tier (OS keychain on Darwin/Windows; 0600 dotfile floor on Linux). Triggers on "set up credentials", "credential setup", "credential broker setup". This is interactive, user-invoked, do not auto-run.
SKILL.md
3.7 KB, as published. Nobody here has run it
Skill: credential-setup
This skill is the single LLM-cooperative exception to the
brokers-not-skills rule. It lives at
<skills-dir>/credential-setup/ rather than at adapter-root because
its job is to prompt the user for a token — an LLM-discoverable
operation by design. The skill's body says, explicitly: this is
interactive, user-invoked, do not auto-run.
Do not invoke this skill on the user's behalf. Tell the user to run it themselves; pause for their action; resume your task when they confirm the credential is in place.
Security rules (non-negotiable)
- Secrets live only in
~/.agentbundle/credentials.env(mode 0600 on POSIX; DACL-restricted on Windows), the OS keyring, or process environment variables. Never read that file, print it, or echo the token. - Never put the token on the command line. This script
refuses flags like
--token/--api-token/--bearer/--pat/--passwordand exits — do not work around it. - This script is interactive only. It refuses non-tty stdin with exit code 3 — do not run it for them via pipe, here-doc, or any other non-interactive mechanism.
When the user runs this
After installing a credentialed skill that declares auth: creds,
the user runs:
python3 scripts/setup.py <namespace>
Or, with an explicit schema path:
python3 scripts/setup.py <namespace> --schema-path <path>
The script:
- Refuses the reserved
ssonamespace (thesso-cookiebroker owns theagentbundle:sso:*keychain target-name prefix and thecredential-brokerspack reserves thessonamespace globally for that broker's use). - Locates
creds-schema.toml(explicit--schema-path, or walks the configured adapter's skills directories looking for a matching[namespace] name). - Prompts via
getpass.getpassfor keys declaredsecret = true; viainput()forsecret = false. - Writes each
(namespace, key)to value to:- macOS / Windows: OS keyring (Tier 2). Default behaviour.
- Linux (no Tier-2 backend): 0600 dotfile at
~/.agentbundle/credentials.env(Tier 3 floor). - macOS / Windows +
--allow-insecure-fallback: Tier 3 dotfile. The flag exists for adopters on corporate machines where the keychain is unavailable to scripted callers.
- Prints a one-line stderr announcement of where the credential
landed (
wrote to keyring (macOS Keychain), etc.). Never prints the entered value.
Exit codes
0— every key written successfully.2— reserved namespace (sso) refused.3—credbrokernot installed, schema not found, stdin not a tty, Tier-2 hard fail, permissive DACL on Windows, or any other interactive precondition unmet.
Inverse — verifying resolution
To verify resolution after setup, invoke the consumer skill's own
check verb (e.g. python3 scripts/cli.py check for a credentialed-
CLI primitive). The consumer's check walks Tier 1 → Tier 2 → Tier 3
through the credbroker library (imported in-process) and exits 0 when
every declared key resolves. This skill writes; the consumer's check
reads. Do not write a get verb in this skill — the
wrap-and-leak shape is explicitly refused.