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 commands/xsovad06/sova/verify-localgit clone --depth 1 https://github.com/xsovad06/sovaWhat 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.00026 | $0.01134 |
| Opus 5 | $0.00013 | $0.00567 |
| Sonnet 5 | $0.00005 | $0.00227 |
| Haiku 4.5 | $0.00003 | $0.00113 |
Grade C, and why
verify-local scanned grade C with 2 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 2d 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf "$tmp/smoke-test" Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -sf http://localhost:8111/api/overview > /dev/null 2>&1 How it starts
The opening of the file, as written. The whole thing — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Verify Local
Run a 6-phase smoke test to verify SOVA works end-to-end on this machine. Exercises real CLI commands, creates a temp project, checks adapter creation, and briefly starts the dashboard.
Context: $ARGUMENTS
Instructions
Phase 1: CLI Entrypoints
Verify the CLI loads and new subcommands are registered:
sova --help
sova --version
sova doctor --help
sova commands sync --help
All four must exit 0. If any fails, report which one and stop.
Phase 2: sova doctor
Run the doctor on the SOVA project itself:
sova doctor --project .
Expected: exit 0, all required checks pass (Python, git, gh, claude). Report the output table.
Phase 3: Fresh Project Install
Test the full install pipeline on a disposable temp project:
tmp=$(mktemp -d)
git init "$tmp/smoke-test"
Then run:
sova install "$tmp/smoke-test"
Verify these artifacts exist:
$tmp/smoke-test/sova.toml$tmp/smoke-test/.claude/commands/(non-empty)$tmp/smoke-test/.claude/agent-memory/MEMORY.md$tmp/smoke-test/.claude/sova.db
Run doctor on the new project:
sova doctor --project "$tmp/smoke-test"
Clean up:
rm -rf "$tmp/smoke-test"
Report PASS if all artifacts exist and install exits 0.
Phase 4: Command Sync
Test multi-project command synchronization:
sova commands sync
If registered projects exist: verify it reports per-project results and a summary line. If no projects registered: verify it prints the "no projects" message and exits 0. Report as PASS (expected on fresh machines).
Phase 5: Adapter Factory
Verify the adapter factory creates both adapter types correctly:
python3 -c "
from sova.config.models import ProjectConfig, TaskSourceConfig
from sova.adapters import create_adapter
# GitHub adapter
cfg = ProjectConfig(github_repo='test/repo', github_user='testuser')
a = create_adapter(cfg)
assert a.__class__.__name__ == 'GitHubAdapter', f'Expected GitHubAdapter, got {a.__class__.__name__}'
assert a.github_user == 'testuser'
print(' GitHub adapter: OK')
# Jira adapter
cfg = ProjectConfig(task_source=TaskSourceConfig(
type='jira',
jira_base_url='https://test.atlassian.net',
jira_email='[email protected]',
jira_api_token='test-token',
jira_project_key='TEST',
))
a = create_adapter(cfg)
assert a.__class__.__name__ == 'JiraAdapter', f'Expected JiraAdapter, got {a.__class__.__name__}'
assert a.project_key == 'TEST'
print(' Jira adapter: OK')
# Unknown type raises ValueError
try:
ts = TaskSourceConfig()
ts.type = 'unknown'
create_adapter(ProjectConfig(task_source=ts))
assert False, 'Should have raised ValueError'
except ValueError as e:
assert 'Unknown adapter type' in str(e)
print(' Unknown type rejection: OK')
print(' All adapter checks passed')
"
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.
- 2d ago First seen · 174 lines · 26 tokens per session scan C 4955ef85c66f
verify-local is a command published in the GitHub repository xsovad06/sova (2 stars, last pushed 2d ago), licensed Apache-2.0. It adds 26 tokens to every session and 1,134 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 2 findings (recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
doctor
Check the health of a KARIMO installation, identify issues, and provide actionable recommendations.
dashboard
Phase 3 monitoring — System health, execution insights, and velocity analytics.
run
Execute an approved PRD using feature branch workflow (v7.0). This command generates briefs, auto-reviews them, allows user iteration, and then orchestrates execution.
merge
Consolidate feature branch changes and create final PR to main. This completes the v5.0 feature branch workflow after all task PRs have been merged.
greptile-review
Execute the full Greptile review cycle on a PR, looping until score meets threshold or circuit breaker triggers.
feedback
Intelligent feedback capture with automatic complexity detection and adaptive investigation.