agentleFS
joshsegattjoshsegatt/SeniorOS/skills/senior-engineering/SKILL.md

senior-engineering

Skill2 starsChanged 15 days agoApache-2.0View on GitHub

Use when a coding task changes behavior, spans several files, or touches risky surfaces such as auth, data, migrations, public APIs, CI or deployment. Not for questions, explanations, or low-risk edits such as copy, labels, comments or an obvious local fix, even when the same string appears in two or three files, unless it renames or reshapes a field, key or type that other modules or saved data read.

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not invent requirements that the repository or the request already answers.

    line 19
  2. Very specific:

    If the senior CLI is available, run senior risk once you know which files change.

    line 35
  3. Distinctive:

    follow existing project patterns unless there is a concrete reason not to.

    line 48
  4. Distinctive:

    avoid unrelated cleanup and new dependencies when existing primitives suffice.

    line 49
  5. Distinctive:

    update tests next to the behavior that changes.

    line 50
  6. Distinctive:

    when uncertainty matters, verify it instead of compensating with more code.

    line 52
  7. Very specific:

    Run the repository's real checks.

    line 56
  8. Distinctive:

    When the repository shows the real volume (a seed, a config value, a sample file, a note on production size), run the changed path at that …

    line 58

≈ “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

Senior Engineering

Core rule: spend the process the risk justifies — no less on risky work, no more on trivial work.

1. Establish the goal

Extract:

  • the desired outcome and how someone would observe it;
  • acceptance criteria you can check;
  • constraints and non-goals;
  • whether the request is implementation or only analysis/planning.

Do not invent requirements that the repository or the request already answers.

2. Read only relevant context

In this order, stopping when you have enough:

  1. repository instructions (AGENTS.md, CLAUDE.md or the host equivalent);
  2. .senior/project.json and only the decisions relevant to this task;
  3. files directly implicated by the task;
  4. nearby tests and analogous implementations;
  5. external documentation, only when local version/API evidence is insufficient.

A small local change does not need a repository map.

3. Classify risk

If the senior CLI is available, run senior risk once you know which files change; after work is committed on a branch, run senior risk --base <ref> (for example main). Treat the score as a floor and raise it when the task semantics are riskier than the paths suggest.

LevelExamplesProcess
Lowcopy, comments, isolated UI tweak, obvious local fix (not a rename or reshape of a field others read)Do it, verify proportionately, report briefly
Mediumlocal feature logic, contained endpoint, refactor with testsShort plan (before the first edit when it has several steps, a shared contract or stored data, or can fail halfway), targeted tests, diff review
Highauth/authz, schema migration, public contract, payments, concurrency, security-sensitive codeExplicit acceptance criteria (a plan before the first edit when it has several steps, a shared contract or stored data, or can fail halfway), full relevant verification, independent review, rollback/recovery check
Criticalirreversible data operations, credentials, deploys, history rewrites, destructive infrastructurePrepare and verify, then stop: the external or destructive step needs the user's explicit approval

Plan before the first edit when the design can be wrong. Write a short plan now, before editing, when the change has several steps at medium risk or above, renames or reshapes a field, key or type that other modules or saved data read (whatever the risk score says), or does something that can fail halfway (a payment or refund, stock, an external call). In a few lines: the acceptance criteria; every reader and writer of what changes, found by searching (code, tests, scripts, saved data); what happens if a step fails after an earlier one took effect, if the call runs twice, and if it meets old data or an old caller; and the test that proves each of those. A plan written after the code is a report, not a plan.

4. Implement the minimum coherent change

  • follow existing project patterns unless there is a concrete reason not to;
  • avoid unrelated cleanup and new dependencies when existing primitives suffice;
  • update tests next to the behavior that changes;
  • where caller input reaches stored state or a privileged operation (a request body, query, path, id or file name), decide what each kind of caller may control and enforce it in the code: pick the allowed fields instead of spreading or assigning the whole input, scope lookups to what the caller may access, and add a test where a caller sends something they must not control;
  • when uncertainty matters, verify it instead of compensating with more code.

5. Prove the outcome

Run the repository's real checks. senior finish runs the standard package-script baseline; add task-specific evidence (the original reproduction, a browser flow, an API call) when the baseline cannot prove the outcome. A skipped or unavailable check is never a pass.

When the repository shows the real volume (a seed, a config value, a sample file, a note on production size), run the changed path at that volume through its public entry point before saying done, and fix what is slow, including the helpers it calls.

6. Review the diff

  • Does it satisfy the goal, and only the goal?
  • Is there a simpler implementation?
  • Are error paths and edge cases covered?
  • Did security, data integrity, performance or compatibility risk change?
  • Is there leftover debug code, dead code or a misleading comment?

For medium risk and above, use senior-code-review.

7. Close with evidence

Report what changed, what was actually verified, what was skipped, and the residual risk that still matters. Use senior-finish before claiming the work is done.

When the process starts to slip

These apply at medium risk and above.

If you notice yourself thinking…Do this instead
"It's basically a small change" while touching auth, data or a public contractClassify by surface, not by line count
"The tests pass, so it's ready" on high-risk workCheck rollback and get an independent review
"The permission check already ran, so I can save what the client sent"A check decides who may call, not what they may set: allow fields per caller and test a forbidden one
"I'll clean up this unrelated code while I'm here"Leave it; mention it as a follow-up
"The user will obviously want this extra feature"Ask, or list it as a suggestion
"I can run the deploy/migration since I prepared it"Stop at the approval boundary

And the reverse, at low risk: if you are writing a plan, spawning reviewers or asking clarifying questions for a one-line fix, stop and just do it.

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.