CtrlK
BlogDocsLog inGet started
Tessl Logo

code-as-harness

证据确认重复摩擦后修 harness。Use: 历史重复已确认。Not: 未确认重复、首次 bug、review 反馈。Output: 未确认不强制 block;需 operator 决策发 interactive,否则行动后发 card(均含根因、证据、处置)。

54

Quality

61%

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

Fix and improve this skill with Tessl

tessl review fix ./cat-cafe-skills/code-as-harness/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%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 delivers a genuinely rigorous, evidence-gated workflow with copy-paste templates and explicit disambiguation tables — actionability and workflow clarity are solid. But it is severely overloaded: anecdotal narrative, dated internal history, and multiple semi-independent sub-policies (taste signals, cat-initiated friction reporting) are inlined into a monolithic 337-line file with no reference files at all.

Suggestions

Strip narrative anecdotes, provenance notes, and dated references (2026-06-01, 2026-06-10, 2026-07-15, '48 review 钉死的') down to the operative rule; move dates to a changelog/old-patterns file if they must be kept.

Split the cat-initiated 雨刮器上报细则 and the F221 taste-signal path into separate reference files under references/, keeping SKILL.md as a decision-map plus the core Phase 1-5 flow.

Add one concrete worked example (signal → evidence search result → root-cause classification → chosen output block) so the end-to-end flow is executable rather than inferable.

DimensionReasoningScore

Conciseness

The 337-line body carries substantial padding a competent agent does not need: narrative anecdotes ("水管漏了拿盆接着继续做饭,绝不叫水管工"), provenance storytelling ("2026-06-10 一场闲聊钓出三单暗税摩擦后 operator signoff"), dated references ("2026-06-01~02 PoE brainstorm", "2026-07-15") not placed in a deprecated/old-patterns section, and a ~120-token verbatim quote of the staging clause alongside its expansion. This matches 'noticeably verbose; several unnecessary explanations or padded sections'; it is not a 3 because the volume of narrative/why-prose and internal history is pervasive rather than occasional.

2 / 5

Actionability

The body provides mostly executable guidance: copy-paste YAML templates for the interactive block and result card, an exact F128 initialMessage template, a concrete marker format ("[爪感差: 工具名+现象一句话]"), and specific tool calls (search_evidence, feat_index, cat_cafe_propose_taste, cat_cafe_propose_thread) with argument expectations. It is not a 5 because several steps remain directive rather than executable (e.g. `search_evidence("{纠偏关键词}")` is a placeholder, the Build-mode flow is a 5-line meta-method sketch, and no concrete worked example of an end-to-end diagnosis is shown).

4 / 5

Workflow Clarity

The multi-step process is clearly sequenced with real validation checkpoints: an evidence gate before diagnosis ("先搜证据确认是否真的重复,不凭字面关键词判断"), a decision flow diagram, Phase 1-5 with a root-cause classification table, an explicit output-contract table keyed on confirmation/authorization state, and owner-thread verification before cross-posting ("模糊关键词命中或\"看起来最像\"不算"). It is not a 5 because some junctions are implicit — e.g. the cat-initiated 雨刮器 path and the operator-driven path interleave without a single entry map, and Phase 5's escalation rows repeat rather than reference the Phase 4 conditions.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/ directories), and the entire skill is inlined in one ~20KB SKILL.md. Section headers and tables give real structure, but clearly separable material — the taste-signal path (F221), the F128 initialMessage template, the 雨刮器 reporting细则 — lives inline, matching 'some structure but content that should be separate is inline'. It is not a 4 because there are no well-signaled one-level-deep references at all, and the file length (337 lines) makes the monolith costly to load.

3 / 5

Total

13

/

20

Passed

Description

66%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 structurally strong description with an explicit what/Use/Not/Output contract and excellent conflict disambiguation, though written in terse internal jargon. Its main weakness is trigger-term quality: the description field itself contains conditions rather than natural user phrasings, and the actual fix actions remain abstract.

Suggestions

Surface 1-2 natural trigger phrases inside the description itself (e.g. the operator phrasings already in the triggers list like "又忘了 / 每次都") so description-based matching works even when the triggers list is not consulted.

Replace the generic "修 harness" with one or two concrete fix mechanisms (e.g. "写 hook/lint/guard 防住" or "提议 F128 平行 thread 修复") to lift specificity.

DimensionReasoningScore

Specificity

The description names the domain ("证据确认重复摩擦后修 harness") and concrete output actions ("发 interactive"/"行动后发 card", "均含根因、证据、处置"), matching the 'names domain and 1-2 concrete actions' anchor. It is not a 4 because the core action "修 harness" is left generic — no hint of what the fix actually involves (hook/lint/guard, thread proposals, etc.).

3 / 5

Completeness

Both are present: what ("证据确认重复摩擦后修 harness") and an explicit when ("Use: 历史重复已确认"), plus a Not-clause and an Output contract, matching the 'both what and when; when could be more explicit' anchor. It falls short of 5 because the when-clause is an internal evidence condition rather than concrete trigger phrases a user would actually say or that Claude would match against a message.

4 / 5

Trigger Term Quality

Some relevant keywords appear ("重复摩擦", "首次 bug", "review 反馈") but they are internal conditions rather than natural phrases a user would say, fitting the 'some relevant keywords but missing common variations/synonyms' anchor. It is not a 4 because the description string itself contains no natural user-utterance terms like "又忘了" or "每次都" — those exist only in the separate `triggers` frontmatter list, not in the description being evaluated.

3 / 5

Distinctiveness Conflict Risk

The description carves a clear niche (evidence-confirmed repeated operator friction) and explicitly disambiguates adjacent cases via "Not: 未确认重复、首次 bug、review 反馈", matching the 'clear niche with distinct triggers; minimal conflict risk' anchor. It is not a 4 because the explicit Not-clause removes the overlap risk (first bug → debugging, reviewer feedback → receive-review) that a merely 'mostly distinct' description would still carry.

5 / 5

Total

15

/

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.

Validation15 / 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
zts212653/clowder-ai
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.