Mindket

Varlock Skill(不读密钥的 .env 安全技能)

新上架第 2 版 · 更新于
星标33

概览

William Smith 做的单文件技能,教 Claude Code 在不读取 .env 密钥的情况下处理它们。Claude 用 Varlock 检查某个密钥,Varlock 会把值遮住,改密钥则由你自己动手。

Varlock Skill(不读密钥的 .env 安全技能) 是一款 GitHub 上的开源项目,属于开发类,由 Mindket 上架。可免费获取。当前为第 2 版,最近更新于 。按它的 README 从 GitHub 安装。Mindket 的设置说明可在你的 Mindket 账户获取,以 zip 压缩包下载。

速览

用在
  • Claude Code,所有项目:技能文件放在 ~/.claude/skills/varlock/SKILL.md
  • 任何有 .env 的项目:Varlock 工具在你的 PATH 上,项目里有一个 .env.schema
  • GitHub Actions:一个运行 varlock load --quiet 的步骤
  • Docker:在镜像里装好 Varlock,用 varlock run 作为容器的启动命令
先运行
curl -sSfL https://varlock.dev/install.sh | sh -s -- --force-no-brew
export PATH="$HOME/.varlock/bin:$PATH"

平台

Claude Code编程智能体
Docker容器

关于

它是什么

Varlock Skill 是 William Smith 做的单文件技能,教 Claude Code 在不读取密钥的情况下处理它们。它包装的是 Varlock,这是 DMNO 的一个工具,会读取放在 .env 旁边的 .env.schema 文件,并把标为敏感的每个值遮住。开启这个技能后,Claude 通过运行 varlock load 来确认某个密钥已经设置。它读的是 schema 文件,而不是 .env。

  1. 你安装 Varlock 工具和技能文件
  2. 你写好 .env.schema,里面不放任何密钥的值
  3. 你向 Claude 询问某个密钥,或某个登录问题
  4. Claude 运行 varlock load,从不打开 .env
  5. Varlock 把每个密钥遮住后再显示

适合谁

在 Claude Code 里做项目、项目的 .env 文件里有 API 密钥、令牌或数据库地址,又不想让这些值出现在聊天里的开发者。小团队也适用,因为 schema 文件不含任何密钥的值,可以提交进仓库。

谁在用,怎么用
谁用它做什么例子
独立开发者Claude 帮忙调试时,让密钥不进聊天一位开发者问为什么付款失败,Claude 检查 Stripe 密钥已经设置,但不把它打印出来。
小团队提交 .env.schema,让每个人都知道项目需要哪些变量一位队友克隆仓库,读 schema 就知道要填哪些变量。
有 CI 的团队在流水线里跑同样的检查GitHub Actions 的一个步骤运行 varlock load --quiet,值从 GitHub Secrets 传进来。
用 1Password 或 AWS Secrets Manager 的人让 schema 通过一条命令取值schema 里的一行用 1Password 的 op read 命令读取一个密钥。

用在哪里

Claude Code 是它的主场。README 的标题就是为它写的,没有提到别的智能体。

  • Claude Code,所有项目:技能文件放在 ~/.claude/skills/varlock/SKILL.md
  • 任何有 .env 的项目:Varlock 工具在你的 PATH 上,项目里有一个 .env.schema
  • GitHub Actions:一个运行 varlock load --quiet 的步骤
  • Docker:在镜像里装好 Varlock,用 varlock run 作为容器的启动命令

如何设置

你要装两样东西。Varlock 工具负责遮住密钥,技能文件告诉 Claude 什么时候用它。点“获取”会把一个 zip 压缩包存进你的下载文件夹,里面是 Mindket 写的安装说明。

先准备好这些
需要说明
Claude Code技能文件在这里加载
bash 终端README 的命令是按 bash 写的,没有给 Windows 步骤
curl两种安装都要用。只有走克隆路线才需要 Git
一个 .env 文件在你要保护的项目里。varlock init 可以根据它写出 schema
账号和密钥技能本身不需要。README 没有提到任何注册
  1. 安装 Varlock 工具。运行 README 里的安装命令,再把它的文件夹加进 PATH。
  2. 加入技能文件。一行命令建好 ~/.claude/skills/varlock,并把 SKILL.md 存进去。
  3. 为项目写一个 schema。运行 varlock init,根据你的 .env 生成 .env.schema,或者手写。
  4. 检查安装。先运行 varlock --version,再运行 varlock load。在 Claude Code 里,/skills 应该会列出 varlock。
curl -sSfL https://varlock.dev/install.sh | sh -s -- --force-no-brew
export PATH="$HOME/.varlock/bin:$PATH"

第一行在 Varlock 的安装脚本下载完的那一刻就会运行它,所以粘贴之前先读一下 Good to know。技能文件说,要把 export 这一行加进 ~/.zshrc 或 ~/.bashrc。

