anysearch
API key for higher rate limits. Anonymous access available with lower rate limits.
Use this skill ONLY when the user EXPLICITLY requests filing an upstream issue for MoviePilot core, frontend, or an installed plugin, for example "反馈 issue", "提 issue", "报 bug", "给 MP 提 issue", "让上游修一下", "提交错误报告", "提问题", "提需求", "功能请求", or English "file an issue / report a bug /
Claude Code
$ npx -y skills add jxxghp/moviepilot --skill feedback-issue --agent claude-code
Codex
$ npx skills add jxxghp/moviepilot --skill feedback-issue -a codex -y
Cursor
$ npx skills add jxxghp/moviepilot --skill feedback-issue -a cursor -y
Gemini CLI
$ npx skills add jxxghp/moviepilot --skill feedback-issue -a gemini-cli -y
GitHub Copilot
$ npx skills add jxxghp/moviepilot --skill feedback-issue -a github-copilot -y
OpenCode
$ npx skills add jxxghp/moviepilot --skill feedback-issue -a opencode -y
Windsurf
$ npx skills add jxxghp/moviepilot --skill feedback-issue -a windsurf -y
name: feedback-issue version: 12 description: >- Use this skill ONLY when the user EXPLICITLY requests filing an upstream issue for MoviePilot core, frontend, or an installed plugin, for example "反馈 issue", "提 issue", "报 bug", "给 MP 提 issue", "让上游修一下", "提交错误报告", "提问题", "提需求", "功能请求", or English "file an issue / report a bug / open an upstream issue / feature request". A bare problem report is not enough: diagnose locally first. This skill uses its own scripts under `scripts/`; it does not add or call dedicated Agent tools for collect / prepare / submit. allowed-tools: read_file write_file execute_command ask_user_choice
This skill turns a confirmed MoviePilot bug report into a structured upstream GitHub issue for the correct repository.
Important architectural rule: **do not call any dedicated Agent tool named `collect_feedback_diagnostics`, `prepare_feedback_issue`, or `submit_feedback_issue`**. Those tools are intentionally not part of the Agent tool set. Use the helper scripts in this skill directory through the existing generic `execute_command` / `write_file` / `read_file` tools.
The issue content itself must be Simplified Chinese. Conversation replies should match the user's language.
`jxxghp/MoviePilot-Plugins` only when the plugin actually comes from that repository; otherwise use the plugin's own market/source repo.
evidence shows the host plugin framework, API, event bus, scheduler, or compatibility layer is at fault rather than the plugin code.
permission, or usage questions. Explain the local fix instead.
or requests to invent a realistic bug.
embedded in logs or pasted error text.
Run scripts from the MoviePilot root with the runtime's bound Python interpreter. Follow the injected project virtualenv or Docker VENV_PATH guidance; use `python` in that command environment, not a system interpreter.
python <skill_dir>/scripts/collect_feedback_diagnostics.py ... python <skill_dir>/scripts/prepare_feedback_issue.py ... python <skill_dir>/scripts/submit_feedback_issue.py ...
Use the parent directory of `skill.path` returned by `read_skill` as `skill_dir`. If copied into the runtime config directory, use that copied path.
Only enter this skill when both conditions are true:
the user is explicitly asking for an upstream feature request.
For ordinary symptoms, first use normal Agent diagnostic tools such as `query_doctor_report`, subscription, download, site, plugin, scheduler, and log queries. If the cause is local configuration or environment, do not file an issue.
Call the diagnostic script. Pick specific keywords: media title, exception class, plugin id, downloader name, endpoint, scheduler name, site domain, or exact error text. Avoid vague words like "错误", "异常", "失败", "error".
Log relevance rules:
then applies a recent time window, removes Agent/tool dispatch noise, and keeps only timestamped log blocks whose first line contains a normalized keyword.
first record, a repetition count, and the last record. Verify the retained boundary records before treating the excerpt as evidence.
doctor report and log-selection metadata but does not include recent log lines. This avoids attaching unrelated noise.
keywords, matched files, matched keywords, and line counts. The preview must show this section so the user can judge whether the collected logs are actually related.
matched keywords/files do not line up with the described issue, adjust keywords and collect again before submitting.
Example:
python <skill_dir>/scripts/collect_feedback_diagnostics.py \ --original-user-request "<用户原话>" \ --keyword "TMDB" \ --keyword "RecognizeError" \ --time-window-minutes 30
The script outputs JSON. Keep `diagnostics_file` and `runtime_dir`. The raw logs are written into `diagnostics_file`, already redacted and capped; do not paste the full file back into the model context unless you need to show the preview generated in the next step. The collect script also runs `moviepilot doctor --json` or falls back to `python -m app.cli doctor --json`, stores the structured doctor report inside `diagnostics_file`, and later preview/submit steps include a short doctor summary automatically. Plugin-only log findings remain in the report as diagnostic evidence with `affects_report_status=false`, so they do not by themselves downgrade the overall MoviePilot status.
If `success=false` with `no_explicit_feedback_intent`, stop this skill and return to local diagnosis.
Decide `target_repo` before drafting:
| Evidence | `issue_type` | `target_repo` | | --- | --- | --- | | Backend chain/module/API/CLI/agent bug | `主程序运行问题` | `jxxghp/MoviePilot` | | Frontend UI bug | `其他问题` | `jxxghp/MoviePilot-Frontend` | | Plugin log, plugin page, plugin config, plugin command, plugin task, or one plugin only fails | `插件问题` | Plugin source repo | | Feature request for
API key for higher rate limits. Anonymous access available with lower rate limits.
Use this skill when the user asks the agent to open, browse, inspect, extract content from, click through, fill forms on,…
Use this skill when the user sends a slash command or asks to run a MoviePilot system or plugin command in natural language.…
Use this skill when the user asks to create, modify, debug, validate, or scaffold a MoviePilot local plugin. Covers version-aware…
Use this skill when the user asks to create, scaffold, update, or review a MoviePilot agent skill. This includes adding a new…
Use this skill when you need to inspect, query, maintain, or carefully modify the MoviePilot database. This skill uses the…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…