CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

port-c-module

Guide for porting a C module to Rust. Use this when starting to port a C module to Rust.

Quality

84%

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

SKILL.md
Quality
Evals
Security

Quality

Content

88%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 strong, execution-ready workflow: concrete commands, a numbered process with real validation checkpoints and a feedback loop, and effective delegation of shared rules to other skills. Its only weaknesses are mild redundancy with the frontmatter and a monolithic single-file layout with no bundle references.

DimensionReasoningScore

Conciseness

The body is dense with project-specific guidance (lints, Miri, cargo mutants, hakari, linking rules) and explains nothing Claude already knows, but it duplicates the frontmatter description ('Guide for porting a C module to Rust', 'Use this skill when...') and carries trimmable prose in 'Who the port affects'. This matches anchor 4 ('efficient; minor instances of over-explanation that could be trimmed') rather than 5, where every token earns its place.

4 / 5

Actionability

Commands are copy-paste ready throughout: the `cargo new` invocations, the full clippy lint block, `./build.sh RUN_UNIT_TESTS`, the complete `cargo mutants` pipeline with `mktemp`, and the hakari/license-check commands. The `trie_rs` example covers the common case, matching anchor 5 ('fully executable; copy-paste ready code or commands').

5 / 5

Workflow Clarity

Ten numbered steps in a clear sequence, with explicit validation checkpoints (step 8 test commands, step 9 'Verify as CI Does' covering Miri, mutation testing, linking, and lint) and an explicit feedback loop ('Go back to step 1 if discovered differences cannot be bridged'). This matches anchor 5 ('clear sequence with explicit validation steps; feedback loops for error recovery').

5 / 5

Progressive Disclosure

No bundle files exist, so everything lives in one ~250-line file, but it is well-sectioned and delegates detail to clearly signaled one-level references (`/rust-review` § 3a/3b/3c/3k, `/rust-tests-guidelines`, `CONTRIBUTING.md`, the `trie_rs` example) instead of inlining them. This matches anchor 4 ('good structure; most content appropriately placed; references mostly clear') rather than 5, since step 9's CI-verification detail is long enough that it could arguably live in a reference file.

4 / 5

Total

18

/

20

Passed

Description

73%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 clear, distinct, and has an explicit 'Use this when' trigger, but it is thin: it states the same single idea twice rather than enumerating what the skill actually does. Expanding the 'what' with the skill's concrete capabilities would raise specificity and completeness.

Suggestions

Replace the second sentence with concrete capabilities, e.g. 'Analyzes the C module, defines a contract and divergence list, implements pure Rust plus an FFI wrapper, and verifies with Miri and mutation testing.'

Add natural trigger variations users might say, such as 'migrate', 'rewrite in Rust', or 'C to Rust', to broaden keyword coverage.

State the deliverable explicitly (a two-PR port: Rust implementation, then an FFI swap deleting the C) so the 'what' answers more than just the domain.

DimensionReasoningScore

Specificity

The description names the domain ("porting a C module to Rust") and one concrete action, but lists no specific capabilities (analysis, contract tests, FFI wrapper, CI verification). It matches anchor 3 ('names domain and 1-2 concrete actions, but not comprehensive') rather than 4, which requires several specific actions.

3 / 5

Completeness

Both parts are present: "Guide for porting a C module to Rust" (what) and "Use this when starting to port a C module to Rust" (when, explicitly phrased). Not a 5 because the 'what' is a single thin phrase that doesn't state what the guide actually covers.

4 / 5

Trigger Term Quality

Natural keywords "port", "porting", "C module", and "Rust" appear and match what a user would say. It falls short of anchor 5 because common synonyms like "migrate", "rewrite in Rust", or "translate C to Rust" are absent.

4 / 5

Distinctiveness Conflict Risk

"Port a C module to Rust" carves a clear niche with distinct trigger terms and minimal overlap with related Rust or testing skills. It matches anchor 5 ('clear niche with distinct triggers; minimal conflict risk').

5 / 5

Total

16

/

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: 6 suspicious

Warning

Total

15

/

16

Passed

Repository

RediSearch/RediSearch

Path

.skills/port-c-module/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.