PAUL GUERRERO software engineer
← projects

workflow-lint

  • javascript
  • static-analysis
  • claude-code

Claude Code’s dynamic workflows let one agent orchestrate others: hand out tasks, wait for results, chain phases. What they don’t bring is a safety net. You launch the script and, if it has a silly bug, you find out mid-run, with the cost already spent.

It happened to me: a workflow of mine died after 15 milliseconds for using a variable without first checking it existed. An old-fashioned error, detectable without running anything.

workflow-lint checks it before launch. In milliseconds and without spending a single token, it catches accesses to unvalidated variables, forbidden APIs, broken schemas and loops that never end. The curious thing is the gap it fills: there’s plenty of research and product around making agents smarter, and almost no one checking whether the plan they’re about to run is even well written.

And the tool uses no artificial intelligence at all. The bug was the kind a linter catches, not the kind that needs a model. Validating AI doesn’t always call for more AI.


How it’s built — JavaScript · static analysis · zero-cost dry-run