Agent skill

Sayit Release

by callebtc in callebtc/sayit

Build, sign, validate, notarize, and publish Say It macOS DMG releases using the repository release script.

MITAuto-check: warningsMedia & Creative

Install Sayit Release

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add callebtc/sayit --skill sayit-release -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install callebtc/sayit sayit-release --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/callebtc/sayit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/sayit-release .claude/skills/sayit-release && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sayit-release
GitHub stars
160
Token cost
~1.1k tokens
SKILL.md length
525 words
Files
3 (incl. references)
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Build, sign, validate, notarize, and publish Say It macOS DMG releases using the repository release script.

  • Say It version bumps
  • SKILL.md covers Prepare the release source, Run one command, Keep DMG generation… and Deliver or publish
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Installer packaging

What it does

Sayit Release is an agent skill from callebtc/sayit. Build, sign, validate, notarize, and publish Say It macOS DMG releases using the repository release script. Use for Say It version bumps, release builds, installer packaging, notarization, and GitHub release assets.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `evals/evals.json` and `references/distribution.md`).

It sits in Media & Creative, covering App store release and Text to speech and voice. It works with macOS and GitHub. The repository describes itself as: Private, local text-to-speech for Apple silicon Macs. The licence is MIT.

When your agent uses it

  • Say It version bumps
  • Installer packaging
  • GitHub release assets

Example prompts

  • “/sayit-release”

What it can do on your machine

Read from SKILL.md and the folder at commit 5f7d047. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sayit Release loads about 1.1k tokens when it runs, and up to ~1.8k if it reads all its reference files. Until then it costs about 57 tokens; SKILL.md has 525 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • NoteMentions a .env fileSKILL.md:27
    - Keep `.env.release` and signing material ignored. Never print configuration,
  • NoteMentions a .env fileSKILL.md:40
    come from the existing ignored `.env.release`. The script uses
  • WarningTells the agent its actions are pre-authorized / not to stop for confirmationSKILL.md:81
    release requirement; do not stop for visual approval.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from callebtc/sayit at commit 5f7d047, republished under its MIT licence (© callebtc). 525 words, ~1,149 tokens.

Download SKILL.mdSave it as .claude/skills/sayit-release/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
sayit-release
description
Build, sign, validate, notarize, and publish Say It macOS DMG releases using the repository release script. Use for Say It version bumps, release builds, installer packaging, notarization, and GitHub release assets.
metadata.compatibility
Requires the Say It repository, macOS, Xcode, XcodeGen, Developer ID signing, hdiutil, and gh.

Say It Release

Use Scripts/release.sh as the single entrypoint. Once the release source is prepared, one command builds, tests, signs, packages, validates, notarizes, staples, and generates the signed update feed. No visual review or Finder interaction is required. Honor any checkpoint the user explicitly requests.

Prepare the release source

  • Read AGENTS.md; inspect the source diff, current versions, and latest tag. Use gh to check main and the latest release when asked for the latest features.
  • Use the requested version, or the next patch version if none is specified. Update MARKETING_VERSION and increment CURRENT_PROJECT_VERSION in project.yml above the released build. Regenerate with xcodegen generate --spec project.yml --project . and check the diff.
  • Resolve unrelated changes without discarding or silently including them. Commit the prepared source when authorized; the full release command requires a clean worktree. The local prepare-only mode allows the task's uncommitted version bump and fixes.
  • Keep .env.release and signing material ignored. Never print configuration, private keys, or Keychain identities. Keep logs/artifacts under Build/; keep machine/user information out of Git history and GitHub. Preserve Git identity.

Run one command

When authorized to build and notarize:

sh
SAYIT_ALLOW_NOTARIZATION_UPLOAD=YES ./Scripts/release.sh VERSION

Replace VERSION with the prepared version. Signing and notarization settings come from the existing ignored .env.release. The script uses Scripts/prepare-release-dmg.sh for the shared build/test/package/audit pipeline; do not copy or reconstruct these steps in temporary version-specific scripts. Tests include the package suite with its MLX Metal library, DSP and muted playback integration tests, and the selected-text XPC smoke test. The final compressed DMG is audited before Apple submission and again after stapling. Failures stop the pipeline. Do not bypass tests or disable secure timestamps.

For an explicitly local-only task:

sh
./Scripts/release.sh --prepare VERSION

This produces the same signed, validated DMG without uploading. To check an existing DMG without changing it, use ./Scripts/release.sh --audit VERSION. To later notarize an already prepared artifact without rebuilding it:

sh
SAYIT_ALLOW_NOTARIZATION_UPLOAD=YES \
  ./Scripts/release.sh --notarize-existing VERSION RECORDED_SHA256

The script preserves existing DMGs, update assets, and submission records rather than silently overwriting them. Inspect a previous attempt before retrying. If Say It is running, arrange to quit it without interrupting active playback when the build or XPC smoke test requires it.

Show full SKILL.md (179 more words)Show less

Keep DMG generation deterministic

Scripts/package-local-dmg.sh writes the layout directly using dmg-layout.sh, then compresses, signs, and validates the read-only artifact. The preparation helper also runs the layout regression suite. Do not replace this with Finder automation, screenshots, sleeps, or manual icon positioning.

