CtrlK
BlogDocsLog inGet started
Tessl Logo

content-hash-cache-pattern

Cache expensive file processing results using SHA-256 content hashes — path-independent, auto-invalidating, with service layer separation.

57

Quality

66%

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 ./.kiro/skills/content-hash-cache-pattern/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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, code-heavy pattern document that is executable for the most part and clearly sequenced, with graceful corruption handling as a genuine validation checkpoint. The main gaps are the undefined serialization functions (the hard part of the pattern, explicitly flagged but never shown) and redundant When-to-Activate/When-to-Use sections.

Suggestions

Show a minimal serialize_entry/deserialize_entry implementation — manual frozen-dataclass round-tripping is the hardest part of the pattern and is currently hand-waved while being claimed as a key design decision.

Merge the duplicated 'When to Activate' and 'When to Use' sections (their bullets are nearly identical) to remove redundancy and tighten token efficiency.

Add a short verification step (e.g., re-run to confirm a cache hit, or check the .cache directory contents) so the workflow closes the loop after the cache write.

DimensionReasoningScore

Conciseness

The body is code-first with one-line rationales ('**Why content hash?** File rename/move = cache hit') and a compact decisions table — efficient overall, but 'When to Activate' and 'When to Use' repeat nearly identical bullets and the Key Design Decisions table restates earlier rationale, fitting anchor 4 ('minor instances that could be trimmed') rather than the every-token-earns-its-place level of 5.

4 / 5

Actionability

compute_file_hash, write_cache, read_cache, and extract_with_cache are executable and concrete, but serialize_entry/deserialize_entry, extract_text, ExtractedDocument, and logger are left undefined — and manual serialization is exactly the tricky part the skill flags ('Manual JSON serialization | Full control…') yet never shows. This is more than a trivial gap (nudging toward 3), but the majority of guidance is copy-paste ready, so anchor 4 applies with that gap noted.

4 / 5

Workflow Clarity

The service layer flow is explicitly sequenced ('cache check -> extraction -> cache write') with a built-in checkpoint — corruption is treated as a cache miss ('Treat corruption as cache miss', graceful degradation). Not 5 because there is no end-to-end verification step (e.g., confirming the cache round-trip works) and no explicit error-recovery loop beyond corruption handling.

4 / 5

Progressive Disclosure

No bundle files exist and none are referenced; scored against the actual structure. The single file is well-sectioned (Core Pattern → Decisions → Best Practices → Anti-Patterns → When/When NOT) and appropriately sized, but the duplicated 'When to Activate'/'When to Use' sections are a minor organization gap, placing it at anchor 4 rather than the well-signaled-references or simple-skill-exception level of 5.

4 / 5

Total

16

/

20

Passed

Description

58%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 has a clear, specific 'what' with distinctive technical mechanisms, but entirely lacks a 'Use when…' trigger clause, which both caps completeness and leaves natural trigger terms sparse. Adding explicit usage triggers and common synonyms (PDF parsing, OCR, batch processing) would raise it substantially.

Suggestions

Append an explicit trigger clause, e.g. 'Use when building file processing pipelines (PDF parsing, OCR, text extraction), adding --cache/--no-cache CLI options, or speeding up batch processing of repeated files.'

Include natural synonyms and file-type terms users would actually say — 'PDF parsing', 'image analysis', 'OCR', 'batch processing' — to improve trigger term coverage.

Fold a hint of the 'when' into the capability sentence (e.g. 'for pipelines where the same files are processed repeatedly') so the use context is stated, not implied.

DimensionReasoningScore

Specificity

Names concrete mechanisms — 'SHA-256 content hashes', 'path-independent, auto-invalidating', 'service layer separation' — going beyond the anchor-3 '1-2 concrete actions' level, but it describes one capability with properties rather than the comprehensive list of multiple concrete actions expected at anchor 5.

4 / 5

Completeness

The 'what' is clear and specific ('Cache expensive file processing results using SHA-256 content hashes…'), but there is no 'Use when…' clause or equivalent explicit trigger guidance, which the judging guidelines cap at 3. Not 2, because the 'what' is concrete rather than vague.

3 / 5

Trigger Term Quality

Relevant keywords like 'cache', 'file processing', 'content hashes', and 'auto-invalidating' are present, but common natural variations users would say — 'PDF parsing', 'OCR', 'speed up processing', 'batch', '--no-cache' — are missing, matching the anchor-3 'missing common variations or synonyms' rather than the good coverage of anchor 4.

3 / 5

Distinctiveness Conflict Risk

'Content hashes', 'auto-invalidating', and 'service layer separation' carve a mostly distinct niche with only minor overlap risk against closely related generic-caching skills; it lacks the fully differentiated trigger phrases of the anchor-5 example.

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
affaan-m/ECC
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.