Borrowing it
Nothing to install: this file belongs to slb350/news-llama. 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/slb350/news-llama/main/CLAUDE.mdgit clone --depth 1 https://github.com/slb350/news-llamaWrote 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/instructions/slb350/news-llama/claude-md)<a href="https://agentmods.dev/instructions/slb350/news-llama/claude-md"><img src="https://agentmods.dev/badge/instructions/slb350/news-llama/claude-md/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/instructions/slb350/news-llama/claude-md"><img src="https://agentmods.dev/badge/instructions/slb350/news-llama/claude-md.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.05080 | $0.05080 |
| Opus 5 | $0.02540 | $0.02540 |
| Sonnet 5 | $0.01016 | $0.01016 |
| Haiku 4.5 | $0.00508 | $0.00508 |
Grade A, and why
news-llama CLAUDE.md 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 — 383 lines — stays where its author put it; the contents beside it link to each section on GitHub.
News Llama
Project Description
An AI-powered news curation engine that aggregates content from RSS, Reddit, and web search (DuckDuckGo), then summarizes the most relevant articles using a local LLM via open-agent-sdk. Runs in CLI batch mode or as a persistent web application with multi-user support and automatic daily newsletter generation. (Hacker News aggregator exists but is disabled due to empty content extraction. Twitter/X aggregator exists but is a placeholder — _collect_from_user() returns hardcoded fake tweets; tweepy is not called.)
Repository Structure
news-llama/
├── main.py # CLI entry point (NewsLlama class, async orchestration)
├── setup.py # Automated setup script
├── take_screenshots.py # Screenshot helper for macOS app
├── requirements.txt # 34 Python dependencies
├── alembic.ini # Database migration configuration
├── pytest.ini # Test configuration (80%+ coverage target)
├── CONTRIBUTING.md # Contribution guidelines
├── CHANGELOG.md # Project changelog
├── LICENSE
├── src/
│ ├── aggregators/ # Source-specific aggregators
│ │ ├── base.py # BaseAggregator abstract class
│ │ ├── rss_aggregator.py
│ │ ├── twitter_aggregator.py # Unimplemented placeholder: returns hardcoded fake tweets, tweepy not called
│ │ ├── reddit_aggregator.py # asyncpraw with 24h smart time filtering
│ │ ├── hackernews_aggregator.py # Disabled: empty content
│ │ └── dynamic_aggregator.py # AI-discovered sources (Twitter delegate also disabled: delegates to placeholder)
│ ├── processors/ # Content processing
│ │ ├── content_processor.py # Cleaning, filtering, categorization, scoring
│ │ ├── duplicate_detector.py # Cosine similarity dedup (threshold 0.8)
│ │ └── source_discovery.py # LLM-powered five-tier source discovery
│ ├── summarizers/ # LLM summarization via open-agent-sdk
│ │ └── llm_summarizer.py # Batch summarization, streaming JSON-first
│ ├── generators/ # Output generation
│ │ ├── html_generator.py # Responsive HTML with Jinja2 templates
│ │ ├── json_generator.py
│ │ └── rss_generator.py
│ ├── utils/ # Configuration, models, utilities
│ │ ├── config.py # Pydantic-based configuration (LLM, social, processing)
│ │ ├── models.py # Article, SummarizedArticle dataclasses
│ │ ├── logger.py # Logging setup (loguru)
│ │ ├── scheduler.py # CLI mode scheduler
│ │ ├── constants.py # Predefined interests and source patterns
│ │ ├── llm_prompts.py # System prompts for LLM
│ │ ├── image_cache.py # Image caching
│ │ └── security.py # Security utilities
│ └── web/ # FastAPI web application
│ ├── app.py # FastAPI app, route registration, lifespan management
│ ├── models.py # SQLAlchemy ORM (8 tables: users, newsletters,
│ │ # user_interests, tier1_sources, source_blacklist,
│ │ # discovered_sources, source_health, source_contributions)
│ ├── schemas.py # Pydantic request/response schemas
│ ├── database.py # SQLite WAL mode + connection pooling + Alembic
│ ├── config.py # Web app configuration
│ ├── dependencies.py # FastAPI dependency injection (get_db, get_current_user)
│ ├── error_handlers.py # Global error handling (no stack traces exposed)
│ ├── rate_limiter.py # Sliding window rate limiter (10 req/min default)
│ ├── file_cache.py # LRU cache for newsletter HTML (100 files, ~10MB cap)
│ ├── static/ # Static assets (CSS, JS, favicon, logo)
│ │ ├── styles.css
│ │ ├── avatar-manager.js
│ │ ├── interest-manager.js
│ │ ├── form-accessibility.js
│ │ ├── favicon.ico
│ │ └── logo.png
│ ├── templates/ # Jinja2 HTML templates
│ │ ├── base.html
│ │ ├── profile_select.html
│ │ ├── profile_create.html
│ │ ├── profile_settings.html
│ │ ├── calendar.html
│ │ └── metrics.html
│ ├── api/ # RESTful JSON API (v1)
│ │ ├── schemas.py # Pydantic schemas for API v1 responses
│ │ └── v1/ # v1 routes: users.py, interests.py, newsletters.py
│ └── services/ # 15 service modules: core (user, interest, newsletter,
│ # generation, scheduler) + discovery (autonomous_discovery,
│ # direct_search, list_mining, discovery_metrics) +
│ # AI (tier1, llama_wrapper, llama_wrapper_tier1) +
│ # support (blacklist, health_check, quality_scoring)
├── NewsLlama/ # Native macOS SwiftUI app (XcodeGen project)
├── tests/
│ ├── test_*.py # Root-level CLI tests (5 files: models, content_processor,
│ │ # duplicate_detector, security, integration)
│ ├── unit/ # Additional CLI/batch mode tests (4 files: llm_prompts,
│ │ # llm_summarizer_caching, main_tier1_integration, models)
│ ├── web/
│ ├── __init__.py
│ ├── web/unit/ # Web application tests (26 files + api/ subdir, 416 test functions; 528 total across all test directories)
│ ├── __init__.py
│ ├── conftest.py # Shared fixtures (in-memory SQLite for isolation)
│ ├── api/ # API v1 endpoint tests (4 files)
│ │ ├── __init__.py
│ │ ├── test_api_users.py
│ │ ├── test_api_interests.py
│ │ └── test_api_newsletters.py
│ ├── test_user_service.py
│ ├── test_interest_service.py
│ ├── test_newsletter_service.py
│ ├── test_generation_service.py # Newsletter generation orchestration
│ ├── test_scheduler_service.py
│ ├── test_llama_wrapper.py
│ ├── test_llama_wrapper_tier1.py
│ ├── test_autonomous_discovery_service.py
│ ├── test_direct_search_service.py
│ ├── test_list_mining_service.py
│ ├── test_discovery_metrics.py
│ ├── test_tier1_service.py
│ ├── test_blacklist_service.py
│ ├── test_quality_scoring.py
│ ├── test_health_check_service.py
│ ├── test_routes_profile.py # Profile creation/selection/deletion routes
│ ├── test_routes_calendar.py # Calendar view routes
│ ├── test_routes_settings.py # Profile settings routes
│ ├── test_routes_newsletter.py # Newsletter view/generate/retry routes
│ ├── test_routes_health.py # Health check routes
│ ├── test_error_handlers.py # Error handling (user-friendly messages)
│ ├── test_performance.py # Indexes, rate limiting, LRU caching
│ ├── test_ui_states.py # Empty/loading/error UI states
│ └── test_source_discovery_models.py
│ └── web/integration/ # Integration tests placeholder (contains only __init__.py; future use)
├── docs/ # Architecture, deployment, user guide
├── config/ # Configuration templates (config.example.yaml)
├── assets/ # Static assets (logo.png)
├── screenshots/ # Demo screenshots and GIFs
├── db/ # Alembic migration files
└── .env.example # Environment variables template
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 · 383 lines · 5,080 tokens per session scan A 84d1d8aa7e98
news-llama CLAUDE.md is an instructions file published in the GitHub repository slb350/news-llama (12 stars, last pushed 11d ago), licensed MIT. It adds 5,080 tokens to every session, about $0.0254 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-30.
Other instructions, from other repositories
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
codex AGENTS.md
AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
deepseek-harness AGENTS.md
AGENTS.md instructions for deepseek-ai/deepseek-harness, covering agents.md, pre-stable apis and released session data, repository layout, commands and host sandbox failures.