mkdir -p ~/.claude/skills/varlock && curl -sSL https://raw.githubusercontent.com/wrsmith108/varlock-claude-skill/main/skills/varlock/SKILL.md -o ~/.claude/skills/varlock/SKILL.md

README 的第二种方式是把仓库克隆到 /tmp,把 skills/varlock 复制进 ~/.claude/skills/,再删掉克隆。先用 mkdir -p 建好 ~/.claude/skills。在还没有这个文件夹的电脑上,cp -r 会把新文件夹命名为 skills,SKILL.md 就会高出一层。

如何使用

用平常的话问 Claude 你的密钥。技能加载后,Claude 会用 varlock,而不是 echo、cat 或 printenv。

你问了之后会发生什么
你问Claude 运行你要做的
我的 API 密钥设置了吗?varlock load,再挑出那个变量的一行不用做什么
帮我调试登录varlock load,它会检查类型和必填项自己在 .env 里补上缺的值
更新一个密钥什么也不运行。技能让 Claude 拒绝在 .env 或你的密钥管理工具里改,再运行 varlock load 检查
给我看 .env 文件改为运行 cat .env.schema,并提出用 varlock load 看遮住后的值不用做什么
运行应用varlock run -- npm start不用做什么

示例

你的应用付款失败,你怀疑 .env 里少了 Stripe 密钥。

Is my Stripe key set? Do not show me the value.

Claude 运行 varlock load,看到 STRIPE_SECRET_KEY 标为敏感、值已遮住,然后告诉你它已经设置。

如果那一行显示这个变量缺失,Claude 会直说,并请你自己把值加进 .env。它不会替你写这个值。

新手与专家

新手:.env 文件用明文存着你的密钥。Claude 一旦读了它,每个密钥都会进到聊天里。Varlock 把这件事拆成两半。schema 文件写明每个变量、它的类型,以及它是不是密钥。它不含任何密钥的值。varlock load 命令检查真正的 .env,给出遮住后的结果。先在一个小项目里试,运行 varlock init。

专家:schema 开头是一行全局设置,之后每个变量上方有一行注解。技能文件列了七种类型:string、string(startsWith=X)、string(contains=X)、url、port、boolean 和 enum(a,b,c)。值可以来自一条命令,在 schema 里写成 exec(...)。下面是技能文件里用于 1Password、AWS,以及按环境取值的几行:

# @type=string @sensitive
API_KEY=exec('op read "op://vault/item/field"')

# @type=string @sensitive
DB_PASSWORD=exec('aws secretsmanager get-secret-value --secret-id prod/db')

# @type=url
API_URL=env('API_URL_${NODE_ENV}', 'http://localhost:3000')

技能文件的 GitHub Actions 示例把密钥作为 env 传进去,再运行 varlock load --quiet。它的 Docker 示例在镜像里装好 Varlock,用 varlock run 启动应用。它的 npm scripts 示例把 varlock load 接进 prestart 脚本。

注意事项

这个技能是请 Claude 守规矩,它不是一把锁。

  • 约束力:仓库里只有一个 SKILL.md 和一个插件清单,没有任何钩子或脚本会阻止读取 .env。只有 Claude 照着做,技能才起作用
  • 安装命令:README 里安装 Varlock 的那一行会取回 https://varlock.dev/install.sh,直接交给 sh 执行。脚本会立刻以你的用户身份运行,你还没来得及读它。想先读,就先在浏览器里打开这个地址
  • Windows:README 的命令是按 bash 写的,没有给 Windows 步骤
  • 密钥归你管:Claude 会拒绝修改密钥,并请你去 .env 或密钥管理工具里改
  • 没收尾的地方:技能文件的密钥轮换示例调用了一个 update-github-secrets.sh 脚本,最后一节还指向一个 Clerk 技能和一个 Docker 技能。仓库里这些都没有
  • 作者:William Smith,MIT 许可证,版本 1.0.0,按文件自己的注明,最后更新于 2025 年 12 月 22 日。Varlock 本身属于 DMNO。这是社区项目,并非 Anthropic 制作或背书

README 和文件

README
# Varlock Skill:安装说明

这个工具包里是 Mindket 写的安装说明,不包含技能本身。技能要从 William Smith 的仓库安装:https://github.com/wrsmith108/varlock-claude-skill

许可证:MIT,Copyright (c) 2025 William Smith。全文见 https://github.com/wrsmith108/varlock-claude-skill/blob/main/LICENSE

