CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

pytorch-fsdp

Expert guidance for Fully Sharded Data Parallel training with PyTorch FSDP - parameter sharding, mixed precision, CPU offloading, FSDP2

40

Quality

50%

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 ./backend/cli/skills/ml-training/pytorch-fsdp/SKILL.md

The canonical home for this skill is pytorch-fsdp in davila7/claude-code-templates

SKILL.md
Quality
Evals
Security

Quality

Content

17%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 auto-generated documentation dump: enormous pasted walls of scraped text, pseudo-patterns that are just doc excerpts, and navigation pointing at reference files that don't exist. Almost nothing here is actionable or token-efficient, and the genuinely useful material already sits in references/other.md where the body should simply point to it.

Suggestions

Delete the inline 'Common Patterns' doc dumps (especially the ~130KB line) and replace them with a handful of distilled, executable FSDP setup/snippet examples, pointing to references/other.md for the full text.

Fix navigation to match the actual bundle: list both index.md and other.md, and remove references to non-existent 'getting_started', 'tutorials', 'api', and 'guides' files and to absent scripts/ and assets/ directories.

Add a real FSDP workflow (e.g. wrap model -> configure sharding/mixed precision -> offloading -> checkpoint/resume) with a validation checkpoint such as verifying sharded parameter counts across ranks.

DimensionReasoningScore

Conciseness

The body is ~160KB of raw scraped documentation dumped inline, including a single 130,000-character line of pasted PyTorch docs, plus scrape artifacts ('Created On: Jun 06, 2025 | Last Updated On...') and generic torch.distributed/DDP explanations Claude already knows. This matches anchor 1 (severely verbose, heavily padded) and is nowhere near anchor 2, since the padding is not incidental but constitutes the bulk of the body.

1 / 5

Actionability

The eight 'Common Patterns' are raw doc dumps each followed by a code fence containing a bare fragment like 'Join', 'torch.distributed', or 'NCCL' rather than runnable instructions; only Pattern 4 contains an executable init_device_mesh snippet. This is anchor 2 (minimal concrete guidance, missing the specific steps to execute) rather than anchor 1 because some real API names and one working code example exist, and not anchor 3 because no coherent, completable procedure is given.

2 / 5

Workflow Clarity

There is no workflow for actually doing FSDP work: no sharding setup sequence, no validation steps, no error-recovery guidance. The only rough sequences are boilerplate navigation hints ('Start with the getting_started or tutorials reference files') and a trivial 2-step scraper refresh. It is above anchor 1 (some rough sequencing exists in 'Working with This Skill' and 'Updating') but well below anchor 3, whose steps at least cover the core task.

2 / 5

Progressive Disclosure

Content that clearly belongs in reference files (the entire 130KB Common Patterns dump) is inlined in SKILL.md instead, matching anchor 2. It is not score 3+ because the body's pointers are broken — it references 'getting_started or tutorials' and 'category reference file (api, guides, etc.)' that do not exist (the bundle contains only index.md, which the body never mentions, and other.md), and it describes scripts/ and assets/ directories that are absent. It is not score 1 because references are only one level deep and a real file (other.md) is correctly listed.

2 / 5

Total

7

/

20

Passed

Description

61%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 reasonably specific, well-targeted description that names a clear niche and concrete subtopics, but it omits any 'when to use' trigger guidance, which the rubric explicitly caps. Phrasing topics as actions and adding a Use-when clause would lift it substantially.

Suggestions

Append an explicit trigger clause, e.g. 'Use when the user mentions FSDP, Fully Sharded Data Parallel, sharding parameters across GPUs, or FSDP2 migration.'

Rephrase the subtopic list as concrete actions (e.g. 'configure parameter sharding, set up mixed precision, enable CPU offloading, migrate FSDP1 policies to FSDP2').

Include common natural synonyms in the description itself (e.g. 'distributed training', 'data parallel'), not just in the frontmatter tags.

DimensionReasoningScore

Specificity

The description names its domain ('Fully Sharded Data Parallel training with PyTorch FSDP') and several specific capability areas ('parameter sharding, mixed precision, CPU offloading, FSDP2'), but these are topic labels rather than concrete actions — no explicit verbs like 'configure', 'debug', or 'migrate'. It sits between anchor 3 (domain + 1-2 concrete items, not comprehensive) and anchor 4 (several specific actions); it is not score 4 because nothing is phrased as an executable action, and not score 2 because the subtopics are specific rather than generic.

3 / 5

Completeness

The 'what' is clear (expert guidance for FSDP training with four named subtopics), but there is no 'Use when...' clause or equivalent trigger guidance in the description — the rubric caps completeness at 3 in that case. It is not score 4 because 'when' is entirely absent rather than just vague, and not score 2 because the 'what' half is concrete and specific.

3 / 5

Trigger Term Quality

Good natural keyword coverage: 'Fully Sharded Data Parallel', 'PyTorch FSDP', 'parameter sharding', 'mixed precision', 'CPU offloading', and 'FSDP2' are terms a user with this need would naturally say. It is not score 5 because common variations like 'distributed training', 'data parallel', or 'ZeRO' are absent from the description, and not score 3 because most relevant natural terms are present rather than only some.

4 / 5

Distinctiveness Conflict Risk

FSDP is a clear niche with distinct triggers ('PyTorch FSDP', 'FSDP2', 'parameter sharding'), but generic terms like 'mixed precision' and 'CPU offloading' overlap with general PyTorch training and distributed-training skills. It is not score 5 because of that minor overlap with closely related skills, and not score 3 because the FSDP framing is far more specific than e.g. 'works with document files'.

4 / 5

Total

14

/

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

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

synthetic-sciences/openscience

Path

backend/cli/skills/ml-training/pytorch-fsdp/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.