Claude Code and Antigravity for Federal Practitioners: One Vault with Two Tools

DoW designated Anthropic a supply-chain risk. If you built workflows around Claude Code, here's how to protect your investment by running two AI tools against one shared vault.

Claude Code and Antigravity for Federal Practitioners: One Vault with Two Tools
Photo by Chris Briggs / Unsplash

The hands-on companion to Claude Code Alternatives for Federal Practitioners: AI Work That Outlasts Any Vendor.

The strategic case for building a portable, dual-tool AI workflow is in the companion piece. This post is the walkthrough. If you have a Claude Code environment built around a file-based vault and you want to run Antigravity alongside it (or instead of it), here's how to set it up.

Budget about two hours for the full configuration, less if your vault is already well-organized.

Prerequisites

You'll need:

  • Antigravity installed. Follow Google's setup guide. It's currently in public preview and free during that period.
  • An existing Claude Code environment with a project directory containing your vault, skills, and (ideally) a CLAUDE.md instruction file.
  • Basic terminal comfort. You'll need to use the terminal for a few tasks here, like creating directories and symlinks. It's not exotic, but you should be comfortable running commands.

With those in place, the setup builds from the ground up: start with what already works, then layer in skills, integrations, and memory.

Your Vault: What Transfers Without Changes

Many of your documents will move over without changes. Your markdown files, daily notes, and reference docs need zero modification. Antigravity reads your filesystem the same way Claude Code does. Open Antigravity in your vault directory, ask it to summarize a file, and confirm it can read your content. That's the foundation. Everything else builds on top of it.

If you've built reusable prompts as markdown files, both platforms read them natively. The directory name changes (.claude/skills/ becomes .agent/skills/), but the content is identical. Rather than maintaining two copies, use symlinks to point both tools at one shared library.

A symlink (symbolic link) is a filesystem shortcut that makes a directory appear to exist in one location while the actual files live somewhere else. When Claude Code looks in .claude/skills/, the symlink redirects it to your shared library. Antigravity's .agent/skills/ symlink does the same thing. Both tools think they have their own skills directory, but they're both reading from the same set of files.

Here's a typical starting structure:

your-vault/
├── .claude/
│   └── skills/         ← your existing Claude skills
├── shared/
│   └── skills/         ← where the unified library will live
└── (no .agent/ directory yet)

Move your skills into the shared directory, then create symlinks from both tool directories:

# Create the .agent directory
mkdir -p .agent

# Symlink both tool directories to the shared library
ln -s ../shared/skills .claude/skills
ln -s ../shared/skills .agent/skills

Your structure now looks like this:

your-vault/
├── .claude/
│   └── skills/ -> ../shared/skills
├── .agent/
│   └── skills/ -> ../shared/skills
└── shared/
    └── skills/         ← one source of truth

Both tools discover and invoke the same skill files. Update a prompt in shared/skills/, and both Claude and Antigravity inherit the change immediately.

MCP Server Configuration

The Model Context Protocol normalizes tool access across AI platforms. The good news: both tools use the same JSON format for MCP server configuration, and the same servers work with either client.

In Claude Code, MCP servers are configured in .claude/settings.local.json:

{
  "mcpServers": {
    "asana": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.asana.com/sse"]
    },
    "vault-search": {
      "command": "python",
      "args": ["path/to/vault-search/server.py"]
    }
  }
}

In Antigravity, the equivalent lives at ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "asana": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.asana.com/sse"]
    },
    "vault-search": {
      "command": "python",
      "args": ["path/to/vault-search/server.py"]
    }
  }
}

The format is nearly the same. When I set up Antigravity, it was able to read my Claude config and reproduce it almost verbatim. The only differences are the file location and any environment variables that need explicit export. Make sure tokens and API keys (like ASANA_PAT or HUBSPOT_TOKEN) are exported in your shell profile so both tools can access them.

Bridge Workflows: CLAUDE.md to .agent/workflows/

This is where the two tools diverge architecturally. Claude Code loads a monolithic CLAUDE.md that contains your project context, behavioral rules, and workflow triggers. Antigravity uses a modular .agent/workflows/ directory, where each workflow is a separate markdown file.

