Managing Feeds¶
Add, list, and remove podcast feeds in Inkwell.
Adding Feeds¶
Basic Feed¶
Example:
Feed names can be human-readable. Inkwell stores a slug as the config key and keeps the original as the display name:
That feed is stored as oren-meets-world, but you can fetch or remove it with either the slug or the display name.
Output:
Feed with Category¶
Organize feeds with categories for automatic template selection:
Common categories:
| Category | Description | Auto-selected Templates |
|---|---|---|
tech |
Technology podcasts | summary, quotes, tools-mentioned |
business |
Business & entrepreneurship | summary, quotes, key-concepts |
interview |
Interview shows | summary, quotes |
education |
Educational content | summary, key-concepts |
Feed with Extra Templates¶
Use --extra-templates when a feed should always run additional templates beyond its category defaults:
inkwell add https://example.com/feed.rss \
--feed-name founder-interviews \
--category interview \
--extra-templates books-mentioned,step-by-step-plan
Extra templates are additive. A feed with category interview still gets the interview defaults, then Inkwell adds books-mentioned and step-by-step-plan.
Change or clear them later:
inkwell config feed founder-interviews --extra-templates books-mentioned
inkwell config feed founder-interviews --extra-templates ""
Private/Paid Feeds¶
For premium podcasts requiring authentication:
Inkwell prompts for credentials:
Authentication required
Auth type (basic/bearer): basic
Username: user@example.com
Password: ********
✓ Feed 'premium-show' added successfully
Credentials encrypted and stored securely
Authentication types:
- Basic Auth - Username + password (most common)
- Bearer Token - API token or key
Security
All credentials are encrypted using Fernet symmetric encryption before storage.
YouTube Channels¶
Inkwell accepts any standard YouTube URL in inkwell add — paste a video URL, channel URL, @handle, /c/, or /user/ link and inkwell resolves the right media-RSS endpoint for you:
# Any of these work — inkwell figures out the channel's RSS feed
inkwell add https://www.youtube.com/@orenmeetsworld --feed-name oren-meets-world
inkwell add https://www.youtube.com/watch?v=pKeZ5XK2vp4 --feed-name oren-meets-world
inkwell add https://www.youtube.com/channel/UC_tSQ6UQy2pROm-I0J7UBoA --feed-name oren-meets-world
If you just want to process one video without tracking the channel, use inkwell fetch <video-url>. You'll see a hint at the end inviting you to save the channel:
To take it up on the offer, re-run with --save-feed — the feed name is auto-derived from the channel name, so you don't have to invent one:
inkwell fetch https://www.youtube.com/watch?v=pKeZ5XK2vp4 --save-feed
# → ✓ Saved channel as feed 'oren-meets-world'
# Auto-named from channel metadata. To rename: inkwell rename oren-meets-world <new-name>.
Pass --feed-name if you want a specific name:
Playlist URLs
Playlist URLs (?list=…) aren't supported yet — inkwell add rejects them with a clear error. Use the channel URL instead.
Listing Feeds¶
View all configured feeds:
Output:
╭─────────────────────────────────────────────────────────╮
│ Configured Podcast Feeds │
├────────────────┬───────────────────┬──────┬─────────────┤
│ Name │ URL │ Auth │ Category │ Extra Templates │
├────────────────┼───────────────────┼──────┼─────────────┤
│ tech-show │ feeds.example... │ — │ tech │ books-mentioned │
│ premium-show │ private.com/... │ ✓ │ — │ - │
╰────────────────┴───────────────────┴──────┴─────────────╯
Total: 2 feed(s)
Removing Feeds¶
With Confirmation¶
Feed: my-podcast
URL: https://example.com/feed.rss
Are you sure you want to remove this feed? [y/N]: y
✓ Feed 'my-podcast' removed
Skip Confirmation¶
Renaming Feeds¶
Rename a saved feed without losing its URL, category, or encrypted authentication settings:
Feed names are normalized to lowercase slugs, so inkwell rename old-name "New Name!" becomes new-name.
The human-readable name is kept as the feed's display name in inkwell list.
Use --force only when you intentionally want to replace an existing destination feed:
Feed Organization Strategies¶
By Category¶
inkwell add https://tech1.com/feed.rss --feed-name tech-podcast-1 --category tech
inkwell add https://tech2.com/feed.rss --feed-name tech-podcast-2 --category tech --extra-templates step-by-step-plan
inkwell add https://biz.com/feed.rss --feed-name business-show --category business
By Priority (Naming Convention)¶
inkwell add https://example.com/feed.rss --feed-name 1-daily-podcast
inkwell add https://example.com/feed.rss --feed-name 2-weekly-podcast
inkwell add https://example.com/feed.rss --feed-name 3-archive-podcast
Batch Operations¶
Add multiple feeds from a script:
#!/bin/bash
inkwell add https://feed1.com/rss --feed-name podcast-1 --category tech
inkwell add https://feed2.com/rss --feed-name podcast-2 --category business
inkwell add https://feed3.com/rss --feed-name podcast-3 --category interview
echo "All feeds added!"
Naming Best Practices¶
- Use lowercase and hyphens:
tech-podcast,startup-stories - Keep names short but descriptive
- Special characters are normalized automatically:
my_podcast!→my-podcast
Troubleshooting¶
"Feed already exists"¶
✗ Feed 'my-podcast' already exists. Use update to modify it.
Use 'inkwell remove my-podcast' first, or choose a different name
Solution: Remove the existing feed first or use a different name.
"Feed not found"¶
Solution: Check feed name with inkwell list.
Next Steps¶
- Processing Episodes - Fetch and process episodes
- Configuration - Configure default settings