Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/rani700/careerpilot/verifynpx skills add rani700/careerpilot --skill verifygit clone --depth 1 https://github.com/rani700/careerpilotWrote 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/rani700/careerpilot/verify)<a href="https://agentmods.dev/skills/rani700/careerpilot/verify"><img src="https://agentmods.dev/badge/skills/rani700/careerpilot/verify.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00035 | $0.00948 |
| Opus 5 | $0.00017 | $0.00474 |
| Sonnet 5 | $0.00007 | $0.00190 |
| Haiku 4.5 | $0.00003 | $0.00095 |
Grade A, and why
verify scanned grade A with 0 findings 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 3d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Verifying CareerPilot
The surface is the MCP protocol over stdio — always test by spawning the real server process and speaking MCP to it, never by importing server functions.
Handle
uv sync # install (uses .venv)
uv run careerpilot # server on stdio (blocks; speaks JSON-RPC)
Quick handshake probe (no client code needed):
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}' \
| uv run careerpilot 2>/dev/null | head -c 400
Full E2E drive
Write a Python client using mcp.client.stdio.stdio_client + ClientSession with:
StdioServerParameters(command="uv", args=["run", "careerpilot"], cwd=<repo>, env={**get_default_environment(), "CAREERPILOT_DB": <tempfile>})— the env override keeps the user's real DB (~/.careerpilot/) untouched.envREPLACES the environment, so mergeget_default_environment()or uv won't find PATH/HOME.sampling_callbackreturning a cannedCreateMessageResult→ exercisesscore_job_fitelicitation_callbackreturningElicitResult(action="accept", content={"confirm": True})(and a decline case) → exercisesdelete_applicationlist_roots_callbackpointing at a temp dir containing a*resume*.md→ exercisesfind_resumemessage_handlercollectingServerNotifications; aftersession.subscribe_resource("careerpilot://pipeline"), any mutating tool must produce aResourceUpdatedNotification(allow ~0.3s).
Flows worth driving every time: search (live network) → save_job with external_id →
track → update → subscribe+mutate → read pipeline + careerpilot://applications/{id} →
prompt with resume in context → decline-then-accept delete.
Stage 2-4 surfaces
- Watches/poller (stage 2):
uv run python tests/stage2_watches_test.py— seeds a watch directly in the temp DB (no baseline), setsCAREERPILOT_POLL_SECONDS=2, and asserts the background poller pushesresources/updatedwith no tool call in flight. - HTTP + auth (stage 3):
uv run python tests/stage3_http_test.py— spawnscareerpilot --httpwithCAREERPILOT_TOKEN, asserts 401 (no/wrong token, withWWW-Authenticate) and a full session viastreamablehttp_clientwith the token. - Host (stage 4):
uv run careerpilot-chat --listneeds no API key and must show 14 tools / 4 resources / 2 templates / 3 prompts. The chat loop (host.chat_turn) can be driven with a scripted fake LLM against the real server over stdio; a live chat turn needsANTHROPIC_API_KEY.
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.
- 3d ago First seen · 72 lines · 35 tokens per session scan A 8f0607e797eb
verify is a skill published in the GitHub repository rani700/careerpilot (0 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 35 tokens to every session and 948 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
use-agent-browser-for-airi
Test AIRI display-model imports with agent-browser across stage-tamagotchi Electron, stage-web, and stage-pocket mobile web layouts. Use when uploading and verifying contributor-supplied Live2D ZIP, VRM, or MMD ZIP/PMX/PMD files through AIRI's model selector, including onboarding bypass, format-specific import…
e2e-write-visual-test
Use when writing a Playwright visual regression (screenshot comparison) test, tagging a test @visual, generating or updating baseline screenshots, running visual tests locally, or debugging a failing screenshot comparison in CI.
run-integration-tests
Build, pack, and run .NET MAUI integration tests locally. Validates templates, samples, and end-to-end scenarios using the local workload.
cli-e2e-testcase-writer
Use when adding or updating Go CLI E2E coverage for one tests/clie2e/{domain} domain of the compiled lark-cli, especially when the work requires live --help or schema exploration, scenario-based clie2e.RunCmd workflows, and per-domain coverage.md maintenance.
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
harness-test-writer
Add regression test cases to the Bifrost provider harness (the Postman collection run via make run-provider-harness-test) based on a merged PR or a GitHub issue. Fetches the PR/issue, traces the affected wire path in the codebase, checks existing harness coverage, designs cases following harness conventions, inserts…