Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计提醒

homebrew-cask-authoring自制木桶创作

Agent Skill

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。它适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。

总安装

2,112

周安装

88

GitHub Stars

14

下载量

704
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:homebrew-cask-authoring(自制木桶创作)
来源仓库:https://github.com/connorads/dotfiles
仓库路径:skills/homebrew-cask-authoring
安装命令:
npx skills add https://github.com/connorads/dotfiles --skill homebrew-cask-authoring
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/connorads/dotfiles --skill homebrew-cask-authoring

简介

homebrew-cask-authoring 用于辅助安全审计、权限检查和认证流程分析。

  • 适合梳理敏感配置、检查依赖风险或生成安全复核清单等场景。
  • 通过 npx skills add 命令从 GitHub 仓库安装并使用。
  • 使用时不能将工具输出直接作为最终结论,涉及密钥或生产系统时应确认最小权限。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Homebrew Cask Authoring

Author and maintain Homebrew Casks with correct token naming, stanzas, audit/style compliance, and local install testing.

Operating rules

  • Prefer the official Homebrew documentation (Cask Cookbook, Acceptable Casks) when uncertain.
  • Keep casks minimal: only add stanzas that are required for correct install/uninstall/cleanup.
  • Avoid destructive system changes unless explicitly requested; call out any rm/tap changes before suggesting them.
  • When testing local casks, ensure Homebrew reads from the local file (not the API).
  • Treat local Homebrew tap overrides as temporary. When done testing/submitting, restore standard Homebrew state unless the user asks to keep the override.

Quick intake (ask these first)

Collect:

  • App name (exact .app bundle name)
  • Homepage (official)
  • Download URL(s) (DMG/ZIP/PKG) and whether they differ by arch
  • Version scheme (single version? per-arch?)
  • Install artifact type (app, pkg, suite, etc.)
  • Uninstall requirements (pkgutil ids, launch agents, kernel extensions)
  • Desired cleanup (zap paths)

If any of these are unknown, propose a short plan to discover them.

Pre-flight checks (before writing the cask)

Before investing effort in a new cask, verify:

  1. Notability: The app must have meaningful public presence. GitHub projects with <30 forks/watchers or <75 stars are likely to be rejected. Self-submission threshold is 3× higher (90 forks / 90 watchers / 225 stars) if the PR author also owns the upstream repo. See Acceptable Casks.
  2. Repo age: GitHub repos less than 30 days old cause a hard brew audit --new failure. Wait until the repo is old enough.
  3. Previously refused: Search closed unmerged PRs for the token. If previously rejected for unfixable reasons, do not re-submit.
  4. Existing PRs: Check open PRs to avoid duplicating work.
  5. Modern macOS compatibility: Casks that don't work on current macOS will be rejected outright. Avoid submitting x86-only / requires_rosetta new casks — they're on a deprecation path (blocked once macOS 27 is stable, removed after 28).

Workflow: create or update a cask

1) Choose the token

  • Start from the .app bundle name.
  • Remove .app and common suffixes: "App", "for macOS", version numbers.
  • Remove "Mac" unless it distinguishes the product (e.g., "WinZip Mac" vs "WinZip").
  • Remove "Desktop" only when it's a generic suffix, not when it's intrinsic to the product name. Keep it for products branded as "X Desktop" (e.g., Docker Desktopdocker-desktop, LTX Desktopltx-desktop). When in doubt, keep "Desktop".
  • Downcase; replace spaces/underscores with hyphens.
  • Remove non-alphanumerics except hyphens.
  • Use @beta, @nightly, or @<major> for variants.

Confirm the token before writing the file.

2) Draft a minimal cask

Use this canonical structure:

cask "token" do
  version "1.2.3"
  sha256 "..."

  url "https://example.com/app-#{version}.dmg"
  name "Official App Name"
  desc "Short one-line description"
  homepage "https://example.com"

  app "AppName.app"
end

Rules of thumb:

  • Prefer https URLs.
  • Add verified: when download host domain differs from homepage domain.
  • Keep desc factual and concise (no marketing).

3) Handle architecture (if needed)

Always confirm the binary's architectures — don't assume from vendor marketing. Mount the DMG (or unpack the artifact) and run:

lipo -archs "/Volumes/<Vol>/<AppName>.app/Contents/MacOS/<AppName>"

Then:

  • Single-arch (arm64 only): add depends_on arch::arm64 alongside any macos: gate. Without it, Intel users on a supported macOS can install a cask they can't run — a user-facing install-time regression reviewers will flag.
  • Universal (arm64 x86_64): no arch gate needed.
  • Different URLs and/or sha256 per CPU: use arch + sha256 arm:..., intel:... when versions match.
  • Different versions per CPU: use on_arm / on_intel blocks.

4) Add uninstall/zap stanzas

  • uninstall: Required for pkg and installer artifacts. Include pkgutil: identifiers, launch agents, etc.

