Skip to main content

AI Tech News skill

This is the skill behind my weekly AI & Tech News section. It does a deep sweep of the past seven days in AI and tech, verifies every claim against a primary source, and writes a single weekly edition — with a South African lens — that I then post to the blog.

The whole point is traceability: every story has clickable inline links to the original announcement or article, so I can read the source myself before I form an opinion and talk about it.

⬇ Download the skill (.zip)

It's packaged in the standard Claude Agent Skill format — a folder with a SKILL.md plus bundled references/ and assets/. Unzip it into your skills directory, or copy the contents below into your own AI tool and adapt the sources and regional lens to suit you.

note

This skill evolves over time. The version below is always the live contents of the package.

Package contents

ai-tech-news/
├── SKILL.md
├── references/
│ ├── sources.md
│ └── verification.md
└── assets/
└── post-template.md

SKILL.md

ai-tech-news/SKILL.md
---
name: ai-tech-news
description: Research the week's biggest AI and tech stories deeply, verify every claim against primary sources, and write a thorough briefing blog post. Use this whenever the user asks for a tech news roundup, weekly AI catch-up, "what's lighting up the world in tech", a new blog post for the news section, or any phrase that maps to "summarise this week in AI/tech for me to talk about". Trigger even if the user doesn't explicitly say "blog" — the goal is always a publishable, source-rich edition the reader can use to form their own opinion and speak to others.
allowed-tools: WebSearch, WebFetch, Read, Write, Edit, Bash
---

# AI Tech News

Produce a deep, source-rich weekly briefing on AI and global tech, written for
a Docusaurus blog. The point is not just a summary — the reader will *talk
about this to other people*, so they need to be able to click into every
claim and read the original themselves before forming their own view.
**Every story must be traceable back to at least one primary source via an
inline link.** If you can't link it, don't include it.

## Operating principle

You are doing journalism, not aggregation. A good edition has:

- Stories that actually matter this week (not last month rewarmed).
- A clear "why this matters" frame so Jason can hold a conversation about it.
- A South Africa / Africa angle on the big ones (his audience is SA-centred).
- Working, verified links — every single one.

If you find yourself padding because there aren't enough verifiable stories,
**publish a shorter edition**. Quality of sourcing beats word count.

## Workflow

Follow this sequence. Do not skip the verification step — it is the whole point
of the skill.

### 1. Discover (broad sweep, past 7 days)

Run several `WebSearch` queries to cast a wide net. Vary the angle so you don't
miss whole categories:

- Frontier model releases and lab announcements (Anthropic, OpenAI, Google
DeepMind, Meta, xAI, Mistral, DeepSeek, Qwen, etc.)
- Agentic AI, coding agents, browser agents, robotics
- AI infrastructure (chips, datacentres, energy, GPU supply)
- AI safety, evals, incidents, jailbreaks, vulnerabilities
- AI policy and regulation (EU AI Act, US executive orders, UK, China, **South
Africa / African Union**)
- Major tech product launches outside AI (Apple, Microsoft, Meta hardware,
consumer tech)
- Cybersecurity incidents touching the AI/agent stack
- South Africa / Africa: local launches, MTN, Vodacom, Naspers, Standard Bank
AI, university research, load-shedding-and-AI, fintech

Use date qualifiers in queries (`"past week"`, the actual date range, or
`after:YYYY-MM-DD`). Today's date is in your context — convert relative dates
before searching.

For full lists of recommended sources by tier, read `references/sources.md`.

### 2. Triage

From the discovery sweep, pick the **6–10 strongest candidates**. A story is
strong if at least one of these is true:

- Frontier lab made a verifiable announcement (model, paper, pricing, policy).
- A primary document exists (filing, blog post, court doc, vendor changelog).
- A reputable outlet has independent reporting (Reuters, Bloomberg, FT, WSJ,
The Information, Ars Technica, MIT Tech Review, etc.).
- A real-world consequence already happened (outage, fine, layoff, deal).

Drop:

- Twitter/X rumours without confirmation.
- "AI predicts X" filler.
- Vendor marketing dressed as news.
- Anything older than 7 days unless this week added a real update.

### 3. Verify every claim

