agentleFS
guangzanguangzan/monorail/skills/rail-align/SKILL.md

rail-align

Skill5 starsChanged 4 months agoMITView on GitHub

Align on a plan or design — light grilling with domain docs. Writes docs/monorail/<slug>/align.md then auto-continues the planning chain (spec, which stops for your go/no-go before slice).

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    When a hard-to-reverse decision crystallises, write an ADR under docs/monorail/adr/

    line 19
  2. Very specific:

    Create docs/monorail/CONTEXT.md / docs/monorail/adr/ lazily when first needed — check with the shell first (ls).

    line 20
  3. Distinctive:

    When the decision tree is resolved and the user confirms shared understanding, persist before continuing:

    line 21
  4. Very specific:

    Write docs/monorail/<slug>/align.md using the template below (create the directory)

    line 24
  5. Distinctive:

    Use these exact headings:

    line 32

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Rail Align

Sharpen an idea before spec/build. One mode — grill it in this conversation until the decision tree is resolved, then persist align.md and continue the planning chain.

Confirm with the shell before concluding either file is missing (ls docs/monorail/work-tracker.md docs/monorail/domain.md, or read the paths directly) — search tools skip gitignored paths, so an empty Glob/Grep result is not evidence of absence. If a file is missing on disk, tell the user to run /rail-setup first and stop.

Process

  1. Interview one question at a time (same discipline as /rail-grill, including its Question format — the hard **问题:** / **推荐:A** / - **A.** template, where A is always the recommended option), with recommended answers
  2. Actively maintain domain docs (paths from docs/monorail/domain.md):
    • Challenge terms against docs/monorail/CONTEXT.md
    • Sharpen fuzzy language; propose canonical terms
    • When a hard-to-reverse decision crystallises, write an ADR under docs/monorail/adr/
    • Create docs/monorail/CONTEXT.md / docs/monorail/adr/ lazily when first needed — check with the shell first (ls); search tools skip gitignored paths, and an existing glossary or ADR must never be replaced
  3. When the decision tree is resolved and the user confirms shared understanding, persist before continuing:
    • Pick a new feature slug (docs/monorail/<slug>/) — agent chooses; never ask the user; never reuse an existing docs/monorail/<slug>/ work directory (related prior efforts stay separate; link them from Domain pointers if useful). If the user already named a free slug, use it as-is (no prefix). Otherwise invent a distinct unused slug: YYYY-MM-DD-NN-<kebab> where NN is the day's global sequence (01, 02, … — count today's existing date-prefixed effort dirs + 1 with the shell, ls docs/monorail/; search tools skip gitignored paths and can miss effort dirs, so never take the sequence or the "unused" check from Glob/Grep). Reserved names: CONTEXT.md, CONTEXT-MAP.md, adr, work-tracker.md, domain.md
    • Do not interview for slug (no A/B/C, no “new vs continue”) — slug is path bookkeeping, not a decision-tree branch
    • Write docs/monorail/<slug>/align.md using the template below (create the directory)
    • Domain docs alone are not enough — /rail-spec requires this file
  4. Continue the planning chain for this same <slug>: read and follow /rail-spec in this same session (it writes spec.md, then stops for your go/no-go before /rail-slice). Do not stop and ask the user to type /rail-spec. Do not substitute /to-spec or other foreign-pack equivalents.
    • Exceptions (stop instead): user asked to stop after align; context near limits → /rail-pass
    • Budget check (before auto-continuing): the light grilling may have already spent a large share of this session's context. If so, stop here — align.md is durable, and /rail-spec resumes it fresh next session (its code-grounding pass and single seam confirmation deserve a clean window). When in doubt prefer stopping with align.md written. This is a self-determined stop, not a new question for the user.

align.md template

Use these exact headings:

  • ## Intent — what we're building and why (user perspective)
  • ## Decisions settled — bulleted consensus from this align (trade-offs the user owned)
  • ## Deferred — explicitly parked; not blockers for spec (or None)
  • ## Out of scope
  • ## Domain pointers — links/paths to docs/monorail/CONTEXT.md terms and ADRs touched (or None)

Completion

User confirms alignment; align.md written; domain docs updated as needed; then auto-continue into /rail-spec (unless an exception above applies).

Near context limits: stop and suggest /rail-pass instead of continuing degraded.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.