Don't duplicate your logic. Instead, create "bridge" workflows: small markdown files in .agent/workflows/ that point to your existing shared skill files.

Here's what a typical trigger looks like in CLAUDE.md:

**First session of day:** Use `/morning` skill (loads context,
creates daily note, checks Asana tasks, prompts for focus).

Here's the equivalent bridge workflow at .agent/workflows/morning.md:

---
description: First-session-of-day startup routine.
---

1. Read the SKILL.md at `.agent/skills/morning/SKILL.md`.
2. Follow its process steps to load context, create the daily
   note, and check Asana tasks.
3. Provide the morning briefing as stipulated in the success
   criteria.

Both tools execute the same underlying skill file. The bridge workflow is just a router. When you invoke /morning in Antigravity, it reads the bridge file, follows the pointer to your shared skills library, and runs the logic. Create a bridge workflow for each skill you use regularly (or ask Antigravity to do it for you). It takes a few minutes per skill.

The Snapshot Pattern: Bridging Memory Between Tools

The hardest challenge in dual-booting is memory parity. Claude Code stores learned preferences in a MEMORY.md file you can read and edit. Antigravity uses a Knowledge Item (KI) system that stores metadata in a proprietary schema outside your vault. The two systems can't read each other directly.

The solution is a one-way export. Create a workflow that tells Antigravity to consolidate its learned knowledge into a human-readable markdown file inside your vault. Here's the workflow I use at .agent/workflows/ki-snapshot.md:

---
description: Consolidates all distilled Knowledge Items into a
single, human-readable snapshot for Claude. 
---

1. List all subdirectories in the internal knowledge store.
2. For each Knowledge Item found:
   - Read the metadata.json summary and the contents of the
     artifacts/ directory.
   - Format into a clearly delineated Markdown section.
3. Consolidate all sections into a single file in the vault
   (e.g., ./references/KI-Snapshot.md).
4. Include a timestamp and a "Do Not Edit" header (this is an
   automated export).

When you run this, Antigravity generates a clean snapshot with timestamped, summarized lessons from its sessions. The next time you open Claude Code, ask it to review the snapshot. It picks up the context and behavioral adjustments Antigravity learned. It's a one-way bridge, not seamless continuity, but it keeps both tools working from shared context.

You can run this at the end of each Antigravity session to keep the snapshot current.

Testing Your Dual-Boot Setup

Before you call it done, walk through these six checks. They're ordered to build on each other, so if something breaks, you'll know exactly where the problem is.

  1. Open Antigravity in your vault directory and ask it to read a file. If it can summarize one of your reference docs, the filesystem foundation is working.
  2. Invoke a skill from your shared library (try /morning or whichever you use most). If the symlink is set up correctly, it should execute the same way it does in Claude Code.
  3. Run an MCP query, like searching Asana or pulling a contact from HubSpot. This confirms your server configuration transferred.
  4. Trigger a bridge workflow. Confirm it follows the pointer back to your shared skill file rather than looking for Antigravity-native logic.
  5. Run the ki-snapshot workflow and check that it produces a readable markdown file in your vault.
  6. Open Claude Code, load the snapshot, and ask it what Antigravity learned. If it can summarize the context, your memory bridge is working.

If all six pass, your dual-boot configuration is live.

Keeping It Running

A few maintenance notes:

  • Snapshot rhythm. Run ki-snapshot at the end of each Antigravity session, or at least at the end of each working day.
  • New skills go in the shared library. Not in a tool-specific directory. The symlinks mean both tools pick them up automatically.
  • Watch for config drift. When MCP servers update, check both config files. The format matches, but it's easy to update one and forget the other.
  • Antigravity is in preview. Directory conventions and workflow formats may change. Pin your expectations to the current behavior and check release notes when things break.

The Vault Is Yours

The tools are lenses. Your vault, your skills, your habits, your accumulated context: those belong to you, not to any vendor. This setup means that if you need to migrate again (and the landscape suggests you will), the work is already done. Point the next tool at the same files and keep moving.

For the strategic case behind this approach, see Claude Code Alternatives for Federal Practitioners: AI Work That Outlasts Any Vendor.