Site Feeds

v1.0.1

Use this skill when the user wants to get updates or content from websites and platforms like YouTube, GitHub, Instagram, Reddit, news sites, blogs, etc. Thi...

1· 169·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for heqi201255/site-feeds.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Site Feeds" (heqi201255/site-feeds) from ClawHub.
Skill page: https://clawhub.ai/heqi201255/site-feeds
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install site-feeds

ClawHub CLI

Package manager switcher

npx clawhub@latest install site-feeds
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description match the instructions: the skill instructs use of the airsstool CLI and (optionally) a locally deployed RSSHub to fetch feeds from websites. Required capabilities (Docker, Python) are relevant to the stated goal.
Instruction Scope
SKILL.md directs the agent to create folders, write a .env, modify docker-compose for Puppeteer, run 'docker compose up -d', install airsstool, and initialize a local DB. These actions are within scope for providing feeds but are operationally significant (writing files, deploying containers). The file also suggests deleting the installation section after setup, which implies modifying skill/documentation — note this could have unexpected effects depending on agent permissions.
Install Mechanism
There is no formal install spec in the manifest; installation is delegated to manual steps (follow GitHub instructions, pull docker-compose.yml from RSSHub docs). Downloading and running third‑party code from GitHub and pulling Docker images is expected here but carries the usual supply‑chain risk; the instructions do not harden or pin versions.
Credentials
The manifest requests no environment variables or credentials. The instructions do ask the user to create a .env for RSSHub, but no specific secrets are mandated by the skill; users should avoid placing unrelated secrets into that file.
Persistence & Privilege
The skill is not marked 'always' and requests no config paths or permanent agent modifications. It does direct the agent/user to run long‑lived services (a Docker RSSHub container) which is operationally significant but not a manifest privilege escalation.
Assessment
This skill appears to do what it says, but it instructs you (or an agent acting for you) to download and run third‑party software and to deploy a Docker service. Before installing or following the steps: (1) review the RSSHub and airsstool repositories and trust their maintainers; (2) run installations in an isolated environment (VM/container) if possible; (3) inspect the docker‑compose.yml and any scripts before running them; (4) avoid putting unrelated secrets into the .env file; (5) be aware the setup will create files (e.g., ~/.airsstool DB) and run a long‑running container. If you do not want the agent to perform system changes or fetch/execute remote code, do not enable or invoke this skill.

Like a lobster shell, security has layers — review code before you run it.

latestvk9735kay03fatjccv7er1whs7h837hey
169downloads
1stars
3versions
Updated 1mo ago
v1.0.1
MIT-0

Site Feeds

This skill helps AI agents fetch updates and content from websites using the airsstool CLI.

When to Use This Skill

Use this skill when the user:

  • Wants to see the latest content from a website or platform (YouTube, GitHub, Instagram, Reddit, etc.)
  • Asks "What's new on..." or "Show me updates from..."
  • Wants to track trending content, news, blog posts, videos, etc.
  • Needs to monitor specific users, topics, or categories on platforms
  • Wants to set up recurring checks for content updates
  • Asks about what content/information can be fetched from a specific website

Installation

Before using airsstool, ensure the following prerequisites are met. Ask the user for permission when needed (e.g., deploying RSSHub via Docker, choosing a Python environment, setting environment variables).

1. Deploy RSSHub (if not already running)

Check if the user already has a running RSSHub Docker container. If not:

  1. Inform the user that RSSHub needs to be locally deployed
  2. After user confirmation, create a rsshub folder in a suitable location
  3. Follow the 'Docker Compose Deployment' guide in RSSHub deployment docs to download the docker-compose.yml in the rsshub folder
  4. Create a .env file for environment variables
  5. Modify docker-compose.yml to add Puppeteer support if needed, and add env_file: - .env to the rsshub service
  6. Run docker compose up -d

2. Install airsstool

Follow the instructions at https://github.com/heqi201255/airsstool

Ask the user if they want to install Python dependencies in a specific virtual environment. If yes, remember to activate that environment before each use.

3. Initialize Database

After installation, run the init command (takes ~1min):

airsstool init

This creates the database at ~/.airsstool/airsstoolDB.db by default. Use --db-path for a custom location.

After installation is complete and verified working, you may delete this installation section in this file.

Available CLI Commands

Init Command

CommandPurpose
airsstool initInitialize database (first time setup)
airsstool init --db-path PATHInitialize with custom database path
airsstool init --forceForce recreate database

Discovery Commands

CommandPurposeExample Usage
airsstool list categoriesList all content categories"What categories are available?"
airsstool list websitesList websites by category"Show me social media websites"
airsstool list routes <website>Find available feeds for a website"What feeds does GitHub have?"
airsstool check <website> <route>Get feed details & parameters"How to use GitHub trending?"

Fetch Commands

CommandPurposeExample Usage
airsstool fetch <path>Fetch content from a feed"Get GitHub trending"
airsstool fetch -U <user> -S <sub>Fetch all feeds in a subscription"Get all my tech news feeds"

Subscription Commands

