Skip to content

ThingsAI-io/aictuality

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIctuality

Automated weekly news digest — fetches articles, filters out opinions and speculation, keeps only tangible events.

A GitHub Actions workflow runs every Monday: Python scripts pull articles from Google News via SerpAPI, then a Copilot CLI agent applies the filter-actual-news skill to separate signal from noise and publish a digest as a GitHub Discussion.

Core question

"Did something happen, or is someone just talking?"

If nobody actually did anything, it's not news. Laws voted, companies restructured, courts ruled — those stay. Op-eds, predictions, "X calls for Y" — those get cut.


How It Works

SerpAPI (Google News) → `/tmp/news/news.json` → Copilot Agent → output.json → GitHub Discussion
  1. Fetchrun_queries.py reads conf/queries.yml and runs each query against Google News via SerpAPI. Deduplicates and saves results to /tmp/news/.
  2. Filter — The Copilot CLI agent loads the skill (skills/filter-actual-news/SKILL.md) and per-topic include/exclude rules from queries.yml. Articles that don't describe a concrete event are dropped. Default: exclude.
  3. Rank — Surviving articles are deduplicated (same event, multiple outlets → keep the best source), then tiered: High / Medium / Low.
  4. Publish — The agent writes output.json. The workflow creates a GitHub Discussion with the formatted digest.

Setup

Prerequisites

  • A GitHub repository (public or private)
  • A SerpAPI account (free tier: 250 searches/month)
  • GitHub Copilot access (for the Copilot CLI agent step)

1. Get a SerpAPI key

  1. Sign up at serpapi.com
  2. Go to Dashboard → API Key and copy your key

2. Create a GitHub Personal Access Token

The Copilot CLI agent authenticates via the COPILOT_GITHUB_TOKEN environment variable. Follow the Copilot CLI authentication docs:

  1. Go to Fine-grained personal access tokens
  2. Under Permissions, click Add permissions and select Copilot Requests
  3. Click Generate token
  4. Copy the token

3. Create a Discussions token (optional)

The workflow publishes digests as GitHub Discussions. This requires a separate token with Discussions write access. If not set, the workflow runs normally but skips publishing.

  1. Go to Fine-grained personal access tokens
  2. Set Repository access to your AIctuality repo
  3. Under Repository permissions, set Discussions → Read and write
  4. Click Generate token
  5. Copy the token

4. Add repository secrets

Go to your repo → Settings → Secrets and variables → Actions → New repository secret:

Secret Value Required
SERPAPI_KEY Your SerpAPI API key Yes
COPILOT_GITHUB_TOKEN The Copilot token from step 2 Yes
DISCUSSIONS_WRITE_TOKEN The Discussions token from step 3 No

5. Enable Discussions

The workflow publishes digests as GitHub Discussions:

  1. Go to Settings → General → Features
  2. Check Discussions
  3. Make sure a "General" category exists (it's created by default)

6. Run it

The workflow runs automatically every Monday at 7 AM PST. To trigger it manually:

  1. Go to Actions → Weekly News Monitor → Run workflow
  2. Check the job summary for the digest, or look in Discussions

Customizing Topics

Edit conf/queries.yml to add, remove, or tweak topics. Each entry has:

- id: my-topic
  query: "search terms here"
  description: "What this topic tracks"
  num: 30          # articles per query
  gl: "us"         # country
  hl: "en"         # language
  filters:
    include:
      - Concrete events you want to keep
    exclude:
      - Noise patterns you want to drop

The skill reads these filters at runtime — no code changes needed.

About

Getting actual news by letting AI cut through the noise

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages