CtrlK
BlogDocsLog inGet started
Tessl Logo

plugin-review

Read when reviewing a plugin PR or auditing an existing plugin script (server/plugins/*/script.py or equivalent). Covers the one check not already mechanically enforced by test_plugin_conventions.py - plugin scripts embedding their own raw SQL instead of an existing/new model method - plus a worked real-PR example.

64

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.gemini/skills/plugin-review/SKILL.md

The canonical home for this skill is plugin-review in netalertx/NetAlertX

SKILL.md
Quality
Evals
Security

Quality

Content

75%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 a tight, actionable reviewer checklist anchored by a real worked PR, with concrete file/line references and clear sequencing; it earns high marks on actionability and workflow clarity. Minor trimming of the GraphQL aside and an explicit re-verify step would push it higher.

Suggestions

Shorten the GraphQL paragraph to one line — the key point (use model methods, not GraphQL, not raw SQL) stands without the HTTP-round-trip justification.

Add a small re-verify/check step to the review flow (e.g. 'after proposing a model-method swap, confirm the plugin no longer imports sqlite3/get_temp_db_connection for this query').

Optionally inline a one-line stub for the proposed DeviceInstance.getAllByName(name) so the fix is copy-paste ready.

DimensionReasoningScore

Conciseness

The body is dense and assumes Claude's competence (no generic explanations of SQL or what a plugin is); a few sentences are slightly elaborated (e.g. the GraphQL aside and the CLAUDE.md quote) and could be trimmed, but every part is earning its place.

4 / 5

Actionability

Provides concrete, executable guidance — named model files (server/models/device_instance.py:102-105), named methods (DeviceInstance.getByMac, getAllByName), exact collation facts, and concrete 'Fix:' actions per query; minor gaps are that no full copy-paste code block is shown for the new method to add.

4 / 5

Workflow Clarity

The review flow is a clearly sequenced 4-step checklist with explicit decision branches (existing method? add one? core-plugin exception?) and concrete collation/parameterization checks; it lacks an explicit validate/re-check feedback loop, but the task is a review (flag-and-fix) rather than a destructive batch operation, so the destructive-cap does not apply.

4 / 5

Progressive Disclosure

Well-organized into clear sections (Scope, The check, Review flow, Worked example) with no bundle files to reference; content is appropriately inline for a sub-50-line skill and navigation between sections is easy, though a couple of inline reference lists (the 5 exception plugins, the collation columns) could be pulled into a reference file if the skill grows.

4 / 5

Total

16

/

20

Passed

Description

78%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 specific and well-scoped to a narrow reviewer niche, clearly stating both what it covers and when to read it, with strong distinctiveness from sibling skills. It could be slightly more concise and surface a couple more natural trigger phrases.

Suggestions

Add a short explicit 'Use when reviewing a plugin PR or auditing server/plugins/*/script.py for raw SQL' trigger clause near the front so the when-to-use is unmissable.

Trim the parenthetical about test_plugin_conventions.py slightly so the core action (flag raw SQL that should be a model method) lands faster.

DimensionReasoningScore

Specificity

Names the concrete domain (reviewing a plugin PR / auditing server/plugins/*/script.py) and the single concrete check it adds (plugin scripts embedding raw SQL instead of a model method), plus a worked real-PR example, but does not enumerate multiple distinct actions.

4 / 5

Completeness

Explicitly states what it does (covers the one check not mechanically enforced by test_plugin_conventions.py) and when to use it ('Read when reviewing a plugin PR or auditing an existing plugin script'); the 'when' is concrete but could surface trigger phrases more prominently.

4 / 5

Trigger Term Quality

Includes natural reviewer-facing phrases users would say ('reviewing a plugin PR', 'auditing an existing plugin script', 'raw SQL', 'model method') with good coverage; a few common variations (e.g. 'plugin code review', 'SQL in plugin') are not present.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (the specific raw-SQL-in-plugin check, explicitly complementary to plugin-development and mechanically-enforced conventions), with distinct triggers and minimal conflict risk against adjacent skills.

5 / 5

Total

17

/

20

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
netalertx/NetAlertX
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.