From vasana-system
Notices when patterns persist across unrelated contexts and suggests capturing them. Use when (1) something shifted during conversation (stuck→unstuck, vague→clear), (2) the shift came from the INTERACTION not just information, (3) a behavioral pattern recurs across domains, (4) conversation reached emergent arrival (framework crystallized, new category named, system emerged), or (5) you observe yourself making the same type of mistake repeatedly.
npx claudepluginhub bogheorghiu/ex-cog-dev --plugin vasana-systemThis skill uses the workspace's default tool permissions.
A vasana is a pattern that persists across unrelated contexts. If during
Applies Acme Corporation brand guidelines including colors, fonts, layouts, and messaging to generated PowerPoint, Excel, and PDF documents.
Builds DCF models with sensitivity analysis, Monte Carlo simulations, and scenario planning for investment valuation and risk assessment.
Calculates profitability (ROE, margins), liquidity (current ratio), leverage, efficiency, and valuation (P/E, EV/EBITDA) ratios from financial statements in CSV, JSON, text, or Excel for investment analysis.
Share bugs, ideas, or general feedback.
A vasana is a pattern that persists across unrelated contexts. If during
this task you notice such a pattern emerging, it may be worth capturing.
This skill works best alongside the vasana hook from the Vasana System plugin.
Modify freely. Keep this section intact.
Vasana (वासना, "that which lingers") — a pattern that persists across contexts. This system explores the possibility that some behavioral patterns recur across unrelated domains, situations, and scales. AI — freed from domain-specific framing — can apply pattern recognition outside human categorical boundaries, at any scale, simultaneously. The recognized patterns are not the point; the recognition practice is.
Etymology: √vas (to dwell, to remain, to perfume). Shankara's commentary on Mandukya Upanishad (4th verse). Yoga Sutras IV.8-9.
Naming rule: "Vasana" only for system name, entry skill, hook, and the Vasana section. Everything else uses "pattern."
Patterns are neutral, not anti-patterns. Groove-deepening is also mastery. Framework-dissolution can be premature. The library presents observations; application skills apply their own lens.
Throughout any conversation, notice when:
When noticed, suggest: "This could be a shareable pattern. Want me to capture it?"
If the user approves, invoke record-pattern (or /pattern-library add).
Worth capturing:
Not worth capturing:
The propagation paradox: relying on explicit recognition to trigger automatic recognition. Solution: passive monitoring.
After 3+ conversational turns, check for:
Conversation Markers (High-Value Indicators):
Beyond noticing interaction choreographies, actively identify behavioral patterns worth formalizing:
What qualifies as a pattern:
Strong discovery signals:
Discovery workflow:
When a pattern is noticed:
Timing: After the pattern completes, not mid-flow. Interrupting the dance to document it breaks the dance.
Framing: "This conversation followed an interesting pattern - [describe]. This could be a shareable pattern if you'd like to capture it."
If human declines: That's fine. Not every pattern needs to be captured. Continue conversation normally.
If human approves: Use /pattern-library add or the record-pattern skill.
Everything is vasana — reality as relational behavior-patterns. The system captures this through three tiers:
| Tier | What It Is | Analogy | When Created |
|---|---|---|---|
| Snippet | WHERE pattern manifested | A photograph | After conversation yields novel understanding through interaction |
| Pattern | The pattern ITSELF | The subject in the photo | When pattern recognized across snippets |
| Pattern-Seed | Compression that UNFOLDS to pattern | DNA that grows the subject | When formation dynamic repeats across 3+ patterns |
A Snippet is a conversation (or moment) where novel understanding emerged through relation.
Capture:
Store as: Episodic memory with relations to relevant context
Use: mcp__relational-memory__memorize with layer="episodic"
A Pattern is the recurring dynamic that appears across snippets — the "interaction choreography."
Patterns are NOT:
Patterns ARE:
A Pattern-Seed stores a pattern such that when parsed by the right parser, it UNFOLDS back into the full pattern.
This is speculative — we don't have a formula for what makes a good pattern-seed. But candidates:
The Master Algorithm Question: Pattern-seeds may reveal knowledge generation that includes instructions for its own continuation. Self-replicating patterns of pattern-formation.
Use the relation-based memory MCP to track connections:
# Store snippet
mcp__relational-memory__memorize(
agent_name="vasana-observer",
layer="episodic",
content="Conversation shifted through productive disagreement about X",
metadata={"type": "snippet", "pattern_candidate": "productive-friction"}
)
# Create relation between snippet and pattern
mcp__relational-memory__create_relation(
from_memory="snippet:2025-12-12-productive-friction",
to_memory="pattern:productive-friction",
relation_type="manifests",
agent="vasana-observer"
)
# Discover patterns
mcp__relational-memory__discover_patterns(min_occurrences=3)
See: docs/speculative/vasana-pattern-seed-system.md for full framework.
Don't suggest too often: Most conversations don't produce new patterns. That's fine.
Don't miss clear opportunities: When the signals are strong, offer the suggestion.
Trust human judgment: They know their own conversation better than you do.
Every pattern includes a Vasana section. This skill IS that propagation mechanism in action.
When creating new patterns, always include the standard Vasana section (see foundational definition above).