/add-source
Interactively add a new source to feed-sources.md with type inference, https and name-uniqueness validation, and category checking against feed-categories.md. Appends a formatted row to the Active Sources table. Invoke with /hermitd-feed:add-source.
Claude Code
$ npx -y skills add gtapps/hermitd --skill add-source --agent claude-code
Codex
$ npx skills add gtapps/hermitd --skill add-source -a codex -y
Cursor
$ npx skills add gtapps/hermitd --skill add-source -a cursor -y
Gemini CLI
$ npx skills add gtapps/hermitd --skill add-source -a gemini-cli -y
GitHub Copilot
$ npx skills add gtapps/hermitd --skill add-source -a github-copilot -y
OpenCode
$ npx skills add gtapps/hermitd --skill add-source -a opencode -y
Windsurf
$ npx skills add gtapps/hermitd --skill add-source -a windsurf -y
SKILL.md
add-source.SKILL.mdname: add-source
description: >-
Interactively add a new source to feed-sources.md with type inference, https and
name-uniqueness validation, and category checking against feed-categories.md. Appends
a formatted row to the Active Sources table. Invoke with /hermitd-feed:add-source.
Add Source
Add a new entry to `feed-sources.md`, enforcing the correct table format and source type.
Steps
1. **Collect inputs** — ask the operator for:
- **Name**: short display name (e.g. "The Daily Dispatch").
- **URL**: full URL to the source.
- **Category**: must match one of the categories in `feed-categories.md` — read that file first and present the options.
- **Type** (optional — infer if not provided):
- URL contains `reddit.com` → `reddit`
- URL contains `twitter.com` or `x.com` → `x`
- URL ends in `.rss`, `.atom`, or `/feed` → `rss`
- URL is a known WebFetch blocker (a domain that blocks server-side fetch and requires a browser) → `chrome`
- Otherwise → `web`
- **Notes** (optional): brief description of what the source covers.
2. **Validate:**
- URL must start with `https://`.
- Name must not already exist in `feed-sources.md` — read the file and check.
- Category must match an existing category from `feed-categories.md`.
3. **Read `feed-sources.md`** to confirm the current table structure, then append the new row under `## Active Sources`:
| {Name} | {URL} | {Category} | {Type} | {Notes} |Align columns with the existing table width. Insert alphabetically by Name within the same category, or at the end if unsure.
4. **Confirm** — show the operator the new row before writing. Write only after confirmation.
5. **Note in task**: inside an open record's turn, pipe the following into `.hermit/bin/hermitd-run task note .hermit <id>`; otherwise skip the note: `[HH:MM] Added source: {Name} ({Type}) to {Category}`.
6. **Mention in next brief** — new source additions are mentioned automatically in the next brief (no action needed here).
Read more
name: add-source description: >- Interactively add a new source to feed-sources.md with type inference, https and name-uniqueness validation, and category checking against feed-categories.md. Appends a formatted row to the Active Sources table. Invoke with /hermitd-feed:add-source.
Add Source
Add a new entry to `feed-sources.md`, enforcing the correct table format and source type.
Steps
1. **Collect inputs** — ask the operator for:
- **Name**: short display name (e.g. "The Daily Dispatch").
- **URL**: full URL to the source.
- **Category**: must match one of the categories in `feed-categories.md` — read that file first and present the options.
- **Type** (optional — infer if not provided):
- URL contains `reddit.com` → `reddit`
- URL contains `twitter.com` or `x.com` → `x`
- URL ends in `.rss`, `.atom`, or `/feed` → `rss`
- URL is a known WebFetch blocker (a domain that blocks server-side fetch and requires a browser) → `chrome`
- Otherwise → `web`
- **Notes** (optional): brief description of what the source covers.
2. **Validate:**
- URL must start with `https://`.
- Name must not already exist in `feed-sources.md` — read the file and check.
- Category must match an existing category from `feed-categories.md`.
3. **Read `feed-sources.md`** to confirm the current table structure, then append the new row under `## Active Sources`:
| {Name} | {URL} | {Category} | {Type} | {Notes} |Align columns with the existing table width. Insert alphabetically by Name within the same category, or at the end if unsure.
4. **Confirm** — show the operator the new row before writing. Write only after confirmation.
5. **Note in task**: inside an open record's turn, pipe the following into `.hermit/bin/hermitd-run task note .hermit <id>`; otherwise skip the note: `[HH:MM] Added source: {Name} ({Type}) to {Category}`.
6. **Mention in next brief** — new source additions are mentioned automatically in the next brief (no action needed here).
Run an always-on Claude Code agent on your own machine, for you or your team. Start and orchestrate sessions from chat in any project it can reach. Take over the same session in the Claude app or the CLI.
Other skills on hermitd.
More skills from other plugins.
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…
Questions about add-source.
- Which coding agents can use add-source?
- add-source installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

