NewsBlur is a personal RSS news reader and social network that displays stories, the original sites they come from, and tools for filtering and discussing them. Readers use it to follow subscriptions, train story preferences, search and tag articles, share reading, and optionally self-host the service. The catalogue entries provide commands, skills, instructions, hooks, and settings for working with the NewsBlur project.
Borrowing it
Nothing to install: this file belongs to samuelclay/NewsBlur. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/samuelclay/NewsBlur/main/.agents/skills/investigate-forum/SKILL.mdgit clone --depth 1 https://github.com/samuelclay/NewsBlurWrote 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/samuelclay/newsblur/investigate-forum)<a href="https://agentmods.dev/skills/samuelclay/newsblur/investigate-forum"><img src="https://agentmods.dev/badge/skills/samuelclay/newsblur/investigate-forum/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/samuelclay/newsblur/investigate-forum"><img src="https://agentmods.dev/badge/skills/samuelclay/newsblur/investigate-forum.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.00147 | $0.05772 |
| Opus 5.5 | $0.00059 | $0.02309 |
| Sonnet 5.5 | $0.00029 | $0.01154 |
| Haiku 4.5 | $0.00015 | $0.00577 |
Grade A, and why
investigate-forum 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 — 318 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Investigate Forum
Sam runs this about once a day and comes back every few hours to approve things. The job: for each forum topic still waiting on Sam, do the investigation he would do, get a fix as far as a reviewed PR when it is safe to, and leave a reply he can paste.
Ground rules
These hold for every topic, every run. Do not reinterpret them mid-run.
- At most three topics per run, one at a time, newest activity first. The queue is cut at three (
--limit, default 3); the rest wait for the next run so open PRs get merged before more pile up. Finish a topic (state recorded) before opening the next. No parallel subagents across topics. A subagent may help inside one topic (for example, a second opinion on a fix) but the loop stays sequential. - Production is read-only. Pre-authorized: Django ORM reads, mongoengine reads, redis read commands (
GET,HGETALL,ZRANGE,SMEMBERS,KEYSon a narrow pattern,INFO), log greps,sentry-cli issues list, Play Console crash reads. Never.save(),.update(),.delete(),.create(), bulk writes, redis writes, container restarts, deploys, ormake deploy/make celery. Anything that changes production state is tier 2 and needs an explicit yes through AskUserQuestion, then run exactly the approved command and nothing more. - Never post to the forum. Replies are drafted for Sam to paste. Never call any Discourse write endpoint.
- Never merge or push to main. PRs are opened ready for review with the
forumlabel. Sam merges, or says "merge" in the session, in which case the merge procedure in thecommit-prskill applies (order, bringing branches up to date, the test-file conflict pattern). - Tier 1 means no input needed. The bug is reproducible, the fix is local to the code, no product decision is involved, no user account is touched. Everything else is tier 2.
- Reproduce before fixing. Per CLAUDE.md: write the failing test first, then fix, then show it passing. If it cannot be reproduced, say so in the PR and the reply rather than guessing.
- Reply-only topics are tier 1. A how-to question, a known limitation, a duplicate, a "works as designed": draft the reply, record it, move on. No interview needed.
- Ask with AskUserQuestion, never plain text. Tier 2 decisions, and anything mid-fix that could go two materially different ways.
- When the auto-mode classifier blocks an approved prod write, hand it to Sam. Write the exact script or SQL to a file at the repo root, print the one-line command that runs it, record
tier2-pendingwith that command in the note, and move on. Never look for another route to the same write. - Before any prod
merge_feeds, check for branches.Feed.objects.filter(branch_from_feed=<duplicate>)must be empty or re-parented first; until PR #2133 is deployed, a merge that deletes a feed with branches deletes the branches and their subscriptions too (CBC incident, 2026-09-14). Preferforce=Falseso the heavier feed survives. Once #2133 is deployed, every merge logsMERGE_FEEDS_INVENTORYJSON lines and a bad one is reversed withmanage.py restore_merged_feed --log FILE --feed-id ID --dry-runfirst, then without--dry-run; grep the lines fromdocker logs task-celeryon the worker that ran the merge. - A PR is done only when
/commit-prsays so. Green CI on the current head, zero unresolved Claude or Codex review threads, marked ready for review. The push-to-clean loop lives in thecommit-prskill; this skill never re-implements it. That loop runs up to ten review rounds without asking; a fix that keeps growing under review (locks, leases, queues, a new store) has become a subsystem and goes back to Sam through AskUserQuestion before another round, with the PR's size next to its first commit's.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 Changed 73c99ed16f1e
- 1mo ago Changed · +1 lines 3d979cb3d2ba
- 1mo ago Changed · +2 lines d709a338f754
- 1mo ago First seen · 315 lines · 147 tokens per session scan A c859b9308dbe
investigate-forum is a skill published in the GitHub repository samuelclay/NewsBlur (7,680 stars, last pushed yesterday), licensed MIT. It adds 147 tokens to every session and 5,772 once invoked, about $0.0006 per session on Opus 5.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-09-14.
investigate-forum compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| investigate-forumsamuelclay/NewsBlur | Skill | 7.7k | yesterday | MIT | A | 147 | Claude Code, Codex |
| argent-metro-debuggersoftware-mansion/argent | Skill | 3.2k | yesterday | Apache-2.0 | A | 104 | Claude Code, Codex |
| argent-react-native-optimizationsoftware-mansion/argent | Skill | 3.2k | yesterday | Apache-2.0 | A | 71 | Claude Code, Codex |
| argent-native-profilersoftware-mansion/argent | Skill | 3.2k | yesterday | Apache-2.0 | A | 37 | Claude Code, Codex |
| maui-ai-debuggingdotnet/maui-labs | Skill | 235 | yesterday | MIT | A | 62 | Claude Code, Codex |
| maui-performancedotnet/maui-labs | Skill | 235 | yesterday | MIT | A | 85 | Claude Code, Codex |
| maui-ui-patternsdotnet/maui-labs | Skill | 235 | yesterday | MIT | A | 82 | Claude Code, Codex |