This repository contains Wikispec - a spec-driven development framework that maintains a "Karpathy style" LLM wiki.
$ npx -y skills add christianb93/WikiSpec --agent claude-code
FAQ
wikispec is a Claude Code plugin with 10 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes openspec-apply-change, openspec-archive-change, openspec-explore. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Repo: christianb93/WikiSpec
This repository contains Wikispec - a spec-driven development framework that maintains a "Karpathy style" LLM wiki. Wikispec is to a large extent inspired by OpenSpec (and in fact, wikispec has been bootstrapped with OpenSpec), but also influenced by Superpowers and of course the LLM wiki idea.
Spec driven development with AI is still a new and rapidly evolving area, and you will probably not find any two developers on this planet that share the same set of principles and opinions on this. Still, here is my take.
This is of course experimental - at the time of writing, nobody really knows how these ideas will work at scale and one or two years into a large project. Still, I thought it is worth giving it a try. If you like the idea take it, play with it, apply it - and let me know how if it works for you.
You will need a fairly recent version of Node.js installed (I have used v24.14.0)
git clone https://github.com/christianb93/wikispec.git
cd wikispec
npm install
npm link
cd ... # head over to your project directory
wikispec init # create wikispec directory structure
wikispec install # install skills and agents in .claude
and then, in Claude
/wikispec-propose my-first-change
Note that, for the time being, wikispec is designed to work with Claude, but it should be easy to adapt it to other agents (adapt skills and agent definitions, adapt src/commands/install.js to install in whatever directory your agent uses).
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ βββββββββββββββ
β propose ββββββββΆβ plan ββββββββΆβ apply ββββββββΆβ validate ββββββββΆβ archive β
ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ βββββββββββββββ
β β β β β
spec.md tasks.md implement validation-report.md update wiki
design.md test archive files
To start the workflow, run the /wikispec-propose skill and describe what you want to build. This will create two documents:
spec.md - this is the specification capturing intent, goals and non-goals and spelling out the requirementsdesign.md - this is focussed on how to implement the requirementsAt this point, you have a chance to review both documents. If you want to make changes, there are several options to do so.
spec.md, you can simply delete design.md and repeat /wikispec-propose.Once you are happy with specs and design, run /wikispec-plan to create the task list. Again, feel free to add, remove or change tasks as you like, then run /wikispec-apply.
This will trigger the implementation phase, where wikispec will create instructions to implement using the wikispec-coding-agent and to write unit tests using the wikispec-tester-agent. The tester agent is instructed to link test cases to requirements using comments.
Once implementation is complete, move on to the validation phase by running /wikispec-validate. This will spawn the wikispec-validator-agent that
Finally, the last step - /wikispec-archive - will archive the created markdown files and ingest the change into the wiki. Future proposals, specs and design will then query the wiki and use the information that they find, and future /wikispec-archive commands will update the wiki, feeding the changes back, so that over time, your knowledge base grows and stays up-to-date.
Here, a workflow defines how we implement a change. A workflow defines artifacts and steps. An artifact is defined by an ID (the key in workflows.json), a path which is the file name of the artifact that it generates (relative to the project root directory), for instance
wikispec/changes/active/{change}/design.md
and instructions for the agent how to create the artifact. When the path is evaluated by wikispec, the string {change} is replaced by the name of the current change.
A step consists of instructions how to run this step which apply if all artefacts have already been created for this step (or if a step has no artifacts), a list of artifacts, a list of other steps on which this step depends and a completion strategy which defines when this step is considered to be complete.
When an agent works on a change, it repeatedly invokes wikispec instructions with the step and change as argument (similar to how OpenSpec works, I really like the idea - probably wikispec could also be re-implemented as an OpenSpec workflow). This command works as follows.
As the artifacts within a step are created sequentially, you can, at any time, delete an artifact and re-run the step, and the workflow will re-generate the missing artifact.
When wikispec is initialized for a given project by running wikispec init, the following directory structure is established in the project root
wikispec/
βββ changes/
β βββ active/ β changes currently in progress
β βββ archived/ β completed and archived changes
βββ wiki/
βββ <topic 1>/ β documentation for one topic
βββ .../
βββ <topic n>/
.claude/
commands/
opsx/
apply.md
archive.md
explore.md
propose.md
skills/
openspec-apply-change/
SKILL.md
openspec-archive-change/
SKILL.md
openspec-explore/
SKILL.md
openspec-propose/
SKILL.md
.gemini/
commands/
opsx/
apply.toml
archive.toml
explore.toml
propose.toml
skills/
openspec-apply-change/
SKILL.md
openspec-archive-change/
SKILL.md
openspec-explore/
SKILL.md
openspec-propose/
SKILL.md
.github/
prompts/
opsx-apply.prompt.md
opsx-archive.prompt.md
opsx-explore.prompt.md
opsx-propose.prompt.md
skills/
openspec-apply-change/
SKILL.md
openspec-archive-change/
SKILL.md
openspec-explore/
SKILL.md
openspec-propose/
SKILL.md
.gitignore
.npmignore
agents/
wikispec-coder-agent.md
wikispec-tester-agent.md
wikispec-validation-agent.md
assets/
.gitkeep
topics.json
workflows.json
bin/
wikispec
CLAUDE.md
LICENSE
openspec/
changes/
archive/
2026-05-09-initial-project-structure/
.openspec.yaml
design.md
proposal.md
specs/
agents-structure/
spec.md
cli-scaffold/
spec.md
docs-structure/
spec.md
skills-structure/
spec.md
tasks.md
2026-05-10-add-instructions-command/
.openspec.yaml
design.md
proposal.md
specs/
artifact-instructions/
spec.md
instructions-command/
spec.md
workflow-schema/
spec.md
tasks.md
2026-05-10-implement-init-command/
.openspec.yaml
design.md
proposal.md
specs/
init-command/
spec.md
tasks.md
2026-05-10-redesign-step-dependencies/
.openspec.yaml
design.md
proposal.md
specs/
step-dependencies/
spec.md
workflow-schema/
spec.md
tasks.md
2026-05-10-workflow-data-structures/
.openspec.yaml
design.md
proposal.md
specs/
workflow-loader/
spec.md
workflow-schema/
spec.md
tasks.md
2026-05-11-add-artifact-context-field/
.openspec.yaml
design.md
proposal.md
specs/
artifact-context/
spec.md
artifact-instructions/
spec.md
tasks.md
2026-05-11-add-create-command/
.openspec.yaml
design.md
proposal.md
specs/
create-command/
spec.md
tasks.md
2026-05-11-add-design-instructions/
.openspec.yaml
design.md
proposal.md
specs/
design-instructions/
spec.md
tasks.md
2026-05-11-add-install-command/
.openspec.yaml
design.md
proposal.md
specs/
install-command/
spec.md
tasks.md
2026-05-11-add-list-command/
.openspec.yaml
design.md
proposal.md
specs/
list-command/
spec.md
tasks.md
2026-05-11-add-topics-and-files-commands/
.openspec.yaml
design.md
proposal.md
specs/
files-command/
spec.md
topics-command/
spec.md
tasks.md
2026-05-11-write-spec-instruction/
.openspec.yaml
design.md
proposal.md
specs/
artifact-instructions/
spec.md
wikispec-propose/
spec.md
tasks.md
2026-05-12-add-archive-command/
.openspec.yaml
design.md
proposal.md
specs/
archive-command/
spec.md
tasks.md
config.yaml
specs/
agents-structure/
spec.md
archive-command/
spec.md
artifact-context/
spec.md
artifact-instructions/
spec.md
cli-scaffold/
spec.md
create-command/
spec.md
design-instructions/
spec.md
docs-structure/
spec.md
files-command/
spec.md
init-command/
spec.md
install-command/
spec.md
instructions-command/
spec.md
list-command/
spec.md
skills-structure/
spec.md
step-dependencies/
spec.md
topics-command/
spec.md
wikispec-propose/
spec.md
workflow-loader/
spec.md
workflow-schema/
spec.md
package-lock.json
package.json
README.md
skills/
wikispec-apply/
SKILL.md
wikispec-archive/
SKILL.md
wikispec-plan/
SKILL.md
wikispec-propose/
SKILL.md
wikispec-validate/
SKILL.md
wikispec-wiki/
SKILL.md
src/
commands/
.gitkeep
archive.js
archive.test.js
create.js
create.test.js
files.js
files.test.js
init.js
init.test.js
install.js
install.test.js
instructions.js
instructions.test.js
list.js
list.test.js
status.js
status.test.js
topics.js
topics.test.js
core/
.gitkeep
archiveChange.js
topics.js
topics.test.js
utils.js
utils.test.js
workflows.js
workflows.test.js
main.js
tools/
read_transcript.pyΒ© 2026 Flowy Β· Free and open source
Built for Claude Code Β· Not affiliated with Anthropic