CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

pytorch-lightning

Clean training loops with built-in distributed support.

48

Quality

61%

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 ./optional-skills/mlops/pytorch-lightning/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 strong, example-driven overview with excellent reference structure: every workflow is backed by executable code, common issues get concrete fixes, and advanced detail is correctly delegated to real one-level-deep reference files. Main weaknesses are repetition between the quick start and Workflow 2 and stale-prone marketing/version filler in the Resources section.

DimensionReasoningScore

Conciseness

The body is mostly efficient code, but Workflow 2 repeats the quick-start's full training_step, and the Resources section pads with time-sensitive/marketing filler ('1M+ downloads/month', 'battle-tested', '⭐ 29,000+', 'Version: 2.5.5+') that is not in a deprecated/old-patterns section and will go stale. This matches anchor 3 (mostly efficient, some unnecessary content), not 4, where such trimming opportunities are only minor.

3 / 5

Actionability

Nearly all guidance is concrete, executable code — 3-step conversion, validation/test hooks, DDP, callbacks, LR schedulers, and symptom→fix snippets for common issues. Minor gaps keep it at anchor 4 rather than 5: snippets reference undefined variables (train_dataset, MyModel, model) and one issue stub uses 'loss = ...'.

4 / 5

Workflow Clarity

Sequences are clear: a numbered 3-step conversion, five well-ordered workflows, and troubleshooting entries pairing a symptom with a concrete fix (a soft feedback loop). No destructive or batch operations are involved, so no cap applies; it sits at anchor 4 rather than 5 because there are no explicit validation checkpoints (e.g., confirming the model runs on CPU before scaling to 8 GPUs is shown as an issue fix, not a workflow step).

4 / 5

Progressive Disclosure

The body is an overview with quick examples, and the three Advanced topics each point to a real, well-signaled, one-level-deep bundle file (references/callbacks.md, references/distributed.md, references/hyperparameter-tuning.md — all present and matching). This matches anchor 5: clear split, easy navigation, no nested references.

5 / 5

Total

16

/

20

Passed

Description

37%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 short and non-fluffy but underspecified: it names a domain without naming the library (PyTorch Lightning) or any concrete actions, and provides no 'when to use' trigger guidance. Users asking about 'PyTorch training' or 'multi-GPU' would not naturally surface it.

Suggestions

Name the library and concrete actions, e.g. 'Organize PyTorch training code into LightningModules with Lightning to remove boilerplate and get automatic DDP/FSDP/DeepSpeed, checkpointing, and logging.'

Add an explicit trigger clause: 'Use when the user mentions PyTorch Lightning, LightningModule, Trainer, training loops, or wants distributed/multi-GPU training.'

Include natural keyword variations users would say — 'PyTorch', 'Lightning', 'train a model', 'multi-GPU', 'DDP', 'FSDP' — to improve trigger matching and distinctiveness from Accelerate/Ray Train skills.

DimensionReasoningScore

Specificity

"Clean training loops with built-in distributed support" names the training-loop domain but the action ('clean') is generic — it never states what is actually done (organize/convert PyTorch code, eliminate boilerplate, enable DDP/FSDP). It fits anchor 2 (domain named, minimal/generic actions) better than 3 because no concrete action is spelled out.

2 / 5

Completeness

There is a reasonably clear 'what' (clean training loops with built-in distributed support) but no 'when'/'Use when...' clause or any equivalent trigger guidance, which per the judging guidelines caps completeness at 3. Not 2 because the 'what' is stated rather than vague.

3 / 5

Trigger Term Quality

Only 'training loops' and 'distributed' appear — two generic keywords. The natural phrases users would actually say ('PyTorch', 'Lightning', 'train my model', 'multi-GPU', 'DDP') are all absent, matching anchor 2 rather than 3 ('some relevant keywords' would require at least the library name or common variations).

2 / 5

Distinctiveness Conflict Risk

The training-loop niche is somewhat specific, but the library is never named, so the description would equally match Accelerate, Ray Train, or plain PyTorch skills — anchor 3 ('somewhat specific but could still overlap'). Not 4 because without 'PyTorch Lightning' in the text, overlap risk with closely related training-framework skills remains.

3 / 5

Total

10

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository

NousResearch/hermes-agent

Path

optional-skills/mlops/pytorch-lightning/SKILL.md

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.