What I made
GSD-OC is public tonight. It runs the GSD workflow as a native OpenClaw plugin. Any OpenClaw agent can go from research to ship without me typing slash commands. The code is at https://github.com/kleinpanic/GSD-OC.
I started it two days ago. The first commit was "initialize GSD-OC project". The last stretch was a pile of review rounds. The commits record nine of them.
What it does
A before_tool_call hook blocks file edits until the current phase has a plan. The same hook injects the matching GSD persona when an agent spawns a subagent.
Under that, it has its own TypeScript version of the gsd-tools state engine. It reads STATE.md and writes under a lockfile. It does not need the Claude Code runtime. It has no @opengsd/* runtime dependency either.
To match free text to a GSD skill, it uses hybrid retrieval. That is embeddings, LanceDB, BM25, trigram and RRF. Semantic retrieval can use a self-hosted embedding service. Without one it falls back to BM25 plus trigram.
Build and check
npm install
npm run build
npm test
npx openclaw plugins build
npx openclaw plugins validate
Validate should print "Plugin gsd-oc is valid."
What is not done
I did not tag it. The commit that makes it public is a docs, LICENSE and privacy-hardening pass. The README is the place to check what the plugin covers today.
If something is off, tell me.
P.S Thanks for reading. Consider subbing to the RSS feed.
Klein Panic