The Viv plugin for Claude Code (viv) turns Claude into a Viv expert—for writing Viv code, debugging compiler and runtime errors, designing storyworlds, building integrations, and more.
It works by maintaining a synced copy of the Viv codebase, which it efficiently navigates using special bundled commands, allowing Claude to search the full language reference, compiler source, runtime source, and other material any time it needs to look something up.
Skills include /setup for fully automated Viv installation and project setup, /write for authoring Viv code from a brief, /fix for diagnosing compiler and runtime errors, /design for worldbuilding and architecture planning, and /build for writing integration code. See below for a full listing.
- Requirements
- Getting Started
- How It Knows Viv
- Skills
- Compatibility
- Updating
- Installing a Specific Release
- Uninstalling
- Changelog
- Security and Privacy
- License
- Claude Code 1.0.33 or later.
- Git 2.25 or later (required by Claude Code's plugin installer).
-
Install Claude Code.
-
Install the Viv plugin:
claude plugin marketplace add siftystudio/claude-plugins claude plugin install viv@siftystudio
- To install a specific version, see Installing a Specific Release.
-
Enable auto-update so the plugin stays current:
- Within a Claude Code session, enter
/plugin. - Navigate to the
Marketplacestab and selectsiftystudio. - Select
Enable auto-update.
- Within a Claude Code session, enter
-
Start a new Claude Code session.
- Currently a full restart is required for the plugin to become active, despite what the UI may suggest about
/reload-plugins.
- Currently a full restart is required for the plugin to become active, despite what the UI may suggest about
-
Start using the plugin:
cdinto the project where you intend to use Viv.- Boot up Claude Code there:
claude. - Run the special setup skill:
/viv:setup(or just/setup). - Claude Code will handle all installation and setup for you, before giving you a tour of the Viv plugin—and of the larger Viv project, if desired.
-
Now Claude Code has deep Viv expertise any time you invoke it from your project directory, and the suite of Viv-specific Claude Code skills will be available across your machine.
During initial setup (via /viv:setup), the plugin downloads a copy of the Viv codebase so that Claude can search the full language reference, compiler source, runtime source, and other pertinent materials whenever it needs to look something up.
Its copy of the Viv codebase is stored on your machine as part of its own internal plugin data, which it navigates using a suite of bundled special commands that are tailored to the Viv monorepo structure and to Viv concerns in general. This allows Claude to efficiently find information with a minimal cost of tokens and time, and with no permission prompts, because it's just reading its own plugin data via pre-approved plugin commands.
After installing the plugin, the following Viv skills will be globally available to you across all Claude Code sessions.
To list all the skills, type /viv in a Claude Code session, which will bring up a scrollable autocomplete dropdown. To use a skill, simply type it in—either in its full form, like /viv:ask, or in its abbreviated form, like /ask. Most of the Viv skills allow a kind of argument in the form of surrounding prose, but a skill will work however invoked, as long as your message includes it.
Also note that you can just talk about Viv with Claude naturally, assuming you're in a project where /viv:setup has been run, in which case it will automatically select and use the right skill based on what you're doing.
Set up Viv in your project. Walks you through installing the compiler and runtime, choosing an editor plugin, and configuring your environment. Run this first on a per-project basis, and do so from a project folder (ideally the project root).
Example: /setup (triggers highly structured onboarding flow).
Ask anything about Viv: language constructs, authoring workflows, the compiler, the runtime, emergent narrative in general. Claude will look up the answer using the Viv materials copied into its plugin data.
Example: /ask what's the difference between a query and a sifting pattern.
Tell Claude what to make and it will write the Viv code—actions, plans, sifting patterns, tropes, queries, selectors, and more. The code will be compiled and verified before being presented to you.
Example: /write a sifting pattern that matches rags-to-riches storylines.
Paste a compiler error, point at a broken file, or describe an unexpected runtime behavior. Claude will diagnose the issue, trace through the compiler and/or runtime source if needed, and propose a fix. If the fix is big, you can use /viv:write and/or /viv:build to carry it out.
Example: /fix the compiler error in mutiny.viv.
Hand Claude your working code and it will review it for optimization opportunities, narrative potential, clarity, completeness, robustness, and style. In lieu of making changes, this skill typically produces a report (which can be handed off to /viv:write, /viv:build, or /viv:fix).
Example: /critique all my project Viv code for optimization opportunities.
Point Claude at a topic and it will carry out a deep dive into the Viv internals, your project's structure, or a specific language feature, returning a detailed briefing.
Example: /study how to do parallel tracks in a plan.
Describe what you want to build—a storyworld, an entity schema, an adapter architecture, a test strategy—and Claude will produce a design document that can be handed off to /viv:write and/or /viv:build.
Example: /design a storyworld around sound system rivalries in 1950s Kingston.
Claude will write your host adapter, test harness, simulation runner, or other integration code. Just tell it what you're after.
Example: /build a Viv adapter for my Express app and a test harness that runs 100 timesteps.
Check for newer versions of the Viv compiler, runtime, monorepo, editor plugins, and the Claude plugin itself. Claude reviews each component's changelog for breaking changes, presents the delta, and offers to upgrade what's behind (with your approval). This skill also handles downgrades, reinstalls, and reconciling drift from changes made outside the plugin.
Note: You will need to restart Claude Code in order for any update to this plugin itself to take effect.
Example: /sync (triggers an update check across all Viv components).
Report issues or suggestions to the Viv team, directly from Claude Code. Claude will draft the feedback, search for similar existing issues, and file it on GitHub on your behalf (pending your approval).
Example: /feedback (triggers a structured process for composing and submitting an issue on this GitHub repository).
The plugin downloads a copy of the Viv monorepo that is matched to your installed compiler and runtime versions. If you update your compiler or runtime outside the plugin, Claude will notice the version mismatch the moment it becomes relevant and offer to run /viv:sync to reconcile. You can also run /viv:sync directly at any time, to check whether your Viv components are behind the latest published versions.
If you enabled auto-update, the plugin will update automatically. But if auto-update is off, or if the latest version hasn't come through yet, you can update in one of two ways.
The easiest method is to run /viv:sync in a Claude Code session. If you'd rather update the plugin manually, uninstall it and then install again from scratch. In either case, you'll need to restart Claude Code afterward for the new plugin version to take effect.
You can also install a specific version of the plugin, for instance to use an older version.
-
If you have a previous install, uninstall it first.
-
Download the
.zipfile attached to the pertinent GitHub release, and unzip it. -
Install from the unzipped directory:
claude plugin marketplace add path/to/unzipped/<directory-name> claude plugin install viv@siftystudio
To fully remove the plugin:
-
Uninstall it via Claude Code:
claude plugin uninstall viv@siftystudio
-
Clear the marketplace cache. (Currently the
uninstallcommand removes the plugin from your active install list but leaves the cached marketplace copy behind, which can cause a stale version to be served on future installs.)-
macOS / Linux:
rm -rf ~/.claude/plugins/cache/siftystudio -
Windows (PowerShell):
Remove-Item -Recurse -Force ~/.claude/plugins/cache/siftystudio
-
See the changelog for a history of changes to this plugin.
See the privacy policy for information about how the plugin handles your data. If you discover a security vulnerability in the plugin, please report it using the protocol described in the Viv security policy.
Viv is freely available for non-commercial use, while commercial use requires a license from Sifty. Check out the license for the full details.
© 2025-2026 Sifty LLC. All rights reserved.