CommandPurposeExample Usage
airsstool list usersList all users"Who has subscriptions?"
airsstool list subscriptions -U <user>List user's subscription groups"Show alice's subscriptions"
airsstool list paths -U <user> -S <name>List paths in a subscription"What's in tech_news group?"
airsstool add-subscription -U <user> -S <name>Create subscription group"Create a news subscription"
airsstool subscribe -U <user> -S <name> -P <path> -D <desc>Add path to subscription"Subscribe to GitHub trending"
airsstool unsubscribe -U <user> -S <name>Delete subscription group"Delete my tech_news group"
airsstool remove-subscription -U <user> -S <name> -P <path>Remove path from subscription"Remove GitHub trending from tech_news"

Common Workflows

Finding a Feed

  1. Browse by category if you know the type:

    airsstool list categories
    airsstool list websites --category programming --page-size 10
    
  2. Search by website name (fuzzy search supported):

    airsstool list routes github  # Returns all GitHub feeds
    
  3. Check feed details for parameters:

    airsstool check github trending
    # Shows path template: /github/trending/{params}
    

Fetching Content

Simple fetch:

airsstool fetch /github/trending/daily/any/en

With filters:

airsstool fetch /youtube/user/@MrBeast --filter "MrBeast|Beast"

With format conversion:

airsstool fetch /hackernews/best --format rss    # Returns raw RSS
airsstool fetch /instagram/user/instagram --brief 100     # Returns brief text

Pagination:

airsstool fetch /github/trending/daily/any/en --limit 5 --offset 2

Managing Subscriptions

Create a subscription group:

airsstool add-subscription -U your_name -S tech_news

Add feeds to subscription:

airsstool subscribe -U your_name -S tech_news -P /github/trending/daily/any/en -D "GitHub Trending"

Fetch subscription:

airsstool fetch -U your_name -S tech_news --limit 10

Fetch Parameters

List Options

OptionDescription
--category CATFilter websites by category
--page-size NNumber of results per page (default: 20)
--page-num NPage number (default: 1)
--enable-nsfwInclude NSFW websites in results

Filter Options

OptionDescription
--filter PATTERNFilter title and description (regex)
--filter-title PATTERNFilter title only
--filter-description PATTERNFilter description only
--filter-author PATTERNFilter by author
--filter-category PATTERNFilter by category
--filter-time SECONDSTime range in seconds
--filterout PATTERNExclude from title and description
--filterout-title PATTERNExclude from title
--filterout-description PATTERNExclude from description
--filterout-author PATTERNExclude author
--filterout-category PATTERNExclude category
--filter-case-sensitive BOOLCase sensitivity (default: true)

Output Options

OptionDescription
--format FORMATOutput format: markdown (default), rss, atom, json, rss3. Default is Markdown - don't specify unless needed.
--brief NBrief text with N chars (>=100)
--limit NLimit number of items
--offset NSkip first N items (only works with markdown format)

Tips for Effective Use

  1. Fuzzy search works: airsstool list routes gthub will suggest "GitHub"

  2. Path format: Always start with /, e.g., /github/trending/daily/any/en

  3. Check route details first: Use airsstool check <website> <route> to understand required parameters

  4. Default output is Markdown: Parsed and formatted for readability. Use --format rss for raw RSS.

  5. Subscription persistence: Subscriptions are stored in SQLite database for persistence

Example Interactions

User: "Find me some programming news feeds"

airsstool list websites --category programming --page-size 5
# Returns top programming sites by heat

airsstool list routes github
# Returns available GitHub routes

airsstool check github trending
# Shows how to construct the path

User: "Get the latest trending JavaScript repos"

airsstool fetch /github/trending/daily/any/en --limit 10
# Returns formatted Markdown with repo info

User: "Create a subscription for my daily tech reading"

airsstool add-subscription -U user -S daily_tech

airsstool subscribe -U user -S daily_tech -P /github/trending/daily/any/en -D "GitHub Trending JS"
airsstool subscribe -U user -S daily_tech -P /hackernews/best -D "Hacker News"

airsstool fetch -U user -S daily_tech --limit 5

User: "Remove a specific feed from my subscription"

airsstool list paths -U user -S daily_tech
# Shows all feeds in the subscription

airsstool remove-subscription -U user -S daily_tech -P /hackernews/best
# Removes only Hacker News, keeps other feeds

User: "Delete my entire subscription group"

⚠️ This action cannot be undone. Ask the user to confirm before proceeding:

airsstool unsubscribe -U user -S daily_tech
# Deletes the group and all its feeds

Error Handling

  • If website not found, fuzzy search will suggest alternatives
  • If route not found, check website spelling first
  • If some websites fail to fetch, use airsstool check <website> <route> to see if there's a RequireConfig note. If so, the website requires environment variables. Search online for how to obtain them and ask the user for help. Once obtained, add them to the .env file and restart the RSSHub service
  • If fetch still fails, the path may be invalid or the RSSHub instance may be down
  • Use --force flag in airsstool subscribe to skip connectivity check

Comments

Loading comments...