rails
The rails loop and its commands - claim, intent, rails check, push, rails ship, walk, used.
Skill by vancourse
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/vancourse-rails
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/rails
What's inside
- Skill name
rails- Description
- The rails loop and its commands - claim, intent, rails check, push, rails ship, walk, used. Use when starting, checking, pushing or shipping any line of work.
- License
- MIT
- Instructions
- 56 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# The rails loop One line of work = one claim, one worktree, one branch, one PR, many commits. 1. **Claim** before the first source edit: `rails claim "#123"` · `--milestone "<title>"` · `--adhoc "<line>"`. For an issue, `rails work from-issue 123` turns its Done-when lines into the work items this line owes. `rails claim --list` shows what sibling worktrees hold; join one rather than cut a second branch. 2. **Intent.** Write `.rails/intent.md` from `rails template intent` (tier `fix` for a small fix). End the turn SHOWING it, with its `intent:<hash>` line. The operator's next message acks it or corrects it; a correction means rewrite and show again. An agent's push refuses without an acked intent (`prepush_intent`). 3. **Walls first.** A new seam's first commit adds its declaration (contract, settings row, auth row, concept row, limit name) before code that uses it. 4. **Build and commit.** Tests red first, as the production role, on planted data. Commit freely: rails never blocks a commit. 5. **`rails check`** runs every lane the diff selects (`rails/lanes.toml`) and seals a marker for HEAD. Long lanes: run it in the background, or one lane at a time with `--lane`. A lane that cannot run (Docker down) fails with that reason: fix the environment, never skip it. 6. **Push.** The pre-push hook wants the marker (`--quick` before a PR exists, full after). No consent ceremony; the operator's word is `hold`. 7. **Review** a change to anything but prose: run the `rails:reviewer-coop` and `rails:reviewer-adversary` agents on the diff (each given only the diff and the intent), save each report, then `rails review record --coop <file> --adversary <file>` (on a clean, committed tree: the voices read the disk). Fix every must-fix first; a new commit needs a new review, because the receipt is for HEAD's tree. Once the PR is open, review a commit BEFORE pushing it: auto-merge merges whatever is pushed, so pre-push refuses an unreviewed code tree to an open PR (`ship_review`). A must-fix you judge wrong is recorded with `--accept "<why>"`; `rails ship` puts the reason in the PR body. 8. **`rails ship --closes <n>`** opens one Ready PR from the intent (and imports #n's Done-when lines), arms auto-squash, and posts the `rails/<lane>` statuses CI verifies. Then bind the monitor and run `rails work monitor-bound`. After a later push: `rails check --post`. A finding the PR leaves open is its own issue: each bullet under a section like "Findings left for later" carries `#N`, or `no-issue: <reason>` for an answer that is not a finding, or ship refuses (`ship_findings`). 9. **Walk** the named target: `rails walk`. An item closes only when its `step:` id passes: `rails work done <id>`. 10. **Stop** only with the work done or a recorded reason: `rails work stop decision_needed "<problem; options with costs; recommended first>"` | `blocked` | `hold` | `wip`. Other commands: `rails whereis <term>` before saying anything does not exist; `rails receipt -- <cmd>` to make a claim checkable; `rails metrics` for the four numbers before/since the cut, CI spend and gate yield; `rails state`; `rails doctor`; `rails sync` (main checkout to trunk, when safe); `rails history status` (worktrees on rewritten-away history: never push from one, cherry-pick onto a fresh worktree). Templates (one set, no other): `rails template` lists intent, spec, adr, milestone, rulebook and the PR template. A milestone closes with `rails close <n>`, which needs the operator's `used #<n>` and no open issue. Retiring a hook script: `rails retire-hook <path>` (a deleted one blocks older worktrees). The operator's words are typed in a prompt: `used #75 <task>`, `hold`, `release`, `approve`. `rails close` honours only a `used` from a prompt, and a hold set in a prompt lifts only by `release` in a prompt: nothing on a command line tells the operator's terminal from an agent's tool call (an agent can clear `CLAUDECODE`, and its calls report a TTY on Windows). `rails used 75 <task>` from a shell is recorded as `by: shell`, for the record only. `rails snapshot` and `rails enable` are the operator's commands. `rails hold` anyone may ask for. An agent never sets or clears `CLAUDECODE` (`operator_bounds`). New app: `rails new <app>` gives a walking skeleton with contracts, settings, roots, clock, limits, concepts and the auth matrix already enforced; its first milestone's step 0 is the operator using it.
From vancourse/apex, MIT.
More from vancourse/apex
- 0.584score
adversarial-pair
vancourse
Run a review as two isolated voices, cooperative and adversarial, then reconcile.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
security-review
vancourse
Pre-PR security pass for auth, data access, external input, secrets and dependencies.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
typescript-review
vancourse
TypeScript/React review rules (types, hooks, state, tests, errors).
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
postgres-review
vancourse
Postgres schema, RLS, indexing and SQL review rules.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
python-review
vancourse
Python review rules (types, SQL, async, tests, errors, security).
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
fix
vancourse
Fix something broken - a defect, a red check, a wrong behaviour.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
release
vancourse
Start or close a release (a milestone whose done is the operator using it).
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
retro
vancourse
Close a session by routing ONE finding to the strongest rung it reaches - a gate or test, else a hook, else prose, else dropped.
SkillAFreshness: A★ 1Claude Code +9 - 0.318score
design-review
vancourse
No description from the publisher yet.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 9
- Last commit (this folder)
- Oct 11, 2026 (18 days ago)
- Last release
- Aug 13, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/vancourse/apex
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from vancourse
- 0.584score
adversarial-pair
vancourse
Run a review as two isolated voices, cooperative and adversarial, then reconcile.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
security-review
vancourse
Pre-PR security pass for auth, data access, external input, secrets and dependencies.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
typescript-review
vancourse
TypeScript/React review rules (types, hooks, state, tests, errors).
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
postgres-review
vancourse
Postgres schema, RLS, indexing and SQL review rules.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
python-review
vancourse
Python review rules (types, SQL, async, tests, errors, security).
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
fix
vancourse
Fix something broken - a defect, a red check, a wrong behaviour.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
rails skill. Agent Mart. https://agentmart.dev/skills/vancourse-rails (last updated 2026-10-24)