For each candidate, **fetch the primary source with `WebFetch`** before writing
about it. Do not trust the search snippet — snippets often summarise wrongly
and dates can be misleading.

When you fetch, capture:

- Exact title of the primary source.
- Canonical URL (not a tracker / Google AMP URL).
- Date of the announcement or article.
- One direct quote or specific number you can stand behind.

If a candidate has only one questionable source, try one more search to find a
second. If you still can't get a primary-source link, **drop the story
silently** — do not flag "unverified" in the post; just leave it out.

For the full verification checklist, read `references/verification.md`.

### 4. Add the South Africa / Africa lens

For each of the 4–6 biggest stories, write two short blocks:

- **Why it matters globally** — one or two sentences on the universal stakes.
- **South Africa / Africa relevance** — a concrete local hook: how it affects
SA businesses, developers, government, students, or infrastructure (Eskom,
loadshedding, ZAR cost, skills, regulation, data sovereignty).

If a story genuinely has no SA angle, say so honestly in one line rather than
inventing one.

### 5. Write the post

Read `assets/post-template.md` and fill it in. Key structural rules:

- **Inline citations everywhere.** First time a fact appears, link the source:
`Anthropic released [Claude Opus 4.8](https://anthropic.com/news/...)`.
Aim for 2–4 inline links per major story.
- **Key Links section at the end** that groups all primary sources by story so
Jason can scan them as a reading list.
- **No undated claims.** If a launch happened, say which day or week.
- **Specific numbers.** Funding amounts, model versions, benchmark scores,
token prices. Vagueness is the enemy of conversation.
- **Plain English.** Jason will read this aloud to friends, podcast listeners,
and family. Define jargon in one clause the first time it appears
("agentic AI — systems that take ongoing actions on your behalf").

### 6. Save the file

Write to:

```
apps/website/blog/YYYY-MM-DD-ai-tech-news.md
```

This matches the existing series (see `apps/website/blog/README.md`). Use
today's date (already in your context). **Never overwrite an existing
edition** — if a file for today exists, append `-v2` to the slug and ask the
user whether they want to replace the original.

After writing, run a quick sanity check with `Bash`:

```bash
ls -la apps/website/blog/YYYY-MM-DD-ai-tech-news.md
```

Then tell the user the path, and offer to `cd apps/website && bun run start`
so they can preview it.

## Output format

The post **must** match this skeleton (the template fills it in fully):

```markdown
---
title: "Tech & AI News — D Month YYYY"
authors: [jason]
tags: [ai, tech, south-africa]
---

<2–3 sentence hook covering the dominant story and why it matters>

<!-- truncate -->

## This week in one line

<1 sentence>

## The big stories

### <Story 1 title>
<Paragraph with inline [source](url) links to primary materials.>

**Why it matters globally:** <one or two sentences>

**South Africa / Africa relevance:** <concrete local hook>

### <Story 2 title>
...

## Broader tech highlights

- <Bullet with inline [link](url)> — <one-line so-what>
- ...

## South Africa & Africa angle

- <Local-only items: policy, funding, events, launches, with links>

## Skills & learning corner

1. <Free course or tool to try this week, with link>
2. ...

## Key links

**<Story 1 title>**
- [Primary source — outlet, YYYY-MM-DD](url)
- [Secondary source — outlet, YYYY-MM-DD](url)

**<Story 2 title>**
- ...

---

_Researched and verified on D Month YYYY. Every link was opened and checked._
```

## Rules (the non-negotiables)

These are the rules that make the skill worth using. If you break them, the
post fails Jason's actual use case (forming his own opinion before sharing it).

1. **No claim without a clickable source.** If you can't link it, cut it.
2. **No invented sources or fake URLs.** Ever. If you're not 100% sure the
link exists and resolves, fetch it again.
3. **Drop unverifiable stories silently.** Don't pad with "rumoured" items.
4. **Don't reuse last week's stories** unless something genuinely new happened
this week — and then say what's new.
5. **Distinguish primary from secondary sources** in the Key Links block.
6. **Date everything.** Vague "recently" is not allowed.
7. **Plain English over hype.** Cut "revolutionary", "game-changing",
"groundbreaking" unless quoting someone.

## Style

