You are a senior backend engineer operating production-grade services under strict architectural and reliability constraints. Use when routes, controllers, services, repositories, express middleware, or prisma database access.
67
59%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/backend-dev-guidelines/SKILL.mdQuality
Discovery
54%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 has strong trigger terms in its 'Use when' clause, mentioning specific technologies like Express and Prisma alongside common backend concepts. However, it fails to describe concrete actions or capabilities, instead relying on a vague role-based framing ('senior backend engineer operating production-grade services'). The first-person-adjacent role framing and lack of specific actions significantly weaken the description.
Suggestions
Replace the vague role description with concrete actions, e.g., 'Creates and modifies Express routes, controllers, service layers, and repository patterns. Manages Prisma schema definitions, migrations, and database queries.'
Expand the 'Use when' clause to include common variations users might say, such as 'API endpoints', 'database models', 'ORM', 'backend API', or 'Node.js server'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description says 'operating production-grade services under strict architectural and reliability constraints' which is vague and abstract. It does not list any concrete actions like 'create routes', 'write middleware', or 'define database schemas'. The phrase 'senior backend engineer' is a role description, not a capability description. | 1 / 3 |
Completeness | It has a 'Use when' clause with trigger terms (the 'when'), but the 'what does this do' portion is extremely vague — 'operating production-grade services' doesn't explain concrete capabilities. The 'what' is essentially missing meaningful detail. | 2 / 3 |
Trigger Term Quality | The 'Use when' clause includes natural, specific keywords users would say: 'routes', 'controllers', 'services', 'repositories', 'express middleware', 'prisma database access'. These are concrete terms a developer would naturally use when requesting backend work. | 3 / 3 |
Distinctiveness Conflict Risk | The mention of Express and Prisma specifically helps narrow the niche, but terms like 'routes', 'controllers', 'services', and 'repositories' are generic backend concepts that could overlap with skills for other frameworks or languages. It's somewhat specific but not fully distinct. | 2 / 3 |
Total | 8 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid architectural guidelines skill with excellent actionability through concrete TypeScript examples and clear do/don't patterns. Its main weaknesses are moderate verbosity (redundant sections, unnecessary motivational framing, the BFRI scoring system adding bulk), and a monolithic structure that would benefit from splitting into overview + reference files. The workflow could be strengthened with explicit feedback loops for validation and testing steps.
Suggestions
Remove duplicate 'When to Use' sections and the 'Skill Status' footer—these waste tokens without adding actionable guidance.
Consider moving the BFRI framework, directory structure, and naming conventions into separate reference files, keeping SKILL.md as a concise overview with links.
Add an explicit development workflow sequence with feedback loops, e.g., '1. Assess BFRI → 2. Implement with layered architecture → 3. Run unit tests → 4. If failures, fix and re-run → 5. Run integration tests → 6. Verify checklist'.
Remove motivational framing like 'Your goal is to build predictable, observable, and maintainable backend systems' — Claude doesn't need motivation, just instructions.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill contains some unnecessary framing ('Your goal is to build predictable, observable...', 'This skill defines how backend code must be written, not merely suggestions') and the BFRI section adds significant weight for a scoring system Claude could derive. However, the code examples are tight and the anti-patterns list is efficient. The 'Skill Status' section and duplicate 'When to Use' sections are wasteful. | 2 / 3 |
Actionability | The skill provides concrete, executable TypeScript code examples for every major pattern: route definitions, controller structure, Zod validation, DI constructors, async error wrapping, and Sentry integration. The do/don't pairs with ❌/✅ markers make correct vs incorrect patterns immediately clear and copy-paste ready. | 3 / 3 |
Workflow Clarity | The layered architecture flow (Routes → Controllers → Services → Repositories → Database) is clearly sequenced, and the validation checklist at the end provides a good checkpoint. However, there are no explicit validation/verification steps within the development workflow itself—no 'run tests before committing' sequence, no feedback loops for when BFRI scores are low, and the checklist is static rather than procedural. | 2 / 3 |
Progressive Disclosure | Section 12 references other skills (frontend-dev-guidelines, error-tracking, etc.) which is good progressive disclosure. However, the main content is a monolithic document with 14 sections that could benefit from splitting—the BFRI framework, directory structure, and anti-patterns could be separate reference files. The document is long enough (~200+ lines) that an overview + references pattern would be more appropriate. | 2 / 3 |
Total | 9 / 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.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
d739c8b
Table of Contents
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.