agentleFS
nikhilbhansalinikhilbhansali/youtube-data-skills/CLAUDE.md

youtube-data-skills

CLAUDE.md4 starsChanged 3 months agoMITView on GitHub

This folder is a private GitHub repository (origin) and is automatically kept in sync with GitHub by a Claude Code hook (~/.claude/hooks/git-autosync.sh).

  • Reads credentials
  • Commits and pushes

The file

Files
CLAUDE.md

Youtube Data Analysis skills

<!-- BEGIN claude-autosync -->

🔄 GitHub Auto-Sync

This folder is a private GitHub repository (origin) and is automatically kept in sync with GitHub by a Claude Code hook (~/.claude/hooks/git-autosync.sh).

  • On every session start and end, the hook runs: git add -A → commit → git pull --rebase → git push.
  • Local and GitHub therefore stay mirrored with no manual steps. Sync activity is logged to ~/.claude/hooks/autosync.log.

Guidelines

  • Secrets stay local. .env, credentials, client_secret*.json, *.key, *.pem are git-ignored — never force-add them.
  • Large files (>95 MB) go through Git LFS. Run git lfs track "*.ext" for new big/media files before committing.
  • Dependencies/junk (node_modules/, venv/, .venv/, __pycache__/, .DS_Store) are git-ignored.
  • The auto-sync uses rebase and skips on conflict rather than forcing — if autosync.log reports a conflict, resolve it manually.
<!-- END claude-autosync -->

Repo Conventions

  • 12 skills live in skills/<name>/ — each is self-contained (SKILL.md + bundled scripts/*.py + optional references/), because skills are distributed individually via skills.sh. Shared helper functions are intentionally duplicated (byte-identical) across scripts; if you change one helper, change it in all of them.
  • Outputs: raw JSON → reports/data/, markdown reports → reports/, thumbnails → reports/thumbnails/. The reports/ dir is git-ignored (generated data).
  • Quota discipline: channel video listing uses the uploads playlist (playlistItems.list, 1 unit/page) and handle resolution uses channels.list(forHandle=...). Never reintroduce search.list for channel-owned data — it costs 100 units/call and returns approximate results. search.list is only for keyword/topic search.
  • Two OAuth skills, two-token model — credentials live in ~/.config/youtube-skills/ (override: YT_OAUTH_DIR), never in the repo. youtube-channel-insights uses the read-only token (token.json; its auth.py refuses write scopes). youtube-metadata-updater is the suite's ONLY write-capable skill: separate token_write.json with exactly youtube.force-ssl (its auth_write.py refuses any other scope set), titles/descriptions only, never part="status". Never merge the tokens, and never remove the metadata-updater's approval gate: preview must be shown to and approved by the user in conversation before any apply --confirm.
  • dist/*.skill are zip packages of each skill folder (git-ignored). Regenerate after skill changes: cd skills && zip -r ../dist/<name>.skill <name>.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.