- Direct, declarative sentences. Active voice.
- Numbers > adjectives ("$13B raise" beats "huge raise").
- One idea per paragraph; short paragraphs are good.
- Tone: smart friend explaining the week over coffee, not press release.

## If the user gives you constraints

Common variations they may ask for:

- "Just the AI stories" — drop Broader tech highlights, keep depth on AI.
- "Make it longer / shorter" — adjust number of big stories (3–10 range).
- "Focus on <topic>" — bias the discovery sweep toward that topic, but still
apply all verification rules.
- "Don't post it yet, just draft" — write to a scratch file in `aidocs/`
instead of `apps/website/blog/`. Per CLAUDE.md, temporary reports live there.

## Bundled resources

- `references/sources.md` — curated source list, by tier and by topic.
- `references/verification.md` — the verification checklist and red flags.
- `assets/post-template.md` — the fillable Markdown template.

references/sources.md

ai-tech-news/references/sources.md
# Sources for the weekly tech news briefing

These are the source pools to draw from. They're grouped by **tier** (how
much weight a link from this source carries) and by **topic**. The point is
not to cite all of them every week — it's so you know what to search and
which links to prefer when you have a choice.

## Tier 1 — Primary sources (prefer these for inline citations)

Anything the company / government / researcher said themselves. These are the
highest-trust links and should make up the bulk of inline citations.

- **Frontier AI labs**
- anthropic.com/news
- openai.com/blog and openai.com/research
- deepmind.google/discover/blog
- blog.google (AI, Search, Cloud sections)
- ai.meta.com/blog
- x.ai (xAI announcements)
- mistral.ai/news
- qwen.ai and qwenlm.github.io
- deepseek.com
- **Papers and benchmarks**
- arxiv.org (cs.AI, cs.CL, cs.LG)
- lmarena.ai (Chatbot Arena leaderboard)
- huggingface.co (model and dataset cards)
- paperswithcode.com
- **Big Tech product blogs**
- microsoft.com/en-us/ai, devblogs.microsoft.com
- aws.amazon.com/blogs/aws and aws.amazon.com/blogs/machine-learning
- cloud.google.com/blog
- apple.com/newsroom
- about.fb.com/news
- **Government / regulator primary docs**
- eur-lex.europa.eu (EU AI Act, DSA, DMA)
- whitehouse.gov, ftc.gov, sec.gov filings
- gov.uk (AI Safety Institute, DSIT)
- gov.za (Department of Communications & Digital Technologies)
- au.int (African Union, for continental AI strategy)

## Tier 2 — Reputable independent reporting

Use these when you need context, analysis, or a story that hasn't been
announced primarily.

- Reuters, Bloomberg, Financial Times, Wall Street Journal
- The Information (often breaks frontier-lab stories)
- Ars Technica (especially the AI desk)
- MIT Technology Review
- Wired
- The Verge
- TechCrunch (for funding / launch news; cross-check with primaries)
- 404 Media (for AI ethics / labour / scraping stories)
- Platformer (Casey Newton)
- Stratechery (Ben Thompson)
- Semafor Tech

## Tier 3 — Specialist newsletters and trackers

Useful for topic-specific depth.

- Import AI (Jack Clark) — weekly AI policy / research roundup
- AI Snake Oil (Arvind Narayanan, Sayash Kapoor) — sceptical takes
- One Useful Thing (Ethan Mollick) — applied AI
- Latent Space — engineering / agents
- The Pragmatic Engineer — software industry
- Last Week in AI

## South Africa & Africa sources

This is where the local lens comes from. Search these explicitly each week.

- **News / business**
- businesstech.co.za
- techcentral.co.za
- mybroadband.co.za
- dailymaverick.co.za (tech and policy desks)
- news24.com (tech section)
- moneyweb.co.za
- bizcommunity.com (tech)
- itweb.co.za
- **Continental**
- rest.org (Rest of World — global tech outside US/EU)
- africa.businessinsider.com
- africanews.com
- semafor.com/africa
- disrupt-africa.com
- techcabal.com (Nigerian-led, pan-African)
- **Government / policy**
- gov.za announcements
- South African Reserve Bank publications
- African Union digital strategy documents
- South African Government Gazette (for new regs)
- **Local AI / data communities**
- zindi.africa (African data science competitions)
- lelapa.ai
- University announcements: Wits, UCT, Stellenbosch, UP CS / AI labs

