aniketpanjwani/local_media_tools/newsletter-events-list-sources

Claude Code and agent skill by aniketpanjwani/local_media_tools

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

List all configured event sources (Instagram, web aggregators)

Install

npx vskill@latest install aniketpanjwani/local_media_tools/newsletter-events-list-sources

SKILL.md

The same SKILL.md was published earlier as majiayu000/claude-skill-registry-data/newsletter-events-list-sources.

<essential_principles>

Configuration Location

All sources are stored in ~/.config/local-media-tools/sources.yaml.

Source Types

TypeFilter KeywordDescription
Instagraminstagram, ig@handle accounts
WebwebEvent aggregator websites

Note: Facebook events are not configured sources. Pass event URLs directly to /research.

Output Format

Sources are displayed in grouped tables with relevant metadata for each type. </essential_principles>

<intake> What sources do you want to list?

Options:

  • all or blank - Show all configured sources
  • instagram - Only Instagram accounts
  • web - Only web aggregators

Provide filter (or press Enter for all): </intake>

<process>

Step 1: Parse Filter

Check if user provided a filter keyword:

python
filter_input = user_input.strip().lower()
# Normalize filter aliases
filter_map = {
"": "all",
"all": "all",
"instagram": "instagram",
"ig": "instagram",
"web": "web",
}
selected_filter = filter_map.get(filter_input, "all")

Step 2: Load Config

python
from pathlib import Path
import yaml
config_path = Path.home() / ".config" / "local-media-tools" / "sources.yaml"
if not config_path.exists():
print("ERROR: sources.yaml not found. Run /newsletter-events:setup first.")
# STOP HERE
with open(config_path) as f:
config = yaml.safe_load(f)

Step 3: Extract Sources

python
sources = config.get("sources", {})
instagram_accounts = sources.get("instagram", {}).get("accounts", [])
web_sources = sources.get("web_aggregators", {}).get("sources", [])

Step 4: Check for Empty State

python
total_sources = len(instagram_accounts) + len(web_sources)
if total_sources == 0:
print("No sources configured.")
print("")
print("To add sources: /newsletter-events:add-source @handle")
# STOP HERE

Step 5: Format and Display Tables

Display each category with appropriate columns:

Instagram Accounts:

HandleNameTypeLocation
@localvenueLocal Venuemusic_venueKingston, NY
@themusicbarThe Music Barbar-

Web Aggregators:

URLNameTypeMax Pages
https://hvmag.com/eventsHV Magazinelisting50

Step 6: Show Summary

Total: N sources configured
- Instagram: X accounts
- Web: Y aggregators
To add sources: /newsletter-events:add-source @handle
To remove sources: /newsletter-events:remove-source @handle
Note: For Facebook events, pass URLs directly to /research

Handling Filtered Views

If a filter was applied but that category is empty:

No instagram sources found.
You have:
- 1 web aggregator
To add Instagram accounts: /newsletter-events:add-source @handle

</process>

<success_criteria>

  • [ ] Config loaded successfully
  • [ ] Filter applied correctly (if provided)
  • [ ] Output formatted as readable tables
  • [ ] Empty states handled with helpful messages
  • [ ] Summary shows totals
  • [ ] Next actions suggested

</success_criteria>

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
40
Repository forks
14
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/aniketpanjwani/local_media_tools/newsletter-events-list-sources/badge)](https://verified-skill.com/skills/aniketpanjwani/local_media_tools/newsletter-events-list-sources)

Something wrong with this skill or its page? Tell us.