tiesa.tech · random

VIG · Valickas Intent Graph

Claude Code mod that captures the prompt, extracts intent, stores a graph as XML.

VIG captures a prompt, extracts the intent, and stores it as graph XML. The XML is a graph, not a database. The mod is meant to stay light and universal.

What the mod is

A Claude Code mod: a plugin with a hooks module. It catches the user’s prompt before that prompt runs.

PIG (Prompt Intent Graph) is a separate visual aid Karolis is building in parallel; it is the visual companion, not this product.

How a prompt moves

Seventeen steps. The loop names attempt zero, then v04, v06, v07, v08, and v09. It does not spell every intermediate number.

  1. User sends a prompt.
  2. The Original User Prompt (OUP) is captured and kept verbatim.
  3. The prompt is forwarded as a task to other models, but only where a key is already logged in, named VIG-[ProviderName] (OpenRouter, Gemini, OpenAI, Grok, and similar), or where a proven AI CLI is available (Agy, Claude Code, Codex, opencode, hermes, grok build, and similar). Each model does two things: (a) build a VIG graph XML, and (b) propose the top 3 orthogonal revisions of a better prompt with the same user intent, already XML-tagged and structured to current prompting practice for that model. For Claude Code, use official prompting practice, or whatever is connected through something like a Claude router.
  4. Each interpretation lands in its own folder. In the GUI that is a separate thread; in the CLI a new terminal, same project, same project knowledge. A spawned judge then uses other models and subagents: (a) the cheapest reliable worker reads every prompt against a fixed question set and extracts understanding, structure, user intents, key essential facts, key essential results, and means; (b) that worker also writes the strong and weak points of each prompt; (c) a judge scores those supposedly improved prompts and the OUP[NNN]_Graph.xml files.
  5. The judge builds attempt zero by taking what each subagent found best in each prompt, and the judge scores it.
  6. It reads the received OUPs and graphs and builds an intelligent version. The judge scores that.
  7. It runs an improve loop on its own.
  8. Each AI adversarially reviews v04 against its own best pair (rewritten prompt plus intent graph XML).
  9. Feedback comes back. Separate model habits from critique that is actually useful.
  10. Read the OUP again. Check what is missing, especially intent, real project constraints, and work direction.
  11. Build v06.
  12. Send v06 to the other AIs.
  13. Adversarial review comes back. Keep a change only if it fits user intent better. Build v07.
  14. Check overfitting, inadvertent drift, misalignment, and project needs. Ask the other AIs to run the same check.
  15. Weigh the credibility of that feedback and build v08.
  16. The judge scores v08 against the OUP.
  17. Build and verify v09. Send it to the original prompt recipient to evaluate. If that is not possible, the original recipient gets an independent checklist of what should have been done and must score its own work harshly against v09.

The same loop, as a diagram

One flowchart. Numbers match the list. Labels are short on purpose; the list above is the full wording.

VIG prompt loop, steps 1–17
flowchart TB
  subgraph capture["Capture"]
    s1["1. User sends a prompt"]
    s2["2. Keep the OUP verbatim"]
    s1 --> s2
  end
  subgraph interpret["Interpret"]
    s3["3. Forward to keyed models and CLIs"]
    s4["4. Each reading in its own folder"]
    s3 --> s4
  end
  subgraph judgeEarly["Judge, early passes"]
    s5["5. Build attempt zero and score it"]
    s6["6. Intelligent version, then score it"]
    s7["7. Improve loop on its own"]
    s5 --> s6 --> s7
  end
  subgraph review["Adversarial review"]
    s8["8. Review v04 against each best pair"]
    s9["9. Separate habits from useful critique"]
    s10["10. Reread the OUP for what is missing"]
    s8 --> s9 --> s10
  end
  subgraph later["Later versions"]
    s11["11. Build v06"]
    s12["12. Send v06 to the other AIs"]
    s13["13. Keep better-fit changes. Build v07"]
    s11 --> s12 --> s13
  end
  subgraph close["Check and hand back"]
    s14["14. Check drift. Ask the other AIs"]
    s15["15. Weigh that feedback. Build v08"]
    s16["16. Score v08 against the OUP"]
    s17["17. Verify v09 and send it to be scored"]
    s14 --> s15 --> s16 --> s17
  end
  s2 --> s3
  s4 --> s5
  s7 --> s8
  s10 --> s11
  s13 --> s14
Diagram source
flowchart TB
  subgraph capture["Capture"]
    s1["1. User sends a prompt"]
    s2["2. Keep the OUP verbatim"]
    s1 --> s2
  end
  subgraph interpret["Interpret"]
    s3["3. Forward to keyed models and CLIs"]
    s4["4. Each reading in its own folder"]
    s3 --> s4
  end
  subgraph judgeEarly["Judge, early passes"]
    s5["5. Build attempt zero and score it"]
    s6["6. Intelligent version, then score it"]
    s7["7. Improve loop on its own"]
    s5 --> s6 --> s7
  end
  subgraph review["Adversarial review"]
    s8["8. Review v04 against each best pair"]
    s9["9. Separate habits from useful critique"]
    s10["10. Reread the OUP for what is missing"]
    s8 --> s9 --> s10
  end
  subgraph later["Later versions"]
    s11["11. Build v06"]
    s12["12. Send v06 to the other AIs"]
    s13["13. Keep better-fit changes. Build v07"]
    s11 --> s12 --> s13
  end
  subgraph close["Check and hand back"]
    s14["14. Check drift. Ask the other AIs"]
    s15["15. Weigh that feedback. Build v08"]
    s16["16. Score v08 against the OUP"]
    s17["17. Verify v09 and send it to be scored"]
    s14 --> s15 --> s16 --> s17
  end
  s2 --> s3
  s4 --> s5
  s7 --> s8
  s10 --> s11
  s13 --> s14

What the graph is

The XML is a mathematical graph, not a database. Everything is connected, and influence moves through the graph.

Methods named so far

connectedness Keeney value-focused thinking DEMATEL Markov chains KAOS CIA Analysis of Competing Hypotheses D-ANP another relevant MCDM set

Named slots so far

UI · user intent KEF · key essential facts KER · key essential results Means

The rest of the node set will be disclosed later. This page does not invent further node types.

Named files so far

The Original User Prompt (OUP), kept verbatim, and OUP[NNN]_Graph.xml.

This page explains the VIG mod from Karolis’s brief (2026-10-04). It is a landing page only, not the mod source. No install steps and no pricing.