vanilla-rails-work-breakdown
Use when planning Rails features or breaking down work into PRs - enforces 2-5 file PRs, bug fix separation, and one-sentence scope test
What this skill does
# Vanilla Rails Work Breakdown ## Core Rule **Each PR = one sentence. Target 2-5 files, max 7-8.** If you can't describe the PR in one sentence, split it. **CRITICAL: If your PR description uses "and", STOP and split it.** ## Bundle Together - Model + tests (but NOT scopes/sorting) - Controller + view + tests - Migration + model using it - Routes + controller they configure **Tests go with the functional change, never with styling.** ## Keep Separate (ALWAYS) Each of these MUST be its own PR: - Bug fixes - Refactoring - Styling/CSS (even one line) - Filters (even simple params) - Sort options (including scopes like `pinned_first`) ## Example: Card Pinning **Wrong (3 PRs):** 1. "Add pinning to cards with sorting" (model + sorting scope + tests) 2. "Add UI for pinning" (controller + views + tests) 3. "Add filtering and styling" (filter + CSS) **Right (5 PRs):** 1. "Add pinning to cards" (migration + model methods + tests, 3 files) 2. "Add UI for pinning cards" (controller + view + tests, 4 files) 3. "Sort pinned cards first" (scope + tests, 2 files) 4. "Add filter for pinned cards" (controller param + view + tests, 3 files) 5. "Style pinned cards" (CSS, 1 file) ## Commit Messages Present tense, no prefixes: ``` Add hotkeys for triaging cards Fix HTML injection in webhook titles Expose card ID on comments ``` Not: `feat:`, `fix:`, `WIP:` ## Red Flags Stop and split if: - More than 7-8 files - PR title has "and" - Mixing refactoring with features - Bug fix included with feature ## Bug During Feature Work 1. Branch from main for bug fix 2. Fix + test in separate PR 3. Return to feature branch 4. Rebase after bug fix merges **Never bundle bug fixes with feature PRs.** ## One Sentence Test ✅ "This PR adds pinning to cards" ❌ "This PR adds pinning, styling, and filters" If you use "and", split the PR. ## Common Rationalizations (STOP) | Excuse | Reality | |--------|---------| | "Sorting is part of the model concern" | No. Sorting is a feature that ships separately. Core pinning works without sorting. | | "Styling and filtering touch the same view" | Different concerns. Filtering is functional, styling is visual. Separate PRs. | | "More efficient to bundle them" | 37signals values small PRs over efficiency. 2-5 files is the target. | | "They're logically grouped" | "Logical grouping" is not the test. One sentence without "and" is the test. | | "Just a few lines of CSS" | Styling ALWAYS separate. Even one line. | | "Just a tiny partial" | View code goes with controller, not model. Size irrelevant. | | "It's related functionality" | Each feature = one PR. Even if related. One sentence test applies. | | "The change is trivial" | Size doesn't matter. Separate concerns = separate PRs. |
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.