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 settings/mercurievv/scalasemantic/settingsgit clone --depth 1 https://github.com/MercurieVV/ScalaSemanticWrote 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/settings/mercurievv/scalasemantic/settings)<a href="https://agentmods.dev/settings/mercurievv/scalasemantic/settings"><img src="https://agentmods.dev/badge/settings/mercurievv/scalasemantic/settings.svg" alt="Measured on agentmods" height="20"></a>Grade A, and why
ScalaSemantic 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 4d 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.
What it actually says
{
"permissions": {
"allow": [
"Read",
"Edit",
"Write",
"MultiEdit",
"Glob",
"Grep",
"Bash(git *)",
"Bash(sbt *)",
"Bash(gh *)",
"Bash(./tree2m *)",
"Bash(scripts/*)",
"Bash(./scripts/*)",
"Bash(mkdir *)",
"Bash(rm *)",
"Bash(mv *)",
"Bash(cp *)",
"Bash(chmod *)",
"Bash(ls *)",
"Bash(pwd)",
"Bash(cd *)",
"Bash(cat *)",
"Bash(echo *)",
"Bash(which *)",
"Bash(mktemp*)",
"mcp__scala-semantic__find_symbol",
"mcp__scala-semantic__find_usages",
"mcp__scala-semantic__class_hierarchy",
"mcp__scala-semantic__members",
"mcp__scala-semantic__method_signature",
"mcp__scala-semantic__document_outline",
"mcp__scala-semantic__annotated_source",
"mcp__scala-semantic__call_path",
"mcp__scala-semantic__resolve_implicits",
"mcp__scala-semantic__trace_implicit_chain",
"mcp__scala-semantic__type_at_position",
"mcp__scala-semantic__find_overloads",
"mcp__scala-semantic__structure",
"mcp__scala-semantic__rename_plan",
"mcp__scala-semantic__move_plan",
"mcp__scala-semantic__extract_method_plan"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Read|Grep|Glob|Bash",
"hooks": [
{ "type": "command", "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/scala-semantic-guard.sh" }
]
}
],
"PostToolUse": [
{
"matcher": "Read|Edit|Write|MultiEdit|Grep|Glob|Bash",
"hooks": [
{
"type": "command",
"command": "python3 \"$CLAUDE_PROJECT_DIR/scripts/log-scala-interaction.py\""
}
]
}
]
}
}
What else settings.json configures
This page is one entry in a file that holds 3. Installing the file brings all of them; each is measured and scanned on its own page.
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.
- 4d ago First seen · 68 lines scan A 5efcd6a0c238
ScalaSemantic is a settings file published in the GitHub repository MercurieVV/ScalaSemantic (22 stars, last pushed yesterday), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. 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-30.
Other settings, from other repositories
codeweave-mcp
Agent settings declaring 3 hook events (UserPromptSubmit, PreToolUse, PostToolUse).
TechDebtMCP
Agent settings declaring 2 hook events (PreToolUse, PostToolUse).
ariadne
Agent settings declaring 3 hook events (PreToolUse, PostToolUse, Stop).
Hades
Agent settings declaring 5 allowed tools.
supabase
Agent settings declaring 2 hook events (SessionStart, PostToolUse).
superset
Agent settings declaring 1 hook event (PreToolUse).