VVM (Vibe Virtual Machine) is a language for agentic programs where the LLM is the runtime. Activate when: running .vvm files, mentioning VVM, calling /vvm-boot, /vvm-run, /vvm-compile, /vvm-generate, or orchestrating multi-agent workflows. Read spec.md for the language specification and vvm.md for execution semantics.
View on GitHubSelect agents to install to:
npx add-skill https://github.com/karanchawla/vvm/blob/main/skills/vvm/SKILL.md -a claude-code --skill vvmInstallation paths:
.claude/skills/vvm/# VVM Skill
VVM (Vibe Virtual Machine) is a language for writing agentic programs where the LLM acts as the runtime.
---
## When to Activate
Activate this skill when:
1. User runs `/vvm-boot`, `/vvm-compile`, `/vvm-run`, or `/vvm-generate`
2. User opens or references a `.vvm` file
3. User asks about VVM syntax, semantics, or patterns
4. User wants to create an AI-powered workflow
---
## Documentation Files
| File | Role | When to Read |
| ----------------- | ------------------------- | ------------------------------- |
| `SKILL.md` | Quick reference, triggers | Always first |
| `vvm.md` | Execution semantics | When running programs |
| `spec.md` | Language specification | For syntax/validation questions |
| `memory-spec.md` | Agent memory (portable) | When using persistent agents |
| `patterns.md` | Design patterns | When writing programs |
| `antipatterns.md` | Anti-patterns | When reviewing programs |
---
## Quick Reference
### Agent Definition
```vvm
agent researcher(
model="sonnet",
prompt="thorough, cite sources",
skills=["web-search"],
permissions=perm(network="allow", bash="deny"),
)
```
### Agent Call
```vvm
result = @researcher `Find papers on {topic}.`(topic)
result = @researcher `Summarize.`(topic, retry=3, timeout="30s")
```
### Agent Memory
```vvm
agent assistant(model="sonnet", prompt="Helpful.", memory={ scope: "project", key: "user:alice" })
reply = @assistant `Continue.`(request) # default: memory_mode="continue"
dry = @assistant `Read-only run.`(request, memory_mode="dry_run")
fresh = @assistant `Stateless run.`(request, memory_mode="fresh")
```
### Semantic Predicate
```vvm
ready = ?`production ready`(code)
if ?`needs more work`(draft):
draft = @writer `Improve.`(draft)
```
### Pattern Matching
```vvm
match result:
case ?`high quality`:
publish(res