CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

moai-workflow-loop

Ralph Engine - Automated feedback loop with LSP diagnostics and AST-grep integration for continuous code quality improvement. Use when implementing error-driven development, automated fixing, or continuous quality validation workflows.

Quality

61%

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 ./.claude/skills/moai-workflow-loop/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body covers real, project-specific territory (hook contracts, exit codes, env vars, troubleshooting, verification checklists) but is padded by prose-formatted configuration that duplicates the reference bundle, and its most actionable material — the worked examples file — is orphaned. Operational sequencing is implicit rather than laid out as steps.

Suggestions

Replace the Configuration and Completion Conditions prose with a short 5–6 row summary table and point to references/reference.md for the full option list, eliminating the in-body duplication.

Add a 'See references/examples.md' pointer (ideally in a Quick Reference or Examples section) so the 1000+ lines of executable loop examples are discoverable.

Add a numbered 'Running a loop' sequence (start command → baseline diagnostics → iterate/fix → completion or escalation) and either document or link the escalation protocol referenced in the Rationalizations table.

Convert the LSP Client Usage narrative into a short actual code snippet, or move it to the reference file with a pointer.

DimensionReasoningScore

Conciseness

The Configuration section spends ~15 lines of prose ('Under the lsp section, auto_start controls automatic language server startup (30 seconds default)...') restating a table that already exists in references/reference.md, and the Completion Conditions section repeats those same settings a second time in the body. The Architecture Overview likewise narrates a component flow in paragraph form where a short list or diagram reference would do, making several sections noticeably padded.

2 / 5

Actionability

Concrete specifics exist — file paths (.moai/cache/.moai_loop_state.json), hook exit codes, environment variables (MOAI_DISABLE_LSP_DIAGNOSTIC), and commands (/moai:loop) — but executable material is thin. The LSP Client Usage section is pseudocode-level ('call the get_diagnostics method asynchronously... Check the severity property against DiagnosticSeverity.ERROR') with no actual code, and the CI/CD section says to 'create a workflow step' without giving one, even though runnable examples exist unreferenced in references/examples.md.

3 / 5

Workflow Clarity

The loop's operation is described (command layer → hooks → diagnostics → completion check → continue/complete) and the Verification checklist provides genuine validation checkpoints, but there is no numbered, actionable sequence for starting and driving a loop. The escalation protocol is invoked ('Stagnation after 2 iterations triggers escalation, not silent exit. Follow the escalation protocol.') without being defined or linked anywhere, leaving a checkpoint gap.

3 / 5

Progressive Disclosure

The body inlines full configuration detail that belongs in references/reference.md (where it already exists as a table), and references/examples.md — over a thousand lines of practical, executable examples — is never mentioned anywhere in the body. Half the bundle is therefore undiscoverable, and the single reference to reference.md is scoped narrowly to the language-server table rather than signaling the file's full contents.

2 / 5

Total

10

/

20

Passed

Description

67%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 solid description that explicitly states both what the skill does and when to use it, in third person, with a distinctive technical niche. Its main weakness is trigger phrasing that leans on ecosystem jargon ('error-driven development') instead of natural user language, which weakens discoverability.

Suggestions

Add natural trigger phrases users would actually say, e.g. 'Use when the user asks to automatically fix errors, run a fix-loop until diagnostics are clean, or set up continuous code-quality validation'.

Replace or supplement the jargon term 'error-driven development' with plain-language equivalents like 'iteratively fixing lint/compiler errors until zero remain'.

DimensionReasoningScore

Specificity

The description lists several concrete capabilities — 'Automated feedback loop with LSP diagnostics and AST-grep integration', 'automated fixing', 'continuous quality validation' — which goes beyond naming the domain. Minor gaps remain (no mention of test/coverage validation or the hook system that the body documents), so it does not reach comprehensive coverage.

4 / 5

Completeness

Both parts are explicit: the what ('Automated feedback loop with LSP diagnostics and AST-grep integration for continuous code quality improvement') and the when ('Use when implementing error-driven development, automated fixing, or continuous quality validation workflows'). The when-triggers are workflow categories rather than concrete user-mentionable phrases, keeping it below a 5.

4 / 5

Trigger Term Quality

Relevant keywords are present ('automated fixing', 'code quality', 'LSP diagnostics', 'AST-grep'), but the when-clause triggers read as methodology jargon — 'error-driven development', 'continuous quality validation workflows' — rather than phrases a user would naturally say. Common variations like 'auto-fix errors', 'fix until clean', or 'run the loop' are missing.

3 / 5

Distinctiveness Conflict Risk

Naming LSP diagnostics, AST-grep, and the feedback-loop niche gives it a clear identity with minimal overlap against generic code-quality skills. Minor overlap risk remains with closely related linting/CI skills in the same ecosystem.

4 / 5

Total

15

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

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

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

modu-ai/moai-adk

Path

.claude/skills/moai-workflow-loop/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.