Tavily Web Search
allenpeng0705/EnvoyMesh
Searches the web through the Tavily API with LLM-friendly output: clean structured results, optional AI-written answers, domain filters, news mode, images and raw content.
Checks RSS and Atom feeds for new posts with Python's feedparser: reading one feed, combining several, filtering by keyword, finding a site's feed URL and saving results.
$ npx skills add taracodlabs/aiden --skill blogwatcher -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install taracodlabs/aiden blogwatcher --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/taracodlabs/aiden.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/blogwatcher .claude/skills/blogwatcher && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "blogwatcher" agent skill from https://github.com/taracodlabs/aiden/tree/main/skills/blogwatcher into .claude/skills/blogwatcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blogwatcher", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/taracodlabs/aiden/tree/main/skills/blogwatcherType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add taracodlabs/aiden --skill blogwatcher -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install taracodlabs/aiden blogwatcher --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/taracodlabs/aiden.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/blogwatcher .agents/skills/blogwatcher && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "blogwatcher" agent skill from https://github.com/taracodlabs/aiden/tree/main/skills/blogwatcher into .agents/skills/blogwatcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blogwatcher", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add taracodlabs/aiden --skill blogwatcher -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install taracodlabs/aiden blogwatcher --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/taracodlabs/aiden.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/blogwatcher .cursor/skills/blogwatcher && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "blogwatcher" agent skill from https://github.com/taracodlabs/aiden/tree/main/skills/blogwatcher into .cursor/skills/blogwatcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blogwatcher", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/taracodlabs/aiden.git --path skills/blogwatcher--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add taracodlabs/aiden --skill blogwatcher -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install taracodlabs/aiden blogwatcher --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/taracodlabs/aiden.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/blogwatcher .gemini/skills/blogwatcher && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "blogwatcher" agent skill from https://github.com/taracodlabs/aiden/tree/main/skills/blogwatcher into .gemini/skills/blogwatcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blogwatcher", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install taracodlabs/aiden blogwatcherInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add taracodlabs/aiden --skill blogwatcher -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/taracodlabs/aiden.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/blogwatcher .github/skills/blogwatcher && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "blogwatcher" agent skill from https://github.com/taracodlabs/aiden/tree/main/skills/blogwatcher into .github/skills/blogwatcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blogwatcher", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add taracodlabs/aiden --skill blogwatcher -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install taracodlabs/aiden blogwatcher --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/taracodlabs/aiden.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/blogwatcher .opencode/skills/blogwatcher && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "blogwatcher" agent skill from https://github.com/taracodlabs/aiden/tree/main/skills/blogwatcher into .opencode/skills/blogwatcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blogwatcher", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
blogwatcherChecks RSS and Atom feeds for new posts with Python's feedparser: reading one feed, combining several, filtering by keyword, finding a site's feed URL and saving results.
This skill gives the agent a set of feedparser recipes for tracking blogs, news sites and podcasts. After installing the library with pip, it can read one feed, loop over a list of feeds, filter entries by a keyword, discover a site's feed address from common URL patterns and page parsing, and save the latest posts to a JSON file. Most feeds need no API key.
The cautions in the file are practical: some sites answer feed requests with 403 errors, feedparser handles RSS 2.0, RSS 1.0 and Atom alike, publication date formats differ between feeds and should not be assumed, and very active feeds should be sliced to a limited number of entries. A skill.json file ships alongside. Worked examples include pulling the latest Hacker News posts and filtering several AI blogs for posts about agents.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3704204. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
news.ycombinator.comsimonwillison.netfeeds.feedburner.comblog.openai.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Blog and Feed Watcher loads about 1.1k tokens when it runs. Until then it costs about 18 tokens; SKILL.md has 264 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from taracodlabs/aiden at commit 3704204, republished under its Apache-2.0 licence (© taracodlabs). 264 words, ~1,067 tokens.
.claude/skills/blogwatcher/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Monitor RSS and Atom feeds from blogs, news sites, and podcasts to track new posts. Uses the feedparser Python library — no API keys required for most feeds.
pip install feedparserimport feedparser
from datetime import datetime
feed = feedparser.parse("https://news.ycombinator.com/rss")
print(f"Feed: {feed.feed.title}")
print(f"Posts: {len(feed.entries)}\n")
for entry in feed.entries[:5]:
title = entry.get("title", "No title")
link = entry.get("link", "")
date = entry.get("published", "Unknown date")
print(f"• {title}\n {link}\n {date}\n")import feedparser, time
FEEDS = [
"https://feeds.feedburner.com/oreilly/radar",
"https://blog.openai.com/rss/",
"https://news.ycombinator.com/rss",
"https://simonwillison.net/atom/everything/",
]
def fetch_all(feeds, max_per_feed=5):
results = []
for url in feeds:
feed = feedparser.parse(url)
for entry in feed.entries[:max_per_feed]:
results.append({
"source": feed.feed.get("title", url),
"title": entry.get("title", ""),
"link": entry.get("link", ""),
"published": entry.get("published", ""),
})
return sorted(results, key=lambda x: x["published"], reverse=True)
for item in fetch_all(FEEDS):
print(f"[{item['source']}] {item['title']}\n {item['link']}")import feedparser
def search_feed(url, keyword):
feed = feedparser.parse(url)
keyword = keyword.lower()
matches = [
e for e in feed.entries
if keyword in e.get("title","").lower() or keyword in e.get("summary","").lower()
]
for e in matches:
print(f"• {e.title}\n {e.link}\n")
search_feed("https://news.ycombinator.com/rss", "llm")Common RSS URL patterns:
https://site.com/feed
https://site.com/rss
https://site.com/feed.xml
https://site.com/atom.xml
https://site.com/blog/feedimport feedparser, requests
from bs4 import BeautifulSoup # pip install beautifulsoup4
def find_feed(site_url):
resp = requests.get(site_url, timeout=10, headers={"User-Agent": "Mozilla/5.0"})
soup = BeautifulSoup(resp.text, "html.parser")
for tag in soup.find_all("link", type=lambda t: t and "rss" in t or "atom" in t):
print(tag.get("href"))
find_feed("https://simonwillison.net")import feedparser, json
feed = feedparser.parse("https://news.ycombinator.com/rss")
posts = [{"title": e.title, "link": e.link, "date": e.get("published","")} for e in feed.entries[:20]]
with open("hn_feed.json", "w") as f:
json.dump(posts, f, indent=2)
print(f"Saved {len(posts)} posts to hn_feed.json")"What are the latest posts from Hacker News?"
→ Use step 2 with https://news.ycombinator.com/rss.
"Monitor these 4 AI blogs and show me posts about agents from the last week"
→ Use step 3 to fetch all, then step 4 logic to filter for agent keyword.
"Does this blog have an RSS feed? If so, get the latest 5 posts" → Use step 5 to discover the feed URL, then step 2 to fetch posts.
User-Agent header if getting 403 errorsentry.published format varies by feed — some use RFC 2822, others ISO 8601; don't assume a format[:n]) to limit output© taracodlabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/blogwatcher of taracodlabs/aiden.
Open the folder on GitHubat commit 3704204
Blog and Feed Watcher next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Blog and Feed Watcher this skilltaracodlabs/aiden | 851 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Tavily Web Searchallenpeng0705/EnvoyMesh | 3.1k | 3 repos | ~2.5k | Automated safety check: Notes | None | |
| MoviePilot Downloader Operationjxxghp/MoviePilot | 12k | — | ~4.4k | Automated safety check: Pass | GPL-3.0 | |
| Skyvern Browser AutomationSkyvern-AI/skyvern | 23k | — | ~1.9k | Automated safety check: Pass | AGPL-3.0 | |
| Robocorp Automationrobocorp/robocorp | 653 | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Native Python in n8n Code Nodesczlonkowski/n8n-skills | 6.4k | — | ~2.8k | Automated safety check: Pass | MIT |
allenpeng0705/EnvoyMesh
Searches the web through the Tavily API with LLM-friendly output: clean structured results, optional AI-written answers, domain filters, news mode, images and raw content.
jxxghp/MoviePilot
Inspects, diagnoses and directly controls qBittorrent, Transmission or rTorrent downloaders configured in MoviePilot through a bundled Python helper.
Skyvern-AI/skyvern
Automates websites with Skyvern's AI browser agent to fill forms, extract data, download files, log in and run multi-step workflows through SDKs, REST, MCP or a CLI.
robocorp/robocorp
Bootstrap from an empty folder or build, debug, locally run, and validate Python automations built with Robocorp or Sema4.ai tooling, robocorp.tasks, rcc, robocorp-browser, and RPA Framework.
czlonkowski/n8n-skills
Explains how to write native Python in n8n Code nodes, including the two input variables, blocked imports and fixes for common errors.
czlonkowski/n8n-skills
Explains the n8n Custom Code Tool's actual runtime contract so an AI-agent-callable tool doesn't get written like a regular workflow Code node.
taracodlabs/aiden
Searches Google Flights for prices, schedules and availability through browser automation with URL-based queries, and stops short of booking.
taracodlabs/aiden
Delegates code generation, editing and explanation tasks to the OpenAI Codex CLI, with commands for interactive, auto-edit, question-only and model-specific runs.
taracodlabs/aiden
Searches Google Hotels through the agent-browser tool for prices, ratings, amenities and availability, building a search URL from the location and dates and reporting a results table.
taracodlabs/aiden
Generates dark-themed architecture, component, data-flow and network diagrams as self-contained HTML and SVG files that open in any browser.
taracodlabs/aiden
Aggregates holdings across Zerodha, Upstox and Angel One and normalizes order parameters into one format, with confirmation required before any routing.
taracodlabs/aiden
Searches arXiv by keyword, category, author or paper ID through its public API and downloads PDFs, with no API key needed.
Works with
Checks RSS and Atom feeds for new posts with Python's feedparser: reading one feed, combining several, filtering by keyword, finding a site's feed URL and saving results. This skill gives the agent a set of feedparser recipes for tracking blogs, news sites and podcasts. After installing the library with pip, it can read one feed, loop over a list of feeds, filter entries by a keyword, discover a site's feed address from common URL patterns and page parsing, and save the latest posts to a JSON file.
Blog and Feed Watcher fits situations like: checking a blog or news site for its newest posts; aggregating headlines from several feeds into one list; finding the RSS feed URL for a site and fetching its latest entries.
Run `npx skills add taracodlabs/aiden --skill blogwatcher -a claude-code`. Or copy the skill folder (skills/blogwatcher in taracodlabs/aiden) into .claude/skills/blogwatcher in your project. Claude Code loads it when a task matches its description.
Run `npx skills add taracodlabs/aiden --skill blogwatcher -a codex`. Or copy the skill folder (skills/blogwatcher in taracodlabs/aiden) into .agents/skills/blogwatcher in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add taracodlabs/aiden --skill blogwatcher -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/blogwatcher, .gemini/skills/blogwatcher, .github/skills/blogwatcher and .opencode/skills/blogwatcher in your project.
Going by SKILL.md and its folder, Blog and Feed Watcher needs the command-line tools its instructions call (pip). Our summary lists: Python with the feedparser package; beautifulsoup4 and requests for feed discovery.
SKILL.md names 4 domains. In commands or code: news.ycombinator.com, simonwillison.net, feeds.feedburner.com and blog.openai.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Blog and Feed Watcher is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Blog and Feed Watcher: Tavily Web Search (allenpeng0705/EnvoyMesh, 3.1k stars), MoviePilot Downloader Operation (jxxghp/MoviePilot, 12k stars), Skyvern Browser Automation (Skyvern-AI/skyvern, 23k stars) and Robocorp Automation (robocorp/robocorp, 653 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
taracodlabs (a GitHub organization) maintains it in taracodlabs/aiden, which has 851 GitHub stars. The repository holds 63 skills in this directory. The repository was last updated on September 13, 2026.
Source: taracodlabs/aiden on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.