av/harbor is a command-line tool and companion app that uses Docker Compose to start a connected local stack of language-model backends, user interfaces, and supporting AI services. People use it to run services such as Ollama, llama.cpp, vLLM, Open WebUI, search, voice, and image-generation tools without configuring their connections manually, while the catalogue provides agent workflows for operating Harbor.
Borrowing it
Nothing to install: this file belongs to av/harbor. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/av/harbor/main/.agents/skills/test-boost-module/SKILL.mdgit clone --depth 1 https://github.com/av/harborWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/av/harbor/test-boost-module)<a href="https://agentmods.dev/skills/av/harbor/test-boost-module"><img src="https://agentmods.dev/badge/skills/av/harbor/test-boost-module/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/av/harbor/test-boost-module"><img src="https://agentmods.dev/badge/skills/av/harbor/test-boost-module.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Output Handling · line 111 Output size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.Fix: Set explicit limits on output length, generation count, and rate. Use max_tokens and truncation to prevent unbounded output.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00061 | $0.01383 |
| Opus 5.5 | $0.00024 | $0.00553 |
| Sonnet 5.5 | $0.00012 | $0.00277 |
| Haiku 4.5 | $0.00006 | $0.00138 |
Grade A, and why
test-boost-module scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s -H "Authorization: Bearer sk-boost" http://localhost:$(docker port harbor.boost 8000/tcp | head -1 | cut -d: -f2)/v1/models | python3 -c " How it starts
The opening of the file, as written. The whole thing — 132 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test Boost Module
Send a real prompt through a running Boost module via harbor launch + pi and
validate the output yourself. This is a live integration test, not a unit test.
Prerequisites
llamacpprunning (harbor up llamacpp)boostrunning (harbor up boost)piinstalled on the host
If services aren't running, start them. Wait for health checks before proceeding.
Picking a Test Model
Use a small-to-mid model already available in llamacpp. Check what's loaded:
curl -s -H "Authorization: Bearer sk-boost" http://localhost:$(docker port harbor.boost 8000/tcp | head -1 | cut -d: -f2)/v1/models | python3 -c "
import sys, json
for m in json.load(sys.stdin).get('data', []):
if m.get('status', {}).get('value') == 'loaded':
print(f\" LOADED {m['id']}\")
else:
print(f\" avail {m['id']}\")
" 2>/dev/null
Good defaults (if available): unsloth/Qwen3.6-35B-A3B-GGUF:Q4_K_XL,
unsloth/Qwen3.5-4B-GGUF:Q4_K_M, or any loaded non-embedding model.
Strip the module prefix from the model ID when passing to --model.
The Command
harbor launch --workflow <module_name> --model "<base_model_id>" pi \
-p --no-tools --no-session "<prompt>"
--workflow <module_name>routes through Boost with that module active--modelis the base llamacpp model (no module prefix)-pmakes pi print-and-exit (non-interactive)--no-toolsdisables tool use for a clean completion--no-sessionkeeps it ephemeral
Argument order matters
Launch options (--workflow, --model, --backend) go before pi.
Pi options (-p, --no-tools) and the prompt go after pi.
Choosing the Right Prompt
The prompt should make the module's effect obvious in the output. Pick a prompt that produces clearly different output with vs. without the module.
Prompt strategies by module type
| Module type | Good prompt | What to look for |
|---|---|---|
| Style/compression (caveman, ponytail) | "Explain the theory of relativity in detail" | Terse fragments or minimal-build guidance vs. normal prose |
| Reasoning chain (g1, mcts, ponder) | "What is 27 * 43?" or a logic puzzle | Visible thinking steps, multi-pass reasoning |
| Research/retrieval (quickhop, deephop) | "What are the latest developments in fusion energy?" | Citations, search steps, retrieved context |
| Output transform (eli5, klmbr, rcn) | "Explain quantum entanglement" | Simplified language, restructured output |
| Guard/check (autocheck, diffscope) | A coding deliverable with explicit file scope | Post-answer self-check or scope warnings |
| Prompt injection (dnd, dot, nbs) | Any general question | System prompt artifacts, altered persona |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 132 lines · 61 tokens per session scan A c1f601d97c8e
test-boost-module is a skill published in the GitHub repository av/harbor (3,263 stars, last pushed 6d ago), licensed Apache-2.0. It adds 61 tokens to every session and 1,383 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
test-boost-module compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| test-boost-moduleav/harbor | Skill | 3.3k | 6d ago | Apache-2.0 | A | 61 | Claude Code, Codex |
| browser-qadamianvtran/local-operator | Skill | 229 | today | MIT | A | 45 | Claude Code, Codex |
| knowledge-engineering-quality-and-delivery-real-api-qualification-and-e2eechoVic/blade-code | Skill | 181 | 24d ago | MIT | A | 182 | Claude Code, Codex |
| knowledge-engineering-quality-and-delivery-unit-integration-and-shared-test-harnessesechoVic/blade-code | Skill | 181 | 24d ago | MIT | A | 184 | Claude Code, Codex |
| branchbox-devcontainer-guardrailsbranchbox/branchbox | Skill | 89 | 5d ago | MIT | A | 39 | Codex |
| hugging-face-tool-buildersynthetic-sciences/openscience | Skill | 4.3k | 2d ago | Apache-2.0 | A | 67 | Claude Code, Codex |
| 测试基础设施jianchen08/Agent-os-open | Skill | 7 | 1mo ago | Apache-2.0 | A | 35 | Claude Code, Codex |