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

SKILL.mdworkflows/setup/

name:
setup
license:
MIT
description:
Complete Rails project setup workflow. Installs dependencies via Bundler, configures database connections, generates Rails app scaffold, validates the dev environment, and generates GitHub Actions or GitLab CI pipelines with linting, testing, and security scanning. Use when starting a new Rails project, running `rails new`, configuring a Gemfile or .ruby-version, setting up a development environment, or wiring up CI/CD for a Ruby on Rails app. Trigger: setup project, new Rails app, configure CI/CD, dev environment setup, rails new, Gemfile setup, .ruby-version, Ruby on Rails project bootstrap.
metadata:
{"version":"1.0.0","user-invocable":"true","entry_point":"Invoke when starting new Rails project, setting up dev environment, or configuring CI/CD","phases":"Phase 1: Context & Onboarding, Phase 2: CI/CD Configuration, Phase 3: Environment Validation","hard_gates":"Environment Check, CI/CD Configuration, Environment Validation","dependencies":"load-context, setup-environment","keywords":"rails, setup, onboarding, ci/cd, workflow, devops, configuration"}

Setup Workflow

Orchestrates the full Rails project setup from context gathering through CI/CD configuration.

When to Use

  • Starting a new Rails project (rails new or existing repo clone)
  • Setting up development environment for existing project
  • Configuring CI/CD pipeline
  • Docker/environment setup

Workflow Phases

Phase 1: Context & Onboarding

Load project context first:

  1. skills/context/load-context — Understand existing codebase structure
  2. skills/context/setup-environment — Complete dev environment setup

Inline fallback (if sub-skills are unavailable):

# Verify Ruby version matches .ruby-version
ruby -v
# Install dependencies
bundle install
# Check database connectivity
rails db:create db:migrate
# Confirm test runner is operational
bundle exec rspec --dry-run
# Load env vars (copy example if missing)
cp .env.example .env 2>/dev/null || true

HARD GATE — Environment Check:

  • Ruby version correct (check .ruby-version)
  • Bundler installed and working
  • Database connection successful
  • All env vars loaded (check config/credentials.yml.enc or .env)
  • All external CI actions pinned to immutable commit SHAs (never mutable tags like @v4, @v1)

If environment check FAILS: Fix the failing item above before proceeding to Phase 2.


Phase 2: CI/CD Configuration

Proceed only after environment check passes.

  1. CI/CD Proposal Checkpoint — Decide on pipeline approach:

    • GitHub Actions, GitLab CI, or other platform?
    • Staging vs production environments?
    • Deployment strategy (basic, blue-green, canary)?
  2. Configure CI pipeline (linting, testing, security, migrations):

# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
      - uses: ruby/setup-ruby@ff740bc00a01b3a50fffc55a1071b1060eeae9dc
        with:
          ruby-version: .ruby-version
          bundler-cache: true
      - run: bundle exec rails db:create db:migrate
      - run: bundle exec rspec
      - run: bundle exec rubocop
      - run: bundle exec brakeman --no-pager
      - run: bundle exec bundle-audit check --update
  1. Configure CD pipeline (staging + production deployment gates):
# .github/workflows/cd.yml
name: CD
on:
  push:
    branches: [main]
jobs:
  deploy-staging:
    runs-on: ubuntu-latest
    environment: staging
    steps:
      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
      - uses: ruby/setup-ruby@ff740bc00a01b3a50fffc55a1071b1060eeae9dc
        with:
          ruby-version: .ruby-version
          bundler-cache: true
      - run: bundle exec rails db:migrate
        env:
          RAILS_ENV: staging
          DATABASE_URL: ${{ secrets.STAGING_DATABASE_URL }}
      - run: echo "Deploy to staging here (e.g. Heroku, Fly.io, Kamal)"
  deploy-production:
    runs-on: ubuntu-latest
    needs: deploy-staging
    environment: production   # Requires manual approval gate in GitHub
    steps:
      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
      - uses: ruby/setup-ruby@ff740bc00a01b3a50fffc55a1071b1060eeae9dc
        with:
          ruby-version: .ruby-version
          bundler-cache: true
      - run: bundle exec rails db:migrate
        env:
          RAILS_ENV: production
          DATABASE_URL: ${{ secrets.PRODUCTION_DATABASE_URL }}
      - run: echo "Deploy to production here"
      # Rollback: re-run previous deployment job or use platform CLI

Phase 3: Environment Validation

Verify everything works end-to-end:

# Local development
bundle install
rails db:create db:migrate
rails server  # Should start without errors
bundle exec rspec  # Should run (even if 0 tests)

# CI simulation (if possible locally)
act push  # GitHub Actions local runner (optional)

Output Style

Setup Checklist: Marked file SETUP_CHECKLIST.md with:

  • Ruby installed
  • Bundler working
  • Database created
  • Tests passing
  • CI configured
  • Secrets configured

Integration

PredecessorThis SkillSuccessor
None (entry point)setuptdd (start developing)
None (entry point)setupcreate-prd (plan features first)

From AGENTS.md: This is the setup workflow. For development, chain to tdd.

workflows

README.md

server.json

tile.json