技能所驱动的 Varlock 工具属于 DMNO(https://github.com/dmno-dev/varlock,文档在 https://varlock.dev)。这个技能是 William Smith 另外做的包装,并非 Anthropic 制作或背书。

这些说明的来源:README(https://github.com/wrsmith108/varlock-claude-skill/blob/main/README.md)、技能文件(https://github.com/wrsmith108/varlock-claude-skill/blob/main/skills/varlock/SKILL.md)和插件清单(https://github.com/wrsmith108/varlock-claude-skill/blob/main/.claude-plugin/plugin.json)。Claude Code 从哪里加载技能,出自 Claude Code 的技能页面(https://code.claude.com/docs/en/skills)。所有命令都由 Mindket 照抄,一条也没有运行过。

## 它是什么

一个名为 varlock 的 Claude Code 技能。它告诉 Claude 如何在不读取值的情况下处理环境变量和密钥。用技能文件的话说,规则是密钥绝不能出现在终端输出、Claude 的输入或输出、日志或追踪、git 提交或 diff,以及错误信息里。

实际上,Claude 被要求:

- 读 .env.schema(只有名字、类型和标记,没有值),从不打开 .env
- 用 `varlock load` 检查某个密钥是否已设置,它会把每个密钥遮住后再显示
- 用 `varlock run -- <command>` 运行一条带着密钥的命令
- 自己拒绝修改密钥,请你手动去改

这个技能是 Claude 照着做的一个文本文件。仓库里只有这一个 SKILL.md、一个插件清单、一个 README 和一个许可证,没有脚本或钩子。

## 工具包里的文件

- setup/varlock-cli.md:安装技能所驱动的 Varlock 工具
- setup/claude-code.md:README 给的两种方式,把技能放进你的个人技能文件夹
- setup/first-run.md:schema 文件、各条命令,以及你问到密钥时 Claude 会怎么做

## 先准备好这些

- Claude Code。
- Varlock 命令行工具。技能要驱动它,README 把它列在 Prerequisites 下。
- 一行安装技能要用 curl,走克隆路线要用 Git。
- 一个带 .env 文件的项目,或一个新项目。技能文件提到的 Varlock 命令 `varlock init` 可以根据现有的 .env 写出 schema。
- bash 终端。README 的命令是按 bash 写的,没有给 Windows 步骤。

## 装到哪里

- 技能:一个文件,在 ~/.claude/skills/varlock/SKILL.md。
- Varlock 工具:在 ~/.varlock/bin/,README 会把它加进你的 PATH。
- 每个项目:一个由你编写并提交的 .env.schema 文件,以及不进 git 的 .env。

## 插件文件

仓库里还有 .claude-plugin/plugin.json(名称 varlock,版本 1.0.0)。README 没有给出 /plugin 命令,所以这些说明也不给。

## 你的数据

技能是一个文本文件,它自己不发送任何东西。Claude 运行的命令,比如 varlock load,读回来的内容里敏感的值都是遮住的,这些输出会像其他 Claude 工作一样发给 Claude。安装 Varlock 的那一行会从 varlock.dev 取回安装脚本。你贴进聊天的任何内容也会发给 Claude,所以不要贴本该保密的值。

## 更新和卸载

README 没有给出更新或卸载的步骤。Claude Code 的技能页面说,删掉个人技能的文件夹就能移除它,这里是 ~/.claude/skills/varlock/。
文件
README.md  4 KB
setup/claude-code.md  2 KB
setup/first-run.md  3 KB
setup/varlock-cli.md  2 KB

4 个文件,共 10 KB,以 zip 压缩包下载。

更新内容

  • 第 2 版 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • 第 1 版 · 2026-11-07

同类产品对比

同一分类里与本产品共有主题最多的已上架 GitHub 项目。

产品星标活跃度语言许可证最近更新
Varlock Skill(不读密钥的 .env 安全技能) 本页33——MIT—
Claude Code Skills & Plugins共有 claude-code-skills · claude-skills · claude-code29,769活跃PythonMIT
pstack 编程智能体技能集共有 claude-code-skills · claude-skills · claude-code4,132—JavaScriptMIT—
Recursive Decomposition Skill(递归拆解技能)共有 claude-code-skills · claude-skills54——MIT—
Claude-Mem(thedotmack 出品)共有 claude-skills · claude-code116,866活跃TypeScriptApache-2.0
Archify共有 claude-skills · claude-code94,756活跃JavaScriptApache-2.0
数据为 Mindket 在 2026-11-07 至 2026-11-14 期间读取的数值。 活跃度依据各项目在 GitHub 上的最近更新:30 天内为活跃,180 天内为更新较少,超过 180 天为久未更新。

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

anaksor-ocr

Sokheng · 工具包

这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

新上架

Qwen2.5-7B-Instruct-GGUF

Qwen · 工具包

Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。

新上架

ACE-Step 1.5 XL SFT

ACE-Step · 工具包

用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。

新上架

Claude Code Skills & Plugins

alirezarezvani · 技能

为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。

新上架29.8k

Huashu Design

alchaincyf · 技能

把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。

新上架29.4k

pstack 编程智能体技能集

michael-denyer · 技能

Michael Denyer 把 Lauren Tan 的 pstack 技能集移植到了 Claude Code、Codex、Pi、GitHub Copilot、Muse 等智能体上。把目标告诉它的 poteto-mode 技能,它会选一套工作流,让你的代码保持简洁、简单并经过验证。

新上架4132