CtrlK
BlogDocsLog inGet started
Tessl Logo

igmarin/rails-agent-skills

Curated library of 41 public AI agent skills for Ruby on Rails development. Organized by category: planning, testing, code-quality, ddd, engines, infrastructure, api, patterns, context, and orchestration. Covers code review, architecture, security, testing (RSpec), engines, service objects, DDD patterns, and TDD automation. Repository workflows remain documented in GitHub but are intentionally excluded from the Tessl tile.

95

1.77x
Quality

93%

Does it follow best practices?

Impact

96%

1.77x

Average score across 41 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

discovery.mddocs/workflows/

Workflow: Discovery & Context (00)

When to use: New to a project, need to understand the codebase, or setting up development environment.


Main Flow: New Developer on Project

graph TB
    subgraph Context [🔍 Phase 1: Understand]
        direction TB
        A[New to project] --> B[load-context]
        B --> C{Understood?}
        C -- No --> B
    end

    subgraph Setup [⚙️ Phase 2: Setup]
        direction TB
        C -- Yes --> D[setup-environment]
        D --> E{Ready?}
        E -- No --> D
    end

    E -- Yes --> F((Start Development))

    %% Styling
    style Context fill:#f5f5f5,stroke:#333,stroke-dasharray: 5 5
    style Setup fill:#e1f5fe,stroke:#01579b
    style C fill:#ffd54f
    style E fill:#ffd54f
    style F fill:#e8f5e9,stroke:#1b5e20,stroke-width:3px

Step 1: load-context

Goal: Load the minimum context needed before writing code, tests, or PRDs.

What it does:

  1. Inspects db/schema.rb — data structure
  2. Reads config/routes.rb — HTTP surface
  3. Finds neighboring models, controllers, services
  4. Reads existing factories and specs
  5. Detects ambiguities between requirements and code

Output: Context Summary posted before any code proposal.

When to invoke:

  • "Before I code on this, what's the existing pattern?"
  • "Where is this defined in the codebase?"
  • "Match existing style"

Step 2: setup-environment (NEW)

Goal: Complete development environment setup.

Onboarding Checklist

  • Repository cloned and structure understood
  • Docker / docker-compose configured (if applicable)
  • Environment variables set up (.env, credentials)
  • Database created, migrated, seeded
  • Test suite running locally
  • Linters installed and configured
  • IDE/Editor configured (Ruby LSP, plugins)
  • Git hooks installed (pre-commit, etc.)
  • Documentation read (README, ARCHITECTURE.md)

Standard Rails App Structure

app/
├── controllers/      # HTTP layer, thin
├── models/          # Domain logic + persistence
├── services/        # Business operations
├── jobs/            # Background processing
├── views/           # ERB/HAML + Hotwire
└── helpers/         # View utilities

config/
├── routes.rb        # Routing table
└── initializers/    # Gem configs

spec/ or test/
├── models/          # Unit tests
├── requests/        # Integration tests
├── services/        # Service tests
└── system/          # E2E tests

docs/
├── architecture.md  # System design
├── api/             # API documentation
└── workflows/       # This directory

Database Setup Commands

# Standard setup
bin/rails db:create
bin/rails db:migrate
bin/rails db:seed

# Test environment
RAILS_ENV=test bin/rails db:create db:migrate

# With Docker
docker-compose up -d db
docker-compose run web bin/rails db:create db:migrate db:seed

Environment Variables Checklist

VariablePurposeWhere to define
DATABASE_URLDB connection.env / env vars
REDIS_URLCache/Sidekiq.env
RAILS_MASTER_KEYEncrypted credentialsenv var only (never in repo)
AWS_* / S3_*Storagecredentials.yml.enc
SENDGRID_*Emailcredentials.yml.enc
STRIPE_*Paymentscredentials.yml.enc

Integration with Next Steps

If you need...Next skill
To plan a featurecreate-prdplanning
To start codingplan-testsdevelopment
To fix a bugtriage-bugdevelopment#bug-fix
To configure CI/CD(roadmap — setup-ci-cd, see setup)

Hard Gate: No Code Without Context

DO NOT write implementation code before running load-context.
ALWAYS post the Context Summary and resolve any ambiguities first.

Skills in this Workflow

SkillDescriptionTrigger words
load-contextLoad context before coding"load context", "before I code", "match existing style"
setup-environmentDev environment setup"onboarding", "new dev", "setup project", "Docker"

docs

architecture.md

calling-skills.md

eval-provenance.md

implementation-guide.md

index.md

plugin-validation.md

README.md

skill-design-principles.md

skill-optimization-guide.md

skill-structure.md

skill-template.md

vs-code-setup.md

workflow-guide.md

README.md

server.json

tile.json