Files
ealmeida faef9b47dc fix(project-manager): remover Dify KB das descriptions, marcar nota TODO
Dify foi removido 06-03-2026. Skills brainstorm/discover ainda referenciam-no
no corpo. Bump v1.2 + nota top-of-file. Reescrita workflow para próxima sessão.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 04:52:03 +01:00

155 lines
4.3 KiB
Markdown

---
name: youtube-extract
category: dev-tools
description: "Extrai transcrições e metadados de vídeos, playlists e canais YouTube para o ficheiro de pesquisa Stack_Pesquisa_Videos.md. Usar quando 'youtube', 'vídeo', 'playlist', 'canal', 'transcrição', 'extrair vídeo', 'pesquisa vídeos'."
version: "1.0.0"
created: 2026-04-04
tools: [Bash]
---
# Skill: /youtube-extract
Extrai transcrições e metadados de vídeos, playlists e canais YouTube usando o script `youtube-pesquisa-videos.py`. Adiciona automaticamente ao ficheiro de pesquisa do StackDescomplicar.
---
## Ficheiros relevantes
| Ficheiro | Caminho |
|----------|---------|
| **Script** | `/media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py` |
| **Destino padrão** | `/media/ealmeida/Dados/Hub/04-Stack/Stack_Pesquisa_Videos.md` |
---
## Processo de execução
### 1. Identificar o pedido
Detectar na mensagem do utilizador:
- **URLs** — vídeos individuais, playlists (`?list=`), canais (`@canal`, `/c/`, `/channel/`)
- **Limite** — "primeiros 10", "máx 5", etc. → usar `--max N`
- **Destino** — ficheiro alternativo? → usar `--output caminho`
- **Modo** — adicionar ao ficheiro (`--append`) vs mostrar no terminal (sem flag)
### 2. Construir o comando
```bash
python3 /media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py \
URL1 URL2 ... \
[--max N] \
[--append] \
[--output /caminho/alternativo.md] \
[--file lista.txt]
```
### 3. Exemplos por tipo de URL
**Vídeo individual:**
```bash
python3 /media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py \
"https://youtu.be/dQw4w9WgXcQ" --append
```
**Playlist completa:**
```bash
python3 /media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py \
"https://youtube.com/playlist?list=PLxxx" --append
```
**Playlist com limite:**
```bash
python3 /media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py \
"https://youtube.com/playlist?list=PLxxx" --max 10 --append
```
**Canal completo (máx. 20):**
```bash
python3 /media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py \
"https://youtube.com/@NomeCanal" --max 20 --append
```
**Mix de URLs:**
```bash
python3 /media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py \
"https://youtu.be/ID1" \
"https://youtube.com/playlist?list=PLxxx" \
--max 5 --append
```
**Ficheiro de lista:**
```bash
python3 /media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py \
--file /caminho/lista.txt --append
```
**Pré-visualizar sem gravar:**
```bash
python3 /media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py \
"https://youtu.be/ID1"
```
---
## Comportamento padrão
| Situação | Acção |
|----------|-------|
| URL única de vídeo | Extrair e perguntar se adiciona ao ficheiro |
| Múltiplos vídeos | Extrair todos e adicionar com `--append` |
| Playlist/canal sem limite | Alertar o utilizador — perguntar limite antes de executar |
| Ficheiro de destino não especificado | Usar `Stack_Pesquisa_Videos.md` |
> **Aviso obrigatório para playlists/canais sem `--max`:** Informar o utilizador do número de vídeos antes de processar — canais podem ter centenas.
---
## Após a extracção
1. Informar quantos vídeos foram adicionados e os números `#N` atribuídos
2. Sugerir ao utilizador que complete os campos `*(a completar)*` no ficheiro
3. Se houver erros (transcrição indisponível), mencionar quais os vídeos afectados
4. Opcional: abrir o ficheiro no editor — `xdg-open "Stack_Pesquisa_Videos.md"`
---
## Pré-requisitos
- `yt-dlp` instalado: `pip install yt-dlp` ou `brew install yt-dlp`
- Python 3.8+
- Acesso à internet
Verificar disponibilidade:
```bash
yt-dlp --version && python3 --version
```
---
## Casos especiais
**ID curto do YouTube (11 chars):**
```bash
python3 /media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py dQw4w9WgXcQ --append
```
**Destino alternativo (outro projecto):**
```bash
python3 /media/ealmeida/Dados/Dev/ClaudeDev/youtube-pesquisa-videos.py \
"https://youtu.be/ID1" \
--output "/media/ealmeida/Dados/Hub/05-Projectos/MeuProjecto/videos.md" \
--append
```
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*