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/whchoi98/project-init/settingsgit clone --depth 1 https://github.com/whchoi98/project-initGrade D, and why
project-init scanned grade D with 3 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 yesterday.
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.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
"Bash(chmod 777:*)", Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
"Bash(rm -rf:*)", Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
"Bash(curl*| bash*)", Copies of this mod
1 near-identical copy found in the catalogue:
- settings — 86% identical, 14 lines differ
What it actually says
{
"permissions": {
"allow": [],
"deny": [
"Bash(rm -rf:*)",
"Bash(rm -r:*)",
"Bash(git push --force:*)",
"Bash(git reset --hard:*)",
"Bash(git clean -f:*)",
"Bash(chmod 777:*)",
"Bash(curl*| bash*)",
"Bash(wget*| bash*)",
"Bash(eval:*)",
"Bash(python3 -c*import os*)"
]
},
"hooks": {
"SessionStart": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/session-context.sh 2>/dev/null || true"
}
]
}
],
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/secret-scan.sh 2>/dev/null || true"
}
]
}
],
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/check-doc-sync.sh \"$TOOL_INPUT_PATH\" 2>/dev/null || true"
}
]
}
],
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/notify.sh \"$EVENT\" \"$MESSAGE\" 2>/dev/null || true"
}
]
}
]
}
}
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.
- yesterday First seen · 64 lines scan D bdd3ef51cfe1
project-init is a settings file published in the GitHub repository whchoi98/project-init (2 stars, last pushed 1mo ago), 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 D with 3 findings (asks for root, 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 settings, from other repositories
supabase
Agent settings declaring 2 hook events (SessionStart, PostToolUse).
claude-cookbooks
Agent settings declaring 2 hook events (SessionStart, PreToolUse).
claude-code-best-practice
Agent settings declaring 30 hook events (PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure) and 24 allowed tools.
electron
Agent settings declaring 17 allowed tools.
uv
Agent settings declaring 2 hook events (SessionStart, PostToolUse).
ui-ux-pro-max-skill
Agent settings declaring 7 allowed tools.