Case 07 Instructions · Skills · Verification
A personal harness: AI with instructions, context and verification
I actively use AI in my development workflow. So that speed does not turn into technical debt, I built a personal harness: instructions, skills, task context, model selection and verification around every use of agents.
Context
By harness I mean everything around the use of AI agents in my work: the instructions they follow, the skills they run, the context they receive, the model and reasoning level chosen for each task and the checks the result has to pass.
It is personal and evolves with practice. Part of the skills are published in a public repository, with versions for Claude Code, Codex CLI and OpenCode.
Problem
AI assistants produce code faster than a team can understand, review and maintain it. Without rules and verification, speed becomes technical debt: inconsistent styles, tests that merely mirror the implementation, security and performance problems that slip through.
The question is not whether to use AI, but how to use it without giving up human judgment and understandable code.
My responsibility
I built the harness and maintain the instructions and skills in it. I define rules for agents with explicit quality goals and choose, for each task, the right model and reasoning level, with support from Jev, by TypeSafe AI, a tool I use in that process.
I remain responsible for reviewing the result and checking it against the requirements.
Decision
The rules I define for agents target concrete attributes: maintainability, through Clean Code and clear responsibilities; performance, through explicit guidelines and validation; security, through review and risk-oriented instructions; resilience, through meaningful tests and regression prevention; test readability, through BDD; and consistency, through each project's conventions.
AI speeds up writing. Understanding the problem, making decisions and verifying the result are still engineering work.
Alternatives and trade-offs
Present-day analysis written for this site. It is not a record of the alternatives evaluated at the time.
- Instructions and skills need upkeep: they go stale when the project changes and nobody reads them. That is why I treat instructions like code, reviewed and adjusted whenever a problem shows up.
- No harness guarantees defect-free, secure or scalable software. It raises the odds of getting things right and makes mistakes easier to find; verification is still required.
Implementation
The pieces of the harness and the role of each one:
Per-project instructions
Guidance files covering architecture, conventions, real commands and constraints, so the agent starts from the right context.
Reusable skills
Workflows such as staged planning with approval gates, code review, refactoring tests with BDD and bug investigation with ranked hypotheses.
Jev, model and reasoning
I use Jev, by TypeSafe AI, to support harness, model and reasoning-level selection for each task. I remain responsible for the decision and verification.
Verification
Type checks, tests, build and human review before a task counts as done.
Outcome
The goal is faster delivery without giving up human judgment, understandable code or verification.
Clear instructions and tests support quality; on their own they do not guarantee defect-free software. Responsibility for what reaches production remains mine.