56 results available
Sign in
Skills directory

setup-api-key

elevenlabs

·

Last changed
Hardened

This skill has been hardened by Chainguard

Last changed

This version passed the hardening gate. The skill content was retained without changes. Classified findings before hardening: 4. Classified findings closed: 0. Classified findings remaining: 4. Unclassified scanner findings remaining: 0. Review findings closed: 0. Review findings remaining: 13.


Open before hardening

2

Medium

2

Low
Open after hardening

2

Medium

2

Low

Expand
File
Group
Subtype
Severity
Status
SKILL.md

Excessive Agency & Rogue Autonomy

—

Medium
Open
SKILL.md

Sensitive Data & Secret Exposure

Data exfiltration

Medium
Open
SKILL.md

Prompt Injection

Third-party content as instructions

Low
Open
SKILL.md

Prompt Injection

—

Low
Open

4 findings


SKILL.md

ElevenLabs API Key Setup

Guide the user through obtaining and configuring an ElevenLabs API key.

Workflow

Step 0: Check for an existing API key first

Before asking the user for a key, check for an existing ELEVENLABS_API_KEY:

  1. Check whether ELEVENLABS_API_KEY exists in the current environment. If it does, use that value for this initial check.
  2. Only if it is not in the environment, check .env for ELEVENLABS_API_KEY=<value>.
  3. Do not print, quote, or repeat the key. If you mention it, redact it.
  4. If an existing key is found, validate it:
    GET https://api.elevenlabs.io/v1/user
    Header: xi-api-key: <existing-api-key>
  5. If existing key validation succeeds:
    • Tell the user ElevenLabs is already configured and working
    • Skip the setup flow
    • Ask whether they want to replace/rotate the key; if not, stop
  6. If existing key validation fails:
    • Tell the user the existing key appears invalid or expired
    • Continue to Step 1

Step 1: Request the API key

Tell the user:

Then wait for the user to confirm that the key is saved locally.

Step 2: Validate and configure

After the user says the key is saved:

  1. Re-check both .env and the current environment for ELEVENLABS_API_KEY, but treat .env as the source of truth for this step.
  2. If .env contains a value, validate that value even when the current environment also has a different ELEVENLABS_API_KEY.
  3. If .env does not contain the key:
    • Tell the user .env does not appear to contain ELEVENLABS_API_KEY.
    • Show the expected line again.
    • If the current environment does contain a key, note that this step still requires saving the key in .env.
    • Remind them not to paste the key into chat.
  4. If a .env key is found, validate it:
    GET https://api.elevenlabs.io/v1/user
    Header: xi-api-key: <local-api-key>
  5. If validation fails:
    • Tell the user the local key appears invalid or expired.
    • Remind them of the API keys page.
    • Ask them to replace the .env value and tell you when it is saved.
  6. If validation succeeds, confirm:

Safety Rules

  • Never ask the user to paste an API key, token, or secret into chat.
  • Never print or echo API key values from environment variables or .env.
  • Prefer .env or managed secrets over shell history for persistent local configuration.
  • For browser or client-side apps, keep ELEVENLABS_API_KEY on the server and issue short-lived tokens where applicable.

Install

Install with chainctl
chainctl skill install public/elevenlabs/setup-api-key:latest
Get started with chainctl
View source

Harden your own skills

Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.

Provenance

Upstream sourcehttps://github.com/elevenlabs/skills
Upstream commitafa823c0ac67e81ec0308d61ddff3e17e5014d0b
OCI reference

skills.cgr.dev/public/github.com/elevenlabs/setup-api-key:latest

License

MIT

Files

HARDENING.md

LICENSE

SKILL.md


The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.