Back to list
Kaakati

rails-context-verification

by Kaakati

Enterprise-grade Rails development workflow with multi-agent orchestration, beads task tracking, and quality gates. Generic and portable across any Rails project.

2🍴 0📅 Jan 24, 2026

SKILL.md


name: Rails Context Verification description: "Systematic verification of codebase context before code generation to prevent assumption bugs. Use when: (1) Working in unfamiliar namespace, (2) Using authentication helpers, (3) Copying patterns across namespaces, (4) Before any code generation. Trigger keywords: context, assumptions, helpers, authentication, current_user, verify, validate context" version: 1.2.0 category: implementation

Rails Context Verification

Prevent "assumption bugs" by verifying codebase context before generating code.

Context Verification Decision Tree

What are you generating?
│
├─ View with authentication
│   └─ Verify: rg "def current_" app/controllers/
│
├─ Controller with auth check
│   └─ Verify: rg "devise_for" config/routes.rb
│
├─ Route helpers (link_to, redirect_to)
│   └─ Verify: rails routes | grep namespace
│
├─ Instance variables in view
│   └─ Verify: rg "@variable\s*=" controller_file
│
├─ Custom helper method
│   └─ Verify: rg "def helper_name" app/helpers/
│
└─ Copying pattern from other namespace
    └─ STOP! Search target namespace for actual patterns

NEVER Do This

NEVER assume authentication helper names:

# WRONG - Assuming current_admin exists
<%= current_admin.email %>

# RIGHT - Verify first: rg "def current_" app/controllers/
# Found: current_administrator
<%= current_administrator.email %>

NEVER assume Devise scope matches model name:

# WRONG - Model is Administrator, assuming admin scope
before_action :authenticate_admin!

# RIGHT - Check routes.rb: devise_for :administrators
before_action :authenticate_administrator!

NEVER assume route prefixes:

<%# WRONG - Assuming singular prefix %>
<%= link_to "Dashboard", admin_dashboard_path %>

<%# RIGHT - Verify: rails routes | grep admin → shows admins_ (plural) %>
<%= link_to "Dashboard", admins_dashboard_path %>

NEVER copy patterns across namespaces without verification:

# WRONG - Copying client pattern to admin
# Client uses: before_action :set_account
# Admin controller:
before_action :set_account  # FAILS - admins don't have accounts!

# RIGHT - Verify what admin actually has
# rg "before_action" app/controllers/admins/base_controller.rb
before_action :authenticate_administrator!

NEVER use instance variables without verifying they're set:

<%# WRONG - Using @current_account without verification %>
<%= @current_account.name %>  # NIL ERROR if not set!

<%# RIGHT - Check controller first %>
<%# rg "@current_account\s*=" controller_file %>
<%# Not found? Don't use it. %>

Core Verification Protocol

Before ANY Code Generation

  1. Identify Namespace: Admin? Client? API? Public?
  2. Search for Patterns: Don't invent - discover
  3. Use Verified Names: Only what search confirms exists
  4. Document Context: Record verified helpers for team

Quick Verification Commands

WhatCommand
Authentication helperrg "def current_" app/controllers/
Signed-in? helperrg "signed_in\?" app/views/namespace/
Devise scoperg "devise_for" config/routes.rb
Route helpersrails routes | grep namespace
View helpersrg "def helper_name" app/helpers/
Instance variablesrg "@variable\s*=" controller_file
Before actionsrg "before_action" base_controller.rb
Model methodsrg "def method_name" app/models/
Factoriesrg "factory :name" spec/factories/

Verification Checklist

For Views

  • Authentication helper verified (current_*)
  • Signed-in helper verified (*_signed_in?)
  • Instance variables set in controller
  • View helpers exist
  • Route helpers correct

For Controllers

  • Authentication method verified (authenticate_*!)
  • Authorization pattern discovered
  • Before actions exist in base controller
  • Service objects exist before calling

For Tests

  • Factory exists for model
  • Shared examples exist if used
  • Test helpers verified

Namespace-Specific Patterns

NamespaceAuthenticationRoute PrefixBase Controller
Admincurrent_administrator, administrator_signed_in?admins_Admins::BaseController
Clientcurrent_user, user_signed_in?clients_Clients::BaseController
APIToken-basedapi_v1_Api::BaseController
PublicNone or optionalDefaultApplicationController

Warning: These are examples. Your codebase may differ. Always verify!


Context Documentation Format

When delegating to specialists, include verified context:

**Verified Context:**
- Namespace: admin
- Auth helper: `current_administrator` (verified: app/controllers/application_controller.rb:42)
- Route prefix: `admins_` (verified: rails routes)
- Authorization: `require_super_admin` (verified: base_controller.rb:8)

CRITICAL: Use ONLY these verified helpers. Do not assume others exist.

Remember

  1. Never assume - always verify helper names, routes, methods
  2. Search first - discover patterns before applying them
  3. Namespace matters - admin ≠ client ≠ api (different patterns)
  4. Devise scope matters - :users ≠ :admins ≠ :administrators
  5. 2 minutes to verify saves hours of debugging

References

Detailed examples and commands in references/:

  • verification-commands.md - Complete search command reference
  • pattern-discovery-examples.md - Real-world verification workflows
  • workflow-integration.md - Implementation workflow integration, beads tracking

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon