By paivot-ai
Transform an Obsidian vault into a runtime for AI agents that automate software project workflows—maintaining architecture, capturing decisions, triaging backlogs, implementing stories with TDD, and learning across sessions.
Capture UX/visual/functional feedback and turn it into a prioritized backlog of high-quality stories using the Sr. PM agent
Cancel active execution loop
Run unattended execution loop until blocked or all work is done
Capture knowledge from the current session to the vault with auto-tagging and link suggestions
Refine vault knowledge based on session experience. Capture learned patterns, decisions, and debug insights. Agent prompts are self-contained in agents/*.md (not vault). System-scoped notes get proposals; project-scoped notes get direct edits.
Use this agent for adversarial review in TWO modes. (1) BACKLOG REVIEW (default) - Review backlog for gaps, missing walking skeletons, horizontal layers, missing integration stories. Must approve before execution. (2) MILESTONE REVIEW - After milestone completion, validate real delivery, inspect tests for mocks (forbidden), verify skills were consulted. Returns VALIDATED or GAPS_FOUND. Examples: <example>Context: Sr. PM has created the initial backlog from D&F docs. user: 'Review this backlog for gaps' assistant: 'I'll engage the anchor to adversarially review the backlog.' <commentary>Default mode - backlog review.</commentary></example>
Use this agent to adversarially review ARCHITECTURE.md after the Architect produces it. Only spawned when dnf.specialist_review is enabled. Reviews for unmet requirements, untraceable decisions, and contradictions across BUSINESS.md and DESIGN.md. Returns REVIEW_RESULT (APPROVED/REJECTED). Never talks to user -- feedback routes to Architect via dispatcher. Examples: <example>Context: Architect has completed ARCHITECTURE.md and specialist review is enabled. user: 'Review ARCHITECTURE.md for alignment with BUSINESS.md and DESIGN.md' assistant: 'REVIEW_RESULT: REJECTED with 2 issues (OMISSION: no authentication architecture for HIPAA constraint in BUSINESS.md, DRIFT: async pattern contradicts real-time requirement in DESIGN.md). Feedback provided for Architect to fix.' <commentary>Architect Challenger catches technical gaps before they cascade into the backlog and execution.</commentary></example>
Use this agent when you need to design system architecture, validate technical feasibility, or maintain architectural documentation. Part of the Balanced Leadership Team that communicates with the user through the orchestrator. Asks clarifying questions about technical constraints, existing infrastructure, team capabilities, and non-functional requirements. Owns ARCHITECTURE.md and ensures technical coherence across the system. Examples: <example>Context: Business Analyst presents new requirements that need technical validation. user: 'The BA says we need real-time data updates with 1-second latency for 50,000 concurrent users' assistant: 'I'll engage the architect to assess technical feasibility. I will relay its questions to you and pass your answers back until ARCHITECTURE.md is complete.' <commentary>The Architect will ask about existing infrastructure, deployment targets, budget constraints, and team experience before making decisions.</commentary></example> <example>Context: BLT cross-review after all D&F documents produced. user: 'Cross-review BUSINESS.md and DESIGN.md for consistency with ARCHITECTURE.md' assistant: 'I'll engage the architect to verify that business constraints and design patterns are technically feasible and properly reflected in the architecture.' <commentary>Architect reviews other BLT documents for technical consistency.</commentary></example>
Use this agent to adversarially review BUSINESS.md after the BA produces it. Only spawned when dnf.specialist_review is enabled. Reviews for omissions, hallucinations, and scope creep against user-provided context. Returns REVIEW_RESULT (APPROVED/REJECTED). Never talks to user -- feedback routes to BA via dispatcher. Examples: <example>Context: BA has completed BUSINESS.md and specialist review is enabled. user: 'Review BUSINESS.md for completeness against the user requirements' assistant: 'REVIEW_RESULT: REJECTED with 2 issues (1 OMISSION, 1 HALLUCINATION). Feedback provided for BA to fix.' <commentary>BA Challenger catches document-level issues before they cascade into DESIGN.md and ARCHITECTURE.md.</commentary></example>
Use this agent when you need to understand business requirements during Discovery & Framing. Part of the Balanced Leadership Team that communicates with the user through the orchestrator. Asks multiple rounds of clarifying questions until fully satisfied. Owns BUSINESS.md. Examples: <example>Context: User describes a business need for a greenfield project. user: 'We need to add authentication to our application' assistant: 'I'll engage the business-analyst to conduct thorough discovery, asking multiple rounds of clarifying questions. I will relay its questions to you and pass your answers back until BUSINESS.md is complete.' <commentary>The BA will dig deep through multiple questioning rounds until all ambiguities are resolved.</commentary></example> <example>Context: BLT cross-review after all D&F documents produced. user: 'Cross-review DESIGN.md and ARCHITECTURE.md for consistency with BUSINESS.md' assistant: 'I'll engage the business-analyst to check that business outcomes and constraints are properly reflected in the design and architecture.' <commentary>BA reviews other BLT documents for alignment with business requirements.</commentary></example>
Architecture-as-code using C4 model and Structurizr DSL. Use when the project has `architecture.c4` enabled in settings, or when the user asks about C4 diagrams, Structurizr, architecture boundaries, or dependency rules. Teaches agents how to maintain a canonical architecture model alongside ARCHITECTURE.md, declare machine-checkable boundaries, and export diagrams.
This skill should be used when working on any project to understand how to effectively interact with the Obsidian knowledge vault. It teaches when to capture knowledge, what to capture, how to format vault notes, and how to search effectively. Use when you need to "save to vault", "update vault", "capture a decision", "record a pattern", "log a debug insight", or when starting/ending a significant work session.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Uses power tools
Uses Bash, Write, or Edit tools
Uses power tools
Uses Bash, Write, or Edit tools
A Claude Code plugin that turns an Obsidian vault into a living runtime for AI agents. Agents read their instructions from the vault, capture knowledge as they work, and refine their own prompts based on experience. The vault evolves with every session.
One command installs everything:
curl -fsSL https://raw.githubusercontent.com/paivot-ai/pvg/main/install.sh | sh
The installer reads the stable channel manifest (channel/stable.json) published by this repository and converges your machine onto that pinned, CI-verified combination:
| Component | What it is |
|---|---|
| pvg | The shared control plane for guardrails, live nd routing, loop recovery, story helpers, and updates. All hooks shell out to it. |
| vlt | The fast, standalone CLI that all hooks, commands, and agents use to interact with your Obsidian vault. Without it, agents fall back to grep/cat -- slower, no alias resolution, no concurrent-access locking. |
| nd | The issue tracker Paivot uses for execution -- git-native markdown work items. For multi-branch execution see docs/LIVE_SOR.md. |
| paivot-graph plugin | This plugin, installed from the GitHub-source marketplace paivot-ai/paivot-graph. |
| nd plugin | The nd skill and guard hooks, installed from the GitHub-source marketplace paivot-ai/nd. |
| vlt skill | Complete vlt command reference and agentic patterns, installed to ~/.claude/skills/vlt-skill. |
Marketplaces are GitHub sources -- no repository clones are needed on consumer machines. Restart any open Claude Code sessions for hooks to take effect.
pvg update
pvg update re-reads the stable channel at main and converges tools, plugins, and skills onto the pinned combo. Updates are pin + nudge, never silent: pvg notices when the channel has moved past your installed combo and tells you, but nothing changes until you run pvg update yourself.
| Command | What it does |
|---|---|
pvg update | Converge onto the current stable channel (main of this repo) |
pvg update --to <git-ref> | Converge onto the channel as of any git ref of this repo (commit SHA, tag, or branch). This is also the rollback mechanism -- every combo that was ever on main passed the same CI smoke test. |
pvg update --pin <git-ref> | Hold the machine at a specific combo and suppress update nudges |
See channel/README.md for how the channel works and how a combo gets stamped.
For working on the plugin itself, install from a clone:
git clone https://github.com/paivot-ai/paivot-graph.git
cd paivot-graph
make install
This checks that vlt, pvg, and Claude Code are installed, fetches companion tools and skills (make fetch-tools -- the development-clone equivalent of what pvg update does for consumers), registers this checkout as a local marketplace, and installs the plugin from it.
This is a Claude Code plugin. You need Claude Code installed.
You need an Obsidian vault that vlt can discover. The plugin expects a vault named "Claude" by default. If you don't have one:
vlt vaultsA codebase indexing MCP server dramatically improves story quality. When available, Paivot agents use it for API signature verification, cross-cutting concern discovery, and module count validation instead of grep. This prevents the most common class of Anchor rejections: hallucinated API signatures.
Any MCP server that provides search_graph, get_code_snippet, and trace_call_path works. Two tested options:
Install via .mcp.json in your project or ~/.claude/settings.json. After indexing, agents automatically prefer MCP tools over grep for codebase queries.
Without a codebase indexing server, agents fall back to grep/ripgrep. This works but is slower, less precise on call graph analysis, and cannot verify module counts as reliably.
npx claudepluginhub paivot-ai/paivot-graph --plugin paivot-graphMulti-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.