CtrlK
BlogDocsLog inGet started
Tessl Logo

create-moviepilot-plugin

Use this skill when the user asks to create, modify, debug, validate, or scaffold a MoviePilot local plugin. Covers MoviePilot V2 plugin development, _PluginBase implementations, package.v2.json/package.json market metadata, plugins.v2/plugins source layout, PLUGIN_LOCAL_REPO_PATHS local plugin sources, plugin APIs, Vuetify JSON forms/pages/dashboards, Vue module federation remote components, get_render_mode, get_sidebar_nav, plugin sidebar pages, commands, services, workflow actions, agent tools, and local install/reload flows. Also use for Chinese requests mentioning 编写插件、本地插件源, 插件开发, V2插件, 插件市场, 本地安装插件, 插件热加载, 前端联邦, 侧栏入口, Vue插件页面.

73

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

85%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable and well-sequenced with strong validation feedback loops, but it is a single large file that inlines substantial detail (Vue federation, troubleshooting, full skeletons) that could be offloaded to reference files. Conciseness is good though not maximal due to repeated guardrail clauses.

Suggestions

Extract the Vue Federation UI and Vue Federation Troubleshooting sections into references/vue-federation.md and references/troubleshooting.md, leaving concise summaries and a one-level-deep pointer in SKILL.md to improve progressive_disclosure.

Move the full Implementation Skeleton into references/skeleton.py (or skeleton.md) and keep only a compact illustrative excerpt inline, reducing the top-level token load.

Tighten the repeated 'Do not...' guardrails in Code Tool Workflow and Package Metadata into a single consolidated rules list to lift conciseness toward 5.

DimensionReasoningScore

Conciseness

The body is dense and technical, assuming Claude's competence (no concept primers), but some guardrail phrasing such as 'Do not guess API signatures from memory' and repeated 'Do not...' rules could be trimmed; it is efficient but not maximally lean.

4 / 5

Actionability

Provides copy-paste-ready, executable code throughout — a complete _PluginBase skeleton, get_render_mode/get_sidebar_nav implementations, Vite federation config, and concrete tool invocations like install_plugin(plugin_id="<PluginID>", force=True) — covering the common cases fully.

5 / 5

Workflow Clarity

Multi-step processes are explicitly sequenced with validation checkpoints: a numbered Pre-Flight with a UI Mode Selection Gate that waits for the answer, an Install/Reload sequence, and a Validation section with feedback loops (re-read changed files, confirm consistency, run typecheck/build then verify copied assets).

5 / 5

Progressive Disclosure

The file is a ~530-line monolith with no bundle files in references/scripts/assets; detailed sections like Vue Federation UI, Vue Federation Troubleshooting, and the full Implementation Skeleton are inlined where a one-level-deep reference would reduce top-level load, so structure is present but content is not split across files.

3 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is exemplary: third-person voice, dense with concrete actions and domain-specific trigger terms in both English and Chinese, and it explicitly separates the 'what' from the 'when'. It is concise yet comprehensive and presents a distinct niche with near-zero conflict risk.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'create, modify, debug, validate, or scaffold a MoviePilot local plugin' — plus enumerated capability surfaces (_PluginBase, package.v2.json, get_render_mode, get_sidebar_nav, agent tools, install/reload), giving comprehensive coverage rather than vague abstraction.

5 / 5

Completeness

Explicitly answers both 'what' (MoviePilot V2 plugin development, _PluginBase implementations, package metadata, plugin APIs, Vue federation) and 'when' with a literal 'Use this skill when...' clause and a second 'Also use for...' clause listing concrete trigger phrases.

5 / 5

Trigger Term Quality

Comprehensive natural trigger coverage in both English ('create...modify, debug, validate, or scaffold') and Chinese synonyms ('编写插件、本地插件源, 插件开发, V2插件, 插件市场, 本地安装插件, 插件热加载, 前端联邦, 侧栏入口, Vue插件页面'), including the exact phrases a user would say.

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche — MoviePilot V2 local plugins — with domain-specific identifiers (PLUGIN_LOCAL_REPO_PATHS, plugins.v2, package.v2.json, get_sidebar_nav) that would not match other skills, yielding minimal conflict risk.

5 / 5

Total

20

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (546 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository
jxxghp/MoviePilot
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.