## Topic-specific shortcuts

| Topic | Where to look first |
|---|---|
| Frontier model release | The lab's own blog + model card on Hugging Face |
| Funding round | Crunchbase + the company's announcement + Bloomberg/FT |
| Regulation | The regulator's site directly, then Reuters for context |
| Security incident | CVE database + vendor advisory + Ars Technica |
| Chip / hardware | Nvidia, AMD, TSMC investor relations + The Information |
| Energy / datacentres | Bloomberg Green + DOE filings |
| Open source AI | Hugging Face blog + GitHub release notes |
| SA policy | gov.za + Daily Maverick + ITWeb |

## Search query patterns that work

When you `WebSearch`, structured queries beat vague ones. Examples:

- `Anthropic announcement <this week's date range>`
- `"AI safety institute" UK OR US report this week`
- `South Africa AI policy <month YYYY>`
- `site:anthropic.com/news <topic>`
- `Claude OR GPT OR Gemini benchmark this week`
- `"model card" released past 7 days <topic>`

Always include a date qualifier. Models love to surface old news otherwise.

references/verification.md

ai-tech-news/references/verification.md
# Verification checklist

The point of this skill is that Jason can click through every link and read
the original before he forms his own opinion. That only works if every link
actually leads somewhere real, on the right date, saying what the post claims
it says. This file is the checklist for getting that right.

## Per-claim checklist

Before a claim ships in the post, all of these must be true:

- [ ] You opened the source with `WebFetch` (not just `WebSearch`).
- [ ] The URL is the canonical link (not a Google AMP, Bing cache, Yahoo
news redirect, or tracker URL like `news.google.com/...`).
- [ ] The publication date is within the past 7 days (or there's a fresh
update this week to an older story).
- [ ] The claim in your post matches what the source actually says — no
paraphrased numbers that aren't there, no extrapolated "could mean".
- [ ] If you cite a number (funding, valuation, benchmark, percentage), the
number appears verbatim in the source.
- [ ] Any direct quote is copied exactly, with the speaker's name attached.

If any box can't be ticked, either fix it (find a better source, change the
wording) or drop the claim.

## What counts as a primary source

In rough order of preference:

1. The company / agency / researcher's own post or paper.
2. A regulator's published document (gazette, ruling, filing).
3. A press release issued by the named party.
4. A reputable outlet's own reporting that cites primary docs.

Aggregators that just repeat a press release are not primary. Use them only
if they add original reporting (a quote from an executive, a new number, a
counter-source).

## Red flags

If you see any of these, treat the candidate as not-yet-verified:

- "Reportedly", "rumoured", "sources say" with no named outlet.
- Numbers that change between versions of the same article.
- A story that only appears on one outlet 72+ hours after the event.
- A URL that includes `utm_`, `?ref=`, `gclid`, or a redirect chain.
- A "leaked" model or paper without a clear chain of custody.
- AI-generated content farms (telltales: no byline, no date, generic stock
imagery, low-quality grammar, dozens of similar posts the same day).
- A press release dressed as news with no independent confirmation.

## URL hygiene

When you put a link in the post, clean it first:

- Strip query parameters used for tracking (`utm_*`, `fbclid`, `gclid`).
- Resolve redirects to the final URL.
- Prefer `https://` over `http://`.
- For announcements with both a blog post and a paper, link both — the post
for context, the paper for proof.

## Cross-check protocol

For the top 2–3 stories of the week, get **two independent sources**:

- Source A: the primary (company / regulator / paper).
- Source B: an independent outlet that reports the same facts.

If A and B disagree on a material number, dig until you know which is right.
If you can't resolve it, say so in the post ("Reuters and Bloomberg differ
on the exact valuation; the company's own filing puts it at $X").

## When to drop a story

Drop silently — don't mention what you cut — if:

- You can find only one source and it isn't primary.
- The "news" is actually older than 7 days repackaged.
- Numbers don't match across sources and you can't tell why.
- It's a vendor blog post about their own product with no independent
signal that anyone cares.
- It's a prediction or vibe piece with no concrete event behind it.

It is *always* better to ship 5 well-sourced stories than 8 with one bad
link in the bunch. One bad link kills the trust of the whole post.