The picture background requires icvp.backgroundType=2 and all three backgroundColorRed/Green/Blue fields set to 1.0. Without the color fields, Finder ignored both the picture and icon sizes. Preserve the fix and regression coverage in Scripts/dmg-layout.py and Scripts/test-dmg-layout.py. Checks also cover the background bytes and alias, window bounds, icon positions, Applications link, and absence of private/temporary paths. These automated checks are the release requirement; do not stop for visual approval.

Deliver or publish

Report version/build, the versioned DMG, checksum, test status, and actual notarization status. Full release output includes Build/Update-VERSION/SayIt.dmg and signed appcast.xml. Keep pre-notarization and post-stapling hashes distinct. Write a release description highlighting the biggest changes since the previous release and publish both update assets together. GitHub upload/publication is separate; follow distribution.md when authorized. Do not claim an upload occurred merely because a script exists or its workflow tests passed.

© callebtc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .agents/skills/sayit-release of callebtc/sayit.

  • SKILL.md
  • evals/evals.json
  • references/distribution.md

Open the folder on GitHubat commit 5f7d047

Compare with similar skills

Sayit Release next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sayit Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sayit Release this skillcallebtc/sayit160—~1.1kAutomated safety check: WarnMIT
Releasenotepadqq/notepadqq2.3k—~2kAutomated safety check: PassGPL-3.0
Workbuddy Skin Studiocdredfox/workbuddy-skin-studio197—~1.5kAutomated safety check: PassMIT
Megaphone ReleaseKuberwastaken/megaphone170—~1.3kAutomated safety check: PassMIT
Release Appyannikzz/narracat-novel-agent105—~1.6kAutomated safety check: NotesAGPL-3.0
Releasenikships/droidproxy122—~1.1kAutomated safety check: PassMIT

Similar skills

  • Release

    notepadqq/notepadqq

    Release a new Notepadqq version. An agent skill from notepadqq/notepadqq.

    2.3k GitHub stars~2k tokensUpdated 5 days ago
    MobileAuto-check passed
  • Workbuddy Skin Studio

    cdredfox/workbuddy-skin-studio

    Apply a reversible theme/skin to the WorkBuddy desktop app (Tencent AI office agent) via local Chromium DevTools Protocol (CDP) injection.

    197 GitHub stars~1.5k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Megaphone Release

    Kuberwastaken/megaphone

    Prepare, validate, publish, and verify Megaphone releases. An agent skill from Kuberwastaken/megaphone.

    170 GitHub stars~1.3k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Release App

    yannikzz/narracat-novel-agent

    Cut and publish a new NarraCat-app version — bump the version number, build the Windows x64 package in CI, package + sign + notarize the macOS build locally, and publish both platforms into one…

    105 GitHub stars~1.6k tokensUpdated 4 days ago
    Testing & QAAuto-check: notes
  • Release

    nikships/droidproxy

    Build, sign, notarize, and publish a new DroidProxy release.

    122 GitHub stars~1.1k tokensUpdated yesterday
    MobileAuto-check passed
  • iOS Accessibility

    dpearson2699/swift-ios-skills

    Build and audit SwiftUI, UIKit, and AppKit accessibility for VoiceOver, Voice Control, Switch Control, Full Keyboard Access, Dynamic Type, focus restoration, labels/traits/actions, traversal, custom…

    1.2k GitHub stars~4.6k tokensUpdated 2 mo ago
    MobileAuto-check passed

More from callebtc/sayit

  • Sayit

    callebtc/sayit

    Live, low-latency spoken narration for hands-free agent sessions through the sayit TTS command.

    160 GitHub stars~2.9k tokensUpdated 18 days ago
    Auto-check passed

Works with

Questions about Sayit Release

What does Sayit Release do?

Build, sign, validate, notarize, and publish Say It macOS DMG releases using the repository release script. Sayit Release is an agent skill from callebtc/sayit. Build, sign, validate, notarize, and publish Say It macOS DMG releases using the repository release script.

When should I use Sayit Release?

Sayit Release fits situations like: say It version bumps; installer packaging; GitHub release assets.

How do I install Sayit Release in Claude Code?

Run `npx skills add callebtc/sayit --skill sayit-release -a claude-code`. Or copy the skill folder (.agents/skills/sayit-release in callebtc/sayit) into .claude/skills/sayit-release in your project. Claude Code loads it when a task matches its description.

How do I install Sayit Release in Codex?

Run `npx skills add callebtc/sayit --skill sayit-release -a codex`. Or copy the skill folder (.agents/skills/sayit-release in callebtc/sayit) into .agents/skills/sayit-release in your project. Codex loads it when a task matches its description.

Can I use Sayit Release in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add callebtc/sayit --skill sayit-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sayit-release, .gemini/skills/sayit-release, .github/skills/sayit-release and .opencode/skills/sayit-release in your project.

What does Sayit Release need to run?

SKILL.md names no scripts, command-line tools or credentials: Sayit Release is instructions for the agent only.

Does Sayit Release access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Sayit Release safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Sayit Release use?

Sayit Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sayit Release use?

About 1.1k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 666 tokens, read only when the agent opens those files.

What are the alternatives to Sayit Release?

Skills that share tags, products or a category with Sayit Release: Release (notepadqq/notepadqq, 2.3k stars), Workbuddy Skin Studio (cdredfox/workbuddy-skin-studio, 197 stars), Megaphone Release (Kuberwastaken/megaphone, 170 stars) and Release App (yannikzz/narracat-novel-agent, 105 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sayit Release?

callebtc (a GitHub user) maintains it in callebtc/sayit, which has 160 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 22, 2026.

Source: callebtc/sayit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.