Sense — Testing skill for Claude Code
Make sense of non-deterministic output.
How to install Sense
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open itsHabib/sense and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Sense does
Make sense of non-deterministic output. Test assertions and structured text extraction for Go, powered by Claude
Alternatives in Testing
- Testing Strategy — This project is small, runs in a terminal, and is mostly deterministic 10.9k ★
- Aod.Analyze — Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.m 89 ★
- Pi Task — Deterministic spec-orchestration for local LLMs in the pi coding agent — drives prompts through refine→researc 81 ★
README
Sense
Make sense of non-deterministic output. Extract structured data from text and evaluate output quality using Claude.
// Judge: output → pass/fail with evidence
sense.Assert(t, output).
Expect("covers all sections from the brief").
Expect("includes actionable recommendations").
Run()
// Extract: unstructured text → typed struct
s := sense.New()
var m MountError
s.Extract("device /dev/sdf already mounted with vol-0abc123", &m).Run()
fmt.Println(m.Device) // "/dev/sdf"
fmt.Println(m.VolumeID) // "vol-0abc123"
Sense uses the [Anthropic API](https://docs.anthropic.com/en/docs) (Claude) with forced `tool_use` for structured responses — no prompt engineering, no JSON parsing on your end. Requires an Anthropic API key.
Two surfaces, one package:
- Extract — parse unstructured text into typed Go structs. Logs, error messages, support tickets, API responses — define a struct, get structured data back.
- Judge — evaluate non-deterministic output against natural-language expectations. Assert in tests (
Assert/Require), eval programmatically (Eval), or A/B compare two outputs (Compare).
Why it exists
Go programs that touch LLM output have two recurring problems: turning messy text into something typed, and asserting that non-deterministic output is *good* without a brittle string match. Sense does exactly those two things behind one seam — a `caller` that forces Claude to call a single tool whose schema is the output contract. Everything else is a thin builder in front of that seam.
Scope is deliberately narrow:
- It judges and extracts. It is not an agent framework. No tool-calling loops, no chains, no orchestration — Sense makes a single forced-tool call and unmarshals the result.
- It speaks Claude only, today. The
callerinterface is abstracted so a second provider is ~100 lines, but no OpenAI/other caller is shipped. An OpenAI caller andWithCallerinjection live in docs/NEXT.md, not in t
Related Skills
Cdpilot
Zero-dependency browser automation CLI. 70+ commands, 10 test assertions, smart commands (click/fill by text —
Flaky Test Detector
Detect, analyze, and eliminate flaky tests across any test runner. An AI agent skill that identifies non-deter
Auxi QA UI
Mobile QA flow authoring playbook for the Auxi RN app — author deterministic Maestro YAML flows with explicit
Reviewer Tester
You are reviewing one focused group of changed test files from a pull request for an automated pipeline. Your
Auxi QA Test
Mobile QA execution playbook for the Auxi RN app — runs Maestro flows on the local iOS simulator, runs Jest un
Readme Generator
Generate professional README.md with 16:9 infographics, SEO-optimized metadata, and structured author sections
Related Agents
Firecrawl Expert
Expert in Firecrawl API for web scraping, crawling, and structured data extraction. Handles dynamic content, a
Harness AI Dev
AI engineer — LLM and agent features, prompts, model integration, tool definitions, retrieval, and the evals t
Doc Extractor
Transcribes one archival document image or PDF page. Produces verbatim original text, a Ukrainian translation,