본문으로 건너뛰기
cccskills
무료GitHub에 공개

new-cask

This skill should be used when the user asks to "add a cask to homebrew", "create a homebrew cask", "add an app to homebrew", "new cask for", "homebrew cask for", "package an app for homebrew", "submit to homebrew-cask", "make a cask", "contribute a cask", or wants to package a macOS application for Homebrew.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md6.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Creating a New Homebrew Cask

You are orchestrating the creation of a new Homebrew cask. This skill coordinates multiple specialist agents and scripts to complete the workflow.

IMPORTANT: This skill runs in the main conversation context. You will use the Task tool to spawn agents for specialized work.

Input

URL provided: $ARGUMENTS

If no URL was provided, ask the user for:

  1. The app name, OR
  2. A download URL (direct link to DMG/ZIP), OR
  3. The product homepage (you'll find the download link)

Workflow Overview

1. Pre-flight checks    → Agent: pre-flight-checker
2. Download & inspect   → Agent: app-inspector
3. Livecheck strategy   → Agent: livecheck-advisor
4. Write cask file      → Agent: cask-writer
5. Testing              → Automated tests, install, createzap, uninstall
6. Submit PR            → Agent: pr-submitter

Create a task list to track progress through these steps.

Step-by-Step Execution

Step 1: Pre-flight Checks

Before investing time, verify the app is suitable:

Use the Task tool:
- subagent_type: homebrew:pre-flight-checker
- prompt: Check if this app is suitable for homebrew-cask submission.
  <include whatever info you have: URL, app name, homepage>

The agent will derive any missing info (app name from URL, homepage via search, etc.) and include it in the output.

Capture from output: App name, homepage, download URL, description - you'll need these for later steps.

Decision point: If the agent returns REJECT, stop and explain why to the user. If CAUTION, inform the user and ask if they want to proceed.

Step 2: Download and Inspect

Download and inspect the app in one step:

Use the Task tool:
- subagent_type: homebrew:app-inspector
- prompt: Download and inspect the app.
  Download URL: <url>
  Homepage: <homepage>

The agent will download the file, compute the SHA256, extract all metadata, and run Homebrew's generate_cask_token tool to get the canonical token.

Capture from output: Suggested token, SHA256, version, bundle ID, app name, min macOS, auto-update info (framework, appcast URL if found), architecture.

Use the suggested token from app-inspector for subsequent steps. This token comes from Homebrew's tooling and handles naming conventions and collision detection.

Note on versioned URLs: If the download URL is unversioned (e.g., App.dmg), the livecheck-advisor may find a versioned URL in an appcast, release feed, or other source. If so, you'll need to re-download using the versioned URL to get the correct SHA256.

Step 3: Livecheck Strategy

Determine how to check for updates:

Use the Task tool:
- subagent_type: homebrew:livecheck-advisor
- prompt: Recommend a livecheck strategy for <app-name>.
  Download URL: <url>
  Homepage: <homepage>
  Update URL: <appcast-or-feed-url-if-found>
  Current version: <version>

Get the recommended livecheck block.

Step 4: Write the Cask

Synthesize everything into a cask file:

Use the Task tool:
- subagent_type: homebrew:cask-writer
- prompt: Write a cask for <app-name> with this metadata:
  Token: <token>
  Version: <version>
  URL: <download-url>
  SHA256: <checksum> (or :no_check if unversioned URL)
  (If separate binaries per architecture, provide URL and SHA256 for each)
  Name: <display-name>
  Description: <one-line-desc>
  Homepage: <homepage>
  Bundle ID: <bundle-id>
  App bundle: <app-name>.app
  Min macOS: <min-version>
  Auto-updates: <yes/no>
  Livecheck: <livecheck-block>
  Architecture: <arm64/intel/universal, only if not universal>

Note: The zap stanza is added later after running createzap during testing.

Step 5: Testing

Automated Tests

Run the validation script:

${CLAUDE_PLUGIN_ROOT}/scripts/test-cask.sh "<token>"

If tests fail, review the output, fix the cask (often brew style --fix handles style issues), and re-run.

For unversioned URLs: Use --skip-livecheck flag.

Install and Validate

  1. Install:

    HOMEBREW_NO_INSTALL_FROM_API=1 brew install --cask <token>
    
  2. Launch:

    open -a "<App Name>"
    
  3. User verification: Ask the user to sign in or set up the app if needed, then confirm when done.

Zap Discovery

  1. Run createzap (try both app name and bundle ID):

    brew tap nrlquaker/createzap 2>/dev/null || true
    brew createzap "<App Name>"
    brew createzap "<bundle-id>"
    
  2. Update the cask - Add the discovered zap paths using the Edit tool. For simple additions you can edit directly; for significant changes, re-invoke the cask-writer agent.

  3. Uninstall:

    brew uninstall --cask <token>
    
  4. Re-run automated tests if zap stanza was added.

Step 6: Submit PR

When ready to submit:

Use the Task tool:
- subagent_type: homebrew:pr-submitter
- prompt: Submit a PR for the <token> cask.
  Version: <version>
  Cask path: <path-to-cask-file>
  All tests passed: yes

Error Recovery

If any step fails:

  • The task list shows which steps completed
  • You can resume from the failed step
  • Agent outputs are preserved in conversation history

Reference Documentation

For detailed guidance, agents can read these docs (at /opt/homebrew/docs/):

  • Acceptable-Casks.md - What's allowed
  • Cask-Cookbook.md - Stanza reference
  • Brew-Livecheck.md - Livecheck strategies
  • Adding-Software-to-Homebrew.md - Contribution process

Scripts Location

Scripts are at ${CLAUDE_PLUGIN_ROOT}/scripts/:

  • download-checksum.sh <url> [filename] - Download and SHA256
  • test-cask.sh <token> [--skip-livecheck] - Run audit/style/livecheck

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

This skill should be used when working with Vercel AI SDK, AI Gateway, streamText, generateText, generateObject, streamObject, tool calling, or AI SDK providers. Also relevant for "ai-sdk", "@ai-sdk/*" packages, or questions about AI SDK patterns, configuration, and best practices.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

malob/nix-config4632026년 10월 18일 업데이트

This skill should be used when the user asks to "audit claude permissions", "audit permissions", "review local claude settings", "promote permissions to global", "clean up claude settings", "find permission patterns", or wants to identify project-local Claude Code permissions that should be added to global configuration.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

malob/nix-config4632026년 10월 18일 업데이트

This skill should be used when the user asks for "deep research", "research team", "comprehensive analysis", "research report", "investigate thoroughly", "compare X vs Y in depth", or needs synthesis across multiple sources with verification. It spawns a coordinated team of researcher agents across multiple rounds, with the lead triaging findings and creating targeted follow-up tasks. Scales from Focused (2 researchers, 1-2 rounds) to Comprehensive (4 researchers, 3-4 rounds with cross-verification). Do NOT use for simple lookups, debugging, or questions answerable with 1-2 searches.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

malob/nix-config4632026년 10월 18일 업데이트

docx

무료

Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

malob/nix-config4632026년 10월 18일 업데이트

Workaround for Claude Code filtering BMP PUA Unicode (U+E000-U+F8FF). Supplementary PUA Nerd Font icons like 󰊤 󱃾 󰁹 (U+F0000+, e.g. nf-md-github, nf-md-kubernetes, nf-md-battery) can be written directly. BMP PUA icons (Powerline, Font Awesome, Devicons) require placeholder syntax like {{ U+E0A0 }} or {{ nf-fa-star }} (without spaces), which hooks auto-convert. Invoke when reading or writing Starship configs, tmux themes, shell prompts, or statuslines.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

malob/nix-config4632026년 10월 18일 업데이트

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

malob/nix-config4632026년 10월 18일 업데이트

malob의 스킬 모두 보기

이 스킬의 문제 신고