NewsBlur: Skill for Claude Code

.agents/skills/investigate-forum/SKILL.md

investigate-forum is a skill for Claude Code, Codex from samuelclay/NewsBlur. It costs 147 tokens per session (5,772 once invoked), scanned A, original, MIT.

A workflow for investigating unanswered topics in the NewsBlur support forum and preparing technical findings or a possible fix. It reads production data under strict read-only rules and does not post replies itself.

In plain words
What is it for?
Use it to review waiting forum topics, inspect relevant logs and read-only data, investigate crashes, and prepare a fix or reply for approval.
Why use it?
It reduces the manual work of deciding what a support report means and how far it can safely be investigated. The production restrictions help prevent accidental changes while diagnosing an issue.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions CLAUDE.md; mentions subagents; names the AskUserQuestion tool.

This is samuelclay/NewsBlur's own configuration. It tells Claude Code and Codex how to work on NewsBlur itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything NewsBlur configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is ./utils/ssh_hz.sh -n happ-web-01 "docker exec -t newsblur_web python manage.py shell -c \".

About the project

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.

samuelclay/NewsBlur · 7,680 stars · on GitHub · newsblur.com

Reuse

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.

Copy the file
curl -O https://raw.githubusercontent.com/samuelclay/NewsBlur/main/.agents/skills/investigate-forum/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/samuelclay/NewsBlur

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for investigate-forum

README.md
[![agentmods](https://agentmods.dev/badge/skills/samuelclay/newsblur/investigate-forum/github.svg)](https://agentmods.dev/skills/samuelclay/newsblur/investigate-forum)
Your own site
<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.

agentmods 80×15 button for investigate-forum

Your own site · 80×15
<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>
Per session 147 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,772 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 10d ago against content hash 73c99ed16f1e, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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.

The scan reads SKILL.md. This mod also ships 2 executable files (fetch_topics.py, screenshot.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

.agents/skills/investigate-forum/SKILL.md · 318 lines

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.

  1. 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.
  2. Production is read-only. Pre-authorized: Django ORM reads, mongoengine reads, redis read commands (GET, HGETALL, ZRANGE, SMEMBERS, KEYS on 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, or make 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.
  3. Never post to the forum. Replies are drafted for Sam to paste. Never call any Discourse write endpoint.
  4. Never merge or push to main. PRs are opened ready for review with the forum label. Sam merges, or says "merge" in the session, in which case the merge procedure in the commit-pr skill applies (order, bringing branches up to date, the test-file conflict pattern).
  5. 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.
  6. 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.
  7. 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.
  8. Ask with AskUserQuestion, never plain text. Tier 2 decisions, and anything mid-fix that could go two materially different ways.
  9. 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-pending with that command in the note, and move on. Never look for another route to the same write.
  10. 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). Prefer force=False so the heavier feed survives. Once #2133 is deployed, every merge logs MERGE_FEEDS_INVENTORY JSON lines and a bad one is reversed with manage.py restore_merged_feed --log FILE --feed-id ID --dry-run first, then without --dry-run; grep the lines from docker logs task-celery on the worker that ran the merge.
  11. A PR is done only when /commit-pr says 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 the commit-pr skill; 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.

Read the full file on GitHub · 318 lines

Files

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.

Changes

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.

  1. 10d ago Changed 73c99ed16f1e
  2. 1mo ago Changed · +1 lines 3d979cb3d2ba
  3. 1mo ago Changed · +2 lines d709a338f754
  4. 1mo ago First seen · 315 lines · 147 tokens per session scan A c859b9308dbe

Subscribe to this mod's changes

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.

Related

investigate-forum compared with skills from other repositories

investigate-forum next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
investigate-forumsamuelclay/NewsBlurSkill7.7kyesterdayMITA147Claude Code, Codex
argent-metro-debuggersoftware-mansion/argentSkill3.2kyesterdayApache-2.0A104Claude Code, Codex
argent-react-native-optimizationsoftware-mansion/argentSkill3.2kyesterdayApache-2.0A71Claude Code, Codex
argent-native-profilersoftware-mansion/argentSkill3.2kyesterdayApache-2.0A37Claude Code, Codex
maui-ai-debuggingdotnet/maui-labsSkill235yesterdayMITA62Claude Code, Codex
maui-performancedotnet/maui-labsSkill235yesterdayMITA85Claude Code, Codex
maui-ui-patternsdotnet/maui-labsSkill235yesterdayMITA82Claude Code, Codex