vishvakarma विश्वकर्मा

Architecture decisions

Why vishvakarma is built the way it is: each significant decision as a short record (context, the decision, its consequences), in the ADR format. A decision is never edited away: a later one supersedes it. Sources: docs/adr.

ADR 0001 · Accepted

Record architecture decisions

vishvakarma writes into the configuration of programs it doesn't own: Claude Code, Codex, opencode, Gemini CLI. Every choice about where and how it writes has a reason that isn't v…

ADR 0002 · Accepted

One store, written into each agent's own config

Every agent already has a way to load skills, MCP servers and global instructions, each in its own place and format: Claude Code reads ~/.claude/skills and ~/.claude.json, Codex ~/…

ADR 0003 · Accepted

Skills in the open Agent Skills format

A skill could be written for one agent (Claude Code's skills, Codex's prompts, opencode's commands), but the point of vishvakarma is that every agent has every skill. Claude Code, …

ADR 0004 · Accepted

Change only what vishvakarma added

The files vishvakarma writes are the user's: ~/.claude.json holds Claude Code's whole state, config.toml the user's Codex settings, and they may already have their own skills and M…

ADR 0005 · Accepted

Sync at login and on install

Skills and tools should be in every agent in every session without the user doing anything. What changes the picture: a new agent installed, a new Claude Code account (vesha profil…

ADR 0006 · Accepted

Every Claude Code account gets the tools

vesha, Vayu's Claude Code account manager, keeps each account in its own profile (CLAUDE_CONFIG_DIR). It links the shared parts (settings, skills, instructions) from ~/.claude into…

ADR 0007 · Accepted

Standard library only

vishvakarma runs at login, before anything else, on machines with nothing installed but Python; its skills' scripts run inside whatever agent the user has. A dependency would need …