Skip to content
homebrew-formula-updater logo

Homebrew Formula Updater

homebrew-formula-updater

Update Homebrew formula files with latest GitHub release URLs and SHA256 checksums. This skill should be used when the user wants to update a Homebrew tap formula (.rb file) with a new version from a GitHub release. Triggers on phrases like "update formula", "update homebrew", "new release", "bum...

SKILL.md

Full skill instructions

Homebrew Formula Updater

Overview

This skill automates updating Homebrew formula files with the latest release information from GitHub repositories. It fetches the newest release tag, downloads release assets to compute SHA256 checksums, and updates the formula file with new URLs and hashes.

When to Use

  • Updating a Homebrew formula after a new release is published
  • Refreshing SHA256 checksums for release assets
  • Bumping version numbers in formula files
  • Syncing a homebrew-tap repository with upstream releases

When NOT to Use

  • Formulas that build from source (no prebuilt release assets)
  • Formulas with non-standard asset naming conventions (not <repo>-<tag>-<platform>.tar.gz)
  • Releases hosted outside GitHub (e.g., GitLab, self-hosted)
  • Formulas requiring manual patching or complex post-download processing
  • Creating new formulas from scratch (this skill only updates existing formulas)

Workflow

Step 1: Identify the Formula and Repository

Determine the following from the user's request or by examining the formula file:

  1. Formula file path - The .rb file to update (e.g., skulto.rb)
  2. GitHub repository - The source repo in owner/​repo format (e.g., asteroid-belt/​skulto)

The repository can often be inferred from the homepage or url fields in the formula.

Step 2: Run the Update Script

Execute the bundled Python script to fetch the latest release and update the formula:

python3 <skill-path>/​scripts/​update_formula.py <github_repo> <formula_file>

Example:

python3 scripts/​update_formula.py asteroid-belt/​skulto skulto.rb

The script will:

  1. Query the GitHub API for the latest release tag
  2. Download each platform-specific asset (darwin-amd64, darwin-arm64, linux-amd64, linux-arm64)
  3. Compute SHA256 checksums for each asset
  4. Update the formula file with new version, URLs, and checksums
  5. Create a backup of the original file (.bak extension)

Step 3: Verify Changes

After the script completes:

  1. Review the updated formula file to ensure changes are correct
  2. Optionally run brew audit --strict <formula> to validate the formula syntax
  3. Test installation with brew install --build-from-source <formula>

Dry Run Mode

To preview changes without modifying the formula:

python3 <skill-path>/​scripts/​update_formula.py <github_repo> <formula_file> --dry-run

Expected Formula Structure

The script expects formulas with platform-specific blocks like:

on_macos do
  if Hardware::CPU.intel?
    url "https://github.com/​owner/​repo/​releases/​download/​vX.Y.Z/​name-vX.Y.Z-darwin-amd64.tar.gz"
    sha256 "..."
  elsif Hardware::CPU.arm?
    url "https://github.com/​owner/​repo/​releases/​download/​vX.Y.Z/​name-vX.Y.Z-darwin-arm64.tar.gz"
    sha256 "..."
  end
end

on_linux do
  if Hardware::CPU.intel?
    url "https://github.com/​owner/​repo/​releases/​download/​vX.Y.Z/​name-vX.Y.Z-linux-amd64.tar.gz"
    sha256 "..."
  elsif Hardware::CPU.arm?
    url "https://github.com/​owner/​repo/​releases/​download/​vX.Y.Z/​name-vX.Y.Z-linux-arm64.tar.gz"
    sha256 "..."
  end
end

Asset Naming Convention

The script expects release assets named:

<repo-name>-<tag>-<platform>.tar.gz

Where <platform> is one of: darwin-amd64, darwin-arm64, linux-amd64, linux-arm64

Quality Checklist

Before completing the update:

  • Verified the GitHub repository has the expected release asset naming convention
  • Ran with --dry-run first to preview changes
  • Reviewed the updated formula for correctness
  • Backup file (.bak) preserved in case rollback is needed
  • Optionally ran brew audit --strict <formula> to validate syntax
  • Optionally tested with brew install --build-from-source <formula>

Resources

scripts/

  • update_formula.py - Python script that fetches the latest release and updates formula files (requires Python 3.8+)

More Productivity & Planning skills

brainstorming logo
Productivity & Planning

brainstorming

Structured design dialogue that validates ideas before implementation begins.

295.4K 385.7K
View
ui-ux-pro-max logo
Productivity & Planning

ui-ux-pro-max

Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.

133.1K 383.9K
View
writing-plans logo
Productivity & Planning

writing-plans

Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.

295.4K 268K
View
using-superpowers logo
Productivity & Planning

using-superpowers

Introduction to the obra skills system with mandatory skill invocation rules and best practices.

295.4K 259.8K
View
executing-plans logo
Productivity & Planning

executing-plans

Execute a written implementation plan with critical review and task checkpoints.

295.4K 229.1K
View
dispatching-parallel-agents logo
Productivity & Planning

dispatching-parallel-agents

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View
using-git-worktrees logo
Productivity & Planning

using-git-worktrees

Isolated git worktrees with smart directory selection and safety verification.

295.4K 205.2K
View
webapp-testing logo
Productivity & Planning

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

179.7K 170.6K
View
content-strategy logo
Productivity & Planning

content-strategy

Plan searchable and shareable content that drives traffic, builds authority, and generates leads.

53.3K 150.9K
View
repo-intake-and-plan logo
Productivity & Planning

repo-intake-and-plan

README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.

497 139.6K
View
marketing-ideas logo
Productivity & Planning

marketing-ideas

Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.

53.3K 137.2K
View
site-architecture logo
Productivity & Planning

site-architecture

Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.

53.3K 112.8K
View

Productivity AI tools

Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View
SaveDay logo
Productivity

SaveDay

Capture, organize, and utilize your knowledge effortlessly.

Free
View
Any Summary logo
Productivity

Any Summary

Instant Summaries of Audio & Video Interviews with AnySummary

Freemium
View
M
Productivity

Map This

Transform PDFs into engaging mind maps.

Freemium
View
ChatPDF logo
Productivity

ChatPDF

Chat with any PDF instantly

Free
View
I
Productivity

intellisay

Create an optimal daily plan using your voice

Paid
View
A
Productivity

Aurora AI

A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.

Paid
View
AskYourPDF logo
Productivity

AskYourPDF

AskYourPDF Pricing Plans: Tailored to Your Needs

Free
View