CtrlK
BlogDocsLog inGet started
Tessl Logo

folia-plugin-scaffold

Scaffold a new in-house Folia/Paper plugin for the FoliaNexa cluster (folia-server repo), either from a feature description or by pointing at an existing mod/plugin on Modrinth and producing an original, Folia-native plugin that replicates its player-facing behavior. Use when a developer asks to create/write/build/port a plugin for this cluster, or says something like "make a plugin like <modrinth URL>" / "port this mod to Folia". Covers requirement gathering, the Modrinth lookup + feature-triage procedure (and its legal/ethical boundaries — never copy source, always disclose inspiration), the Gradle/Java 21/paper-api project skeleton, Folia-safe RegionScheduler/GlobalRegionScheduler/AsyncScheduler usage, and wiring the finished plugin toward mgmt/src/folia_mgmt/catalog.yaml per docs/plugin-dev/03-submitting-for-review.md.

75

Quality

94%

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

88%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.

A highly actionable, well-sequenced skill body with concrete commands, real API names, and strong validation/feedback loops throughout the workflow. Its main weakness is structural: it depends on a templates/ bundle directory that is absent, so several inline references cannot be followed.

Suggestions

Ship the referenced templates/ directory (settings.gradle.kts, build.gradle.kts, plugin.yml, config.yml, MainClass.java, ExampleListener.java, ExampleCommand.java, README.md, catalog-entry.yaml, gitignore) so the §2 copy-and-substitute step and the §7 catalog-entry tokens actually resolve.

Trim narrative asides such as 'this is the part templates can't do for you' and 'worth restating here since this is the point you'd otherwise stop' to push conciseness toward lean/dense.

If any referenced docs/plugin-dev/* paths are not guaranteed to exist in every target checkout, note that dependency explicitly so the one-level-deep references are reliable.

DimensionReasoningScore

Conciseness

Mostly lean and directive — it does not re-explain what Folia, Gradle, or paper-api are — but carries a few narrative asides ('this is the part templates can't do for you', 'worth restating here since this is the point you'd otherwise stop') that could be trimmed; not a 5 because not every token earns its place.

4 / 5

Actionability

Provides fully executable, copy-paste-ready guidance: real curl calls against api.modrinth.com and repo.papermc.io, exact grep patterns for the self-review, a complete token-substitution table, and named real APIs (Bukkit.getRegionScheduler(), getAsyncScheduler(), isOwnedByCurrentRegion()) covering the common cases.

5 / 5

Workflow Clarity

A clear §0–§7 sequence with explicit validation checkpoints and feedback loops: confirm the paper-api coordinate resolves before committing (§3), build and verify with a 'never claim success without having run it' rule (§5), and a self-review checklist with concrete grep verification (§6).

5 / 5

Progressive Disclosure

Well-sectioned body with one-level-deep, clearly signaled references to the docs/plugin-dev/* series, but it repeatedly directs the reader to copy files from a 'templates/' directory (templates/README.md, templates/catalog-entry.yaml, MainClass.java, etc.) that is not present in the skill bundle, so the split is appropriate in intent yet broken in practice; not a 5 because navigation to the referenced templates does not resolve.

4 / 5

Total

18

/

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.

A strong, specific description that clearly states both what the skill does and exactly when to invoke it, with natural quoted trigger phrases and a well-scoped niche that minimizes conflict risk. Third-person voice is maintained throughout, and it avoids vague fluff while staying comprehensive.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Scaffold a new in-house Folia/Paper plugin', 'Modrinth lookup + feature-triage procedure', 'Gradle/Java 21/paper-api project skeleton', 'Folia-safe RegionScheduler/GlobalRegionScheduler/AsyncScheduler usage', 'wiring the finished plugin toward ... catalog.yaml' — covering the full workflow comprehensively.

5 / 5

Completeness

Explicitly answers both 'what' (the full scaffolding procedure and its sub-steps) and 'when' via a concrete 'Use when a developer asks to create/write/build/port a plugin for this cluster, or says something like ...' trigger clause.

5 / 5

Trigger Term Quality

Quotes natural phrases a developer would actually say — 'make a plugin like <modrinth URL>', 'port this mod to Folia', plus the synonym cluster 'create/write/build/port a plugin' — giving comprehensive natural-term coverage.

5 / 5

Distinctiveness Conflict Risk

A highly specific niche — the in-house FoliaNexa cluster, Modrinth-to-Folia porting, and catalog.yaml wiring — with distinct triggers that are unlikely to fire for unrelated skills.

5 / 5

Total

20

/

20

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 missing

Warning

Total

15

/

16

Passed

Repository
kenvandine/FoliaNexa
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.