{"slug": "biff-2-0-4-llm-skills", "title": "Biff 2.0.4: LLM Skills", "summary": "Jacob O'Bryant released Biff v2.0.4 on 25 October 2026, adding a set of LLM skills to the Clojure web framework, including biff-spec-review, biff-spec-dev, biff-code-review, biff-code-quality and biff-dev. The skills sync to a local project whenever a developer runs `clj -M:run dev` after upgrading the biff.tasks dependency to 2.0.4, and biff-code-review enforces a list of Biff-specific coding conventions by having the LLM copy a rules checklist into the project, mark violations with filenames and line numbers, then apply fixes. O'Bryant said the code generated with the rules is \"definitely still a little weird in places, but it's crossed the 'good enough' threshold,\" and the checklist can be edited by hand before fixes are applied for human-in-the-loop review.", "body_md": "[Jacob O'Bryant](https://obryant.dev) | 25 Oct 2026\n\nI've just released [Biff\nv2.0.4](https://github.com/jacobobryant/biff/blob/master/CHANGELOG.md#204-2026-10-25).\nThis release has a hodge-podge of tweaks and fixes based on [my own\nusage](https://budgetswu.com). There is also one big addition: a set of LLM\nskills. From the starter project's README:\n\n`biff-spec-review`: reads `spec/` and generates a plan to implement it.\n`biff-spec-dev`: implements the plan generated by `biff-spec-dev`. Calls\n`biff-code-review` afterward.\n`biff-code-review`: reviews recent code changes against a list of\nBiff-specific coding conventions. Invoked by `biff-spec-dev` automatically, or\nyou can run it manually.\n`biff-code-quality`: instructions the agent to run `clojure -M:run code-quality` and fix any test/lint failures.\n`biff-dev`: instructions for using the REPL. Invoked by agents automatically\nwhen they write Clojure code.\n\nAfter upgrading your biff.tasks dependency to `2.0.4`, these skills will be\nsynced to your local project whenever you run `clj -M:run dev`.\n\nThe most important skill here is `biff-code-review`. It contains a [list of\nrules](https://github.com/jacobobryant/biff/blob/master/libs/tasks/resources/com/biffweb/tasks/skills/biff-code-review/rules.md)\nfor writing code that conforms to Biff conventions. The rules are the result of\nmy own painstaking review of reams of crappy LLM-generated Biff code. From\ntesting them out on a fresh project, I'm fairly pleased with the result. The\ncode I've gotten is definitely still a little weird in places, but it's crossed\nthe \"good enough\" threshold.\n\nMy general flow for making Biff apps is now:\n\n`biff-spec-review` and then `biff-spec-dev` (the latter of which calls\n`biff-code-review`).\nSometimes I'll use a fancy model to review specs/code and a dumber model to do the implementation.\n\nI had some trouble figuring out a structure for getting LLMs to actually follow my rules. I've had success with this flow:\n\nI try to phrase each rule so it's very explicit/unambiguous/black and white. Either the rule is violated or it's not.\n\n`biff-code-review` instructs the LLM to copy a checklist for all the rules\ninto your project. The LLM goes through your code and adds a bullet point\n(with filename and line numbers) to the checklist file whenever it finds a\nviolation. After the code review, any checklist items without violations are\nchecked off.\n\nThe LLM then goes through the checklist and applies fixes.\n\nI structured this in a way so that if needed you can do a human-in-the-loop thing: you can edit the checklist before step 3 starts to add any violations the LLM may have missed. During step 3, the LLM doesn't edit the checklist file, so you can manually mark off/not mark off items and then redo step 3.", "url": "https://wpnews.pro/news/biff-2-0-4-llm-skills", "canonical_source": "https://biffweb.com/p/skills/", "published_at": "2026-10-26 02:18:09+00:00", "updated_at": "2026-10-26 02:43:42.750511+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "large-language-models"], "entities": ["Biff", "Jacob O'Bryant", "biff-code-review", "biff-spec-dev", "biff-spec-review", "biff-code-quality", "biff-dev", "Clojure"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/biff-2-0-4-llm-skills", "markdown": "https://wpnews.pro/news/biff-2-0-4-llm-skills.md", "text": "https://wpnews.pro/news/biff-2-0-4-llm-skills.txt", "jsonld": "https://wpnews.pro/news/biff-2-0-4-llm-skills.jsonld"}}