majiayu000/claude-skill-registry-data/newsletter-events-add-source

Claude Code and agent skill by majiayu000/claude-skill-registry-data

Trust tier 3
  • community
Source check pending

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

Tainted

Author "majiayu000" has blocked skill(s)

Add Instagram accounts or web aggregators to sources.yaml configuration

Install

npx vskill@latest install majiayu000/claude-skill-registry-data/newsletter-events-add-source

SKILL.md

<required_reading> STOP. Before doing ANYTHING else, you MUST read this entire file.

This skill uses a dispatcher pattern with separate workflows:

  • For web URLs → Read workflows/add-web-aggregator.md (HAS MANDATORY PROFILING)
  • For Instagram → Read workflows/add-instagram.md

DO NOT just edit sources.yaml directly. Follow the workflows. </required_reading>

<essential_principles>

Configuration Location

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

Source Types & Routing

TypeDetectionWorkflow
Instagram@handle or alphanumeric handleworkflows/add-instagram.md
Web Aggregatorhttp:// or https:// URLworkflows/add-web-aggregator.md
Facebookfacebook.com/events/*Not stored - use /research directly

Key Differences

  • Instagram: Simple add - no profiling needed
  • Web Aggregator: Requires profiling to discover optimal scraping strategy

</essential_principles>

<intake> What sources do you want to add?

Examples:

  • @localvenue @musicbar - Add Instagram accounts
  • https://hudsonvalleyevents.com - Add web aggregator (will be profiled)
  • @venue1 and https://events.com - Mix of sources

Note: For Facebook events, use /research https://facebook.com/events/123456 instead.

Provide the source(s): </intake>

<process>

Step 1: Parse and Classify Input

Analyze user input and classify each source:

python
import re
sources = {"instagram": [], "web": [], "facebook": []}
for token in user_input.replace(",", " ").replace(" and ", " ").split():
token = token.strip()
if not token:
continue
if "facebook.com/events/" in token:
sources["facebook"].append(token)
elif token.startswith("@") or re.match(r"^[a-zA-Z][a-zA-Z0-9_.]+$", token):
sources["instagram"].append(token.lstrip("@").lower())
elif token.startswith("http://") or token.startswith("https://"):
sources["web"].append(token)

Step 2: Handle Facebook URLs

If any Facebook URLs detected, inform user:

Facebook events are not stored in configuration.
Pass URLs directly to /research instead:
/research https://facebook.com/events/123456

Continue processing other sources.

Step 3: Route to Workflows

For Instagram handles:

If sources["instagram"] is not empty:

  1. Read workflows/add-instagram.md
  2. Follow that workflow for all Instagram handles
  3. Collect results
For Web URLs:

If sources["web"] is not empty:

  1. Read workflows/add-web-aggregator.md
  2. Follow that workflow for EACH web URL (profiling is per-source)
  3. Collect results

IMPORTANT: Process web sources one at a time since each requires interactive profiling.

Step 4: Report Combined Results

After both workflows complete, display combined summary:

TypeSourceNameStatus
Instagram@localvenueLocal VenueAdded
Instagram@musicbarMusic BarAlready exists
Webgreatnortherncatskills.comGreat Northern CatskillsAdded (profiled)
Config saved to ~/.config/local-media-tools/sources.yaml
Run /newsletter-events:research to scrape these sources.

</process>

<success_criteria>

  • [ ] All sources parsed and classified by type
  • [ ] Facebook URLs identified with redirect message
  • [ ] Instagram sources processed via workflows/add-instagram.md
  • [ ] Web sources processed via workflows/add-web-aggregator.md (with profiling)
  • [ ] Combined results displayed to user

</success_criteria>

Security

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

Quality evaluation

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

Source

Popularity

7-day trend score
0

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/majiayu000/claude-skill-registry-data/newsletter-events-add-source/badge)](https://verified-skill.com/skills/majiayu000/claude-skill-registry-data/newsletter-events-add-source)

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