Wire is a structured delivery system for data platform engagements, built on top of Claude Code and Gemini CLI. It encodes analytics engineering methodology as workflow specifications that the AI reads before generating anything so that output follows consistent patterns, traces back to requirements and can be validated automatically rather than having to be manually eyeballed.
Instead of prompting an AI to write a dbt model and hoping it follows your conventions, you run /wire:dbt-generate and the AI receives a specification that tells it exactly which upstream design decisions to read, which naming patterns to apply, which tests to include, and how to update the project status tracker when it's done.
AI code generation can produce syntactically valid SQL. Where it falls down is methodology: consistent naming conventions across 15+ models, correct surrogate key patterns, relationship test coverage on every foreign key, traceability from business requirement to warehouse column. These failures are not knowledge failures, as the models typically do know the conventions. They are, however, context and control failures as without a structured methodology constraining generation, LLMs improvise and the accumulated inconsistencies across a project erode the value of using AI at all.
Wire closes this gap by encoding the methodology as workflow specifications that the AI reads before generating anything. Each specification tells the AI which upstream artifacts to read, which templates to follow, which validation checks to apply, and how to update the project state tracker. The result is of typically of an equivalent level of quality of a senior analytics engineer who has been on the project for months, because it was generated by an AI that read every design decision and requirement that a senior analytics engineer would have absorbed.
Wire does not replace consultants or developers. It gives them an AI that works quickly and consistently, freeing them to focus on client relationships, design decisions and the judgement calls that automation cannot make.
- 89 slash commands covering the full delivery lifecycle: Discovery, Requirements, Design, Development, Testing, Deployment, Enablement
- 8 release types matching common engagement shapes: discovery scoping, full platform builds, pipeline-only, dbt development, dashboard extensions, enablement, and agentic commerce storefronts
- Two-tier engagement structure separating long-running client context from individual scoped releases
- Generate / validate / review lifecycle for every artifact: structured generation, automated checks, stakeholder sign-off
- 16 ad-hoc development skills that activate automatically during coding work (dbt, LookML, Dagster, Python, Fivetran, Looker) without any explicit invocation
- Autopilot mode for autonomous end-to-end delivery
- Jira and Linear integration for issue tracking synced to the artifact lifecycle
- Confluence and Notion integration for client-facing document review
- Fathom integration for surfacing relevant meeting transcript context during reviews
- Runs on Claude Code (Anthropic) and Gemini CLI (Google)
Wire is distributed as a Claude Code plugin and a Gemini CLI extension. Installing the plugin embeds every Wire command inline — no framework files need to exist in your project repository.
Plugins provide the 89 /wire:* commands. Each command file contains its full workflow specification, so the AI receives complete instructions as context at invocation time.
Skills sit alongside commands but work differently. They activate automatically during ad-hoc coding work without any explicit invocation. When you start writing a dbt model, the dbt development skill provides naming conventions, SQL style rules, and testing patterns as background context. The following skills are included:
| Skill | Activates when… |
|---|---|
dbt-development |
Writing dbt models, tests, or documentation |
dbt-migration |
Migrating dbt projects across platforms |
dbt-fusion |
Resolving dbt Core to Fusion migration errors |
dbt-mcp-server |
Configuring the dbt MCP server |
dbt-analytics-qa |
Answering business questions from dbt data |
dbt-dag |
Generating lineage diagrams |
dbt-unit-testing |
Writing dbt unit tests |
dbt-semantic-layer |
Working with the dbt Semantic Layer |
dbt-troubleshooting |
Diagnosing dbt errors |
lookml-content-authoring |
Writing LookML views, explores, and dashboards |
looker-dashboard-mockup |
Generating HTML dashboard mockups |
dagster |
Writing Dagster asset definitions and pipelines |
dignified-python |
Writing production-quality Python |
fivetran |
Configuring Fivetran connectors via MCP |
research |
Conducting technical research (findings auto-saved to .wire/research/) |
MCP servers connect Wire to external systems. Configure them once and all commands that need them use them automatically:
| MCP Server | Purpose |
|---|---|
| Atlassian | Jira issue tracking and Confluence document store |
| Linear | Linear issue tracking |
| Fathom | Meeting transcript search during reviews |
| Notion | Notion document store |
| Context7 | Up-to-date library documentation |
| Fivetran | Create, configure, and monitor Fivetran connectors and destinations |
- Claude Code (CLI or desktop app) or Gemini CLI
- Git
/plugin marketplace add rittmananalytics/wire-plugin
/plugin install wire@rittman-analytics
Restart Claude Code. All /wire:* commands are immediately available.
gemini extensions install https://github.com/rittmananalytics/wire-extensionCommands are available as /wire * with spaces rather than colons.
MCP servers are optional but enable issue tracking, document store sync, and meeting transcript context. Add whichever you need:
# Atlassian (Jira + Confluence)
claude mcp add --transport http atlassian https://mcp.atlassian.com/v1/sse
# Linear
claude mcp add --transport http linear https://mcp.linear.app/sse
# Fathom (meeting transcripts — requires a self-hosted or managed Fathom MCP server)
claude mcp add --transport http fathom https://your-fathom-mcp-server/mcp
# Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp
# Fivetran (requires API key and secret from Fivetran dashboard → Account → Settings → API Config)
claude mcp add --transport http fivetran https://mcp.fivetran.com/mcp \
-H "X-Fivetran-API-Key: YOUR_API_KEY" \
-H "X-Fivetran-API-Secret: YOUR_API_SECRET"Run /wire:mcp at any time to check connection status, update endpoints, or force re-authentication.
/wire:new
Wire asks for a client name, engagement type, first release type, and an optional Statement of Work path. It creates the .wire/ folder structure and, if you chose a discovery release, begins the scoping workflow.
Every Wire engagement uses a two-tier layout in .wire/:
.wire/
engagement/
context.md # client objectives, stakeholders, current-state architecture
sow.md # Statement of Work (copied at setup)
calls/ # meeting notes and call transcripts
releases/
01-discovery/ # problem definition, pitch, release brief, sprint plan
02-pipeline/ # data pipeline and dbt transformation
03-dashboards/ # client-facing reporting layer
research/
sessions/ # technical research findings (auto-saved by the research skill)
The engagement folder holds everything that spans the whole client relationship. Releases are scoped, time-boxed units of delivery, each with its own status.md tracking file and execution_log.md recording every command run against it.
Every artifact follows the same three-step lifecycle:
Generate reads upstream artifacts (requirements, design decisions, prior models), applies Wire methodology templates, and produces the artifact. Output is written to the release folder and the status tracker is updated.
Validate runs automated checks against the generated artifact. For a dbt model this covers naming convention compliance, test coverage, and relationship validation. For a requirements document it checks completeness against the SOW. The result is a structured PASS/FAIL report with specific issues identified.
Review presents the artifact for stakeholder sign-off. Wire surfaces relevant meeting transcript context from Fathom, document store comments from Confluence or Notion, and any prior reviewer feedback. The reviewer approves, requests changes, or rejects. Approval gates the next phase.
Each command has a matching validate and review counterpart: /wire:requirements-generate, /wire:requirements-validate, /wire:requirements-review.
| Type | Scope | Typical duration |
|---|---|---|
| Discovery | Problem definition, pitch, release brief, sprint plan | 1–2 weeks |
| Full Platform | Pipeline through dbt, semantic layer, and dashboards | 2–3 weeks |
| Dashboard-First | Visual mocks drive the data model; seed data enables early dbt work | 1–2 weeks |
| Pipeline + dbt | New data pipeline and transformation layer | 1–2 weeks |
| dbt Development | Analytics engineering on existing infrastructure | 1 week |
| Dashboard Extension | New dashboards on an existing semantic layer | 3–5 days |
| Enablement | Training and documentation for an existing platform | 2–3 days |
| Agentic Commerce | Lovable base storefront plus 9 AI commerce features via Claude Code | 1–4 weeks |
The following shows a typical command sequence for delivering a new data pipeline and dbt transformation layer.
1. Create the engagement and release
/wire:new
Select pipeline_only as the release type. Wire creates .wire/engagement/ and .wire/releases/01-pipeline/.
2. Start a working session
/wire:session-start
Wire scans the release status, surfaces any relevant prior research, and proposes a focused plan for the session.
3. Extract requirements
/wire:requirements-generate
Wire reads the SOW and any call transcripts in engagement/calls/ and produces a structured requirements specification. Run /wire:requirements-validate to check it, then /wire:requirements-review for sign-off.
4. Design the pipeline architecture
/wire:pipeline_design-generate
Produces a pipeline architecture document covering source systems, replication strategy, and data flow. Validate and review as above before proceeding.
5. Generate the pipeline
/wire:pipeline-generate
For a Fivetran engagement, this configures connectors via the Fivetran MCP server and produces a pipeline_connections.md record. For a Python pipeline it generates the pipeline code.
6. Generate dbt models
/wire:dbt-generate
Wire reads the pipeline design and requirements and generates staging, integration, and warehouse dbt models following the three-layer naming convention, with tests and documentation.
7. Close the session
/wire:session-end
Records what was accomplished in status.md and suggests a focus for the next session.
Autopilot runs the full delivery lifecycle without step-by-step prompting.
/wire:autopilot
Wire starts with a complete discovery sprint (problem definition, pitch, release brief, sprint plan). From the approved sprint plan it determines which downstream release types are needed, creates them, and executes each in sequence. Every artifact goes through generate, validate, and review before the next begins. Autopilot pauses at review gates for human sign-off, then continues.
It works best on well-scoped engagements where the SOW is clear and the release types are predictable.
Wire Studio is a browser-based interface for the Wire Framework, providing an alternative to working directly in the CLI.
Features include an artifact workflow graph with pan/zoom and export, an IDE-style tabbed workspace with Mermaid diagram rendering, a file explorer, real-time command execution with streaming output, and multi-user support for teams working the same engagement.
Install locally (requires Node.js 18+):
/wire:studio-install
wire-studio start
A hosted version is available at wirestudio.rittmananalytics.com. See the Wire Studio README for setup details.
A VS Code extension (wire-vscode/) is in early development. The intention is to surface Wire commands and project status directly inside the editor. It is not yet published to the VS Code Marketplace.
- User Guide — full operational guide covering all release types, worked examples, Wire Studio, Autopilot, and troubleshooting
- Command Registry — all 89 commands with descriptions
- Changelog
- Release Notes
- Framework Source README — internals, build process, package structure
Wire is maintained by Rittman Analytics.
Bug reports and feature requests can be filed as issues on this repository. Please include the Wire version (run /wire:help to check), the command you ran, and what you expected versus what happened.
Pull requests are welcome for bug fixes and documentation. For larger changes — new release types, new skills, changes to the generate/validate/review lifecycle — please open an issue to discuss the approach before submitting.
Building packages (for maintainers):
bash wire/scripts/build-packages.shOutput goes to wire/dist/. Push each package to its distribution repository:
wire/dist/claude-plugin/torittmananalytics/wire-pluginwire/dist/gemini-extension/torittmananalytics/wire-extension
Rittman Analytics — rittmananalytics.com — info@rittmananalytics.com
