CtrlK
BlogDocsLog inGet started
Tessl Logo

graphify

any input (code, docs, papers, images) - knowledge graph - clustered communities - HTML + JSON + audit report

41

Quality

42%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./plugins/sdlc/skills/graphify/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%Scale 1-5

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

This skill is remarkably thorough and highly actionable — every step has complete, executable code with proper error handling and validation checkpoints. However, it is severely over-long for a single SKILL.md file, with ~800+ lines of inline implementation that should be split across multiple referenced files (subagent prompts, subcommand handlers, export formats). The workflow is well-sequenced but the monolithic structure makes it difficult to navigate and wastes context window budget.

Suggestions

Split subcommand implementations (query, path, explain, add, --update, --watch, --cluster-only) into separate referenced files (e.g., QUERY.md, UPDATE.md, EXPORTS.md) and link from the main SKILL.md with one-line descriptions

Extract the subagent extraction prompt (Step B2) into a separate file like SUBAGENT_PROMPT.md — it's ~80 lines that rarely change and dominates the skill body

Move export format handlers (Neo4j, SVG, GraphML, MCP, wiki) into an EXPORTS.md reference file since they are conditional/optional steps

Reduce repeated boilerplate across code blocks — the pattern of loading JSON files, building graph, reading analysis is repeated 10+ times and could reference a shared setup snippet

DimensionReasoningScore

Conciseness

The skill is extremely long (~800+ lines) with massive amounts of inline code that could be in separate files. Many code blocks repeat the same boilerplate (loading JSON, building graph, reading analysis). The subagent prompt alone is ~80 lines embedded inline. While the content is mostly non-redundant in terms of concepts, the sheer volume of inline implementation detail is far beyond what belongs in a single SKILL.md.

2 / 5

Actionability

Every step has fully executable, copy-paste-ready code blocks with specific Python imports, function calls, file paths, and error handling. The subagent prompt is complete with exact JSON schema. Flag handling, edge cases (empty graph, code-only corpus, large corpus warnings), and error recovery are all concretely specified.

5 / 5

Workflow Clarity

The multi-step pipeline is clearly sequenced (Steps 0-9) with explicit validation checkpoints (empty graph check after Step 4, cache checks before extraction, graph existence checks before queries). There are feedback loops for error recovery (subagent failure handling, re-validation). Minor gap: no explicit validation after the merge step in --update mode to confirm the merged graph is consistent, and the Step 2 detection says 'proceed to Step 2.5 if video files were detected, or Step 3 if not' but earlier says 'proceed directly to Step 2' which is slightly confusing.

4 / 5

Progressive Disclosure

This is a monolithic wall of content with no references to external files despite being ~800+ lines. The subagent prompt, all subcommand implementations (query, path, explain, add, watch), export variants (Neo4j, SVG, GraphML, MCP), and incremental update logic are all inlined. No bundle files are provided. Content like the subagent extraction prompt, the query/path/explain subcommands, and export format handlers clearly belong in separate referenced files.

1 / 5

Total

12

/

20

Passed

Description

28%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.

This description reads as a shorthand pipeline notation rather than a proper skill description. It lacks concrete action verbs, natural trigger terms, and any 'Use when...' guidance. While the knowledge graph and community clustering concepts provide some niche identity, the telegraphic format and overly broad input scope significantly weaken its effectiveness for skill selection.

Suggestions

Rewrite using complete sentences with concrete action verbs, e.g., 'Builds knowledge graphs from source materials, detects community clusters, and generates interactive HTML visualizations with JSON data exports and audit reports.'

Add an explicit 'Use when...' clause with natural trigger phrases, e.g., 'Use when the user asks to map relationships, build a knowledge graph, identify clusters in documents, or visualize entity connections.'

Narrow or clarify the input scope to reduce conflict risk, e.g., specify what types of analysis are performed on code vs. docs vs. images rather than listing 'any input'.

DimensionReasoningScore

Specificity

The description names a domain (knowledge graphs) and lists artifacts (HTML, JSON, audit report) but uses a telegraphic arrow-chain format rather than describing concrete actions. It's unclear what specific operations are performed beyond vague pipeline steps.

2 / 5

Completeness

There is a vague 'what' implied by the pipeline (input → knowledge graph → communities → outputs), but there is no 'when' clause at all. The description never explains when Claude should select this skill, which caps this dimension.

2 / 5

Trigger Term Quality

Terms like 'knowledge graph', 'clustered communities', and 'audit report' are somewhat relevant but not natural phrases users would say. Missing common trigger terms like 'analyze', 'visualize', 'extract relationships', or 'graph analysis'. The format is more of a pipeline diagram than natural language.

2 / 5

Distinctiveness Conflict Risk

The mention of 'knowledge graph' and 'clustered communities' provides some distinctiveness, but the extremely broad input scope ('any input - code, docs, papers, images') creates overlap risk with many other skills. The output formats (HTML, JSON) are also very generic.

3 / 5

Total

9

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1402 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

Passed

Repository
whimzyLive/nightshift-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.