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/esneiderbravo/speclaw/settingsgit clone --depth 1 https://github.com/esneiderbravo/speclawGrade A, and why
settings 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 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.
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 — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Write|Edit|MultiEdit|NotebookEdit",
"hooks": [
{
"type": "mcp_tool",
"server": "speclaw",
"tool": "speclaw_check",
"timeout": 5,
"input": {
"projectPath": "${cwd}",
"event": "${hook_event_name}",
"toolName": "${tool_name}",
"payload": {
"hook_event_name": "${hook_event_name}",
"tool_name": "${tool_name}",
"tool_input": {
"file_path": "${tool_input.file_path}"
}
}
}
}
]
}
],
"PostToolUse": [
{
"matcher": "Write|Edit|MultiEdit|NotebookEdit",
"hooks": [
{
"type": "mcp_tool",
"server": "speclaw",
"tool": "speclaw_check",
"timeout": 5,
"input": {
"projectPath": "${cwd}",
"event": "${hook_event_name}",
"toolName": "${tool_name}",
"payload": {
"hook_event_name": "${hook_event_name}",
"tool_name": "${tool_name}",
"tool_input": {
"file_path": "${tool_input.file_path}"
}
}
}
}
]
}
],
"InstructionsLoaded": [
{
"hooks": [
{
"type": "mcp_tool",
"server": "speclaw",
"tool": "speclaw_check",
"timeout": 5,
"input": {
"projectPath": "${cwd}",
"event": "${hook_event_name}",
"toolName": "${tool_name}",
"payload": {
"hook_event_name": "${hook_event_name}",
"tool_name": "${tool_name}",
"tool_input": {
"file_path": "${tool_input.file_path}"
}
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 · 103 lines scan A 200e3d068198
settings is a settings file published in the GitHub repository esneiderbravo/speclaw (1 stars, last pushed 7d 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 A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other settings, from other repositories
agentic-playwright
Agent settings declaring 1 hook event (PreToolUse).
Ctxo
Agent settings declaring 2 hook events (PreToolUse, PostToolUse).
FsLangMCP
Agent settings declaring 3 hook events (PreToolUse, PostToolUse, Stop).
cortex-hub
Agent settings declaring 4 hook events (SessionStart, PreToolUse, PostToolUse, Stop).
multiagent-template
Agent settings declaring 3 hook events (PreToolUse, PostToolUse, Stop).
agentic-config
An empty agent settings file, from a project described as: Project-agnostic, composable AI workflow automation via pi packages and Claude Code plugins.