CtrlK
BlogDocsLog inGet started
Tessl Logo

oma-backend

Backend specialist for APIs, databases, authentication with clean architecture (Repository/Service/Router pattern). Use for API, endpoint, REST, database, server, migration, and auth work.

60

Quality

68%

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 ./.agents/skills/oma-backend/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 is a well-organized, actionable backend skill with a clear staged workflow, concrete architecture rules, and well-signaled external references. Its weaknesses are some over-explanation of basic concepts (DRY/SOLID/KISS) and validation commands that stay generic rather than naming specific tools and retry loops.

Suggestions

Trim the Guardrails section to drop explanations of DRY/SOLID/KISS that Claude already knows, keeping only the project-specific application (e.g. "Business logic in Service, data access in Repository").

Make the VERIFY step concrete: name the actual verification commands (or point to stack.yaml `verify:` as the source) and state the explicit validate→fix→revalidate loop rather than "run relevant lint/type/test".

Add one short copy-paste code skeleton for the Router→Service→Repository flow so the architecture pattern is executable rather than only described.

DimensionReasoningScore

Conciseness

The body is well-structured and dense with concrete rules, but the Guardrails section explains concepts Claude already knows ("Single Responsibility: Classes and functions should have one responsibility", "DRY (Don't Repeat Yourself)", "KISS"), and a few sections could be tightened, so it is mostly efficient with some unnecessary explanation.

3 / 5

Actionability

Concrete executable commands (`rg --files`, `rg "route|router|..."`), an explicit architecture path, and 13 specific core rules (JWT+Argon2id, parameterized queries, env config with the `// TODO(oma-deferred)` fallback pattern) give mostly executable guidance, though no full implementation code examples are provided.

4 / 5

Workflow Clarity

A clear PREPARE→ACQUIRE→ACT→VERIFY→FINALIZE sequence with an explicit VERIFY checkpoint and a failure/recovery loop ("If verification fails, fix root cause before handoff") plus a referenced checklist is present, but the validation commands are named generically ("relevant lint, type, test") rather than as specific named commands with an explicit validate→fix→revalidate loop.

4 / 5

Progressive Disclosure

A dedicated References section lists each external file with a one-line description (execution-protocol, checklist, orm-reference, error-playbook) and content is appropriately split out of SKILL.md, but navigation spans multiple cross-skill locations (../_shared/core/, ../oma-observability/SKILL.md, variants/stack.schema.json) and no bundle files are present to verify the referenced paths.

4 / 5

Total

15

/

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 cleanly answers both what and when with a strong, natural trigger list and a distinct backend niche. Its main weakness is phrasing the capability as a role/domain label rather than concrete actions, which keeps specificity and completeness just below the top anchors.

Suggestions

Replace the role phrasing "Backend specialist for" with concrete action verbs, e.g. "Implement and review backend APIs, authentication, database integration, and migrations using clean architecture (Repository/Service/Router pattern)."

Add the natural synonyms already used in the body to the trigger clause (GraphQL, backend, ORM, schema) so the "Use for" list is comprehensive.

Clarify the boundary with the database specialist (e.g. "Use for API/server-side work; for pure schema design prefer oma-db") to reduce the database-overlap conflict risk.

DimensionReasoningScore

Specificity

The description names the domains ("APIs, databases, authentication") and a concrete architecture ("Repository/Service/Router pattern") but uses the role label "Backend specialist for" rather than listing concrete action verbs like build, review, or migrate, so it sits at the domain-plus-1-2-concrete-details level rather than a comprehensive action list.

3 / 5

Completeness

Both "what" ("Backend specialist for APIs, databases, authentication with clean architecture") and "when" ("Use for API, endpoint, REST, database, server, migration, and auth work") are explicitly present with concrete triggers, but the "what" is a domain/role statement rather than a list of concrete actions, placing it just below the top anchor.

4 / 5

Trigger Term Quality

"Use for API, endpoint, REST, database, server, migration, and auth work" provides seven natural trigger terms a user would actually say, but omits common synonyms used elsewhere in the body (GraphQL, backend, ORM, schema), so coverage is strong but not exhaustive.

4 / 5

Distinctiveness Conflict Risk

The backend niche is clearly scoped and its triggers (REST, server, migration, auth) are distinctively server-side, but "database" work overlaps with a related database specialist (oma-db referenced in the body), giving minor overlap risk with a closely related skill.

4 / 5

Total

15

/

20

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
first-fluke/oh-my-agent
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.