vybetechlabs-blip

Smb Agent Kit — AI skill for Claude Code

AI community

Shared parts for approval-gated agents: an approval queue with idempotent sending, LLM providers with per-call records, saved eval runs, and a generator for new projects.

How to install Smb Agent Kit

This entry records only its repository, not the path inside it, so there is no exact command to give. Open vybetechlabs-blip/smb-agent-kit and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Smb Agent Kit does

Shared parts for approval-gated agents: an approval queue with idempotent sending, LLM providers with per-call records, saved eval runs, and a generator for new projects. Extracted from enquiry-to-quote.

Alternatives in AI

  • System Prompts Leaks — Extracted system prompts from ChatGPT (GPT-5.4, GPT-5.3, Codex), Claude (Opus 4.6, Sonnet 4.6, Claude Code), G 38.6k ★
  • Vibe Coding Toolkit — A curated, battle-tested AI-coding toolkit: Claude Code plugins, subagent orchestration, quality gates, and re 297 ★
  • Writing Style Skill — Writing style skill template with built-in auto-learning 200 ★

README

smb-agent-kit

[![CI](https://github.com/vybetechlabs-blip/smb-agent-kit/actions/workflows/ci.yml/badge.svg)](https://github.com/vybetechlabs-blip/smb-agent-kit/actions/workflows/ci.yml)

**Status: Active, v0.1.0 in progress, public release pending.**

Problem and result

Small-business agents tend to share one shape: read something in, extract or classify it, decide, draft a reply, wait for a person to approve it, send it, log every step, and measure the whole thing against a golden set. Building the approval queue, the send log, the model providers and the eval runner again for every agent is where most of the time goes. This kit is a proof of concept that lifts those parts out of one working agent, [`enquiry-to-quote`](https://github.com/vybetechlabs-blip/enquiry-to-quote), so the next agent starts at "write the extractor and the decision rule".

The kit has 36 tests, and they run without any API key or network. A generator turns out a new project that installs, passes its stub tests and lints clean. CI runs that generator smoke test on every push.

`enquiry-to-quote` runs on this kit with no change in behavior. On its `refactor/use-kit` branch, its 119 tests pass unchanged. Its eval report and all 42 saved run files come out byte-identical to `main` after re-scoring from saved outputs, with no model calls. Both of its CLI refusals (an unapproved send, then a repeat send) reproduce with the same messages and exit codes.

How it works

smb_agent_kit/
  approval/   SQLite queue: drafted → approved | edited | rejected → sent, transition log with actor
  delivery/   Sender protocol, DryRunSender (outbox folder), ResendSender (key), SendLog keyed by (item, version)
  llm/        ScriptedLLM, OllamaLLM (127.0.0.1, warm-up, one retry), AnthropicLLM, CachedLLM,
              structured_output(): parsed data or a failure reason, plus a per-call record
  evals/      saved runs (JSON per row, golden file and pass), golden-file hash and lookup in git,