decision-topology
Records the structure of conversations where ideas evolve, branch, get rejected, pivot, or combine. Saves each structural shift as a node in a local JSON tree the user can browse on demand. Zero network access, zero external dependencies. Covers proposals, rejections, pivots, and merges with cross-tree concept linking.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/joncik91/decision-topologyDecision Topology
Records how ideas branch and evolve during conversations, producing a browsable tree the user can review at any time. Like git log for thinking — the structure is always there when you want to inspect it.
Privacy note: This skill is installed and enabled by the user. All data stays on disk in the configured trees directory — nothing is sent externally. The user can view, delete, or relocate their trees at any time.
Security Properties
- Zero network access — no HTTP calls, no sockets, no DNS lookups. Works fully offline.
- Zero external dependencies — uses only Node.js built-in
fsandpathmodules. - No conversation content stored — the script enforces length limits on all persisted text fields (summary: 200 chars, reasoning: 300 chars, topic: 120 chars, concept: 50 chars). Text exceeding limits is truncated. This is a code-level guardrail, not just a policy.
- No process spawning — no
child_process, noexec, noeval, noFunction(). - Stdin-only input — all user-derived content is piped via stdin as JSON to prevent shell injection. See SECURITY.md for details.
- Path containment enforced — all file arguments are stripped to basename and resolved inside the canonical trees directory. Absolute paths and
..traversal are rejected at runtime. - User-controlled storage — trees are local JSON files the user can inspect, move, or delete at any time.
- ID generation — uses
Math.random()for 6-char hex node IDs. Cryptographic randomness is not needed — IDs only require tree-local uniqueness across 5-30 nodes.
Activation
Active by default (user can set always: false in metadata to require explicit invocation). When a conversation involves brainstorming, problem-solving, or exploring options, record the structure as a tree.
Skip pure Q&A ("what time is it"), greetings, and small talk.
Output Style
Do not insert status messages about tree operations into the conversation. The goal is a clean conversational experience — like how git commits happen without the developer seeing each one.
- Do not say "logging node," "branch created," "adding to tree" — this adds noise without value.
- Do not change your conversational behavior because of the skill. The user gets the same conversation they'd get without it.
- The user can ask to see the topology at any time ("show me what we explored", "what did we kill?").
- Think: git commits in the background. Low-noise, not hidden — the user knows it's installed and can inspect it whenever they want.
When to Record a Node
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-joncik91-decision-topology": {
"enabled": true,
"auto_update": true
}
}
}