bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
🍣 Hand-rolled AI Skills distilled from my everyday experience. Git & Mise (...and others).
SkillsPython · PklGitHub @sherifabdlnabySelf-installOwner unconfirmed
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
Loading the full README. The saved excerpt is shown below.
My hand-rolled AI Skills I use every day. Hand-rolled Skills, and other AI bits I build from my own day-to-day experience. Token estimates use tiktoken's o200k_base encoding. SKILL.md is the entry prompt; the total adds every other Markdown file an agent can go on to read. Scripts, assets and config ship with a skill but are run rather than read, so they are left out. 1. coding | My coding and docs conventions and taste. Loaded first on anything that touches code or docs. 2. mise-fy | Encode mise best practices. And Transf [README 설치·사용 부분 발췌] InstallationRead the full README ↗
Hand-rolled Skills, and other AI bits I build from my own day-to-day experience.
Token estimates use tiktoken's o200k_base encoding. SKILL.md is the entry prompt; the total adds every
other Markdown file an agent can go on to read. Scripts, assets and config ship with a skill but are run rather
than read, so they are left out.
| Skill | SKILL.md | Total |
|---|---|---|
afk | 228 | 228 |
cicd-fy | 1,517 | 15,838 |
coding | 1,048 | 1,048 |
fast-feedback-mode | 394 | 394 |
git | 2,414 | 14,814 |
grill-me | 61 | 61 |
grilling | 578 | 578 |
kubernetes-debug | 240 | 1,513 |
mise-fy | 2,524 | 36,888 |
review | 325 | 325 |
skill-fy | 2,901 | 6,389 |
variants/afk-careful | 89 | 89 |
variants/afk-soon | 166 | 166 |
variants/afk-yolo | 114 | 114 |
variants/watch-pr | 660 | 660 |
variants/watch-pr-ci | 261 | 261 |
variants/watch-pr-comments | 256 | 256 |
vendor/domain-modeling | 781 | 1,939 |
vendor/gh-stack | 2,282 | 7,946 |
vendor/handoff | 198 | 198 |
vendor/humanizer | 7,056 | 9,335 |
vendor/i-have-adhd | 1,743 | 1,743 |
vendor/improve-codebase-architecture | 1,349 | 2,945 |
vendor/prototype | 642 | 3,546 |
vendor/show-me | 783 | 783 |
vendor/teach | 1,997 | 3,855 |
vendor/wait-what | 102 | 102 |
vendor/writing-for-agents | 2,349 | 2,916 |
mise best practices. And Transform projects into using mise + hk for a good dev setup!forever).Skills I didn't write but use daily, vendored under skills/vendor/ so the plugin ships one set instead of asking you to install them separately. Thanks to
mattpocock/skills, humanlayer/skills, blader/humanizer, and
github/gh-stack.
skills-lock.json is the list, and mise run skills:sync rebuilds the directory from it. It records where each skill comes from, not which version, so a sync takes whatever
upstream has now.
I mostly use (opus-4.8|5,gpt 5.5,gpt 5.6 sol|terra, and grok 4.5), weaker models might not work as good, especially that I rely on model's world knowledge over explicit examples.
npx skills for just the skills. The plugin to get my whole setup.
Installs skills into any SKILL.md-aware agent. You don't need a plugin host.
npx skills add sherifabdlnaby/skills # all skills
npx skills add sherifabdlnaby/skills --skill git # just one skill
npx skills list sherifabdlnaby/skills # see what's available
/plugin marketplace add sherifabdlnaby/skills
/plugin install skills@sherif-plugins
Update with /plugin marketplace update sherif-plugins; manage from /plugin.
/plugin marketplace add sherifabdlnaby/skills
/plugin install skills
Manage from /plugin. Same repo, same skills — Cursor reads .cursor-plugin/.
This repo is managed by mise: it pins every tool, exposes the tasks, and wires the git hooks, so you only deal with mise once.
brew install mise # or: apt/dnf/pacman install mise, winget install jdx.mise
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc # bash: mise activate bash >> ~/.bashrc
mise doctor # confirm the install is healthy
Other install methods: installation docs.
You also need the gh CLI logged in (gh auth status) — mise doesn't
install it, and the pinact check step borrows its token to resolve action tags to SHAs. Without
it that step runs unauthenticated and gets rate-limited.
One-time setup, from the repo root:
mise trust && mise run setup # trust config, install tools, self-install the pre-commit hook
Linters, formatters, and validators run via hk:
mise run check # report on uncommitted changes (alias: mise run lint)
mise run check --fix # apply fixes
mise run check --all # whole repo
mise tasks # discover every task
Commits run the fast commit gates on staged files, a push runs the slower push gates, and CI runs both as mise run check. lychee checks local/relative links only by default (see
.config/lychee.toml).
Claude/Cursor marketplaces install straight from git and key the plugin on the version field in
.claude-plugin/plugin.json and .cursor-plugin/plugin.json — there's no published artifact.
Cutting a release:
version to the same value in your PR. mise run version:check (also an
hk pre-push gate) fails if shipped skills//hooks/ content changed without the bump.main. CI notices the version moved past the latest vX.Y.Z tag and cuts the tag plus
a GitHub release, with notes generated from merged PRs and grouped by label: skill, hooks,
fix, docs, ci, deps.There's nothing to verify or download: the marketplaces install the repo at the tag.
See CONTRIBUTING.md.
AskUserQuestion tool instead of markdown.