Skip to content
Back to skills

Extensions

ASecurity

Only where sushiAI is installed. Use when a command needs a token, API key, password or other credential, or before you suggest putting a key in .env or on disk. Tells you how to check and use a value from the project's Vault without seeing it. Works for Claude Code and Codex.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentsapi

Works with

  • claude code
  • api

Security analysis

A100/100

Pro scans all 19 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add sushi-killer/sushiAI --skill extensions --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Extensions?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Extensions
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sushi-killer-extensions-3db17896/badge)](https://www.skillsdirectory.com/skills/sushi-killer-extensions-3db17896)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: sushiai-vault
description: Only where sushiAI is installed. Use when a command needs a token, API key, password or other credential, or before you suggest putting a key in .env or on disk. Tells you how to check and use a value from the project's Vault without seeing it. Works for Claude Code and Codex.
---

# sushiAI Vault values

The owner keeps credentials in HashiCorp Vault. sushiAI reads them and puts
them in the environment of the sessions and tasks it starts on This Mac. You
never fetch them yourself.

## Where values come from

- The owner saves the Vault address and one read-only Vault token in
  Settings, Vault tab.
  After an update that moved the addresses, a conflict line can show there.
  It names the addresses that were not kept.
- The owner sets the mount and a list of paths for each project in the
  project settings, Environment tab, Vault section.
- The variable names from Vault show in the project's Variables list in the
  Environment tab, with a Vault mark. They show automatically. The values
  never show.
- sushiAI reads the paths in order and merges them. A later path wins over an
  earlier one. A value the owner typed by hand in the Environment tab wins over
  Vault.
- A session reads the values when it starts, and sushiAI keeps a read for up
  to 5 minutes. A task from the orchestrator gets the copy that sushiAI sent to
  the daemon. That copy is refreshed only when the owner saves the Vault address,
  saves the project's Vault section or restarts sushiAI. For a new value, the owner does one of
  these, then starts a new session or task.
- SSH hosts never get Vault values.

## Use a value

1. Check that it is set, without printing it:
   `[ -n "$NAME" ] && echo present`
2. Use it in the command as `$NAME`.

## Never

- Never print a value. Do not echo it, log it or put it in a message.
- Never dump the environment: no `env`, `printenv`, `set` or `export -p`.
- Never read `.env` files or key files to find a value.
- Never call the Vault HTTP API or the `vault` command.
- Never write a key to `.env`, a file, the repository, a log or memory.

## A value is missing

Name the exact variable. Ask the owner to add it to Vault and to check that
the project's Vault paths include it, in sushiAI. The owner sees the names
that sushiAI can read in the project's Variables list. Do not invent a workaround
or another place to store it. Then stop until the owner confirms.

## When Vault fails

If one path fails, sushiAI gives no Vault values at all. The owner sees a
notice with one of these texts.

| Notice                      | The owner does                                                         |
| --------------------------- | ---------------------------------------------------------------------- |
| Vault: no address set       | Set the address in Settings, Vault tab.                                |
| Vault: no token saved       | Save a token in Settings, Vault tab.                                   |
| Vault: no access (403)      | Use a token that may read the paths, or change its policy.             |
| Vault: path not found (404) | Fix the mount or a path in the project's Vault section.                |
| Vault: unreachable          | Fix the address in Settings, Vault tab, or start Vault or the network. |
| Vault: timed out            | Try again later. Vault did not answer within 5 seconds.                |
| Vault: error (status)       | Check the address and the mount. The server refused the read.          |
| Vault: unreadable reply     | Check the address, the mount and that the mount is a KV v2 engine.     |

The same text shows in the project's Variables list when the read fails. The
list shows names only, never the values.

Files in this skill

  • artifacts-skill.md16.7 KB
  • builtin-artifacts.cjs884 B
  • builtin-orchestrator.cjs1.3 KB
  • builtin-routines.cjs1.8 KB
  • builtin-skills.cjs5.9 KB
  • builtin-vault.cjs1.1 KB
  • companion-exec.cjs8 KB
  • companion-process.cjs18 KB
  • companion-prompts.cjs2.1 KB
  • extension-manager.cjs19.7 KB
  • hosts.cjs872 B
  • local-extensions.cjs3.7 KB
  • manifest.cjs38.3 KB
  • module-ipc.cjs894 B
  • notices.cjs7.9 KB
  • routines-skill.md11.5 KB
  • surface-state.cjs6.1 KB
  • vault-skill.md3.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.