Token导航 LogoToken导航TokenDH.com
开发操作浏览器github未标认证来源可访问许可证需确认审计通过

rails-tdd-slicesRails TDD slices 命令行

Agent Skill

rails-tdd-slices 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

466

周安装

20

GitHub Stars

15

下载量

163
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:rails-tdd-slices(Rails TDD slices 命令行)
来源仓库:https://github.com/igmarin/rails-agent-skills
仓库路径:skills/rails-tdd-slices
安装命令:
npx skills add https://github.com/igmarin/rails-agent-skills --skill rails-tdd-slices
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/igmarin/rails-agent-skills --skill rails-tdd-slices

简介

rails-tdd-slices 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。

  • 可结合来源仓库、安装命令和原始 README 继续核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 它属于开发类工具,适用于多种宿主环境。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Rails TDD Slices

Use this skill when the hardest part of the task is deciding where TDD should start.

Core principle: Start at the highest-value boundary that proves the behavior with the least unnecessary setup.

Quick Reference

Change typeFirst specPathWhy
API contract, params, status code, JSON shapeRequest specspec/requests/Proves the real HTTP contract
Domain rule on a cohesive record or value objectModel specspec/models/Fast feedback on domain behavior
Multi-step orchestration across collaboratorsService specspec/services/Focuses on the workflow boundary
Enqueue/run/retry/discard behaviorJob specspec/jobs/Captures async semantics directly
Critical Turbo/Stimulus or browser-visible flowSystem specspec/system/Use only when browser interaction is the real risk
Engine routing, generators, host integrationEngine specspec/requests/ or engine pathNormal app specs miss engine wiring — see rails-engine-testing
Bug fixReproduction specWhere the bug is observedProves the fix and prevents regression
Unsure between layersHigher boundary firstEasier to prove real behavior before drilling down

HARD-GATE

DO NOT choose the first spec based on convenience alone.
DO NOT start with a lower-level unit if the real risk is request, job, engine, or persistence wiring.
ALWAYS run the chosen spec and verify it fails for the right reason before implementation.

Process

  1. Name the behavior: State the user-visible outcome or invariant to prove.
  2. Locate the boundary: Decide where the behavior is observed first: HTTP request, service entry point, model rule, job execution, engine integration, or external adapter.
  3. Pick the smallest strong slice: Choose the spec type that proves the behavior without dragging in unrelated layers.
  4. Suggest the path: Name the likely spec path using normal Rails conventions (for example spec/requests/..., spec/services/..., spec/jobs/..., spec/models/...).
  5. Write one failing example: Keep it minimal; one example is enough to open the gate.
  6. Run and validate: Confirm the failure is because the behavior is missing, not because the setup is broken.
  7. Hand off: Continue with rspec-best-practices, rspec-service-testing, rails-engine-testing, or the implementation skill that fits the slice.

Examples

Good: New JSON Endpoint

# Behavior: POST /orders validates params and returns 201 with JSON payload
# First slice: request spec
# Suggested path: spec/requests/orders/create_spec.rb

RSpec.describe "POST /orders", type: :request do
  let(:user) { create(:user) }
  let(:valid_params) { { order: { product_id: create(:product).id, quantity: 1 } } }

  before { sign_in user }

  it "creates an order and returns 201" do
    post orders_path, params: valid_params, as: :json
    expect(response).to have_http_status(:created)
    expect(response.parsed_body["id"]).to be_present
  end
end

Good: New Orchestration Service

# Behavior: Orders::CreateOrder validates inventory, persists, and enqueues follow-up work
# First slice: service spec
# Suggested path: spec/services/orders/create_order_spec.rb

RSpec.describe Orders::CreateOrder do
  subject(:result) { described_class.call(user: user, product: product, quantity: 1) }

  let(:user)    { create(:user) }
  let(:product) { create(:product, stock: 5) }

  it "returns a successful result with the new order" do
    expect(result).to be_success
    expect(result.order).to be_persisted
  end
end

Test Feedback Checkpoint

After writing and running the first failing spec, pause before implementation and present the test for review:

CHECKPOINT: Test Design Review

1. Present: Show the failing spec(s) written
2. Ask:
   - Does this test cover the right behavior?
   - Is the boundary correct (request vs service vs model)?
   - Are the most important edge cases represented?
   - Is the failure reason correct (feature missing, not setup error)?
3. Confirm: Only proceed to implementation once test design is approved.

Why this matters: Implementing against a poorly designed test wastes the TDD cycle. A 2-minute review of the test now prevents a full rewrite later.

Hand off: After test design is confirmed → rspec-best-practices for the full TDD gate cycle.

Pitfalls

PitfallWhat to do
Starting with a PORO spec because it is easyEasy ≠ high-signal — choose the boundary that proves the real behavior
Writing three spec types before running anyPick one slice, run it, prove the failure, then proceed
Defaulting to request specs for everythingSome domain rules are better proven at the model or service layer
Defaulting to model specs for controller behaviorControllers and APIs need request-level proof
Using controller specs as the default HTTP entry pointPrefer request specs unless the repo has an existing reason
Jumping to system specs too earlyReserve for critical browser flows that lower layers cannot prove
"We'll add the request spec later"The spec is the gate — implement only after the first slice is failing for the right reason
First spec requires excessive factory setupExcessive setup = wrong boundary. Simplify or move the slice.

Integration

SkillWhen to chain
rspec-best-practicesAfter choosing the first slice, to enforce the TDD loop correctly
rspec-service-testingWhen the first slice is a service object spec
rails-engine-testingWhen the first slice belongs to an engine
rails-bug-triageWhen the starting point is an existing bug report
refactor-safelyWhen the task is mostly structural and needs characterization tests first

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.84%
按下载量换算60

Claude

32.41%
按下载量换算53

Cursor

17.45%
按下载量换算28

Gemini CLI

9.92%
按下载量换算16

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills