CtrlK
BlogDocsLog inGet started
Tessl Logo

generate-mocs

重新生成 Obsidian 里的目录页 / 导航页(MOC)。 当用户说“更新索引”“更新论文和概念目录”“刷新论文和概念目录”“刷新MOC”时使用。

63

Quality

79%

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/generate-mocs/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%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 tight, actionable orchestration skill that delegates real logic to shared scripts and guards git operations with explicit preconditions. Its main gap is the absence of validation or failure handling around the batch MOC generation steps themselves, which caps workflow clarity.

Suggestions

Add an explicit validation step after each generation script (check exit status / confirm output files were written under NOTES_PATH and CONCEPTS_PATH) before reporting, with a fix-and-retry instruction on failure.

Specify the exact git commands — which paths to `git add` (e.g. the generated MOC files), the commit command, and a commit-message convention — so the git section is copy-paste ready.

Merge the duplicated setup guidance: fold “执行环境” into “Step 0” and state the GIT_PUSH_ENABLED-implies-GIT_COMMIT_ENABLED invariant once.

DimensionReasoningScore

Conciseness

The body is lean with no explanation of concepts Claude already knows; commands and variable definitions are stated once and used. Minor trimmable duplication keeps it below anchor 5: the shared-config setup appears in both “执行环境” and “Step 0: 读取共享配置”, and the GIT_PUSH_ENABLED dependency is stated twice (line 33 and line 64, "只有在 GIT_COMMIT_ENABLED=true 时才…").

4 / 5

Actionability

Mostly executable guidance: copy-paste commands ("python3 ../_shared/generate_concept_mocs.py", "python3 ../_shared/generate_paper_mocs.py", "python3 ../_shared/user_config.py") and concrete derivations ("NOTES_PATH = {VAULT_PATH}/{paper_notes_folder}"). Not anchor 5: the git section stops at conditions ("git add 之后是否真的有 staged changes") without the exact commands — what paths to add, the commit command, or a commit message format.

4 / 5

Workflow Clarity

The sequence is clear (shared config → concept MOC script → paper MOC script → 汇报) and the git flow has real checkpoints ("VAULT_PATH/.git 是否存在", staged-changes check before commit). However this is a batch write operation across the vault, and the generation steps have no validation of script success or any error-recovery loop (nothing says what to do if a script fails or writes nothing) — per the batch-operation guideline this caps workflow clarity at 3.

3 / 5

Progressive Disclosure

A short, well-sectioned body with heavy logic correctly delegated to one-level-deep, clearly signaled references: "[Agent 运行约定](../_shared/agent-runtime.md)" and the three ../_shared/*.py scripts invoked inline. No bundle files exist under the skill itself, none are needed at this length, and nothing is inlined that belongs elsewhere — matching anchor 5.

5 / 5

Total

16

/

20

Passed

Description

78%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 concise, well-formed description with an explicit 'use when' clause and concrete natural-language triggers. Its main weakness is limited action coverage — it names only the single high-level action rather than the multiple concrete sub-actions the skill performs.

Suggestions

Enumerate the concrete sub-actions in the description, e.g. "生成概念目录页与论文目录页,可选 git 提交推送" to raise specificity from one action to several.

Add missing natural trigger variants such as “论文目录”“概念目录”“导航页”“生成MOC” so keyword coverage approaches comprehensive.

Qualify the generic trigger “更新索引” with the domain (e.g. “更新Obsidian索引/MOC”) to reduce overlap risk with other index-related skills.

DimensionReasoningScore

Specificity

"重新生成 Obsidian 里的目录页 / 导航页(MOC)" names the domain and one concrete action (regenerate MOC pages), matching anchor 3 ('names domain and 1-2 concrete actions, but not comprehensive'). It does not list the several distinct actions the skill actually performs (generate concept MOCs, generate paper MOCs, optional git commit/push), so it is below anchor 4's 'several specific actions' and clearly above anchor 2's generic-only level.

3 / 5

Completeness

The description answers 'what' clearly ("重新生成 Obsidian 里的目录页 / 导航页(MOC)") and 'when' explicitly with concrete trigger phrases ("当用户说…时使用"), exactly matching anchor 5. The explicit 'use when' clause is present, so no cap applies; anchor 4 would require the 'when' to be less explicit than it is here.

5 / 5

Trigger Term Quality

Four natural trigger phrases are quoted (“更新索引”“更新论文和概念目录”“刷新论文和概念目录”“刷新MOC”) and cover the update/refresh and 目录/索引 synonym space, giving good keyword coverage per anchor 4. Not anchor 5: natural variants a user might say are missing (e.g. “论文目录”“概念目录” alone, “导航页”“MOC页”).

4 / 5

Distinctiveness Conflict Risk

"Obsidian 里的目录页 / 导航页(MOC)” is a clear niche with mostly distinct triggers (刷新MOC, 论文和概念目录), fitting anchor 4's 'mostly distinct; minor overlap risk'. Not anchor 5 because the trigger “更新索引” is moderately generic and could also match an unrelated index-maintenance skill in the same vault.

4 / 5

Total

16

/

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

relative_links

Relative link issues: 1 suspicious

Warning

Total

15

/

16

Passed

Repository
huangkiki/dailypaper-skills
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.