CtrlK
BlogDocsLog inGet started
Tessl Logo

igmarin/rails-agent-skills

Curated library of AI agent skills for Ruby on Rails development. Covers code review, architecture, security, testing (RSpec), engines, service objects, DDD patterns, and workflow automation.

98

1.38x
Quality

99%

Does it follow best practices?

Impact

98%

1.38x

Average score across 26 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

SKILL.mdcreate-prd/

name:
create-prd
description:
Generates a clear, actionable Product Requirements Document (PRD) in Markdown from a feature description. Use when a user asks to plan a feature, define requirements, or create a PRD. Covers goals, user stories, requirements, and non-goals for Rails-oriented workflows.

Generating a Product Requirements Document (PRD)

Focus on what and why, not how. No code until the PRD is approved.

Process

  1. Receive prompt: User provides a feature description or request.
  2. Socratic questioning phase:
    • If the prompt is already detailed (clear goal, scope, and success criteria), skip clarifying questions and generate the PRD directly.
    • If anything is ambiguous, ask only the most essential questions (3-5 max). Understand "what" and "why", not "how". Use letter/number options for quick answers.
    • Ask one question at a time when possible — do not overwhelm with a wall of questions.
  3. Identify implementation surface: Note which Rails areas the feature will touch: controllers, models, services, jobs, mailers, engines, or external integrations. This feeds directly into section 8 of the PRD.
  4. Generate PRD: Use the structure below. Derive [feature-name] from the feature (lowercase, hyphenated slug, e.g. user-onboarding, export-csv).
  5. Save: Save as tasks/prd-[feature-name].md in /tasks/. Create the directory if it does not exist.
  6. Verify: Re-read the saved file and confirm it matches the agreed scope. In your reply, include this exact line: Recommended next step: generate-tasks — break this PRD into implementation tasks with TDD gates.
  7. Do NOT start implementing the PRD — that is the user's decision after review.

PRD Structure

Include all 10 sections — none are optional. Sections with nothing to say get a one-line placeholder (e.g. "No open questions at this stage."). See PRD_TEMPLATE.md for the ready-to-fill template.

#SectionPurpose
1IntroductionWhat it is and what problem it solves
2GoalsMeasurable objectives
3User StoriesOne per key flow: "As a [role], I want [action] so that [benefit]"
4Functional RequirementsNumbered must-have behaviors — testable
5Non-GoalsWhat this version will NOT include
6Design ConsiderationsUI/UX notes, mockup links, pending design decisions
7Technical ConsiderationsConstraints, dependencies, performance concerns
8Implementation SurfaceREQUIRED — name the specific Rails layers this feature will touch (e.g. controllers, models, services, jobs, mailers). Describe entry points and architectural areas in plain language — do NOT include class names, module paths, or code.
9Success MetricsHow success is measured
10Open QuestionsAnything still to be decided

Pitfalls

PitfallWhat to do
Vague requirements ("make it fast", "good UX")Every requirement must use "must" and be testable
Skipping Non-Goals sectionNon-Goals prevent scope creep. Always include them
Generic user stories"As a user, I want a good experience" is not a user story
Generic Implementation Surface"The Rails app" or "controllers and models" is insufficient — name the specific Rails layers and areas, e.g. admin inventory controller, background import job, inventory validation service layer

Integration

SkillWhen to chain
generate-tasksAfter PRD is approved — implementation + tests + YARD + docs + review tasks
ticket-planningWhen the plan also needs Jira-ready tickets, classification, or sprint placement
rails-architecture-reviewWhen PRD reveals architectural concerns
rails-engine-authorWhen the PRD is clearly for a mountable engine or host-app integration
rails-stack-conventionsWhen PRD is for a Rails feature

README.md

tile.json