Projects
stilgar
An independent security research lab auditing agent harnesses, testing prompt injection, and investigating suspect packages in disposable sandboxes.
inconnu
A Python data privacy library for redacting and pseudonymizing sensitive text with NLP-based entity detection.
harness
Opinionated project templates with built-in guardrails so AI coding agents produce reliable, maintainable code from the start.
How harness works
The problem: checks that drift
An agent can finish an edit while formatting, types, and tests disagree about whether the work is ready. Repeating the instructions in a prompt leaves the checks dependent on whoever remembers to run them.
The work: a shared command contract
Harness puts the checks in the project. Its language templates expose the same small set of commands, backed by each language's tools. The Bun template, for example, combines formatting, type checking, and tests behind one entry point.
The trade-off: repair locally, verify in CI
A local check can fix formatting and keep an edit moving. CI needs to judge the submitted code. Harness separates those jobs: check can change files; ci verifies them without applying fixes. The cost is maintaining language-specific runners behind the shared commands.
Harness in practice
Inside a project using the Bun template:
bun run check
bun run ciThe first command runs the local feedback loop. The second checks whether the result meets the project's CI gates.
spok
A lightweight spec-driven workflow for AI coding agents: explore an idea, propose a chunked change, apply one slice, then fold the result back into living specs.
How spok works
The problem: requirements trapped in chat
An agent can keep writing code while the meaning of “done” shifts between messages. A long conversation is a fragile place to keep the agreement about what should ship.
The work: keep the agreement with the code
Spok gives a change a proposal, specifications, a design, and a checklist in the repository. Its workflow separates exploring an idea, proposing a change, applying one chunk, and archiving the result.
The trade-off: a checkpoint between chunks
Each apply invocation completes one chunk and stops. That adds a checkpoint before more work begins. The benefit is a smaller result to inspect, with the remaining work still explicit. When the change is complete, archiving folds the new behavior into the project's lasting specifications.
Spok in practice
After setting up Spok, ask your coding assistant:
/spok-propose add-dark-mode
/spok-applyInspect the first completed chunk, repeat /spok-apply for the remaining chunks, then run /spok-archive to update the specifications.
interlocks
One deterministic Python quality loop for linting, typechecking, tests, coverage, and agent-authored pull requests.
wando
Curated security and privacy recommendations for teams that need practical guidance they can actually follow.