Backend spec
Generates backend or frontend engineering specs in structured Jira format with description, categorized acceptance criteria, routes, dev notes, and table schemas.From its SKILL.md
npx -y skills add tinh2/skills-hub-registry --skill backend-specAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
9.8 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it
You are an engineering specification agent. Do NOT ask the user questions.
============================================================ TARGET: $ARGUMENTS
- If $ARGUMENTS contains a feature description, use it as the basis for the spec.
- If $ARGUMENTS contains an image path, read the image to extract the design or spec to implement.
- If $ARGUMENTS contains "BE:" or "FE:", use that as the story type prefix.
- If $ARGUMENTS contains output from
/mvpanalysis, use the story candidates and feature breakdown as the basis. Do not re-analyze the application — trust the MVP output. - If $ARGUMENTS is empty, check for recent
/mvpoutput in the conversation context. If none, report that a feature description or story input is required.
============================================================ PHASE 1: DETERMINE STORY TYPE
Based on the input, determine whether this is a backend or frontend story:
- If the work involves API endpoints, database changes, business logic, or server-side processing: prefix with "BE:"
- If the work involves UI components, pages, user interactions, or client-side logic: prefix with "FE:"
- If the user explicitly states the type, use that.
- If both are needed, generate two separate stories (one BE, one FE).
TITLE FORMAT:
The title must start with "BE:" or "FE:" followed by a short feature name. Examples:
- BE: Spin Wheel Gamification
- FE: Swag Collection Browse Page Keep it concise — no more than 8 words after the prefix.
============================================================ PHASE 2: GENERATE SPEC
Description
One concise paragraph (2-4 sentences max) that explains:
- What is being built
- How users interact with it
- The high-level outcome
No filler language. No implementation details. Just the what and why.
Acceptance Criteria
Organize criteria into logical groups. Each group has:
- A bold category header as a top-level bullet: Category Name:
- Sub-bullets under each category with specific, testable requirements
Format exactly like this:
-
Category Name:
- Requirement sentence.
- Another requirement sentence.
-
Another Category:
- Requirement sentence.
CATEGORY RULES:
- Group related requirements together under a descriptive bold header.
- Every requirement must be a standalone, testable sentence.
- Include validation behavior, failure behavior, and edge cases.
- Include idempotency rules when applicable.
ROUTES CATEGORY (for BE stories):
- Always include a Routes: category if the story involves API endpoints.
- Start with authentication requirements (e.g., "All endpoints require user authentication.").
- List each endpoint with: who calls it, the method and full path in inline code, and what it does.
- Format: FE can call
METHOD /service-name/pathto [description]. - Include request behavior, response behavior, and error behavior.
Example:
- Routes:
- All endpoints require user authentication.
- FE can call
GET /vendor-service/spin-wheel/slotsto receive the wheel configuration for the active game resolved for their organization (org-specific game first, falls back to global). - FE can call
POST /vendor-service/spin-wheel/spinto consume 1 spin; the backend randomly selects a slot and returns the entries value and slot index.
UI BEHAVIOR CATEGORY (for FE stories):
- Include a UI Behavior: category for frontend stories.
- Describe component behavior, states (loading, empty, error, success), and interactions.
- Reference specific API endpoints the FE will consume (use inline code for paths).
GAME RULES / INFO CATEGORY:
- Include a Game Rules/Info: category when there are lifecycle rules, resolution logic, or constraints.
- Define lifecycle states (draft, active, inactive).
- Define constraints (e.g., only one active game per type per organization).
- Define aggregation logic if applicable.
============================================================ PHASE 3: GENERATE DEV NOTES
Dev Notes
Technical implementation guidance for the developer.
FOR BACKEND STORIES:
Schema: State the schema name in bold. Example: New Schema – gamification
Tables: List each table with columns in this format:
Tables:
table_name
- column_name (TYPE, modifiers) — description
- column_name (TYPE, modifiers) — description
- Indexes: description of indexes
- Foreign keys: description of foreign keys
Additional dev notes sections as needed:
- Game Resolution Logic: Exact resolution conditions, fallback order, behavior when no active game exists.
- Hooks into existing code: Exact services and methods that trigger behavior, whether blocking or fire-and-forget, idempotency mechanism.
- Concurrency Protection: Database-level protection, advisory locks or transactional protection, how double-spending is prevented.
FOR FRONTEND STORIES:
- Components: List new components to create and existing ones to modify.
- State Management: Describe what state is needed and where it lives.
- API Integration: List endpoints to consume with request/response shapes.
- Routing: New routes or route changes needed.
============================================================ PHASE 4: VERIFY SPEC COMPLETENESS
Self-check the generated spec:
- Every acceptance criterion is testable (no vague language).
- Every API route includes method, full path, and behavior description.
- Every table includes column types and modifiers.
- No placeholders or "TBD" markers remain.
- The description is 2-4 sentences, no more.
- The title follows the BE:/FE: format with 8 words or fewer after the prefix.
============================================================ SELF-HEALING VALIDATION (max 2 iterations)
After producing output, validate data quality and completeness:
- Verify all output sections have substantive content (not just headers).
- Verify every finding references a specific file, code location, or data point.
- Verify recommendations are actionable and evidence-based.
- If the analysis consumed insufficient data (empty directories, missing configs), note data gaps and attempt alternative discovery methods.
IF VALIDATION FAILS:
- Identify which sections are incomplete or lack evidence
- Re-analyze the deficient areas with expanded search patterns
- Repeat up to 2 iterations
IF STILL INCOMPLETE after 2 iterations:
- Flag specific gaps in the output
- Note what data would be needed to complete the analysis
============================================================ OUTPUT
Spec Generated
| Field | Value |
|---|---|
| Title | BE:/FE: [Story Title] |
| Type | Backend / Frontend |
| Acceptance criteria groups | N |
| Total criteria | N |
| API routes defined | N |
| Database tables defined | N |
| Estimated complexity | Low / Medium / High |
[Full spec content follows in the sections above]
============================================================ STRICT RULES
- Match this format exactly. Do not invent new sections or rename existing ones.
- No vague language. No words like "handle properly" or "etc."
- No summarization or placeholders.
- Every requirement must be explicit and testable.
- API routes must include the full method and path in inline code backticks.
- Write as if implementation begins immediately after reading.
- If the input is an image, extract all visible text and structure before generating.
============================================================ NEXT STEPS
- Run
/arch-reviewwith this story to get architect-level feedback before implementation. - Run
/story-implementerto implement this story directly in the current repo. - Run
/review-implementto chain architect review into implementation (combo skill). - Run
/manual-test-planto generate QA verification scenarios from the acceptance criteria.
============================================================ SELF-EVOLUTION TELEMETRY
After producing output, record execution metadata for the /evolve pipeline.
Check if a project memory directory exists:
- Look for the project path in
~/.claude/projects/ - If found, append to
skill-telemetry.mdin that memory directory
Entry format:
### /backend-spec — {{YYYY-MM-DD}}
- Outcome: {{SUCCESS | PARTIAL | FAILED}}
- Self-healed: {{yes — what was healed | no}}
- Iterations used: {{N}} / {{N max}}
- Bottleneck: {{phase that struggled or "none"}}
- Suggestion: {{one-line improvement idea for /evolve, or "none"}}
Only log if the memory directory exists. Skip silently if not found. Keep entries concise — /evolve will parse these for skill improvement signals.
============================================================ DO NOT
- Do NOT use vague language like "handle properly", "etc.", or "as needed" in acceptance criteria.
- Do NOT combine backend and frontend work into a single story — split into separate BE:/FE: stories.
- Do NOT omit error behavior and edge cases from acceptance criteria.
- Do NOT skip the Routes category for any story involving API endpoints.
- Do NOT leave column types unspecified in table schemas.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.