Install
$ agentstack add skill-press-pass-journalism-skills-add-ai-access-scrapers ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Call the get_ai_access_sources MCP tool to get all AI Access sources with more than 10 scrape items.
For each source returned, read its aiAccessInstructions and sourceClientKey to understand what data it accesses and how. Then:
- Read
backend/api/services/source/source_service.pyto see the currentperform_scrape_for_sourcefunction and its existing patterns (REDDIT, TWITTER, NYCOPENDATA, AI_ACCESS). - For each source, determine if you can replace the generic AI Access scraping with a dedicated client that fetches the data directly (e.g., via an API, RSS feed, or structured web request). Skip sources whose instructions describe access patterns that cannot be replicated without Claude (e.g., "search the web for..." or "navigate through a complex UI").
- For each source you can write a dedicated scraper for:
a. Create a new client module in backend/api/services/source/ that fetches the data. b. Create a new SourceAccessType choice in the backend and a migration. b. Add an elif branch in perform_scrape_for_source that checks source.source_access_type == SourceAccessType and calls your new client, creating ScrapeItem records from the response. c. Place the new branch before the generic elif source.source_access_type == SourceAccessType.AI_ACCESS branch so it takes priority.
- Create a git branch, commit the changes, and open a PR. In the PR description, list each source ID and what dedicated scraper was added for it.
If no sources can be converted to dedicated scrapers, report which sources were found and why they could not be converted.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: press-pass
- Source: press-pass/journalism-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.