## Final pass before saving

Once the draft is written, do one more sweep:

1. Count the inline links. Are there at least 2 per major story?
2. Open 2–3 links at random with `WebFetch` and confirm they still resolve.
3. Read the Key Links section against the inline citations — every primary
source cited inline should also appear in Key Links, grouped by story.
4. Check the date in the title, the date in the footer, and today's date all
match.
5. Verify the file name follows `YYYY-MM-DD-ai-tech-news.md` (matches the
existing series; see `apps/website/blog/README.md`).

If all five pass, save the file and tell the user the path.

assets/post-template.md

ai-tech-news/assets/post-template.md
---
title: "Tech & AI News — {{D Month YYYY}}"
authors: [jason]
tags: [ai, tech, south-africa]
---

{{2–3 sentence hook. Lead with the single dominant story of the week and one
specific consequence. End with a half-line that earns the click — what Jason
gets out of reading this. Keep it tight; this is the excerpt on the archive.}}

<!-- truncate -->

## This week in one line

{{Single sentence that captures the week. Sets the frame for everything
below. Example: "Frontier labs raced on agents while regulators raced on
guardrails — and the agent stack itself sprung a leak."}}

## The big stories

### {{Story 1 — concrete, specific title (not "AI keeps growing")}}

{{Paragraph with the news. Inline [primary source](https://...) links the
first time each fact appears. At least 2 inline links per story. Use real
numbers and dates. No filler adjectives.}}

**Why it matters globally:** {{One or two sentences. What changes in the
world because this happened?}}

**South Africa / Africa relevance:** {{One concrete local hook — a sector,
a regulator, a skills implication, an infrastructure constraint. If there
is honestly none, say so in one line: "No direct SA hook this week, but
watch this if X."}}

### {{Story 2}}

{{Same structure as Story 1.}}

**Why it matters globally:**

**South Africa / Africa relevance:**

### {{Story 3}}

{{...}}

**Why it matters globally:**

**South Africa / Africa relevance:**

### {{Story 4 — optional, up to 6 total}}

{{...}}

**Why it matters globally:**

**South Africa / Africa relevance:**

## Broader tech highlights

- **{{Topic}}** — {{One-line summary with inline [link](https://...) to the
primary source. End with a so-what clause.}}
- **{{Topic}}** — {{...}}
- **{{Topic}}** — {{...}}
- **{{Topic}}** — {{...}}

## South Africa & Africa angle

{{Local-only items: SA policy moves, African Union announcements, local
funding rounds, conference dates, university launches, regulator actions.
Each line gets an inline [link](https://...) to the source.}}

- **{{Item}}** — {{...}}
- **{{Item}}** — {{...}}
- **{{Item}}** — {{...}}

## Skills & learning corner

{{3–5 concrete, free things Jason or his audience can do this week.
Courses, tools to try, communities to join. Each gets a link.}}

1. **{{Resource}}**[{{outlet}}]({{url}}). {{Why it's useful in one line.}}
2. **{{Resource}}**[{{outlet}}]({{url}}). {{...}}
3. **{{Resource}}**[{{outlet}}]({{url}}). {{...}}

## Key links

{{Group every cited source by story, primary first. This is the reading
list Jason will use to form his own opinion before he talks about any of
this. If a link appeared inline, it must also appear here.}}

**{{Story 1 title}}**
- [Primary — {{outlet, YYYY-MM-DD}}]({{url}})
- [Independent reporting — {{outlet, YYYY-MM-DD}}]({{url}})

**{{Story 2 title}}**
- [Primary — {{outlet, YYYY-MM-DD}}]({{url}})
- [Independent reporting — {{outlet, YYYY-MM-DD}}]({{url}})

**{{Story 3 title}}**
- [Primary — {{outlet, YYYY-MM-DD}}]({{url}})

**Broader tech**
- [{{outlet, YYYY-MM-DD}}]({{url}})
- [{{outlet, YYYY-MM-DD}}]({{url}})

**South Africa & Africa**
- [{{outlet, YYYY-MM-DD}}]({{url}})
- [{{outlet, YYYY-MM-DD}}]({{url}})

---

_Researched and verified on {{D Month YYYY}}. Every link was opened and
checked._