Skip to content
Back to skills

Coletar Oportunidades Youtube

ASecurity

Use when the user wants to check a YouTube channel against local transcripts, collect skill/automation opportunities from videos, download missing transcripts, analyze videos for new skill ideas, or keep a catalog up to date. Triggers on "defasagem do canal", "oportunidades de skill", "analisa os vídeos", "transcrições faltando", "baixar transcrição", "vídeos novos", "coletar oportunidades", "yt-oportunidades". Uses scripts/yt-oportunidades.mjs (sync-check/catalog/diff/download/dedup/mark/rec...

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 19, 2026
ai-agentsgonodegitapi

Works with

  • api

Security analysis

A100/100

Scanned September 28, 2026

npx -y skills add majinmagros/magros.ai-skills --skill coletar-oportunidades-youtube --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Coletar Oportunidades Youtube?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Coletar Oportunidades Youtube
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majinmagros-coletar-oportunidades-youtube/badge)](https://www.skillsdirectory.com/skills/majinmagros-coletar-oportunidades-youtube)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: coletar-oportunidades-youtube
description: Use when the user wants to check a YouTube channel against local transcripts, collect skill/automation opportunities from videos, download missing transcripts, analyze videos for new skill ideas, or keep a catalog up to date. Triggers on "defasagem do canal", "oportunidades de skill", "analisa os vídeos", "transcrições faltando", "baixar transcrição", "vídeos novos", "coletar oportunidades", "yt-oportunidades". Uses scripts/yt-oportunidades.mjs (sync-check/catalog/diff/download/dedup/mark/reconcile/analyzed) with transcripts kept OUTSIDE the public repo.
metadata:
  origin: ECC
---

# Skill: Coletar Oportunidades do YouTube (transcrições + análise)

Pipeline determinístico para descobrir o que um canal publicou, baixar as
transcrições faltantes (localmente, fora do repo), ler os vídeos novos e
extrair oportunidades de skills/automações — cruzando SEMPRE com o inventário
existente para não criar redundância.

## Quando usar

- "O canal publicou vídeos novos? Estamos defasados?"
- "Analisa os últimos vídeos e me diz que skills criar."
- "Baixa as transcrições que faltam do canal X."
- "Registra esse vídeo como já analisado."

## Regras de segurança (repo PÚBLICO)

- Transcrições de terceiros **NUNCA** vão para o repo público. Ficam só em
  pastas locais (`YT_DIR`). Se alguém já committou transcrições, mova para a
  pasta local e `git rm` (sem commit) antes de continuar.
- Scripts que o pipeline cria devem ser portáteis (sem caminhos pessoais
  hardcoded; config por env vars) para não vazar o caminho da sua máquina.
- Credenciais de API nunca entram no repo.

## Sistema de capturas — modo manutenção semanal (vigente desde 2026-09-26)

Catálogo considerado completo (500+ skills). A partir de agora a coleta é
**manutenção contínua**, com o **mesmo comando/gatilho** de sempre
("capturar novas oportunidades de skills", "oportunidades de skill",
"analisa os vídeos", "vídeos novos", "coletar oportunidades"):

- **Janela desde a última solicitação (sem data fixa):** cada pedido seu
  vira marca (`node scripts/yt-oportunidades.mjs solicitar` no início,
  gravando `state/ultima-solicitacao.json`); a coleta cobre exatamente
  desde a marca anterior até hoje (`diff-all --since-request`). Sem marca
  ainda, cai para hoje−7d. Mais prático: sem buraco se demorar a pedir,
  sem repetição se pedir cedo.
- **Fase 1 — listagem existente primeiro:** roda `diff-all --since <hoje-7d>`
  só nos canais de `manifests/canais-vigilados.json`. Foco em
  **atualização/melhoria**, não em criar por criar.
- **Fase 2 — outros canais depois:** pesquisa YouTube fora da lista, só
  checagem de **novas citadas** na mesma janela de 7 dias. Se o canal novo
  se repetir, propõe inclusão como `tier: radar`; senão só loga e descarta.
- **Anti-obsolescência (definição vigente):** obsoleta = skill que **pode
  evoluir e a gente ficar com versão antiga**. Por isso toda captura nova
  **compara** com a skill existente correspondente antes de decidir:
  `manter / atualizar / fundir / arquivar`. Nunca criar duplicata ou
  redundância — cruzar SEMPRE com o inventário (`skills/*/SKILL.md`).
- **Verificação contínua:** manter atualizadas, aprimorando, comparando e
  verificando melhorias a cada rodada semanal.

## Pipeline

### 0. Checar sync com o GitHub (OBRIGATÓRIO antes de tudo)

Com 2+ PCs coletando, o outro PC pode já ter capturado o canal. Rode SEMPRE
antes de `catalog`/`diff`:

```
node scripts/yt-oportunidades.mjs sync-check
```

- Exit 0 (`EM DIA`) → pode coletar.
- Exit 1 (`BLOQUEADO`) → NÃO colete: o repo está atrás (`git pull --rebase`),
  com worktree suja (commit/stash antes do pull) ou com commits sem push
  (`git push` — o outro PC não vê esses commits). Re-rode o `sync-check` depois.
- Exit 2 (`INVERIFICÁVEL`, offline) → re-rode com rede; só use
  `--allow-stale` assumindo o risco de duplicar coleta.
- `--json` imprime só o JSON (branch, SHAs, behind/ahead, última coleta
  publicada, resumo do `state/yt-control.json`).

O `sync-check` mostra também a última coleta publicada e o
`state/yt-control.json` (fonte da verdade por canal, só ids/datas).

### 0b. Reconciliar marcas locais vs compartilhadas (multi-PC, antes do `mark`)

Com 2+ PCs, seu `ANALISADOS.json` local pode estar atrás do compartilhado:

```
node scripts/yt-oportunidades.mjs reconcile
```

- Exit 0 (`OK`) → pode marcar.
- Exit 1 (`DIVERGENTE`) → NÃO rode `mark`: o compartilhado tem marcas que
  seu PC não tem (outro PC coletou). Faça `git pull`, confira, e só então marque.
- Proteção automática: `mark` nunca reduz `analisados` nem volta `ultimaColeta`
  no `state/yt-control.json` (guarda monotônico — regressão 85→6 não acontece mais).
- Convenção de dono: campo opcional `dono` em `manifests/canais-vigilados.json`
  por canal (qual PC coleta); sem dono explícito, vale quem coletou por último.

### 1. Catalogar o canal

Roda o catálogo oficial do canal (título, id, data) e salva como JSON:

```
node scripts/yt-oportunidades.mjs catalog
```

Config por env:
- `YT_CHANNEL` (padrão `https://www.youtube.com/@maestrosdaia/videos`)
- `YT_DIR` — pastas de transcrições locais, separadas por `;`. **Sempre setar
  explicitamente** — o default (`~/projetos/...`) expande para a pasta do

## Radar 4 fontes + curadoria (leva YouTube rodada 8)

Além do YouTube: WhatsApp (links do grupo → links.md com resuminho), Gmail (newsletters), creators favoritos e news web dos últimos dias. Humano marca o que fica; ordene o roteiro por arco emocional (impacto → meio → picos). Ver pesquisa-social para sentimento e data-scraper-agent para coleta.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…