Release
notepadqq/notepadqq
Release a new Notepadqq version. An agent skill from notepadqq/notepadqq.
Build, sign, validate, notarize, and publish Say It macOS DMG releases using the repository release script.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add callebtc/sayit --skill sayit-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install callebtc/sayit sayit-release --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "sayit-release" agent skill from https://github.com/callebtc/sayit/tree/main/.agents/skills/sayit-release into .claude/skills/sayit-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sayit-release", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/callebtc/sayit/tree/main/.agents/skills/sayit-releaseType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add callebtc/sayit --skill sayit-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install callebtc/sayit sayit-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/callebtc/sayit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/sayit-release .agents/skills/sayit-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sayit-release" agent skill from https://github.com/callebtc/sayit/tree/main/.agents/skills/sayit-release into .agents/skills/sayit-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sayit-release", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add callebtc/sayit --skill sayit-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install callebtc/sayit sayit-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/callebtc/sayit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/sayit-release .cursor/skills/sayit-release && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "sayit-release" agent skill from https://github.com/callebtc/sayit/tree/main/.agents/skills/sayit-release into .cursor/skills/sayit-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sayit-release", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/callebtc/sayit.git --path .agents/skills/sayit-release--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add callebtc/sayit --skill sayit-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install callebtc/sayit sayit-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/callebtc/sayit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/sayit-release .gemini/skills/sayit-release && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "sayit-release" agent skill from https://github.com/callebtc/sayit/tree/main/.agents/skills/sayit-release into .gemini/skills/sayit-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sayit-release", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install callebtc/sayit sayit-releaseInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add callebtc/sayit --skill sayit-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/callebtc/sayit.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/sayit-release .github/skills/sayit-release && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "sayit-release" agent skill from https://github.com/callebtc/sayit/tree/main/.agents/skills/sayit-release into .github/skills/sayit-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sayit-release", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add callebtc/sayit --skill sayit-release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install callebtc/sayit sayit-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/callebtc/sayit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/sayit-release .opencode/skills/sayit-release && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "sayit-release" agent skill from https://github.com/callebtc/sayit/tree/main/.agents/skills/sayit-release into .opencode/skills/sayit-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sayit-release", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
sayit-releaseBuild, 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. 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.
Read from SKILL.md and the folder at commit 5f7d047. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check found patterns that need a careful read before installing.
- Keep `.env.release` and signing material ignored. Never print configuration,come from the existing ignored `.env.release`. The script usesrelease 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.
The full file from callebtc/sayit at commit 5f7d047, republished under its MIT licence (© callebtc). 525 words, ~1,149 tokens.
.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.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.
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.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..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.When authorized to build and notarize:
SAYIT_ALLOW_NOTARIZATION_UPLOAD=YES ./Scripts/release.sh VERSIONReplace 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:
./Scripts/release.sh --prepare VERSIONThis 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:
SAYIT_ALLOW_NOTARIZATION_UPLOAD=YES \
./Scripts/release.sh --notarize-existing VERSION RECORDED_SHA256The 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.
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.
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
SKILL.md and 2 other files (references) in .agents/skills/sayit-release of callebtc/sayit.
Open the folder on GitHubat commit 5f7d047
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Sayit Release this skillcallebtc/sayit | 160 | — | ~1.1k | Automated safety check: Warn | MIT | |
| Releasenotepadqq/notepadqq | 2.3k | — | ~2k | Automated safety check: Pass | GPL-3.0 | |
| Workbuddy Skin Studiocdredfox/workbuddy-skin-studio | 197 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Megaphone ReleaseKuberwastaken/megaphone | 170 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Release Appyannikzz/narracat-novel-agent | 105 | — | ~1.6k | Automated safety check: Notes | AGPL-3.0 | |
| Releasenikships/droidproxy | 122 | — | ~1.1k | Automated safety check: Pass | MIT |
notepadqq/notepadqq
Release a new Notepadqq version. An agent skill from notepadqq/notepadqq.
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.
Kuberwastaken/megaphone
Prepare, validate, publish, and verify Megaphone releases. An agent skill from Kuberwastaken/megaphone.
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…
nikships/droidproxy
Build, sign, notarize, and publish a new DroidProxy release.
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…
callebtc/sayit
Live, low-latency spoken narration for hands-free agent sessions through the sayit TTS command.
Categories
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.
Sayit Release fits situations like: say It version bumps; installer packaging; GitHub release assets.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Sayit Release is instructions for the agent only.
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.
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.
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.
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.
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.
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.