anecdotes
Skill0 starsChanged 4 months agoMITView on GitHub
Collect anecdotal news evidence about a project's topic from Brazilian news outlets (or broader for non-Brazil projects) using the newsbr package. Discovers articles, fetches full text, appends to references/news/stories.csv, and writes a search audit log.
In this repository39 other files it gives its agents.
- backupSkill
- checkSkill
- cite-syncSkill
- dataSkill
- diariosSkill
- distill-styleSkill
- driveSkill
- dropboxSkill
- fetch-annotationsSkill
- findings-auditSkill
- findingsSkill
- gmailSkill
- handoffSkill
- howtoSkill
- hypothesisSkill
- iatSkill
- ideaSkill
- inboxSkill
- institutionsSkill
- literatureSkill
- llmkitSkill
- meetSkill
- memory-auditSkill
- new-pipelineSkill
- new-projectSkill
- nextSkill
- otterSkill
- outlookSkill
- questionsSkill
- referee-panelSkill
- siteSkill
- style-checkSkill
- style-reviewSkill
- style-reviseSkill
- tactiqSkill
- theorySkill
- validate-sectionSkill
- whatsappSkill
- zoomSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
When invoked, gather news/anecdotal evidence relevant to the current project's research topic and store it under references/news/ using the …
- Distinctive: line 27
Wait for confirmation unless the user said "go ahead" up front.
- Very specific: line 41
Always pass --context so the audit log captures who/why.
- Distinctive: line 86
If the project isn't Brazil-focused (rare in this workspace — check CLAUDE.md), the baseline outlet list still works for any English query …
- Distinctive: line 129
Show queries before running: Don't burn many requests on bad queries.
- Very specific: line 130
Use
--dry-runfirst: when running a new query against a slow outlet (globo's sitemap scan can take minutes).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/anecdotes — Collect news evidence for a project
When invoked, gather news/anecdotal evidence relevant to the current project's
research topic and store it under references/news/ using the canonical
newsbr layout.
What you do
- Read project context to figure out what to search for:
<project>/CLAUDE.md(current focus, key terms)<project>/docs/summary.md(research question)<project>/paper/main.texintroduction, if present<project>/README.md
- Decide if the project is Brazil-focused. Most projects in this workspace are. If non-Brazil, expand outlet selection accordingly (see "Non-Brazil mode" below).
- Propose 3–8 search queries covering different angles of the topic. Show them to the user before running. Briefly explain why each query. Wait for confirmation unless the user said "go ahead" up front.
Run newsbr collect for each approved query, against the relevant outlets:
python3 -m newsbr collect \ --project <project_root> \ --query "<query>" \ --outlets migalhas,folha,estadao,jota \ --max-pages 1 \ --context "/anecdotes for <project>"Always pass
--contextso the audit log captures who/why.- Report back what was added: number of new articles per outlet,
total added, and the path to
search_log.md. If you saw notable articles, mention 2–3 by title. - Update
docs/notes/anecdotes.md(create if missing) with a brief one-line entry per session listing the queries run and how many articles were collected. This is a human-curated complement to the machine-readable search_log.md. Do not duplicate the article list.
Outlet selection guide
| Outlet | Strength | Notes |
migalhas | Legal news, free, native search | Default for legal/judicial topics |
folha | National news, paywalled | Requires Chrome login; native search |
estadao | National news, JS paywall (text in HTML) | RSS-only search — only finds articles in the live feed, not archives. Low yield. |
jota | Legal/policy journalism, paywalled (PRO) | Sitemap scan (monthly XMLs at sitemap.jota.info). Free articles extracted via __NEXT_DATA__ JSON; PRO articles need Chrome cookies (rookiepy). High signal for legal/tax/judicial topics. Use --max-pages N to scan N years back. |
globo | National news, paywalled | Sitemap scan, requires Chrome login |
conjur | Legal news, free | fetch-only (Cloudflare blocks search). Use newsbr fetch --file references/news/curated_*.txt for hand-collected URLs |
piaui | Long-form investigative | Sitemap scan, requires Playwright + Chrome login |
For most legal/judicial projects start with migalhas,folha,jota —
fast and high signal. Add globo for political/economic topics.
JOTA is especially strong for tax, judicial reform, and STJ/STF coverage.
Estadão's RSS-only search has returned 0 hits on all queries to date —
consider dropping it from the default list until a proper search is added.
Storage layout
newsbr writes everything under <project>/references/news/:
stories.csv date,outlet,title,url,theme,summary,paywalled
texts/NNN.txt full article body, 1-indexed zero-padded
search_log.md audit trail (newsbr appends to this)
curated_*.txt hand-curated URL lists for fetch-only outletsThemes are left blank by newsbr — fill them in later by hand or via project-specific classification.
Non-Brazil mode
If the project isn't Brazil-focused (rare in this workspace — check CLAUDE.md), the baseline outlet list still works for any English query that has Portuguese coverage, but you should also:
- Tell the user newsbr is Brazil-biased and ask for fallback outlets.
- Skip Brazilian-only outlets (
migalhas,conjur,piaui). - Suggest the user use Web Search for non-Brazil sources, then pass
discovered URLs to
newsbr fetch --file urls.txt.
Adding new outlets
Outlet modules live in packages/newsbr/newsbr/outlets/. To add one,
create <name>.py exposing NAME, DOMAIN, STATUS, SEARCH,
search(), and fetch(). Then add the short name to OUTLET_NAMES
in outlets/__init__.py.
Common commands
# Discover and fetch in one shot
python3 -m newsbr collect --project <root> --query "..."
# Preview without fetching
python3 -m newsbr collect --project <root> --query "..." --dry-run
# Restrict to specific outlets
python3 -m newsbr collect --project <root> --query "..." --outlets migalhas,folha
# Fetch URLs directly (e.g. from a curated list)
python3 -m newsbr fetch --project <root> --file curated.txt
python3 -m newsbr fetch --project <root> --url https://...
# Re-fetch missing texts/NNN.txt files for existing CSV rows
python3 -m newsbr refetch-texts --project <root>
# Show all outlets and their status
python3 -m newsbr outletsImportant rules
- Never delete or rewrite existing rows in
stories.csv. Always append. - Always pass
--contextso the audit trail is interpretable later. - Show queries before running. Don't burn many requests on bad queries.
- Use
--dry-runfirst when running a new query against a slow outlet (globo's sitemap scan can take minutes). - The search log is the audit trail. It's how reviewers will see how evidence was gathered. Treat it as part of the paper's methodology.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

