CtrlK
BlogDocsLog inGet started
Tessl Logo

recall-before-claim

Forces a memory_search before the agent sends a message containing a factual assertion that has not yet been grounded this turn. Closes the citation-rate gap from ~40% to ~90%+.

52

Quality

58%

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 ./skills/recall-before-claim/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 a concise, well-structured description of a single-purpose interceptor with concrete operational specifics and an unambiguous fire/not-fire policy. Its main weakness is that it documents behavior without giving the agent executable instruction on what to do with the memory_search result.

Suggestions

Add a short "What to do with the result" section covering the no-match and contradiction cases (e.g., whether to send the assertion as-is, hedge it, or cite the memory hit), which would raise both actionability and workflow clarity.

Trim the "Why this exists" section to one or two sentences — the rationale is brief but still token spend that does not change agent behavior.

DimensionReasoningScore

Conciseness

The body is lean (~30 lines) with no explanations of concepts Claude already knows, but the "Why this exists" section ("Bitterbot has a strong memory system, but it only helps the user if the agent actually consults it...") is rationale padding that could be trimmed, keeping it just below anchor 5.

4 / 5

Actionability

Concrete specifics are present (tool names memory_search / deep_recall / knowledge_graph_search, the ~30-second grounding window, "Fires at most 8 times per session", and the implementation path src/agents/skills/builtin-interceptors/recall-before-claim.ts), but the body is purely descriptive — it never instructs how to integrate a search result into the outgoing message, so guidance is incomplete.

3 / 5

Workflow Clarity

The simple action sequence is explicit ("run a memory_search first, integrate the result, and then send") with a clearly enumerated non-firing policy; the gap that keeps it below 5 is no guidance for the case where memory_search returns nothing or contradicts the assertion.

4 / 5

Progressive Disclosure

The skill is under 50 lines, needs no external references (no bundle files exist), and is organized into clear, well-labeled sections — meeting the rubric's simple-skill exception for a top progressive disclosure score.

5 / 5

Total

16

/

20

Passed

Description

46%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 states a clear, concrete, third-person "what" with a distinctive mechanism, but it completely lacks natural trigger terms and any "Use when..." guidance — it reads as internal system documentation rather than a user-discoverable skill description. The quantitative impact claim (~40% to ~90%+) adds specificity but not usability.

Suggestions

Add an explicit trigger clause, e.g. "Use when the agent is about to make factual claims that may not be grounded in memory, or when the user complains about hallucinated or unverified assertions."

Include natural user-facing synonyms such as "hallucination", "unverified claims", and "check your memory" alongside the technical terms like memory_search and citation-rate.

Drop or contextualize the "~40% to ~90%+ citation-rate" metric — it is an internal benchmark that does not help a user or the agent decide when to invoke the skill.

DimensionReasoningScore

Specificity

"Forces a memory_search before the agent sends a message containing a factual assertion that has not yet been grounded this turn" names the domain and one concrete mechanistic action, but the second sentence ("Closes the citation-rate gap from ~40% to ~90%+") is an impact claim rather than a capability, so coverage is not comprehensive.

3 / 5

Completeness

The "what" is clearly stated, but there is no "Use when..." clause or equivalent user-facing trigger guidance — the activation condition is mechanistic rather than usage guidance, which caps completeness at 3 per the rubric guideline.

3 / 5

Trigger Term Quality

The only keywords are technical jargon ("memory_search", "factual assertion", "grounded", "citation-rate gap"); natural user phrases like "you're hallucinating", "check your memory", or "verify that claim" are absent, leaving just one or two generic keywords ("memory", "factual").

2 / 5

Distinctiveness Conflict Risk

"Forces a memory_search before the agent sends a message containing a factual assertion that has not yet been grounded" defines a narrow interceptor niche with a distinct mechanistic trigger, but "factual assertion" is broad enough to overlap with general memory/grounding skills, so it is mostly distinct rather than fully distinct.

4 / 5

Total

12

/

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
Bitterbot-AI/bitterbot-desktop
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.