CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

privacy-filter

Use when the work-journal app asks which transcript utterances of an hour are bystander or personal non-work conversations to remove, and which spoken identifiers to redact.

70

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

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.

An exemplary headless skill body: decision rules are specific, edge cases are enumerated, and safety defaults (keep-when-unsure, confidence floor) are built in. The main improvements are compressing the verbose JSON Schema representation and adding an explicit verify-before-reply step.

Suggestions

Replace the ~68-line JSON Schema block with a compact field spec (drop: array of {from, to, reason: bystander|personal_non_work, confidence 0-1}; redact: array of {index, text}) plus one small example input/output pair — this would cut the body roughly in half while making the contract even clearer.

Add an explicit final checkpoint to the workflow: before answering, verify the reply parses as one JSON object matching the schema, ranges use consecutive inclusive indexes from the input, and no context line appears in redact.

Include one short worked example (a few utterances with a bystander chat and an identifier) showing the expected JSON response, to anchor the confidence and range conventions.

DimensionReasoningScore

Conciseness

The decision rules are dense and earn their tokens — no concept explanations, no padding, and app-specific knowledge Claude cannot infer (track semantics, context lines, confidence thresholds). The ~68-line JSON Schema block is the verbosity culprit: '$schema', 'title', and repeated 'additionalProperties' boilerplate could be replaced by a compact field spec plus one example output, trimming roughly half the body.

4 / 5

Actionability

For an instruction-only skill the guidance is fully executable: exact input field semantics, enumerated drop/keep rules with worked micro-examples ('two unknown voices on the mic chatting about their weekend', 'love you, mom'), quantified confidence bands, an explicit non-redaction list, and a precise output contract including the empty-input case. A model can produce the correct output directly with no invented steps.

5 / 5

Workflow Clarity

The sequence is clear (read the named file, in parts if long, decide per conversation, reply with one JSON object) with genuine safeguards for this judgment-heavy task: 'When unsure, keep. Only drop what the text clearly supports' and 'Do not drop below 0.5; keep instead'. It misses anchor 5 only because there is no explicit output-verification checkpoint (e.g. re-check the reply against the schema before answering), which matters since drops remove data from the journal.

4 / 5

Progressive Disclosure

No bundle files exist and the skill is a single self-contained headless task, so inline placement is appropriate and sections (Rules, Input, task rules, Output schema) are well organized and navigable. It does not reach anchor 5 because at ~115 lines the output-schema block is the kind of self-contained contract that could live in a references file, and the body exceeds the lean single-file ideal.

4 / 5

Total

17

/

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 tight, trigger-first description that names a narrow niche and its exact decision vocabulary. The only weakness is indirect phrasing — capabilities are embedded in the 'when' clause rather than stated declaratively — and a few missing synonyms like 'private' or 'personal call'.

DimensionReasoningScore

Specificity

The description names the domain ('work-journal app', 'transcript utterances of an hour') and three concrete actions: remove 'bystander' conversations, remove 'personal non-work' conversations, and 'redact' spoken identifiers. It stops short of anchor 5 because the actions are stated indirectly through the 'Use when the app asks which... to remove, and which... to redact' framing rather than a direct declarative capability list, but it well exceeds anchor 3's 1-2 actions.

4 / 5

Completeness

It opens with an explicit 'Use when the work-journal app asks which transcript utterances of an hour...' trigger clause and states the what inline: removing bystander and personal non-work conversations and redacting spoken identifiers. Both what and when are explicit and concrete, matching anchor 5's standard; the when is far more specific than anchor 4's 'could be more explicit' case.

5 / 5

Trigger Term Quality

Terms like 'work-journal app', 'transcript utterances', 'bystander', 'personal non-work conversations', and 'identifiers to redact' precisely mirror the app's triggering request. Not 5 because a few natural synonyms are absent (e.g. 'private conversations', 'personal call', 'sensitive identifiers'); not 3 because the core trigger vocabulary is complete and domain-accurate rather than missing common variations.

4 / 5

Distinctiveness Conflict Risk

The niche is extremely narrow (transcript privacy filtering for one app's hourly utterance review) with distinct triggers ('bystander', 'personal non-work', 'redact'). No plausible overlap with generic document or redaction skills, matching anchor 5's clear-niche standard.

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

chandler767/WorkJournal

Path

work-journal/skills/work-journal/skills/privacy-filter/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.