CI CD Setup
rshankras/claude-code-apple-skills
Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.
Manage ClaudeBar's GitHub Actions CI/CD pipelines: build, test, and release workflows.
$ npx skills add tddworks/ClaudeBar --skill github-actions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tddworks/ClaudeBar github-actions --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/tddworks/ClaudeBar.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/github-actions .claude/skills/github-actions && 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 "github-actions" agent skill from https://github.com/tddworks/ClaudeBar/tree/main/.claude/skills/github-actions into .claude/skills/github-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions", 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/tddworks/ClaudeBar/tree/main/.claude/skills/github-actionsType 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 tddworks/ClaudeBar --skill github-actions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tddworks/ClaudeBar github-actions --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tddworks/ClaudeBar.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/github-actions .agents/skills/github-actions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "github-actions" agent skill from https://github.com/tddworks/ClaudeBar/tree/main/.claude/skills/github-actions into .agents/skills/github-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions", 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 tddworks/ClaudeBar --skill github-actions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tddworks/ClaudeBar github-actions --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tddworks/ClaudeBar.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/github-actions .cursor/skills/github-actions && 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 "github-actions" agent skill from https://github.com/tddworks/ClaudeBar/tree/main/.claude/skills/github-actions into .cursor/skills/github-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions", 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/tddworks/ClaudeBar.git --path .claude/skills/github-actions--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 tddworks/ClaudeBar --skill github-actions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tddworks/ClaudeBar github-actions --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tddworks/ClaudeBar.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/github-actions .gemini/skills/github-actions && 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 "github-actions" agent skill from https://github.com/tddworks/ClaudeBar/tree/main/.claude/skills/github-actions into .gemini/skills/github-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions", 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 tddworks/ClaudeBar github-actionsInstalls 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 tddworks/ClaudeBar --skill github-actions -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tddworks/ClaudeBar.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/github-actions .github/skills/github-actions && 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 "github-actions" agent skill from https://github.com/tddworks/ClaudeBar/tree/main/.claude/skills/github-actions into .github/skills/github-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions", 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 tddworks/ClaudeBar --skill github-actions -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tddworks/ClaudeBar github-actions --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tddworks/ClaudeBar.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/github-actions .opencode/skills/github-actions && 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 "github-actions" agent skill from https://github.com/tddworks/ClaudeBar/tree/main/.claude/skills/github-actions into .opencode/skills/github-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-actions", 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.
github-actionsManage ClaudeBar's GitHub Actions CI/CD pipelines: build, test, and release workflows.
GitHub Actions is an agent skill from tddworks/ClaudeBar. Manage ClaudeBar's GitHub Actions CI/CD pipelines: build, test, and release workflows. Use this skill when: (1) Setting up secrets for CI/CD (certificate, API key, Sparkle key, Codecov) (2) Creating a new release — tag-based or manual workflowdispatch (3) Triggering or explaining the build.yml, tests.yml, or release.yml workflows (4) Debugging release failures (signing, notarization, appcast) (5) Managing beta vs stable channels for Sparkle auto-updates (6) User says "release a new version", "push a tag", "set up…
Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/release-workflow.md` and `references/secrets-setup.md`).
It sits in DevOps & Cloud, covering CI/CD. It works with GitHub Actions, App Store Connect and macOS. The repository describes itself as: A macOS menu bar application that monitors AI coding assistant usage quotas. Keep track of your Claude, Codex, Antigravity ,and Gemini usage at a glance. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1dcaa62. 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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
APPLE_CERTIFICATE_PASSWORDAPP_STORE_CONNECT_KEY_IDSPARKLE_EDDSA_PRIVATE_KEYCODECOV_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
GitHub Actions loads about 1k tokens when it runs, and up to ~3.3k if it reads all its reference files. Until then it costs about 144 tokens; SKILL.md has 222 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 no risky patterns in SKILL.md.
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 tddworks/ClaudeBar at commit 1dcaa62, republished under its Apache-2.0 licence (© tddworks). 222 words, ~1,039 tokens.
.claude/skills/github-actions/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Three workflows live in .github/workflows/. See reference files for setup and troubleshooting.
| Workflow | Trigger | Runner | Purpose |
|---|---|---|---|
build.yml | push/PR to main, develop | macos-15 | Debug + release build verification |
tests.yml | push/PR to main, develop | macos-26 | Unit tests + Codecov coverage upload |
release.yml | v* tag push OR manual | macos-15 | Sign → notarize → DMG → GitHub release → appcast |
Option A — Tag (recommended):
# 1. Update CHANGELOG.md with release notes for this version
# 2. Commit and push
git add CHANGELOG.md
git commit -m "docs: add release notes for v1.2.0"
git push origin main
# 3. Tag and push — this triggers release.yml automatically
git tag v1.2.0 && git push origin v1.2.0
# Beta / pre-release (automatically flagged on GitHub)
git tag v1.2.0-beta.1 && git push origin v1.2.0-beta.1Option B — Manual dispatch:
1.2.0 or 1.2.0-beta.1)publish_appcast and debugSupported version formats: X.Y.Z, X.Y.Z-beta, X.Y.Z-beta.N, X.Y.Z-alpha.N, X.Y.Z-rc.N
| Secret | Required For | See |
|---|---|---|
APPLE_CERTIFICATE_P12 | Code signing | secrets-setup.md |
APPLE_CERTIFICATE_PASSWORD | Code signing | secrets-setup.md |
APP_STORE_CONNECT_API_KEY_P8 | Notarization | secrets-setup.md |
APP_STORE_CONNECT_KEY_ID | Notarization | secrets-setup.md |
APP_STORE_CONNECT_ISSUER_ID | Notarization | secrets-setup.md |
SPARKLE_EDDSA_PRIVATE_KEY | In-app auto-updates | secrets-setup.md |
CODECOV_TOKEN | Coverage upload | secrets-setup.md |
APP_IDENTITY | Optional signing override | secrets-setup.md |
git tag v1.2.0
│
▼
release.yml
1. Extract + validate version (SemVer)
2. Update Info.plist (CFBundleShortVersionString + CFBundleVersion = run_number)
3. tuist install → tuist generate
4. xcodebuild archive (arm64 + x86_64, unsigned)
5. Import Developer ID cert into temp keychain
6. codesign with entitlements
7. notarytool submit + staple
8. Create ZIP + DMG (signed), SHA256 checksums
9. Extract release notes from CHANGELOG.md
10. Publish GitHub Release (draft: false)
11. Generate Sparkle appcast with EdDSA signature
12. Deploy appcast to GitHub PagesEnable verbose output via manual dispatch → debug: true. This prints:
For detailed troubleshooting: release-workflow.md → Troubleshooting
Pre-release tags (v1.2.0-beta.1) automatically:
prerelease: true<sparkle:channel>beta</sparkle:channel> to the appcast entryStable releases always win over betas of the same version (stable gets higher build number).
See release-workflow.md for the full beta channel matrix.
© tddworks, Apache-2.0. 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 .claude/skills/github-actions of tddworks/ClaudeBar.
Open the folder on GitHubat commit 1dcaa62
GitHub Actions 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 |
|---|---|---|---|---|---|---|
| GitHub Actions this skilltddworks/ClaudeBar | 1.5k | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| CI CD Setuprshankras/claude-code-apple-skills | 783 | — | ~1.5k | Automated safety check: Notes | MIT | |
| Releasearul28/ADE | 114 | — | ~17k | Automated safety check: Pass | AGPL-3.0 | |
| Reproduce macOS Python FlavorsNuitka/Nuitka | 15k | — | ~1.7k | Automated safety check: Pass | AGPL-3.0 | |
| Releasingmarciogranzotto/clawd-tank | 164 | — | ~923 | Automated safety check: Pass | MIT | |
| CI Workflow Audithewigovens/jayjay | 172 | — | ~703 | Automated safety check: Pass | Custom licence |
rshankras/claude-code-apple-skills
Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.
arul28/ADE
ADE release conductor: detect whether desktop, iOS, and/or the Cloudflare web tier actually changed, bump desktop patch versions, keep iOS marketing versions fixed while bumping build numbers, ship…
Nuitka/Nuitka
Reproduce macOS Nuitka issues across Python distributions and GitHub Actions Python packaging.
marciogranzotto/clawd-tank
Cuts a new versioned release of the Clawd Tank macOS menu bar app.
hewigovens/jayjay
Audit GitHub Actions duplication, timing, filters, and gates.
hewigovens/jayjay
Audit unpinned GitHub Actions references or related bot PRs.
tddworks/ClaudeBar
Add an AI provider to ClaudeBar as a JSON definition run by the one generic Provider and DataSource.
tddworks/ClaudeBar
Guide for adding new report cards to ClaudeBar that analyze local data sources and display metrics with comparison deltas.
tddworks/ClaudeBar
Guide for implementing features in ClaudeBar following architecture-first design, TDD, rich domain models, and Swift 6.2 patterns.
tddworks/ClaudeBar
Guide for fixing bugs in ClaudeBar following Chicago School TDD and rich domain design.
tddworks/ClaudeBar
Guide for making improvements to existing ClaudeBar functionality using TDD.
Works with
Categories
Manage ClaudeBar's GitHub Actions CI/CD pipelines: build, test, and release workflows. GitHub Actions is an agent skill from tddworks/ClaudeBar. Manage ClaudeBar's GitHub Actions CI/CD pipelines: build, test, and release workflows.
GitHub Actions fits situations like: setting up secrets for CI/CD (certificate; creating a new release — tag-based; manual workflowdispatch; explaining the build.yml.
Run `npx skills add tddworks/ClaudeBar --skill github-actions -a claude-code`. Or copy the skill folder (.claude/skills/github-actions in tddworks/ClaudeBar) into .claude/skills/github-actions in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tddworks/ClaudeBar --skill github-actions -a codex`. Or copy the skill folder (.claude/skills/github-actions in tddworks/ClaudeBar) into .agents/skills/github-actions 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 tddworks/ClaudeBar --skill github-actions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/github-actions, .gemini/skills/github-actions, .github/skills/github-actions and .opencode/skills/github-actions in your project.
Going by SKILL.md and its folder, GitHub Actions needs the command-line tools its instructions call (git) and credentials named APPLE_CERTIFICATE_PASSWORD, APP_STORE_CONNECT_KEY_ID, SPARKLE_EDDSA_PRIVATE_KEY and CODECOV_TOKEN. Our summary lists: A credential in SPARKLE_EDDSA_PRIVATE_KEY; A credential in CODECOV_TOKEN.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
GitHub Actions is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1k tokens (SKILL.md is roughly 4.2k 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 2.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with GitHub Actions: CI CD Setup (rshankras/claude-code-apple-skills, 783 stars), Release (arul28/ADE, 114 stars), Reproduce macOS Python Flavors (Nuitka/Nuitka, 15k stars) and Releasing (marciogranzotto/clawd-tank, 164 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tddworks (a GitHub organization) maintains it in tddworks/ClaudeBar, which has 1,530 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 8, 2026.
Source: tddworks/ClaudeBar on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.