- For .app casks, uninstall quit: is still useful so brew uninstall cleanly terminates a running app. If the app bundles helper processes (look in Contents/Helpers/ or run pgrep -lf <AppName> while it's running), pass an array of bundle IDs (e.g. main app + *.launcher) — a single ID leaves helpers stranded. - quit: / signal: no longer run during brew upgrade/brew reinstall by default (Nov 2025 change). If you need the app to be quit during upgrade, add on_upgrade::quit (or on_upgrade: [:quit,:signal]).

  • zap: Recommended for thorough cleanup (support dirs, preferences, caches) but not enforced by brew audit. Reviewers expect it for new casks — verify paths are accurate.

- Primary tool: brew generate-zap <token> (documented Mar 2026). Install and launch the app first, then run it to get a draft zap stanza. Still review the output — it can include noise. - **Also scan while the app is in *active use*, not just after first launch.** Paths like ~/Library/HTTPStorages/<bundle-id>, session caches, and some preferences only appear after login/real interaction. generate-zap may miss these if you only ran the app once. - Keep Keystone/GoogleUpdater-style shared components in zap only (never uninstall) — they're shared across vendor apps.

  • livecheck: strategy:extract_plist and version:latest are *automatically* excluded from autobump — no no_autobump! needed.
  • depends_on: Optional. Only add when genuinely needed (e.g., specific macOS version, another cask dependency).

5) Validate and test locally

Run, in this order:

brew style --fix <token>
brew audit --cask --online <token>

For new casks also run:

brew audit --cask --new <token>
HOMEBREW_NO_INSTALL_FROM_API=1 brew install --cask <token>
brew uninstall --cask <token>

Then validate the full zap path with the app *running*:

HOMEBREW_NO_INSTALL_FROM_API=1 brew install --cask <token>
open /Applications/<AppName>.app   # log in, use it
HOMEBREW_NO_INSTALL_FROM_API=1 brew uninstall --zap --cask <token>
pgrep -lf <AppName>                # should be empty — if not, add bundle IDs to `uninstall quit:`

Reinstalling after a plain brew uninstall (without --zap) should leave session data intact (so login persists). Reinstalling after --zap should require a fresh login. Verifying both confirms the zap paths are actually the ones that hold user state.

Important notes:

  • Always install/uninstall by token name, not file path. Running brew install./Casks/t/token.rb will fail when using a tap symlink — use brew install --cask token instead.
  • HOMEBREW_NO_INSTALL_FROM_API=1 forces Homebrew to use your local cask file rather than the API.
  • brew audit --cask --new checks GitHub repo age (must be >30 days) and notability — if the repo is too new, this will fail regardless of cask quality.
  • brew audit prints nothing on success (silent = pass) — don't mistake empty output for the command failing to run.

If install fails:

  • Re-check URL reachability, sha256, and artifact name.
  • Re-run with verbosity: brew install --cask --verbose <token>.

6) PR hygiene

Before suggesting submission:

  • Ensure brew style and all relevant brew audit commands pass.
  • For new casks, check the token has not been previously refused/unmerged.
  • One cask change per PR, minimal diffs, no drive-by formatting.
  • Target the main branch (not master).

Commit message format (first line <=50 chars):

  • New cask: token version (new cask)
  • Version update: token version
  • Fix/change: token: description

PR body: keep the default template, then replace the placeholder opener with a short prose sentence (hint: a bare URL as the first line may trigger the request-info bot — a full sentence like "Adds a new cask for App Name - short description." is safer). Keep all checklist items; tick only what was actually done.

7) AI disclosure

The PR template includes an AI disclosure section. If AI assisted with the PR:

  • Check the AI checkbox in the template.
  • Split the disclosure into two parts: what the agent ran (list the brew commands executed and note the human read the output) and what the human verified manually (app install, login, actual usage, zap path derivation, running-app uninstall). Reviewers value seeing both halves.
  • Call out any non-obvious things the agent's testing surfaced (e.g. a helper process needing a second bundle ID in uninstall quit:).

Local development patterns

If the user is editing Homebrew/homebrew-cask locally and wants Homebrew to execute their working copy, use a tap symlink workflow.

Before changing the tap, print the current Homebrew state/commands so the restore path is visible in-context.

When the task is done (typically after local validation, commit, or PR creation), restore standard Homebrew state unless the user asks to keep the local override. Prompt before leaving Homebrew in a non-standard state.

Read the full end-to-end checklist here:

  • references/homebrew-cask-contribution-workflow.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

31.42%
按下载量换算221

windsurf

21.79%
按下载量换算153

OpenCode

17.74%
按下载量换算125

Codex

13.32%
按下载量换算94

Antigravity

8.89%
按下载量换算63

Gemini CLI

3.93%
按下载量换算28

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills