CtrlK
BlogDocsLog inGet started
Tessl Logo

setup-ts-deep-modules

在 TypeScript repo 中接入 dependency-cruiser,让每个 package 成为 deep module:implementation 隐藏在 subfolders 中,只能通过 entry-point files 访问。User-invoked。

61

Quality

72%

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/in-progress/setup-ts-deep-modules/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is lean, well-sequenced, and has excellent validation feedback loops, but its actionability and progressive disclosure are undermined because the dependency-cruiser config it instructs the reader to copy is referenced yet not actually bundled, leaving the four rules and back-reference logic described rather than provided.

Suggestions

Ship the missing './dependency-cruiser.config.cjs' bundle file containing the four forbidden rules and the '$1' group back-references, so step 3's 'copy this file' instruction is executable.

If the config is intentionally repo-specific, inline a minimal copy-pasteable config block in step 3 instead of pointing at an absent file.

Confirm the referenced path resolves (the file should live alongside SKILL.md or in a bundled directory and be checked in) so the progressive-disclosure reference is real.

DimensionReasoningScore

Conciseness

The body is dense and operational — detection heuristics, four enumerated rules, numbered steps, and terse Notes — without padding in basic concepts Claude already knows; it assumes competence and the vocabulary cross-reference to /codebase-design is a single justified line, matching the 'lean and efficient; every token earns its place' anchor.

3 / 3

Actionability

Steps give concrete commands (package-manager detection table, 'depcruise <packages-root>', .cjs rationale) but the central artifact it tells you to copy — './dependency-cruiser.config.cjs' containing the four forbidden rules and the '$1' back-references — is not present in any bundle directory, so the key executable detail is missing rather than copy-paste ready, fitting the 'some concrete guidance but incomplete; missing key details' anchor.

2 / 3

Workflow Clarity

Seven clearly sequenced steps each end with an explicit '**Done when:**' checkpoint, and step 6 is a full pass→fail→pass validation feedback loop with error-recovery guidance ('Step 2 不失败,就先修正 wiring'), matching the 'clear sequence with explicit validation steps; feedback loops' anchor.

3 / 3

Progressive Disclosure

Sections are well organized (shape, steps, notes) and the config is correctly pushed to a one-level reference, but the referenced bundle file './dependency-cruiser.config.cjs' does not exist in references/scripts/assets, so a signaled reference points at nothing — matching the 'references present but not clearly fulfilled' anchor rather than a clean 3.

2 / 3

Total

10

/

12

Passed

Description

67%

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 is specific and distinctive about its tooling and goal, but it omits any explicit 'Use when...' trigger guidance and relies on technical jargon plus a 'User-invoked' label rather than natural user phrasing, which caps completeness and trigger-term quality.

Suggestions

Add an explicit 'Use when...' clause naming natural user phrasing, e.g. 'Use when setting up package import boundaries, enforcing no deep imports, or adding dependency-cruiser to a TypeScript monorepo.'

Replace the bare 'User-invoked' label with concrete trigger terms users would actually say (e.g. 'enforce package boundaries', 'block deep imports', 'dependency-cruiser').

Soften reliance on jargon like 'deep module' and 'entry-point files' in the first sentence, or pair each with a plain-language synonym so the trigger is recognizable.

DimensionReasoningScore

Specificity

Names the concrete tool (dependency-cruiser) and specific actions — '接入 dependency-cruiser', '让每个 package 成为 deep module', 'implementation 隐藏在 subfolders 中', '只能通过 entry-point files 访问' — which matches the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

The 'what' is explicit, but there is no 'Use when...' clause or equivalent trigger guidance — only the bare 'User-invoked' label — so per the judging guidelines a missing explicit trigger clause caps completeness at 2.

2 / 3

Trigger Term Quality

Contains some relevant keywords ('TypeScript repo', 'package') but leans on technical jargon ('deep module', 'entry-point files') and 'User-invoked' is model metadata rather than natural user phrasing; missing common variations a user would actually say, so it sits at the 'some relevant keywords but missing variations' anchor.

2 / 3

Distinctiveness Conflict Risk

A clear niche (dependency-cruiser enforcing deep-module package boundaries in TypeScript) with distinct triggers unlikely to overlap with other skills, matching the 'clear niche with distinct triggers' anchor.

3 / 3

Total

10

/

12

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

relative_links

Relative link issues: 2 missing, 1 deeper-than-1-level

Warning

Total

15

/

16

Passed

Repository
vinvcn/mattpocock-skills-zh-CN
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.