CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

workbench-ops-skill

当用户要在 OpenLoaf 工作台 / 桌面上新增、修改、查看、删除 widget(桌面组件 / 小组件 / 仪表盘卡片)时触发。典型说法"加个天气 widget"、"做个番茄钟组件"、"改下这个 widget 的颜色"。**不用于**:聊天消息里一次性展示图表(→visualization-ops-skill)、AI 生成图片(→cloud-media-skill)、对话里随口提到"时钟 / 倒计时"(→直接回答)。

72

Quality

90%

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

SKILL.md
Quality
Evals
Security

Quality

Content

92%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 orchestration skill body: exact tool invocations, concrete paths and constraints, sequenced workflows with an explicit compile-validation feedback loop, and clean delegation to a referenced skill for coding details. The only flaw is minor duplication between the decision tree and the modify-workflow section.

Suggestions

Trim the duplication between the 决策树 (WidgetList → WidgetGet → Read → Edit → WidgetCheck branch) and the 修改已有 Widget section — keep the sequence in one place and let the tree reference it.

Shorten the 加载 note by naming the five tools once and referencing the ToolSearch call string, rather than listing all five names twice in the same line.

DimensionReasoningScore

Conciseness

The body is dense and almost entirely project-specific (tool semantics, paths, sandbox limits) with no generic concept explanations — the "为什么先 init/最后必须 check" rationales are non-obvious environment facts, not padding. It falls short of anchor 5 on minor duplication: the 加载 note lists all five tool names twice in one line, and the 决策树 path (WidgetList → WidgetGet → Read → Edit → WidgetCheck) restates the 修改已有 Widget section verbatim. It is well above anchor 3, which requires unnecessary explanation.

4 / 5

Actionability

Fully executable, copy-paste-ready guidance: exact invocations ("ToolSearch(names: "WidgetInit,WidgetList,WidgetGet,WidgetCheck,GenerateWidget")"), exact paths ("~/.openloaf/dynamic-widgets/<id>/"), the import whitelist ("react、react/jsx-runtime、@openloaf/widget-sdk"), specific TS error patterns with fixes ("Cannot find module 'xxx'" → delete disallowed imports), and hard limits (10 秒超时). This matches anchor 5 — common cases, including compile failure, are covered with concrete fixes.

5 / 5

Workflow Clarity

Clear numbered sequences for creation (WidgetInit → ToolSearch → Write → Write → WidgetCheck) and modification, with an explicit validation step (WidgetCheck compiles and refreshes the preview — and the text explains why it must run last) plus a genuine feedback loop: "用 `Edit` 修复 → 再次 `WidgetCheck`,直到编译通过". The 决策树 and 修改 vs 重建 criteria add branching guidance. This matches anchor 5 (explicit validation, error-recovery loop, decision checklist).

5 / 5

Progressive Disclosure

No bundle files exist, and none are needed: the body is a well-sectioned orchestration overview that delegates coding details to a clearly signaled, one-level-deep external skill ("编码细节(SDK API、组件写法、安全沙箱)在 `generate-dynamic-widget` skill 中"), with nothing nested or buried. Content is appropriately split between orchestration (here) and coding (there), matching anchor 5.

5 / 5

Total

19

/

20

Passed

Description

86%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 strong trigger-oriented description: explicit when-guidance with verbatim user phrases, good synonym coverage, and excellent disambiguation against neighboring skills. The main weakness is that the capability statement ('what it does') is implicit in the trigger verbs rather than stated explicitly.

Suggestions

Lead with an explicit capability statement (e.g., what the skill does concretely: scaffolds widget directories, compiles via WidgetCheck, manages the widget lifecycle) before the trigger clause, so 'what' is stated rather than inferred from the CRUD verbs.

Optionally mention the compile/preview verification loop in the description so the skill's actual operations, not just user intents, are visible at discovery time.

DimensionReasoningScore

Specificity

The description lists four concrete actions ("新增、修改、查看、删除 widget") with object synonyms ("桌面组件 / 小组件 / 仪表盘卡片"), matching the 'several specific actions; minor gaps' anchor. It falls short of 5 because it never states the skill's actual operations (scaffolding, compiling, verification) — the coverage of what the skill does has minor gaps — and it exceeds 3 because it goes well beyond naming 1-2 actions.

4 / 5

Completeness

The 'when' is explicit and exemplary ("当用户要在 OpenLoaf 工作台 / 桌面上新增、修改、查看、删除 widget 时触发" plus concrete quoted trigger phrases), so the missing-trigger cap of 3 does not apply. However, the 'what' is only implicit — the CRUD verbs describe user intent merged into the trigger clause, with no separate capability statement about what the skill actually does — which fits anchor 4 ('has both, but one could be more explicit') rather than 5.

4 / 5

Trigger Term Quality

It quotes literal natural user phrasings ("加个天气 widget"、"做个番茄钟组件"、"改下这个 widget 的颜色") and covers synonyms (widget, 桌面组件, 小组件, 仪表盘卡片) plus platform terms (OpenLoaf 工作台 / 桌面). This matches the 'comprehensive coverage of natural terms including synonyms' anchor; a score of 4 would understate it since actual user speech is quoted verbatim, not just keyword categories.

5 / 5

Distinctiveness Conflict Risk

Explicit negative boundaries with redirects ("**不用于**:聊天消息里一次性展示图表(→visualization-ops-skill)、AI 生成图片(→cloud-media-skill)、对话里随口提到"时钟 / 倒计时"(→直接回答)") plus platform scoping ("OpenLoaf 工作台 / 桌面") give it a clear niche with minimal conflict risk — matching anchor 5; even ambiguous near-misses are preemptively routed away.

5 / 5

Total

18

/

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

itsablabla/openloaf-web

Path

apps/server/src/ai/builtin-skills/workbench-ops/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.