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 skills add aadarshvelu/syndicate --skill syndicate-healgit clone --depth 1 https://github.com/aadarshvelu/syndicateWrote 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/aadarshvelu/syndicate/syndicate-heal)<a href="https://agentmods.dev/skills/aadarshvelu/syndicate/syndicate-heal"><img src="https://agentmods.dev/badge/skills/aadarshvelu/syndicate/syndicate-heal/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/aadarshvelu/syndicate/syndicate-heal"><img src="https://agentmods.dev/badge/skills/aadarshvelu/syndicate/syndicate-heal.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00036 | $0.01014 |
| Opus 5 | $0.00018 | $0.00507 |
| Sonnet 5 | $0.00007 | $0.00203 |
| Haiku 4.5 | $0.00004 | $0.00101 |
Grade A, and why
syndicate-heal 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 10d 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 — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/syndicate-heal
You are diagnosing the syndicate pipeline. Do not auto-fix anything — your job is to report what's wrong with actionable shell commands the user can copy. The user takes the remediation step.
Step 1 — health snapshot
cd "${SYNDICATE_REPO:-$(pwd)}" && uv run python -m pipeline.cli health
Then fetch the broader status for context:
cd "${SYNDICATE_REPO:-$(pwd)}" && uv run python -m pipeline.cli status
Step 2 — check for stuck processes
Look for syndicate processes that have been alive too long (≥4h is the default cleaner threshold):
pgrep -lf 'run_syndicate\.sh|uv run syndicate|\.venv/bin/syndicate'
For each PID, get elapsed time:
ps -p <PID> -o etime=,command=
Step 3 — diagnose & recommend
Walk through each signal in priority order and surface remediation hints:
Ollama unreachable
- Symptom:
health.ollama_reachable = false - Likely cause: Ollama not running, or
OLLAMA_HOST=0.0.0.0was injected by launchd (it can't be used as a client URL). - Fix:
unset OLLAMA_HOST(or set tohttp://localhost:11434), thenollama serveif the process isn't running.
Required env var missing
- Walk
env_presentand flag any of thesefalse:GMAIL_USER,GMAIL_APP_PASSWORD,FEED_REPO_URL,FEED_REPO_PAT,TELEGRAM_BOT_TOKEN,TELEGRAM_CHAT_ID. - For the AI provider, look at
env_present.AI_PROVIDER(defaults toollamaif unset) and flag the matching credential asfalse:ollama→OLLAMA_HOST;anthropic→ANTHROPIC_API_KEY;openai→OPENAI_API_KEY;gemini→GEMINI_API_KEY;minimax→MINIMAX_API_KEY. IfEMBEDDING_PROVIDERis set and differs, also check its credential. - Fix: point them at the README's
.envmatrix andINSTALL.md.
Disk low
- Symptom:
disk_free_gb < 5 - Fix:
find logs/ -name '*.txt' -mtime +7 -delete(logger already does this for >7d files, but only when invoked).
Stuck syndicate processes
- Symptom: pgrep shows a PID with elapsed time > 4h
- Fix:
bash scripts/clean_stale_runs.sh— kills processes over the 4h threshold via SIGTERM with SIGKILL fallback. Mac-only (uses macOSps).
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.
- 10d ago First seen · 94 lines · 36 tokens per session scan A 5d1bc070c5c5
syndicate-heal is a skill published in the GitHub repository aadarshvelu/syndicate (2 stars, last pushed 3mo ago), licensed MIT. It adds 36 tokens to every session and 1,014 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
doctor
Diagnose Polisade Orchestrator project health.
dspy-debugging-observability
Use for debugging DSPy programs, inspecthistory, tracing LLM calls, custom callbacks, observability, monitoring, and cost tracking.
defect
A command for registering a software defect, meaning behavior that does not work as intended, and creating a task to fix it. The defect and its fix task receive tracked IDs and are stored in the project's backlog and task folders.
systematic-debug
A structured debugging process for investigating bugs, errors, failed tests, and unexpected behavior. It starts by creating a quick, repeatable way to reproduce the problem before testing possible causes.
distill-the-scar
Use when you just hit a real failure worth keeping — a bug, a wrong fix, a wasted hour — and want to turn it into a reusable skill instead of a private lesson. Turns one concrete failure into a Whetstone-shaped SKILL.md: extract the transferable invariant, write it so an agent can apply it without the original…
grep-the-blast-radius
Use when changing a shared contract — a flag, column, enum/union member, shared type, exported symbol, endpoint shape, or config key. The retired name is the cheapest complete index of consumers: grep the whole workspace and run every suite that crosses the boundary, not just the package you edited. Triggers on…