CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

memory-safe-migration

Guide secure migration of code from memory-unsafe languages (C, C++, Assembly) to memory-safe languages (Rust, Go, Java, C#, Swift). Use when migrating or rewriting legacy C/C++ code, designing FFI boundaries between safe and unsafe code, writing new modules in existing C/C++ codebases, reviewing mixed-language projects, planning memory safety roadmaps, or when an AI agent is about to generate new C/C++ code that could be written in a memory-safe language instead. Also triggers on CISA/NSA memory safety compliance discussions.

Quality

89%

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

86%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-structured, lean skill body: a crisp trigger list, a decision procedure, a six-step migration workflow with a validation checkpoint, and anti-patterns, all appropriately offloading depth to four real one-level-deep reference files and a script. The main gap is the absence of an explicit failure-handling loop in the workflow and a few concrete inline examples deferred to references.

Suggestions

Add an explicit error-recovery loop to the workflow: after Step 5, instruct 'If validation fails: fix the new implementation (not the tests), re-run the full suite, and re-benchmark before proceeding' — this would lift workflow_clarity from 4 to 5.

Inline one canonical example of a documented FFI wrapper (a small Rust snippet with a // SAFETY: comment and catch_unwind) so the most common case is copy-paste ready without opening references.

In the Step 1 command, show expected output of assess-migration.py (or link to the checklist's output format) so the agent knows how to interpret the result.

DimensionReasoningScore

Conciseness

The body is lean and prescriptive throughout — no explanations of what Rust, FFI, or memory safety are; every line is instruction ('Never migrate a component without test coverage', 'Document every unsafe block with a // SAFETY: comment'). All 131 lines earn their place; detail is pushed to references.

5 / 5

Actionability

Provides an executable command ('python scripts/assess-migration.py --file <source_file>'), a concrete priority order, specific tool names (Miri, clippy, go vet, rustfmt, catch_unwind), and actionable rules. Not a 5 because common cases (a sample SAFETY comment, a canonical FFI wrapper shape) are deferred entirely to references, leaving minor gaps inline.

4 / 5

Workflow Clarity

A clear six-step sequence with tests-first as a correctness oracle and an explicit Step 5 validation checklist (tests pass, no new unsafe surface, fuzz boundaries, Miri/ASan clean, benchmark). Not a 5 because there is no explicit error-recovery feedback loop — the steps never say what to do when validation fails (fix, revert, re-validate).

4 / 5

Progressive Disclosure

SKILL.md is a concise overview with well-signaled, one-level-deep references ([language-selection.md], [ffi-security.md], [migration-patterns.md], [assessment-checklist.md]) — all four files exist, are substantive, and reference no further files — plus a working script in scripts/. A final References section aids discovery.

5 / 5

Total

18

/

20

Passed

Description

87%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: it states what the skill does and when to use it with concrete, natural trigger phrases, including a distinctive AI-agent trigger and regulatory hooks. Minor room to improve by adding synonyms like 'port' and enumerating one or two more concrete actions.

DimensionReasoningScore

Specificity

Names the domain precisely (memory-unsafe C, C++, Assembly to Rust, Go, Java, C#, Swift) and lists several concrete capabilities — 'Guide secure migration', 'designing FFI boundaries between safe and unsafe code', 'reviewing mixed-language projects', 'planning memory safety roadmaps'. Not a 5 because the core action ('Guide secure migration') is a single umbrella verb and concrete sub-actions of the guidance are not enumerated.

4 / 5

Completeness

Explicitly answers both questions: what ('Guide secure migration of code from memory-unsafe languages ... to memory-safe languages ...') and when ('Use when migrating or rewriting legacy C/C++ code, designing FFI boundaries, writing new modules, reviewing mixed-language projects, planning memory safety roadmaps, or when an AI agent is about to generate new C/C++ code'). Matches the anchor-5 example pattern exactly.

5 / 5

Trigger Term Quality

Good natural-phrase coverage: 'migrating or rewriting legacy C/C++ code', 'FFI boundaries', 'memory safety roadmaps', 'CISA/NSA memory safety compliance' — phrases a user or agent would plausibly say. Not a 5 because synonyms like 'port', 'convert', or file extensions (.c, .cpp) are absent.

4 / 5

Distinctiveness Conflict Risk

Clear niche — secure language migration with distinct triggers (C/C++ → MSL, FFI boundaries, CISA/NSA compliance) that no generic coding or review skill would claim. Minimal conflict risk with closely related skills.

5 / 5

Total

18

/

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

cosai-oasis/project-codeguard

Path

sources/skills/memory-safe-migration/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.