vishnu-bhaga
About
The vishnu-bhaga skill is used to preserve a working system's state and anchor verified knowledge against drift or change. It enforces consistency and provides protective stabilization, especially when context compression, scope creep, or modifications threaten existing functionality. Use it to maintain continuity for a functioning approach before making changes or after a disruptive process.
Quick Install
Claude Code
Recommendednpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/vishnu-bhagaCopy and paste this command in Claude Code to install this skill
Documentation
Vishnu Bhaga
Preserve and sustain what is working — anchoring verified knowledge, maintaining consistency under perturbation, and protecting functional patterns from unnecessary change.
When to Use
- A working approach is at risk of being disrupted by scope creep or premature optimization
- Context drift is threatening to overwrite verified knowledge with stale assumptions
- Multiple parallel concerns are creating pressure to change things that should remain stable
- After
shiva-bhagadissolution — what survives needs active protection during reconstruction - When a long session risks losing earlier verified decisions through context compression
- Before making changes to a system that is currently functioning correctly
Inputs
- Required: Current working state or verified knowledge to preserve (available implicitly)
- Optional: Specific threat to stability (e.g., "scope creep," "context compression approaching")
- Optional: MEMORY.md and project files for grounding (via
Read)
Procedure
Step 1: Inventory What Works
Before protecting anything, identify what is currently functional and verified.
Preservation Inventory:
+---------------------+---------------------------+------------------------+
| Category | Verification Method | Anchoring Action |
+---------------------+---------------------------+------------------------+
| Verified Facts | Confirmed via tool use | Record source and |
| | (file reads, test runs, | timestamp; do not |
| | API responses) | re-derive |
+---------------------+---------------------------+------------------------+
| Working Code | Tests pass, behavior | Do not refactor unless |
| | confirmed, user approved | explicitly requested |
+---------------------+---------------------------+------------------------+
| User Requirements | Explicitly stated by | Quote directly; do not |
| | the user in this session | paraphrase or infer |
+---------------------+---------------------------+------------------------+
| Agreed Decisions | Decisions made and | Reference the decision |
| | confirmed during this | point; do not revisit |
| | session | without new evidence |
+---------------------+---------------------------+------------------------+
| Environmental State | File paths, configs, | Verify before assuming |
| | tool availability | unchanged |
+---------------------+---------------------------+------------------------+
- For each category, list the specific items that are currently verified and working
- Note the verification method — how do you know this is true?
- Items without verification are not preserved — they are assumptions (and may need
shiva-bhaga)
Got: A concrete inventory of verified, working elements with their evidence base.
If fail: If the inventory is sparse — little is verified — that itself is valuable information. Run heal to re-ground before attempting to preserve unverified assumptions.
Step 2: Identify Perturbation Sources
Name the forces threatening the stable state.
- Scope creep: Is the task expanding beyond what was agreed?
- Context drift: Are earlier facts being overwritten by more recent (possibly incorrect) reasoning?
- Optimization pressure: Is there an urge to improve something that is working adequately?
- External changes: Has the environment changed (files modified, tools unavailable)?
- Compression risk: Is the conversation approaching context limits where early decisions may be lost?
For each source, assess: is this a real threat or an anticipated one?
Got: Named perturbation sources with assessed severity (active threat vs. anticipated risk).
If fail: If no perturbation sources are apparent, preservation may not be needed — consider whether brahma-bhaga (creation) or continued execution is more appropriate.
Step 3: Anchor the Stable State
Apply specific techniques to protect what works from identified threats.
- Memory anchoring: For critical facts at risk of context drift, re-state them explicitly:
- "Established fact: [X], verified by [method] at [point in conversation]"
- If persistent memory is available, write durable facts to MEMORY.md
- Scope boundary enforcement: For scope creep, re-state the agreed scope:
- "Agreed scope: [original request]. Current work is within/outside this boundary."
- Change resistance: For working code under optimization pressure:
- "This component is working and tested. No changes unless the user requests them."
- State snapshot: For compression risk, create a mental checkpoint:
- Summarize: what has been done, what remains, what key decisions were made
- Environmental verification: For external changes, re-check before proceeding:
- Re-read critical files rather than relying on earlier reads
Got: Each identified threat has a specific anchoring response. The stable state is explicitly protected.
If fail: If anchoring feels excessive — protecting everything equally — prioritize. What is the one thing that must not change? Protect that first.
Step 4: Sustain Through Action
Preservation is not passive — it requires ongoing attention during subsequent work.
- Before each action, check: "Does this threaten anything in the preservation inventory?"
- If yes, find an alternative approach that achieves the goal without disturbing the stable state
- If disturbance is unavoidable, acknowledge it explicitly and update the inventory
- Periodically re-verify preserved items — especially after complex operations
- When the task completes, confirm that preserved items remain intact
Got: The working state survives the current task intact. Changes were made only where needed and did not disrupt functioning components.
If fail: If a preserved item was inadvertently changed, assess the damage immediately. If the change broke something, revert. If the change was neutral, update the inventory. Do not leave the inventory stale.
Validation
- Working state was inventoried with verification evidence
- Perturbation sources were identified and assessed
- Anchoring actions were applied to each real threat
- Scope boundaries were maintained throughout the task
- Preserved items were re-verified after completion
Pitfalls
- Preserving assumptions as facts: Only verified knowledge deserves protection. Unverified assumptions dressed as facts create false stability
- Over-preservation: Protecting everything equally prevents necessary change. Preservation must be selective — protect what works, release what does not
- Passive preservation: Assuming things will stay stable without active verification. Context drift is constant; preservation requires ongoing attention
- Resistance to legitimate change: Using preservation as an excuse to avoid necessary modifications. If the user requests a change to a working component, that overrides preservation
- Stale inventory: Failing to update the preservation inventory as new information arrives. The inventory must reflect current reality, not the state at creation time
Related Skills
shiva-bhaga— destruction precedes preservation; what survives dissolution is what Vishnu sustainsbrahma-bhaga— creation builds on the preserved foundation; new patterns emerge from stable groundheal— subsystem assessment reveals what is genuinely functional vs. superficially stableobserve— sustained neutral observation detects drift before it threatens stabilityawareness— situational awareness (Cooper color codes) maps directly to perturbation detection
GitHub Repository
Related Skills
executing-plans
DesignUse the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.
requesting-code-review
DesignThis skill dispatches a code-reviewer subagent to analyze code changes against requirements before proceeding. It should be used after completing tasks, implementing major features, or before merging to main. The review helps catch issues early by comparing the current implementation with the original plan.
connect-mcp-server
DesignThis skill provides a comprehensive guide for developers to connect MCP servers to Claude Code using HTTP, stdio, or SSE transports. It covers installation, configuration, authentication, and security for integrating external services like GitHub, Notion, and custom APIs. Use it when setting up MCP integrations, configuring external tools, or working with Claude's Model Context Protocol.
web-cli-teleport
DesignThis skill helps developers choose between Claude Code Web and CLI interfaces based on task analysis, then enables seamless session teleportation between these environments. It optimizes workflow by managing session state and context when switching between web, CLI, or mobile. Use it for complex projects requiring different tools at various stages.
