Skip to content
Terrero Labs

JonnyJr

My personal tooling: an agent bench of Claude skill specs with explicit refusal conditions, plus an Obsidian second brain.

In useContinuously updated · agent evals not yet graded
Division
Systems
Role
Solo · personal tooling

Two halves. The agent bench holds domain-specialised definitions for the work I actually do — software, hardware, coursework, finance, legal review — and the interesting part is that each one declares when it must refuse. The second brain is the Obsidian vault where my notes, coursework, and project thinking live.

  • Claude Code Skills (SKILL.md)
  • Claude API · Managed Agents
  • Python
  • YAML manifests

01Problem / user need

A general-purpose assistant fails on consistency, not capability: the same question asked twice gets differently shaped answers, domain guardrails have to be restated every session, and output formats have to be re-specified each time.

The fix is to make each agent’s role, activation trigger, output format, capability boundary, and refusal conditions explicit — and version-controlled.

02Requirements

#RequirementAcceptance criterionStatus
R1Guardrail enforcementAgents refuse when their declared condition is unmet, and only thenAdversarial fixtures written; runs not yet graded
R2Non-overlapOverlapping triggers resolve by a declared precedenceRouting matrix written
R3Actual useInvocations per agent over 30 days, long tail includedNot yet measured
R4MaintenanceSpecs under version controlMet

03Architecture

04Design decisions

Explicit refusal conditions

Chosen
Agents declare when they must not produce output. The trading agent will not treat a setup as a thesis without an invalidation level, and defaults to analysis only; supervised execution is opt-in, gated per session and per order.
Tradeoff
A risk control is encoded in the tool rather than left to the user’s discipline in the moment. Cost: a markdown spec states intent; it doesn’t enforce it. Only testing shows whether the agent actually refuses.

Scope limits in regulated domains by default

Chosen
Finance, tax, legal, and trading agents state that they are not professional advice and flag what needs a licensed professional.
Tradeoff
This is a stated constraint, not a technical guarantee — so it is described as one.

Many narrow agents instead of a few broad ones

Chosen
Narrow specs that each carry their own domain conventions.
Tradeoff
Conventions that would conflict if merged can coexist. Cost: trigger collisions and maintenance load, handled by a routing matrix with explicit precedence.

4.5Scope & role

Solo. Personal tooling: no users, not distributed, not a product. The second brain is complete as a system and updated continuously; the agent bench is in active use.

05Implementation

  • Markdown skill specs with YAML frontmatter, a shared commons spec for evidence and write-gate policy, and a single manifest as the roster.
  • Python scripts to build, upload, and deploy the skills as Managed Agents, and to export them for a second editor.
  • Eval fixtures per agent covering trigger, boundary, and freshness cases. The finance, legal, trading, and code-audit agents include adversarial cases.
  • An eval runner that executes fixtures against the deployed agents and records full transcripts. It deliberately does not grade.
  • Second brain: an Obsidian vault, maintained continuously. It’s private, so it isn’t linked here.

06Verification

PendingGraded results aren’t published yet. Next: score the recorded adversarial transcripts as refusal rates on should-refuse vs. should-answer inputs, per agent with a declared refusal condition. Any productivity figure (“saves N hours”) is deliberately not claimed.

07Failures / iterations

PendingNot yet documented: agents written but rarely used, duplicate-looking pairs, and specs rewritten after bad output.

08Limitations

  • Personal tooling, not a product. The second brain is private, so nothing about it can be verified from this page.
  • Specs are intent, not enforcement, until the evals are graded.
  • No measurement that any agent produces better output than the same model without the spec.
  • Inherits the underlying model’s limitations, including hallucination.
  • The count of specs is not a measure of capability.