bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
Every skill and tool, in every AI agent: Claude Code on every account, Codex, opencode, Gemini CLI, in every session.
SkillsGitHub @TheyashsawarkarOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Skills and tools for every AI agent on your machine, in every session (Claude Code, Codex, opencode, Gemini CLI)
Loading the full README.
Read the full README ↗Vishvakarma (विश्वकर्मा) is the divine craftsman of Hindu tradition: what you teach once, every agent knows.
You use more than one AI agent: Claude Code (maybe on several accounts), Codex, opencode, Gemini CLI. Each keeps its own skills, its own MCP servers and its own global instructions, in its own format and folder. Teach one agent a job and the others don't know it; add a tool to one and the others can't use it; log in to a second Claude account and it has none of them.
vishvakarma keeps your skills and tools in one place and puts them into every agent it finds, so whichever agent you open, in whichever account, has all of them:
SKILL.md, the open
Agent Skills format: a description saying when
to use it, step-by-step instructions, and helper scripts.mcp.toml.vishvakarma sync links the skills and registers the tools in each
agent's own config, and runs at every login, so a newly installed agent
or a new account gets everything without you doing anything.It's part of Vayu, and ships Vayu's skills and tools, but works on its own: standard library Python, no dependencies.
~/.config/vishvakarma/.vishvakarma sync puts them
where each agent already looks, in its own format: skills are linked
(so editing one takes effect everywhere at once), servers registered,
and agents that don't read skill folders get a short index of the
skills in their instructions file. Nothing runs between an agent and
its tools: each loads them the way it always does, however it's
started (ADR 2).Why it's built this way: the decision records.
curl -fsSL https://raw.githubusercontent.com/Theyashsawarkar/vishvakarma/main/install.sh | bash
systemctl --user enable vishvakarma # sync at every login
On Vayu, kosha install vishvakarma does both (Vayu starts the unit at login).
It needs Python 3.11 or newer and git.
vishvakarma ui shows every skill, tool and agent in one place, in three tabs:
The top bar says whether every agent is in sync; Space r s syncs, Space c d
runs the doctor, both without leaving the app. On Vayu it's a tmux popup on
prefix A, and in the app launcher.
Vim keys, with Space as the leader, the same grammar as every Vayu tool:
the app opens in NORMAL mode (keys are commands, typing changes nothing);
the filter and a new skill's name are INSERT (Esc goes back). After
Space, a strip shows what can follow; Space Space finds any action by
name; ? lists every key of the tab you're on. Anything that changes every
agent asks first, and only y says yes.
| Key | Does |
|---|---|
j / k | Move down / up (counts work: 4j) |
gg / G | First / last item (5G: the fifth) |
Ctrl+d / Ctrl+u | Half a page down / up |
H / L | Previous / next tab (Tab, h l and 1 2 3 work too, so a count starts at 4) |
Enter | Read the skill / test the tool / open the agent's folder |
e | Edit the skill (one of Vayu's: your own copy first) |
x | Turn the skill or tool off for every agent, or back on (asks) |
dd | Take back what vishvakarma added to the agent (asks) |
yy | Copy the path (a tool: its command) |
/ | Filter the list (n / N: next / previous match; Esc clears) |
n / N | Next / previous match |
r | Reload |
? | Every key |
q / Esc | Quit (Esc clears a filter first) |
| Leader | Does |
|---|---|
Space Space | The palette: every action, by name |
Space ? / Space q | Every key / quit |
Space t s / Space t t / Space t a | The Skills / Tools / Agents tab |
Space f f | Filter the list |
Space a s | A new skill of your own, opened in your editor |
Space e e / Space e c | Edit the skill / its settings (~/.config/vishvakarma/NAME.toml, from its example) |
Space d d | Take back what vishvakarma added to the agent (asks) |
Space r r / Space r s | Reload / sync every agent |
Space c d / Space c t | Check: the doctor / test the tool |
Space m x | Turn the skill or tool off or on (asks) |
Space y y | Copy the path |
Space o e / Space o f | Open SKILL.md in your editor / open the folder |
Typing (INSERT): Enter confirms, Esc cancels, Ctrl+j / Ctrl+k move
the list while filtering, Ctrl+u clears.
Keys that moved say where they went, for one release: n (a new skill: now
Space a s; n is the next match), c (settings: Space e c), u (take
back: dd), s (sync: Space r s), d (doctor: Space c d), t (test:
Space c t).
This is the beginning of the README. Read the rest at the original. Read the full README ↗