Add your stack's quality gates
insight-flow ships no language, package-manager, or test-runner assumptions.
To make /task-implement and /task-review-fix run your typecheck / lint / test
before they mark work done, supply the commands via
agents.extend. Each string is appended verbatim to that
agent's prompt.
The commands below are examples — they only reach the agent because your
taskflow.config.jsonadds them. insight-flow stays technology-agnostic.
1. Add your gates to agents.extend
Open taskflow.config.json and add task-implement (gates after the initial
implementation) and task-review-fix (gates after every blocker fix).
TypeScript + pnpm:
// taskflow.config.json
{
"agents": {
"extend": {
"task-implement": [
"Run `pnpm typecheck && pnpm lint && pnpm test` before marking the task implemented. Do not mark it implemented if any gate fails.",
],
"task-review-fix": [
"Re-run `pnpm typecheck && pnpm lint && pnpm test` after every blocker fix before marking the task fixed.",
],
},
},
}
Python + uv:
{
"agents": {
"extend": {
"task-implement": [
"Run `uv run mypy . && uv run ruff check . && uv run pytest` before marking implemented.",
],
"task-review-fix": [
"Re-run `uv run mypy . && uv run ruff check . && uv run pytest` after every blocker fix.",
],
},
},
}
Go:
{
"agents": {
"extend": {
"task-implement": [
"Run `go vet ./... && golangci-lint run && go test ./...` before marking implemented.",
],
"task-review-fix": [
"Re-run `go vet ./... && golangci-lint run && go test ./...` after every blocker fix.",
],
},
},
}
2. Apply the change
Re-scaffold the role files so the extension lands in the prompts:
insight-flow init
Or, to only re-sync agents.extend + the enforcement block into existing role
files:
insight-flow prompt-build --apply
3. Verify
Run /task-implement on a ready task. Before it calls
insight-flow implement-end, the agent now runs your gates; a failing gate keeps
the task out of the implemented state. The same holds for /task-review-fix
after each blocker fix.
Notes
- Keep each gate string as a single shell pipeline so the agent runs it as one step and stops on the first failure.
- An empty array for an agent means it runs the canonical prompt only and notes in its report that the quality-gate step was skipped.