CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

data-processing-ray-data

Scalable data processing for ML workloads. Streaming execution across CPU/GPU, supports Parquet/CSV/JSON/images. Integrates with Ray Train, PyTorch, TensorFlow. Scales from single machine to 100s of nodes. Use for batch inference, data preprocessing, multi-modal data loading, or distributed ETL pipelines.

Quality

78%

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 ./cli-tool/components/skills/ai-research/data-processing-ray-data/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 well-organized, code-first reference with copy-paste-ready examples for most common tasks. Its weaknesses are duplicated detail between the body and the bundle files, placeholder functions in pipeline examples, and the absence of any validation/verification steps for batch write and inference operations.

Suggestions

Trim the inline 'Transformations' and 'Integration with ML frameworks' sections to one-line pointers (e.g., 'See [Transformations Guide](references/transformations.md)') since the reference files already cover that material, and cut the marketing sections ('Use cases', star counts) that add tokens without actionable value.

Add a validation checkpoint to batch workflows, e.g., after writing output verify row counts ('predictions.count()') or sample the output before treating a distributed write as complete.

Make pipeline examples self-contained by defining the placeholder transforms ('clean_data', 'tokenize', 'augment') or replacing them with concrete one-line implementations.

DimensionReasoningScore

Conciseness

The bulk is lean, executable code with minimal explanation ('ds = ds.map_batches(process_batch, batch_size=1000)'), assuming Claude's competence. Minor trimmable padding remains: the 'Use cases / Production deployments' section (Pinterest/ByteDance/Spotify), '⭐ 36,000+', and time-sensitive benchmark/version numbers ('Ray 2.40.0+', '~30 minutes') that are not in a deprecation section — so not quite the every-token-earns-its-place 5.

4 / 5

Actionability

Most examples are concrete and runnable ('ds.write_parquet("s3://bucket/output/")', 'ds.map_batches(BatchInference, batch_size=32, num_gpus=1)'). The pipeline and inference examples rely on undefined placeholders ('clean_data', 'tokenize', 'augment', 'MyModel()'), which keeps them out of the fully copy-paste-ready 5 anchor.

4 / 5

Workflow Clarity

Content is organized as a feature reference rather than a sequenced workflow, and batch operations (distributed inference, 'predictions.write_parquet("s3://output/")', 'ds.write_parquet') have no validation or verification checkpoints. Per the rubric's cap, workflows involving batch operations without validation cannot score above 3.

3 / 5

Progressive Disclosure

Both bundle files exist, are one level deep, and are clearly signaled in a References section, but the body inlines full 'Transformations' and 'Integration with ML frameworks' sections that duplicate the content of references/transformations.md and references/integration.md. That is 'content that should be separate is inline' — the 3 anchor — rather than the 4 anchor's 'most content is appropriately placed'.

3 / 5

Total

14

/

20

Passed

Description

83%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 description: concrete capabilities, third person, and an explicit 'Use for...' clause with four real trigger scenarios. Its main gaps are feature-listing instead of action verbs and slightly broad opening language that overlaps with general distributed-data skills.

Suggestions

Lead with action verbs (e.g., 'Process, transform, and load large datasets...') instead of the generic opening 'Scalable data processing for ML workloads'.

Add one or two natural synonyms users might say, such as 'distributed ETL', 'batch inference pipeline', or 'Spark/Dask alternative for ML data', to widen trigger coverage.

Sharpen distinctiveness by naming the niche earlier, e.g., 'Ray Data: distributed data processing for ML' so it is distinguishable at first glance from generic ETL skills.

DimensionReasoningScore

Specificity

Quotes 'Streaming execution across CPU/GPU, supports Parquet/CSV/JSON/images', 'Integrates with Ray Train, PyTorch, TensorFlow', and 'Scales from single machine to 100s of nodes' — several specific capabilities in third person. Falls short of the 5 anchor because it enumerates features more than concrete actions and 'Scalable data processing for ML workloads' alone is generic.

4 / 5

Completeness

Clearly answers 'what' ('Streaming execution across CPU/GPU... Integrates with Ray Train, PyTorch, TensorFlow') and explicitly answers 'when' with concrete trigger phrases ('Use for batch inference, data preprocessing, multi-modal data loading, or distributed ETL pipelines'). Both are explicit and concrete, matching the 5 anchor; the 4 anchor applies only when the 'when' is vague, which it is not.

5 / 5

Trigger Term Quality

'batch inference', 'data preprocessing', 'multi-modal data loading', 'distributed ETL pipelines', and 'Parquet/CSV/JSON' are natural terms users would say. A few common variations are missing (e.g., 'Spark/Dask alternative', 'feature pipeline', 'data loading for training'), matching the 'good keyword coverage; a few natural terms missing' anchor rather than the 5's synonym/extension comprehensiveness.

4 / 5

Distinctiveness Conflict Risk

Ray-specific anchors ('Ray Train', format list, 100s-of-nodes scaling) give it a distinct niche, matching 'mostly distinct; minor overlap risk'. However 'Scalable data processing for ML workloads' is broad enough to overlap with general ETL/data-processing (Dask/Spark-style) skills, so it does not reach the clear-niche 5 anchor.

4 / 5

Total

17

/

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

metadata_field

'metadata' should map string keys to string values

Warning

Total

15

/

16

Passed

Repository

davila7/claude-code-templates

Path

cli-tool/components/skills/ai-research/data-processing-ray-data/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.