executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
lov-media-fetchUse when the user asks to find and download a film, series, or long video. 以 aria2 为默认传输后端,完成多源测速、续传、容量预检、版本核验与字幕验收;也适用于“帮我下载这部电影”。
Independent GitHub snapshot · Automated classification · Original documentation governs
Turn one natural-language request into a verified local media file. Search broadly, identify the actual cut, balance picture quality against size, check storage before transfer, race viable sources, monitor the winner, recover from stalls, and inspect the completed file.
zh-Hans stream is a recoverable subtitle gap, not a reason to mislabel
the media. The subtitle branch may consult lov-subtitle-freedom-skill for
timestamp-preserving UTF-8 SRT handling. Its English-learning gloss and ASS modes
stay opt-in; plain Chinese subtitle delivery remains a separate, clearly named SRT.Resolve defaults through $KIT_DIR/references/user-config.md. On first use, show the
resolved output directory and preferences before persisting them. Keep credentials in
environment variables or the operating system credential store.
Load the selected module completely before acting:
$SKILL_DIR/skills/media-discovery/SKILL.md — identify the title and collect normalized candidates from several independent discovery paths.$SKILL_DIR/skills/media-selection/SKILL.md — verify editions and rank picture, codec, size, audio, subtitles, health, and evidence.$SKILL_DIR/skills/media-acquisition/SKILL.md — capacity preflight, parallel swarm probing, winner selection, progress observation, stall recovery, and cleanup.$SKILL_DIR/skills/media-verification/SKILL.md — inspect the downloaded files, edition runtime, streams, subtitle coverage, completeness, and final path.kit.yaml defines the available pipelines. Shared schemas and decision rules live in
$KIT_DIR/references/.
You MUST follow these steps in order.
SKILL_DIR, KIT_DIR, configuration, aria2 availability, and ffprobe.
Detect qBittorrent as an optional capability; its absence must not block discovery,
transfer, resume, verification, or reporting.full for a title request, choose for comparison only, download-known
for supplied links, resume for an existing job, or verify for a local file.$KIT_DIR/references/candidate-schema.md, then validate all handoff JSON.Capture title, year, media type, season/episode when relevant, edition preference, maximum size, destination override, audio/subtitle preference, and urgency. Infer omitted values from the portable profile. Do not ask the user to choose tooling.
Run the discovery module. Use at least two independent discovery paths when possible:
direct web or catalog research, a local DHT index such as Rats Search, user-supplied
links, or the optional qBittorrent search API. Deduplicate by info hash and canonical release identity. Preserve
a .torrent URL or local Torrent path even when its info hash is not known until
metadata resolution.
For title and edition truth, prefer distributor, studio, disc, catalog, or reliable release metadata. Keep search-result claims separate from verified facts.
Run the selection module and scripts/rank_candidates.py. Apply
$KIT_DIR/references/quality-policy.md.
choice_required=true.Resolve the destination, candidate size, probe concurrency, temporary probe budget,
fallback resume allowance, and free-space reserve. Run scripts/storage_preflight.py
before starting either backend.
If capacity is short, report available, required, and shortfall immediately. Offer the best smaller candidate or a different destination, then wait for that user-facing decision. Never silently consume the reserve.
Run the acquisition module and $KIT_DIR/references/acquisition-policy.md.
.aria2 state when
restarting an input. Switch to qBittorrent only when it is enabled and measured
evidence shows a healthier swarm or the user needs its queue/seeding behavior.
Record the reason, backend, and observed rate for each switch.Run the verification module and scripts/verify_media.py.
references/subtitle-handoff.md; do not create
an English-learning gloss or ASS file unless explicitly requested.Lead with completion status and the exact local path. Include title/edition, video and
audio summary, subtitle coverage, final size, advertised versus observed source
health, transport trace, elapsed time, and any remaining evidence gap. Distinguish
download_status, verification_status, and subtitle_status.
$KIT_DIR/references/candidate-schema.md — normalized candidate and decision JSON.$KIT_DIR/references/quality-policy.md — edition, picture, codec, size, language, and ambiguity rules.$KIT_DIR/references/acquisition-policy.md — capacity, probing, monitoring, switching, and cleanup rules.$KIT_DIR/references/user-config.md — portable defaults and secrets handling.$KIT_DIR/references/subtitle-handoff.md — Simplified Chinese SRT matching and the
opt-in handoff to lov-subtitle-freedom-skill.ffprobe from FFmpeg for final stream and duration inspection.运行前读取本 Skill 包的 skill.yaml,由宿主提供 skill-runtime/v1 上下文。字段解析顺序为:当前请求、项目上下文、个人 Preferences、品牌 Profile、通用默认值。
required: true 字段缺失时,按 Manifest 的问题配置向用户提出一个聚焦问题;用户明确同意后再保存回答。context_id、字段路径与来源,诊断内容避开秘密、完整私人路径和原始配置。