Contributor-First PR Merge
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
Publishes and syncs a local MoviePilot plugin to a GitHub repository, merging only that plugin's package entry and previewing differences before writing.
$ npx skills add jxxghp/MoviePilot --skill publish-moviepilot-plugin -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jxxghp/MoviePilot publish-moviepilot-plugin --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jxxghp/MoviePilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/publish-moviepilot-plugin .claude/skills/publish-moviepilot-plugin && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "publish-moviepilot-plugin" agent skill from https://github.com/jxxghp/MoviePilot/tree/v3/skills/publish-moviepilot-plugin into .claude/skills/publish-moviepilot-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-moviepilot-plugin", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jxxghp/MoviePilot/tree/v3/skills/publish-moviepilot-pluginType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jxxghp/MoviePilot --skill publish-moviepilot-plugin -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jxxghp/MoviePilot publish-moviepilot-plugin --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jxxghp/MoviePilot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/publish-moviepilot-plugin .agents/skills/publish-moviepilot-plugin && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "publish-moviepilot-plugin" agent skill from https://github.com/jxxghp/MoviePilot/tree/v3/skills/publish-moviepilot-plugin into .agents/skills/publish-moviepilot-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-moviepilot-plugin", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jxxghp/MoviePilot --skill publish-moviepilot-plugin -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jxxghp/MoviePilot publish-moviepilot-plugin --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jxxghp/MoviePilot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/publish-moviepilot-plugin .cursor/skills/publish-moviepilot-plugin && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "publish-moviepilot-plugin" agent skill from https://github.com/jxxghp/MoviePilot/tree/v3/skills/publish-moviepilot-plugin into .cursor/skills/publish-moviepilot-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-moviepilot-plugin", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jxxghp/MoviePilot.git --path skills/publish-moviepilot-plugin--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jxxghp/MoviePilot --skill publish-moviepilot-plugin -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jxxghp/MoviePilot publish-moviepilot-plugin --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jxxghp/MoviePilot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/publish-moviepilot-plugin .gemini/skills/publish-moviepilot-plugin && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "publish-moviepilot-plugin" agent skill from https://github.com/jxxghp/MoviePilot/tree/v3/skills/publish-moviepilot-plugin into .gemini/skills/publish-moviepilot-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-moviepilot-plugin", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jxxghp/MoviePilot publish-moviepilot-pluginInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jxxghp/MoviePilot --skill publish-moviepilot-plugin -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jxxghp/MoviePilot.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/publish-moviepilot-plugin .github/skills/publish-moviepilot-plugin && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "publish-moviepilot-plugin" agent skill from https://github.com/jxxghp/MoviePilot/tree/v3/skills/publish-moviepilot-plugin into .github/skills/publish-moviepilot-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-moviepilot-plugin", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jxxghp/MoviePilot --skill publish-moviepilot-plugin -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jxxghp/MoviePilot publish-moviepilot-plugin --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jxxghp/MoviePilot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/publish-moviepilot-plugin .opencode/skills/publish-moviepilot-plugin && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "publish-moviepilot-plugin" agent skill from https://github.com/jxxghp/MoviePilot/tree/v3/skills/publish-moviepilot-plugin into .opencode/skills/publish-moviepilot-plugin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "publish-moviepilot-plugin", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
publish-moviepilot-pluginPublishes and syncs a local MoviePilot plugin to a GitHub repository, merging only that plugin's package entry and previewing differences before writing.
A local MoviePilot plugin stored under `plugins.v2` or the older `plugins` layout is published to GitHub without touching anything else. Only that plugin's files go up, only its entry is merged into `package.v2.json` or `package.json`, local and remote differences are previewed before any write, and remote files can be pulled back to the local source. Secrets and unrelated plugins are kept out of the upload, and updates go through the GitHub Contents API incrementally.
Pre-flight steps settle the plugin ID, the local repository (your path, or the one in `PLUGIN_LOCAL_REPO_PATHS`, asking if several match), the target `owner/repo`, the package layout (v2 preferred) and the token, preferring `REPO_GITHUB_TOKEN` over `GITHUB_TOKEN`. If no target repository is known, the agent asks whether to use an existing one or create a new public repository, and creates a private one only when you ask. A helper script is `scripts/publish_plugin.py`.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 28e1cb3. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
read_filewrite_fileedit_fileapply_patchexecute_commandmoviepilot_apiFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GITHUB_TOKENREPO_GITHUB_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Publish MoviePilot Plugin loads about 1.9k tokens when it runs. Until then it costs about 179 tokens; SKILL.md has 777 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
`.env`, `.env.*`, `config/`, `data/`, `cache/`, `logs/`, `tmp/`,Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from jxxghp/MoviePilot at commit 28e1cb3, republished under its GPL-3.0 licence (© jxxghp). 777 words, ~1,914 tokens.
.claude/skills/publish-moviepilot-plugin/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Use this skill to publish and maintain a MoviePilot local plugin repository through GitHub while protecting local secrets and unrelated plugins.
plugins.v2/<plugin_id_lower>/ or
plugins/<plugin_id_lower>/ to a GitHub repository.package.v2.json or package.json.GITHUB_TOKEN, REPO_GITHUB_TOKEN,
and PLUGIN_LOCAL_REPO_PATHS when available.skills/create-moviepilot-plugin/SKILL.md.app/adapters/external/market.py,
PluginHelper.get_local_repo_paths().app/runtime/config.py, especially GITHUB_TOKEN and
REPO_GITHUB_TOKEN.package.v2.json and plugins.v2/<plugin_id_lower>/package.json and plugins/<plugin_id_lower>/PLUGIN_LOCAL_REPO_PATHS; if exactly one configured
repository contains the plugin, use it.owner/repo.owner/repo.owner/repo
and state that the repository will be public by default.v2 when package.v2.json or plugins.v2/<plugin_id_lower>/
exists.plugins/.REPO_GITHUB_TOKEN for the target repo when configured.GITHUB_TOKEN.Use scripts/publish_plugin.py for deterministic GitHub operations.
python skills/publish-moviepilot-plugin/scripts/publish_plugin.py preview \
--repo owner/repo \
--plugin-id MyPlugin \
--local-repo /path/to/MoviePilot-Plugins \
--package-version v2
python skills/publish-moviepilot-plugin/scripts/publish_plugin.py push \
--repo owner/repo \
--plugin-id MyPlugin \
--local-repo /path/to/MoviePilot-Plugins \
--package-version v2 \
--message "Publish MyPlugin v1.0.0"
python skills/publish-moviepilot-plugin/scripts/publish_plugin.py pull \
--repo owner/repo \
--plugin-id MyPlugin \
--local-repo /path/to/MoviePilot-Plugins \
--package-version v2
python skills/publish-moviepilot-plugin/scripts/publish_plugin.py create-repo \
--repo owner/repoOptions:
create-repo: create the target GitHub repository. Default visibility is
public; use --private only when the user explicitly asked for private.preview: compare local filtered files with remote files and print JSON.push: upload changed files and merge the plugin package entry.pull: write remote plugin files and package entry into local source.--create-repo-if-missing: on push, create the target public repository when
GitHub reports that it does not exist.--delete-remote: on push, delete remote plugin files that no longer exist
locally after exclusions.--force: on pull, allow overwriting local files that differ from remote.--include PATTERN: add files otherwise excluded by default.--exclude PATTERN: add an extra ignore pattern.--dry-run: print planned changes without writing.--proxy URL: use an explicit HTTP/HTTPS proxy for GitHub API requests.preview before push unless the user explicitly asks for a
direct push and already reviewed the diff.使用已有 GitHub 仓库 or 自动创建 GitHub 仓库(默认 public).create-repo or push --create-repo-if-missing after the user has
explicitly chosen automatic creation..env, .env.*, config/, data/, cache/, logs/, tmp/,
__pycache__/, .pytest_cache/, .mypy_cache/, .ruff_cache/,
.DS_Store, *.pyc, *.pyo, *.db, *.sqlite, *.sqlite3, *.log,
*.bak, *.tmp, *.secret, *.key, *.pem, *.crt, *.p12, *.pfx,
node_modules/.dist/assets/
when they are present; do not exclude them as generated files.--force is used.User asks: 把本地 MyPlugin 发布到我的 GitHub 插件仓库
MyPlugin under configured PLUGIN_LOCAL_REPO_PATHS.owner/repo cannot be inferred.preview and summarize the diff.push only after the user confirms or requested immediate publish.User asks: 发布插件,没有 GitHub 仓库
owner/repo and confirm automatic creation.create-repo or use push --create-repo-if-missing.preview and push after repository creation succeeds.User asks: 同步 GitHub 上 MyPlugin 的最新代码到本地
pull without --force.© jxxghp, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in skills/publish-moviepilot-plugin of jxxghp/MoviePilot.
Open the folder on GitHubat commit 28e1cb3
Publish MoviePilot Plugin next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Publish MoviePilot Plugin this skilljxxghp/MoviePilot | 12k | — | ~1.9k | Automated safety check: Notes | GPL-3.0 | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Mole Release Notes Publishertw93/Mole | 70k | — | ~1.9k | Automated safety check: Pass | GPL-3.0 | |
| Pre-Release PR Triagejamiepine/voicebox | 57k | — | ~3.1k | Automated safety check: Pass | MIT | |
| WinAppSDK Triage Meeting Prepmicrosoft/WindowsAppSDK | 4.7k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Verdaccio PR Reviewverdaccio/verdaccio | 18k | — | ~1.7k | Automated safety check: Pass | MIT |
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
tw93/Mole
Publishes curated, bilingual release notes for an existing Mole version tag with gh release edit, including contributor thanks and reactions, after the release workflow finishes.
jamiepine/voicebox
Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.
microsoft/WindowsAppSDK
Prepares the triage meeting summary for WinAppSDK Needs-Triage issues, with research-backed area suggestions, draft replies and a diff since the last triage.
verdaccio/verdaccio
Reviews an existing verdaccio/verdaccio pull request end to end, verifies each finding and reports whether it is mergeable, optionally fixing it on the PR branch.
ansible/ansible
Creates backports of a merged Ansible devel pull request onto the right stable branches by cherry-picking its merge commit onto new backport branches.
jxxghp/MoviePilot
Inspects, diagnoses and directly controls qBittorrent, Transmission or rTorrent downloaders configured in MoviePilot through a bundled Python helper.
jxxghp/MoviePilot
Turns a confirmed MoviePilot bug or feature request into a structured upstream GitHub issue, but only after local diagnosis and an explicit request to file.
jxxghp/MoviePilot
Inspects and operates Emby, Jellyfin, Plex and other media servers configured in MoviePilot through one helper script, without exposing stored credentials.
jxxghp/MoviePilot
Submits code changes as a GitHub pull request through an isolated Git clone, reusing or creating your fork and pushing only after you confirm the real diff.
jxxghp/MoviePilot
Gives your agent a real-time search service for web queries, domain-specific lookups, parallel batch searches and full-page URL extraction.
jxxghp/MoviePilot
Inspects, queries and carefully modifies the MoviePilot SQLite or PostgreSQL database through a bundled script that reads connection settings itself, without needing the password in the prompt.
Works with
Categories
Publishes and syncs a local MoviePilot plugin to a GitHub repository, merging only that plugin's package entry and previewing differences before writing. v2` or the older `plugins` layout is published to GitHub without touching anything else.json`, local and remote differences are previewed before any write, and remote files can be pulled back to the local source.
Publish MoviePilot Plugin fits situations like: publishing a local MoviePilot plugin to a GitHub repository; pulling plugin changes from GitHub back into the local plugin source; previewing the diff between local and remote plugin files before pushing; maintaining the package metadata of a plugin repository.
Run `npx skills add jxxghp/MoviePilot --skill publish-moviepilot-plugin -a claude-code`. Or copy the skill folder (skills/publish-moviepilot-plugin in jxxghp/MoviePilot) into .claude/skills/publish-moviepilot-plugin in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jxxghp/MoviePilot --skill publish-moviepilot-plugin -a codex`. Or copy the skill folder (skills/publish-moviepilot-plugin in jxxghp/MoviePilot) into .agents/skills/publish-moviepilot-plugin in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jxxghp/MoviePilot --skill publish-moviepilot-plugin -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/publish-moviepilot-plugin, .gemini/skills/publish-moviepilot-plugin, .github/skills/publish-moviepilot-plugin and .opencode/skills/publish-moviepilot-plugin in your project.
Going by SKILL.md and its folder, Publish MoviePilot Plugin needs Python for the scripts in its folder, the command-line tools its instructions call (python) and credentials named GITHUB_TOKEN and REPO_GITHUB_TOKEN. Our summary lists: MoviePilot with a `GITHUB_TOKEN` or `REPO_GITHUB_TOKEN` setting; Local plugin repositories listed in `PLUGIN_LOCAL_REPO_PATHS`; Python, for `scripts/publish_plugin.py`. Its frontmatter pre-approves these tools: read_file, write_file, edit_file, apply_patch, execute_command, moviepilot_api.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Publish MoviePilot Plugin is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Publish MoviePilot Plugin: Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Mole Release Notes Publisher (tw93/Mole, 70k stars), Pre-Release PR Triage (jamiepine/voicebox, 57k stars) and WinAppSDK Triage Meeting Prep (microsoft/WindowsAppSDK, 4.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jxxghp (a GitHub user) maintains it in jxxghp/MoviePilot, which has 11,861 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 11, 2026.
Source: jxxghp/MoviePilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.