This skill should be used when the user wants to view, review, rate, organize, search, or export images / AI-art generations with the Cull app. Trigger on "show me these images", "review this batch", "open these in Cull", "rate / shortlist / collect these", "find similar images", "make a smart collection", "run a quality pass", "export the keepers", "publish this collection". Works via the `cull` CLI by default (no MCP required); the `mcp__cull__*` tools are optional for richer interactive control.
npx skills add https://github.com/glebis/claude-skills --skill cull
Cull is a local AI-art image-library app: import folders, browse, rate/decide, build collections, run vision/quality analysis, find similar via embeddings, and export/publish.
Cull exposes the same operations four ways: the cull CLI, the cull:// URL scheme, the GUI, and an MCP server — all thin wrappers over one Rust core. Default to the CLI + URL scheme. They need no MCP connection and survive app restarts. Reach for the MCP only when interactive control is needed that the headless surface doesn't implement yet (see "When the MCP is needed").
To show or review images, use Cull — never open <image> or Preview. The user does not want Preview windows. Display by importing into Cull's library and fronting the app on the folder (below). Fronting the app is fine; opening image *files* with open is not.
The binary lives at /Applications/Cull.app/Contents/MacOS/cull. Set it once:
CULL="/Applications/Cull.app/Contents/MacOS/cull"
With no subcommand it launches the GUI; with a subcommand it runs headless and exits, writing to the same library DB the running app reads. Add --json for machine-readable output.
Show / review a batch — the most common task. Import (headless), then front the app on the folder via the URL scheme:
$CULL --json import_folder --folder_path "/abs/path/to/batch"
open -a /Applications/Cull.app "cull://open?path=/abs/path/to/batch&view=grid" # &view=loupe for single-image detail
open -a Cull # ensure the window is frontmost
Re-running import_folder is safe — already-imported files are skipped.
These are live in the shipped binary (cull --help to confirm). Field names match the MCP tool params.
| Command | Purpose |
|---|---|
| import_folder --folder_path P / import_files --file_paths a,b | Bring a folder / specific files into the library |
| list_folders / list_images [--limit N --offset N] / list_collections | Enumerate folders / images / collections |
| get_library_stats | Library-wide counts |
| list_export_presets / export_images --image_ids … --output_dir … --format … | List presets / export to disk (also --collection_id or --folder_path) |
| get_embedding_model_download_info / download_embedding_model / generate_embeddings | Embedding model prereq + build (async) |
| analyze_image_quality / get_image_quality / get_quality_count | Run quality analysis / read scores / count by bucket |
| call_tool <tool> --params_json '{…}' | Generic escape hatch — call any MCP-named tool with a JSON object |
call_tool accepts MCP-shaped params, so any MCP operation can be tried headless:
$CULL --json call_tool import_folder --params_json '{"folder_path":"/abs/path"}'
$CULL --json call_tool export_images --params_json '{"collection_id":"<id>","output_dir":"/tmp/out","format":"original"}'
open -a /Applications/Cull.app "cull://<action>?<params>" — paths URL-encoded, multiple paths comma-separated. Always pass -a /Applications/Cull.app: dev builds of Cull also register the cull:// scheme, and a bare open "cull://…" may route to a stale copy (URL silently goes nowhere). GUI actions front the window; if the app isn't running, macOS launches it.
| Action | Example |
|---|---|
| open / navigate | cull://open?path=/abs/folder&view=grid (view=loupe, &focus=N, &fullscreen=true) |
| search | cull://search?q=sunset |
| similar | cull://similar?path=/abs/ref.jpg&top=5 |
| rate / accept | cull://rate?path=/abs/img.jpg&stars=4 · cull://accept?path=/abs/img.jpg |
| collection | cull://collection/add?name=picks&paths=/abs/a.jpg,/abs/b.jpg |
URL-scheme calls are fire-and-forget (no return value). When a result is needed, use the CLI (--json) or the MCP.
Loupe one image. open -a /Applications/Cull.app "cull://open?path=/abs/img.png&view=loupe".
Export the keepers. list_export_presets → export_images with --collection_id / --folder_path / --image_ids, an --output_dir, and --format.
Quality pass. analyze_image_quality (async — it returns a job; for CLI poll by re-reading) → get_quality_count for the distribution → get_image_quality per image.
Embeddings prerequisite. download_embedding_model (once) → generate_embeddings (async). Only then does similarity work (cull://similar?…, or find_similar over MCP).
The headless CLI does not yet implement interactive curation and live navigation — those exist only as mcp__cull__* tools (or manual GUI). Reach for the MCP to:
navigate_to_folder, show_image, show_collection (the URL scheme covers the common cases, but these give programmatic control and confirmation).set_rating, set_decision, create_collection, add_to_collection, create_smart_collection.find_similar, search_by_object, detect_objects / get_detections, analyze_images, get_vision_metadata.list_jobs / get_job / cancel_job.export_static_publish_package / serve_static_publish_package, clipboard-collection tools.MCP mechanics. These tools are named mcp__cull__<tool> and in Claude Code are deferred — schemas aren't loaded, so a direct call fails. Load before calling, only what the recipe needs:
ToolSearch "select:mcp__cull__navigate_to_folder,mcp__cull__set_rating"
The MCP drops when Cull restarts. Quitting/relaunching the app kills its MCP server; it must be reconnected by the user via /mcp before any mcp__cull__* call works again. The CLI + URL scheme have no such dependency — prefer them, and fall back to MCP only for the interactive operations above.
open / Preview instead of Cull. The cardinal sin — review always happens in Cull (import_folder + cull://open, or the MCP show/navigate tools)./mcp reconnect. Don't restart Cull mid-task if you depend on the MCP.ToolSearch "select:mcp__cull__…" first.cull <command> --help or load the MCP tool and read its schema.delete_collection and prune_audit_log remove data; confirm before running.create_token / rotate_token / revoke_token change access credentials — don't touch unless the user explicitly asks.agent-im 会话技能 - 通过 liblib.tv 的 AI 能力生成和编辑图片/视频。覆盖场景包括:生成(文生图、文生视频、图生视频、做动画、画一个xxx、来段xxx)、编辑修改(把xxx换成yyy、去掉xxx、加上xxx、改成xxx、调整xxx、局部修改、改镜头)、风格转换(风格迁移、转绘、换风格)、视频续写延长、复刻视频/TVC/宣传片、短剧/短漫剧生成、音乐MV生成、产品广告/展示片制作、分镜/故事板设计、教育视频/短视频制作。当用户提到 liblib、libtv、上传参考图/视频、查看生成进度时也应触发。关键判断:只要用户的请求涉及 AI 图片或视频的创作、生成、编辑、修改,无论措辞如何(如"画只猫"、"做个海报"、"把纸船换成爱心"、"这个视频帮我改一下"、"帮我复刻这段视频"、"用这首歌做个MV"、"一句话生成短剧"),都必须触发此技能。
This skill should be used when the user asks to "generate video prompts", "create Seedance prompts", "write video descriptions", mentions "Seedance", "seedance", "即梦", "即梦平台", "视频提示词", "视频生成", "AI视频", "短剧", "广告视频", "视频延长", or discusses video prompt engineering, AI video generation, or Seedance 2.0 workflows.
Best practices and techniques for writing effective AI video generation prompts. Covers: Veo, Seedance, Wan, Grok, Kling, Runway, Pika, Sora prompting strategies. Learn: shot types, camera movements, lighting, pacing, style keywords, negative prompts. Use for: improving video quality, getting consistent results, professional video prompts. Triggers: video prompt, how to prompt video, veo prompts, video generation tips, better ai video, video prompt engineering, video prompt guide, video prompt template, ai video tips, video prompt best practices, video prompt examples, cinematography prompts
This skill is a practical, 'use-it-while-debugging' reference for getting a LiveKit + Letta voice agent working reliably.
Download screenshot baselines from the latest CI run and commit them. Use when asked to update, accept, or refresh component screenshot baselines from CI, or after the screenshot-test GitHub Action reports differences. This skill should be run as a subagent.
| Turn vague taste, screenshots, URLs, product notes, or "make it feel like this" references into a grounded DESIGN.md plus an implementation handoff. Use it before prototypes, decks, redesigns, or image remix work when the user needs a reusable visual direction rather than a one-off prompt.
>- Upload local assets (images, mockups, extracted HTML, design markdown) to a Stitch project. ALWAYS use this skill when you need to upload visual assets, HTML pages, or design docs to Stitch, particularly when direct MCP tool calls fail or truncate due to base64 token limits.
This skill helps users automatically extract channel-level and video detail data from a specific YouTube channel via BrowserAct API. Agent should proactively apply this skill when users express needs like extracting channel video data, getting latest or popular videos from a YouTube channel, tracking competitor channel content, extracting video metrics such as views likes comments, retrieving subscriber count and channel info, monitoring posting cadence of a YouTube channel, gathering video data for content strategy analysis, getting earliest videos of a YouTube creator, analyzing engagement signals across a full channel, and downloading structured YouTube video details without manual scraping.
Take glebis/cull from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.