CtrlK
BlogDocsLog inGet started
Tessl Logo

ast-grep

AST-based code search and rewrite via tree-sitter patterns. Use instead of Grep/Edit for structural matching, batch rewrites, or context-aware queries (e.g. "unwrap inside impl blocks").

72

Quality

89%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Discovery

100%

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 is an excellent skill description that is concise yet highly informative. It clearly defines what the skill does (AST-based code search and rewrite), when to use it (structural matching, batch rewrites, context-aware queries), and explicitly differentiates itself from competing skills (Grep/Edit). The concrete example adds practical clarity without bloating the description.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: 'AST-based code search', 'rewrite via tree-sitter patterns', 'structural matching', 'batch rewrites', 'context-aware queries'. The example '"unwrap inside impl blocks"' adds further concreteness.

3 / 3

Completeness

Clearly answers both what ('AST-based code search and rewrite via tree-sitter patterns') and when ('Use instead of Grep/Edit for structural matching, batch rewrites, or context-aware queries'). The 'Use instead of...' clause serves as an explicit trigger guidance with concrete scenarios.

3 / 3

Trigger Term Quality

Includes strong natural trigger terms: 'AST', 'tree-sitter', 'structural matching', 'batch rewrites', 'context-aware queries', 'unwrap inside impl blocks'. Also references alternatives ('instead of Grep/Edit') which helps with disambiguation. Users familiar with code refactoring would naturally use these terms.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive by explicitly differentiating itself from Grep/Edit and carving out a clear niche around AST/tree-sitter-based structural code operations. The mention of 'structural matching' and 'context-aware queries' clearly separates it from text-based search/replace skills.

3 / 3

Total

12

/

12

Passed

Implementation

79%

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

This is a strong, highly actionable skill that efficiently teaches ast-grep usage with concrete, executable examples and useful reference tables. Its main weakness is the lack of an explicit multi-step workflow with validation checkpoints for the destructive rewrite operation (-U flag), and the content could benefit from splitting reference material (node kinds, YAML rule structure) into separate files. The content appears truncated (Shell escaping section cuts off mid-sentence), which affects completeness.

Suggestions

Add an explicit numbered workflow for rewrites: 1. Search with pattern (preview), 2. Review matches, 3. Apply with -U, 4. Verify changes with git diff or re-run search

Complete the truncated Shell escaping section — the content cuts off mid-sentence

DimensionReasoningScore

Conciseness

The content is lean and efficient throughout. It avoids explaining what ASTs or tree-sitter are, jumps straight to commands and syntax, and uses tables for compact reference. Every section provides tool-specific knowledge Claude wouldn't already have (mise exec prefix, pattern syntax quirks, Rust node kind mappings).

3 / 3

Actionability

All commands are fully executable and copy-paste ready with the `mise exec --` prefix. The pattern syntax table, YAML rule examples, and shell commands are concrete and specific, including important gotchas like 'bare `.unwrap()` is an ERROR' and the `--selector` disambiguation technique.

3 / 3

Workflow Clarity

The rewrite workflow mentions 'always preview first, then apply with -U' which is a validation checkpoint for destructive batch rewrites, but this is stated only in a comment rather than as an explicit sequenced workflow with a feedback loop. For batch rewrite operations, a more explicit validate-then-apply sequence with error recovery guidance would be expected.

2 / 3

Progressive Disclosure

The content is well-organized with clear section headers (Commands, Pattern syntax, YAML rule structure, Key Rust node kinds, Shell escaping), but it's all inline in a single file. The Rust node kinds table and YAML rule reference could be split into separate reference files for a cleaner overview, though for a skill of this size it's borderline acceptable.

2 / 3

Total

10

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

10

/

11

Passed

Repository
gitlabhq/orbit-knowledge-graph
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.