<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tools | Chris K Wensel</title><link>https://chris.wensel.net/tag/tools/</link><atom:link href="https://chris.wensel.net/tag/tools/index.xml" rel="self" type="application/rss+xml"/><description>Tools</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Mon, 29 Jun 2026 00:00:00 +0000</lastBuildDate><image><url>https://chris.wensel.net/media/sharing.jpeg</url><title>Tools</title><link>https://chris.wensel.net/tag/tools/</link></image><item><title>LLM Toolchain - June 2026</title><link>https://chris.wensel.net/post/llm-toolchain-june/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate><guid>https://chris.wensel.net/post/llm-toolchain-june/</guid><description>&lt;p&gt;My toolchain is constantly evolving, but as of June 2026 I&amp;rsquo;ve landed on the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;claude harness - latest model&lt;/li&gt;
&lt;li&gt;codex harness - latest model&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ollama.com/library/glm-5.2" target="_blank" rel="noopener"&gt;glm-5.2 via olama&lt;/a&gt; via claude harness&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/cwensel/arcaneum" target="_blank" rel="noopener"&gt;Arcaneum&lt;/a&gt; - local full text and semantic search&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/cwensel/rdr" target="_blank" rel="noopener"&gt;RDR skills&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/cwensel/kata-flight" target="_blank" rel="noopener"&gt;kata-flight skills&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://katatracker.com/" target="_blank" rel="noopener"&gt;kata&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://roborev.io/" target="_blank" rel="noopener"&gt;roborev&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Coming soon:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/cwensel/intrastate" target="_blank" rel="noopener"&gt;intrastate&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Arcaneum is how I start every project, via deep research against academic literature, adjacent open source projects, reference materials, and any online documents. For academic research I have a full corpus named PapersFast (with ~5k papers) that is fast to index into and search across. Often I create focused corpora with a better embedding model for papers on a specific topic to help catch nuances across papers.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://chris.wensel.net/post/rdr-process/"&gt;RDR process&lt;/a&gt; has been evolving for a year. It&amp;rsquo;s a spec-first process that now has skills wrapping each stage of the process. It is not fully automated by design as I still do all the user-facing design work and drop into the specs to revise them.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;kata-flight&lt;/code&gt; is new. Over the past month or so I&amp;rsquo;ve effectively created an ad-hoc state machine around issue tracking with kata. &lt;code&gt;kata-flight&lt;/code&gt; formalizes that in a set of skills.&lt;/p&gt;
&lt;div class="mermaid"&gt;flowchart TD
init["/kata-flight-init&lt;br/&gt;(bind repo)"] -.setup.-&gt; flight
doctor["/kata-flight-doctor&lt;br/&gt;(health check)"]
ops["/kata-flow-ops&lt;br/&gt;(dashboard / reaper)"]
kinbox["/kata-inbox&lt;br/&gt;(human inbox drain)"]
flight["/kata-flight&lt;br/&gt;batch orchestrator"]
review["/kata-scope-review&lt;br/&gt;review gate"]
kship["/kata-ship&lt;br/&gt;single-kata ship"]
resolve["/kata-resolve&lt;br/&gt;fix in worktree"]
roborev(["roborev refine / respond"])
flight --&gt;|"per wave"| review
flight --&gt;|"per kata"| kship
kship --&gt;|"resolve"| resolve
kship --&gt;|"refine"| roborev
review --&gt;|"design fork"| seed[/"kind:rdr-seed&lt;br/&gt;(kata label)"/]
review --&gt;|"held / needs human"| inbox[/"inbox:*&lt;br/&gt;(kata label)"/]
inbox --&gt; kinbox
kinbox --&gt;|"READY"| flight
kinbox --&gt;|"TO-SEED"| seed
seed --&gt; seedtri["/rdr-seed-triage"]
seedtri --&gt;|"/rdr-seed (Stage 1)"| rdrflow{{"RDR design flow&lt;br/&gt;Stages 1-7 (external engine)"}}
rdrflow --&gt; impltri["/rdr-implement-triage&lt;br/&gt;(Stage 8: build)"]
impltri --&gt; roretri["/roborev-triage"]
impltri --&gt; implland["/rdr-implement-land&lt;br/&gt;(land)"]
implland --&gt;|"flight bug children"| flight
pship["/prompt-ship"] --&gt;|"refine"| roborev
wsp["worktree-ship-pipeline"]:::lib -. read by .-&gt; kship
wsp -. read by .-&gt; pship
lland["lib-land-rdr"]:::lib -. read by .-&gt; impltri
lland -. read by .-&gt; implland
classDef skill fill:#EDE9FE,stroke:#7C3AED,color:#1E1B4B;
classDef lib fill:#F5F5F4,stroke:#A8A29E,color:#1C1917,stroke-dasharray:4 3;
classDef label fill:#FEF3C7,stroke:#D97706,color:#713F12;
classDef ext fill:#DBEAFE,stroke:#2563EB,color:#1E3A8A;
class init,doctor,ops,kinbox,flight,review,kship,resolve,seedtri,impltri,roretri,implland,pship skill;
class seed,inbox label;
class roborev,rdrflow ext;
&lt;/div&gt;
&lt;p&gt;It allows me to ship well-researched bug fixes and small features. But if a feature or bug hits a specific threshold, it funnels the issue into the RDR process for more intentional design. There is also a wrapper skill that will drive an RDR implementation (after a design is marked final) through any roborev fixes that spin off during the implementation.&lt;/p&gt;
&lt;p&gt;Some projects use codex as the roborev reviewer, others use claude+glm-2.5 as the reviewer.&lt;/p&gt;
&lt;p&gt;Note that I&amp;rsquo;m publishing these skills as a matter of transparency with no expectation of any adoption. It&amp;rsquo;s great to see what others are doing, so I&amp;rsquo;m sharing. I know everyone has their own bespoke workflows and skills, so hopefully others will publish their own flows.&lt;/p&gt;
&lt;p&gt;I also use Arcaneum to index/search harness transcripts to find ways to improve the skills and prompts. As well as &lt;a href="https://github.com/cwensel/rdr/blob/main/RESEARCH.md" target="_blank" rel="noopener"&gt;leverage current research&lt;/a&gt; on prompt engineering. This is an ongoing process.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not a &amp;ldquo;&lt;a href="https://en.wikipedia.org/wiki/Token_maxxing" target="_blank" rel="noopener"&gt;token maxer&lt;/a&gt;&amp;rdquo;, but I am tracking my usage publicly on &lt;a href="https://tkmx.odio.dev/u/cwensel" target="_blank" rel="noopener"&gt;https://tkmx.odio.dev/u/cwensel&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It would be great if there was a productivity metric that showed that I was getting more capability for the same token usage. It would mean my RDR/Flight skills/prompt changes were improving my token usage.&lt;/p&gt;
&lt;p&gt;One major issue I&amp;rsquo;ve found is that LLMs are bad at state transitions, they are always slow, but frequently make poor choices as to the next state regardless of how simple the decision criteria is.&lt;/p&gt;
&lt;p&gt;Because of that I&amp;rsquo;ve started a new project named &lt;a href="https://github.com/cwensel/intrastate" target="_blank" rel="noopener"&gt;intrastate&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As of this moment it is nothing but a collection of &lt;a href="https://github.com/cwensel/intrastate/tree/main/docs/rdr" target="_blank" rel="noopener"&gt;final RDR instances&lt;/a&gt;. Tokens permitting I&amp;rsquo;ll kick off the implementation before I drop out for summer vacation.&lt;/p&gt;</description></item></channel></rss>