Token导航 LogoToken导航TokenDH.com
开发操作浏览器github未标认证来源可访问许可证需确认审计异常

video-ingest视频摄取

Agent Skill

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

总安装

710

周安装

29

GitHub Stars

55

下载量

230
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:video-ingest(视频摄取)
来源仓库:https://github.com/joelhooks/joelclaw
仓库路径:skills/video-ingest
安装命令:
npx skills add https://github.com/joelhooks/joelclaw --skill video-ingest
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/joelhooks/joelclaw --skill video-ingest

简介

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。

  • 它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。
  • 使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。
  • 安装方式:github,通过 npx skills add 命令添加指定仓库中的技能。
  • 适用于 Codex、Claude、Cursor、Gemini CLI 等宿主环境。

SKILL.md

Video Ingest — via Inngest Pipeline

Videos are ingested through the Inngest event bus. Do not run yt-dlp, mlx-whisper, scp, or create vault notes manually. The pipeline handles everything: download → NAS transfer → transcription → vault note → summary enrichment.

Quick Start

joelclaw send pipeline/video.download -d '{"url":"URL_HERE"}'

That's it. The event chain handles the rest.

Alternative (raw curl):

curl -s -X POST "http://localhost:8288/e/37aa349b89692d657d276a40e0e47a15" \
  -H "Content-Type: application/json" \
  -d '{"name":"pipeline/video.download","data":{"url":"URL_HERE"}}'

Pipeline Flow

pipeline/video.download        — you send this
    ↓
video-download function        — yt-dlp → /tmp → NAS transfer
    ↓ emits
pipeline/video.downloaded      — logged by system-logger
pipeline/transcript.process    — auto-triggered
    ↓
transcript-process function    — mlx-whisper (M4 Pro, ~5min/hr of video)
    ↓ emits
pipeline/transcript.processed  — logged
content/summarize              — auto-triggered
    ↓
content-summarize function     — pi enrichment → vault note with summary
    ↓ emits
content/summarized             — logged, done

Before Sending: Health Check

Always verify the pipeline is healthy before sending events:

# Inngest server
curl -s http://localhost:8288/health

# Worker (should show functions including video-download)
curl -s http://localhost:3111/ | python3 -c "
import json,sys
d=json.load(sys.stdin)
fns = [f.get('id','?') for f in d.get('functions',[])]
print(f'Worker OK — {len(fns)} functions: {', '.join(fns)}')
"

# Docker container running
docker ps --filter ancestor=inngest/inngest --format "table {{.Status}}\t{{.Ports}}"

If the worker is down:

kubectl -n joelclaw rollout restart deployment/system-bus-worker
kubectl -n joelclaw rollout status deployment/system-bus-worker --timeout=180s
joelclaw refresh

Monitoring a Run

Watch progress in real-time

# Worker logs — shows step execution + failures
kubectl logs -n joelclaw deploy/system-bus-worker -f

# Docker logs — shows event dispatch
docker logs -f $(docker ps -q --filter ancestor=inngest/inngest) 2>&1 | grep -v DEBUG

Check if events fired

# Look for the video's events in Docker logs
docker logs $(docker ps -q --filter ancestor=inngest/inngest) 2>&1 | grep -i "video\|transcript\|summarize" | tail -20

Dashboard

Open http://localhost:8288 in browser — shows functions, events, runs with per-step traces.

Verify completion

# Check if vault note was created
ls -la ~/Vault/Resources/videos/*SLUG*

# Check system log for pipeline entries
tail -10 ~/Vault/system/system-log.jsonl | grep -i video

Batch Ingest

Send multiple events. Inngest queues and processes them with concurrency control:

joelclaw send pipeline/video.download -d '{"url":"https://youtube.com/watch?v=XXXX"}'
joelclaw send pipeline/video.download -d '{"url":"https://youtube.com/watch?v=YYYY"}'
joelclaw send pipeline/video.download -d '{"url":"https://youtube.com/watch?v=ZZZZ"}'

Manual Transcript (Non-YouTube)

For audio files already on disk, or raw text from Granola/Fathom:

# From audio file
joelclaw send pipeline/transcript.process -d '{"source":"manual","audioPath":"/path/to/audio.mp4","title":"Recording Title","slug":"recording-title"}'

# From raw text (Granola, Fathom, etc.)
joelclaw send pipeline/transcript.process -d '{"source":"granola","text":"transcript text...","title":"Meeting Title","slug":"meeting-title"}'

Re-run Summary Only

If the vault note exists but needs a better summary:

joelclaw send content/summarize -d '{"vaultPath":"/Users/joel/Vault/Resources/videos/SLUG.md"}'

Options

FieldDefaultDescription
urlrequiredYouTube or video URL
maxQuality"1080"Max video resolution: "720", "1080", "4k"

Where Things End Up

WhatLocation
Video + metadataNAS: /volume1/home/joel/video/YYYY/SLUG/
Vault note~/Vault/Resources/videos/SLUG.md
Daily note link~/Vault/Daily/YYYY-MM-DD.md under ## Videos
System log entry~/Vault/system/system-log.jsonl

Troubleshooting

If events are accepted (200 OK) but nothing happens:

  1. Check Docker→worker connectivity — the most common issue: docker logs $(docker ps -q --filter ancestor=inngest/inngest) 2>&1 | grep -E "ERROR|Unable" | tail -5 If you see "Unable to reach SDK URL" → see the inngest skill's serveHost gotcha.
  2. Check worker is actually running: kubectl get deploy -n joelclaw system-bus-worker kubectl get pods -n joelclaw -l app=system-bus-worker
  3. Check worker errors for the specific function: kubectl logs -n joelclaw deploy/system-bus-worker --tail=80
  4. Use inngest-debug skill for deep inspection of specific run IDs via GraphQL.

What NOT to Do

  • ❌ Don't run yt-dlp directly — the pipeline handles download + NAS transfer
  • ❌ Don't run mlx_whisper directly — the pipeline handles transcription
  • ❌ Don't scp to NAS manually — the pipeline handles transfer
  • ❌ Don't create vault notes manually — the pipeline creates them with proper frontmatter
  • ❌ Don't use codex/background tasks for video processing — Inngest is durable and has retries

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.1%
按下载量换算83

Claude

30.34%
按下载量换算70

Cursor

18.16%
按下载量换算42

Gemini CLI

8.44%
按下载量换算19

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

未通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills