CtrlK
BlogDocsLog inGet started
Tessl Logo

memory-safety

Run AddressSanitizer and UndefinedBehaviorSanitizer on the Z3 test suite to detect memory errors, undefined behavior, and leaks. Logs each finding to z3agent.db.

64

Quality

76%

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 ./.github/skills/memory-safety/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%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 highly actionable with executable commands, a clear three-step workflow, and per-step error/outcome handling. It is mostly concise and well-structured; tightening the repeated Result-outcome boilerplate and adding an explicit validate-then-retry checkpoint would push it to the top anchor.

Suggestions

Add an explicit validation/retry checkpoint (e.g. 'If the build fails, fix flags and rerun Step 1 before proceeding') rather than relying on Result-outcome prose.

Collapse the repeated 'On clean / On findings / On timeout / On error' blocks into a single shared outcomes legend to reduce verbosity.

Consider moving the parameters table or DB-query examples into a short reference file and signaling it from SKILL.md to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body is largely efficient — it does not explain what a sanitizer is and uses concrete commands — but the repeated Action/Expectation/Result framing and the enumerated 'On clean/findings/timeout/error' outcomes per step add minor verbosity that could be trimmed, placing it just below fully lean.

4 / 5

Actionability

Provides copy-paste-ready commands ('python3 scripts/memory_safety.py --sanitizer asan', reuse and debug variants), a full parameters table, and concrete DB query examples, covering the common cases fully executably.

5 / 5

Workflow Clarity

Steps are clearly sequenced (configure/build → run/collect → interpret) with per-step outcome handling that functions as feedback loops (On failure → review cmake output; On timeout → increase deadline), but validation is expressed via result outcomes rather than an explicit validate-and-retry checkpoint, leaving a minor gap below the 5-anchor.

4 / 5

Progressive Disclosure

Well-organized into numbered steps plus a Parameters table, with real one-level-deep references to scripts/memory_safety.py and ../../shared/z3db.py (verified to exist); the bulk stays inline in SKILL.md which is appropriate at this size, with only minor organization gaps.

4 / 5

Total

17

/

20

Passed

Description

70%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 specific, distinctive, and clearly states what the skill does, but it lacks an explicit 'Use when...' trigger clause, which caps its completeness. Adding natural trigger phrases and synonyms (ASan/UBSan, memory safety) would raise the trigger-term and completeness scores.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when the user asks to check Z3 for memory errors, undefined behavior, or leaks, or mentions ASan/UBSan/sanitizers.'

Include natural synonyms users actually say — 'ASan', 'UBSan', 'sanitizer', 'memory safety' — alongside the full sanitizer names.

Optionally surface the build/dedup steps in the description so the action list reads as comprehensive coverage.

DimensionReasoningScore

Specificity

Lists several concrete actions — 'Run AddressSanitizer and UndefinedBehaviorSanitizer', 'detect memory errors, undefined behavior, and leaks', 'Logs each finding to z3agent.db' — with only minor gaps (build/dedupe not named), so it sits above the 3-anchor but short of full comprehensive coverage.

4 / 5

Completeness

The 'what' is clear (run sanitizers on the Z3 test suite and log findings), but there is no explicit 'Use when...' trigger clause, so per the missing-trigger guideline completeness is capped at 3.

3 / 5

Trigger Term Quality

Natural terms like 'AddressSanitizer', 'UndefinedBehaviorSanitizer', 'memory errors', 'undefined behavior', and 'leaks' are present, but common synonyms users say ('ASan', 'UBSan', 'sanitizer', 'memory safety') are missing, keeping it just below comprehensive.

4 / 5

Distinctiveness Conflict Risk

The narrow scope ('Z3 test suite', specific sanitizers, z3agent.db logging) gives it a clear niche with distinct triggers and minimal overlap with other skills.

5 / 5

Total

16

/

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
Z3Prover/z3
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.