CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

sinatra-project-starter

Scaffold a production-ready Sinatra 4.x API with Ruby 3.3+, modular application style, Rack middleware, Sequel for database access, Puma web server, and structured project layout.

Quality

78%

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 ./backend-ruby/sinatra-project-starter/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

An exceptionally actionable, executable skill body: complete working code for every file, exact commands, and a sequenced post-scaffold workflow with a verification step. The main weaknesses are mild redundancy (Sequel rationale stated twice, description repeated as a blockquote) and the total absence of a reference/template file split for the ~400 lines of inlined code templates.

Suggestions

Move the complete file templates (middleware, routes, serializer, Rakefile, migration) into a `references/` or `templates/` bundle and keep only the load-bearing patterns plus one representative example inline in SKILL.md.

Remove the opening blockquote that duplicates the description, and consolidate the Sequel-vs-ActiveRecord rationale that currently appears in both "Key Conventions" and "Integration Notes".

Add brief error-recovery guidance to "First Steps After Scaffold" for the likely failure points (database unreachable, migration failure, missing JWT_SECRET).

DimensionReasoningScore

Conciseness

The body is code-first and assumes competence ("Use modular style… never classic/top-level style for production"), with only minor trimmables: the opening blockquote repeats the description verbatim, the Sequel-over-ActiveRecord rationale appears in both "Key Conventions" and again in "Integration Notes", and a few comments state the obvious ("# Password hashing"). It is below anchor 5 because of that redundancy, but well above anchor 3 since there is no padded prose or explanation of basics.

4 / 5

Actionability

Everything is executable: exact `bundle add` commands, complete copy-paste-ready implementations for every project file (app, routes, model, all three middleware, service, serializer, migration, Rakefile), and a concrete command list including `bundle exec rake db:migrate` and `curl http://localhost:4567/api/health`. This matches anchor 5 — fully executable, copy-paste ready, covering the common cases.

5 / 5

Workflow Clarity

"First Steps After Scaffold" gives a clear 6-step sequence with an explicit verification checkpoint (step 6: curl the health endpoint), and the scaffold command itself is sequenced (init → bundle → directories). It falls short of anchor 5 because there is no error-recovery guidance — e.g. what to do when `rake db:create`/`db:migrate` fails due to a wrong `DATABASE_URL` or missing PostgreSQL.

4 / 5

Progressive Disclosure

No bundle files exist at all, and roughly 400 lines of complete file templates (middleware, routes, serializer, Rakefile, migration) are inlined in SKILL.md. Section headers are clear and navigation is easy, so it is above anchor 2's "minimal structure", but content that would classically live in a `references/` or `templates/` bundle is inline with no external split, matching anchor 3.

3 / 5

Total

16

/

20

Passed

Description

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

The description is specific, stack-rich, and firmly niched to Sinatra, making it highly distinguishable. Its main weakness is the complete absence of any "Use when…" trigger clause, which both caps completeness and leaves invocation guidance implicit.

Suggestions

Append an explicit trigger clause, e.g. "Use when starting a new Sinatra project, scaffolding a Ruby API, or when the user mentions Sinatra, Puma, Sequel, or Rack-based Ruby web apps."

Add natural user-facing synonyms and variations such as "Sinatra app", "Ruby web app", or "Ruby API backend" to broaden trigger term coverage.

Optionally mention the auth/testing scaffolding the skill actually provides (JWT middleware, bcrypt, RSpec) so the "what" coverage matches the body.

DimensionReasoningScore

Specificity

"Scaffold a production-ready Sinatra 4.x API with Ruby 3.3+" names a concrete action, and the enumeration "modular application style, Rack middleware, Sequel for database access, Puma web server, and structured project layout" lists several specific stack components with only minor coverage gaps (no mention of testing or auth scaffolding). It is below anchor 5 because there is only one action verb (scaffold) rather than multiple distinct actions.

4 / 5

Completeness

The "what" is clear (scaffold a Sinatra 4.x API with the listed stack), but there is no "Use when…" clause or any equivalent explicit trigger guidance, so completeness is capped at 3 per the judging guidelines. The "when" is only weakly implied by the stack listing.

3 / 5

Trigger Term Quality

Natural terms users would say are present — "Sinatra", "Ruby 3.3+", "API", "Puma", "Sequel", "Rack" — giving good keyword coverage. It falls short of anchor 5 because common variations and synonyms are missing, e.g. "Sinatra app", "Ruby web app", "Ruby backend", or "new Ruby project".

4 / 5

Distinctiveness Conflict Risk

"Sinatra 4.x", "Sequel", "Puma web server", and "Rack middleware" carve out a clear niche that is distinct from Rails starters or generic Ruby project skills, with minimal conflict risk. It is above anchor 4 because the stack terms are specific enough that a user asking for Rails or a non-Ruby backend would not naturally trigger this skill.

5 / 5

Total

16

/

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

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

achreftlili/deep-dev-skills

Path

backend-ruby/sinatra-project-starter/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.