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.

74

Quality

93%

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 an unusually actionable, well-sequenced procedure with strong validation checkpoints and almost no filler — the what-to-do quality is top-tier. Its main structural defect is that the entire §2 scaffolding step and several later steps depend on a templates/ directory (and its specific token slots) that is not present in the skill bundle, making those references unverifiable, while the triage/legal detail inlined in a 274-line body is content that could live one level deep.

Suggestions

Ship the templates/ directory that §2 depends on (settings.gradle.kts, build.gradle.kts, gitignore, plugin.yml, config.yml, MainClass.java, ExampleListener.java, ExampleCommand.java, README.md, catalog-entry.yaml) — as bundled, the core scaffolding instruction points at files that do not exist, and the __INSPIRATION_NOTE__ slot and catalog tokens referenced in §1.3 and §7 cannot be verified.

Move the §1 Modrinth triage and legal/ethical boundary detail into a reference file (e.g. references/modrinth-porting.md), keeping a short decision-summary (plugin vs. mod vs. client-only) inline — the 274-line body currently inlines procedure detail that belongs one level deep.

Trim the justificatory asides (the docs-series intro paragraph, 'Java requires this', 'worth restating here since this is the point you'd otherwise stop') that explain why instructions exist rather than instructing.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious, project-specific knowledge (catalog conventions, Folia scheduler rules, legal boundaries) and wastes little on things Claude already knows. However, there are minor instances of over-explanation that could be trimmed, e.g. 'Java requires this' when explaining the file rename, the rationale aside 'this is what makes the logic unit-testable', 'worth restating here since this is the point you'd otherwise stop', and the intro paragraph about the docs series. This matches the anchor 'Efficient; minor instances of over-explanation that could be trimmed'; it is not score 5 because several justificatory asides and restatements do not themselves instruct, and not score 3 because nearly all content is genuinely non-obvious.

4 / 5

Actionability

The guidance is fully executable: exact curl commands for the Modrinth API with the specific fields to note, a complete token-substitution table with examples, exact file placements, a verification curl for the paper-api coordinate, build commands, and a grep self-review command. This matches the anchor 'Fully executable; copy-paste ready code or commands; specific examples cover the common cases'; §4 cannot be copy-paste by nature but compensates with verified, named Bukkit APIs and precise rules.

5 / 5

Workflow Clarity

The process is clearly sequenced §0–§7 with explicit validation checkpoints throughout: restate the feature summary before scaffolding (§1.4), confirm the paper-api coordinate exists before committing it (§3), a build/verify step with an honesty check (§5), and a full self-review checklist in §6 including a grep command with the instruction to actually read matches ('a zero count alone isn't proof of nothing'). This matches the anchor 'Clear sequence with explicit validation steps; feedback loops for error recovery; checklists' — e.g. 'If that prints nothing, that exact version isn't published — use the closest one that is'.

5 / 5

Progressive Disclosure

The body is well-sectioned and its references are clearly signaled one level deep, but the skill bundle contains only SKILL.md — no templates/ directory exists — yet §2's central instruction is 'Copy every file from this skill's templates/ directory' enumerating ~10 template files, and §1.3/§7 reference specific slots in templates/README.md and templates/catalog-entry.yaml that are therefore unverifiable or missing. Additionally, the 274-line body inlines the full Modrinth triage and legal-boundary procedure, content that belongs one level deep. This matches the anchor 'Some structure but could be better organized; references present but not clearly signaled; content that should be separate is inline' — the structure itself is better than this anchor, but the broken reference chain (the core workflow depends on files not shipped in the bundle) keeps it below score 4's 'minor organization gaps'.

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 a model example: third-person voice, concrete action enumeration covering the entire workflow, an explicit 'Use when...' clause with quoted natural trigger phrases, and a highly distinct niche that poses essentially no conflict risk. All four dimension anchors are matched at the top level without padding or over-claims.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete actions covering the full workflow: 'Scaffold a new in-house Folia/Paper plugin', 'Modrinth lookup + feature-triage procedure', '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'. This comprehensively matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage'; it is not score 4 because there are no coverage gaps — every phase from requirement gathering to catalog submission is explicitly named.

5 / 5

Completeness

It explicitly answers both: what ('Scaffold a new in-house Folia/Paper plugin... producing an original, Folia-native plugin that replicates its player-facing behavior', plus the enumerated coverage areas) and when ('Use when a developer asks to create/write/build/port a plugin for this cluster, or says something like...'). This matches the anchor 'Clearly and explicitly answers both what AND when with concrete trigger phrases'; not score 4 because the when-clause includes specific quoted triggers rather than a generic condition.

5 / 5

Trigger Term Quality

It includes natural verbs and synonyms users would actually say ('create/write/build/port a plugin') plus verbatim trigger phrases: "make a plugin like <modrinth URL>" / "port this mod to Folia", along with natural nouns 'plugin', 'mod', 'Modrinth', 'Folia'. This matches the anchor 'Comprehensive coverage of natural terms including synonyms'; the quoted example utterances go beyond the 'a few natural terms missing' (score 4) anchor.

5 / 5

Distinctiveness Conflict Risk

It carves out a clear niche with distinct triggers: Folia/Paper plugin scaffolding for one specific cluster ('FoliaNexa cluster (folia-server repo)') with unique phrases like 'port this mod to Folia' and Modrinth URL triggers. This matches the anchor 'Clear niche with distinct triggers; minimal conflict risk'; no other plausible skill would trigger on these phrases.

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.

Validation — 15 / 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.