engineering-bar
Skill1 starsChanged 15 days agoMITView on GitHub
Shared engineering quality bar for any change — correctness, hygiene, structure, failure handling, data, security, performance guards, operability, and UI. Use when another skill says to apply the engineering bar, when asked if work meets engineering standards, or before calling a change done.
- Reads credentials
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- rpraharaj/ai-sdlcedited, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- rpraharaj/ai-sdlc★ 024% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository34 other files it gives its agents.
- AGENTS.mdAGENTS.md
- templates/AGENTS.mdAGENTS.md
- commitSkill
- cut-releaseSkill
- data-changeSkill
- debugSkill
- explain-codeSkill
- explore-codebaseSkill
- fix-ciSkill
- handoffSkill
- implement-changeSkill
- incident-triageSkill
- lean-reviewSkill
- open-prSkill
- performanceSkill
- production-passSkill
- ready-to-mergeSkill
- record-decisionSkill
- refactor-safelySkill
- resolve-conflictsSkill
- revert-changeSkill
- review-changeSkill
- security-passSkill
- shape-workSkill
- ship-notesSkill
- start-projectSkill
- upgrade-depsSkill
- verify-uiSkill
- write-architectureSkill
- write-designSkill
- write-dev-tasksSkill
- write-docsSkill
- write-prdSkill
- write-testsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
22 rules. About 0 are common, 19 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈19
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
- could be automatic: a setting could enforce it
- Distinctive: line 14
If AGENTS.md exists, follow it.
- Very specific: line 39
Always-on defaults belong to the repository's AGENTS.md.
- Very specific: line 45
No empty catch / swallowed rejection / ignored error return.
- Distinctive: line 51
Need?: If the request is speculative, skip it and say so.
- Distinctive: line 53
Stdlib?: Use the language or runtime library.
- Distinctive: line 54
Native platform?: Prefer a built-in (HTML control, CSS, DB constraint, OS API) over a new component or dependency.
- Distinctive: line 55
Already installed?: Use a dependency that is already in the lockfile.
- Distinctive: line 56
One line?: Prefer it when it stays correct on edge cases.
- Distinctive: line 57
Only then: write the minimum that works.
- Distinctive: line 59
Do not climb past a rung that already solves it.
- Distinctive: line 63
If you accept a known ceiling (global lock, naive scan, in-memory only), say the ceiling and the trigger to revisit in the summary.
- Distinctive: line 68
No unused code, no commented-out blocks, no unrelated cleanup.
- Very specific: line 69
No interface/factory/config for a single implementation or a value that never changes.
- Distinctive: line 74
Do not grow a hard-to-scan file when a split is obvious.
- Distinctive: line 75
Do not add a flag or mode that turns one function into two programs.
- Distinctive: line 97
No new query/RPC inside a loop (N+1).
- Distinctive: line 98
No unbounded work on a request or UI path.
- Distinctive: line 99
No accidental full-collection scan.
- Distinctive: line 100
No huge eager import on a hot route.
- Distinctive: line 102
Do not "optimize" without a measurement unless the diff clearly adds one of the above.
- Distinctive: line 106
When the diff adds or changes interactive UI, routes, views, or layout:
- Distinctive: line 109
No layout jump from images, embeds, or fonts with no reserved size.
≈ “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.
Files
Engineering bar
Apply this to the current diff, not the whole product. Walk each section and assess each applicable item using the shared evidence statuses. The invoking skill controls whether edits are authorized: reviews report failures; implementation fixes failures within scope. Only the user may waive a failure or verification gap. Do not invent extra standards this repo does not use.
If AGENTS.md exists, follow it. Repo-specific commands win when they conflict with examples here. You still must not commit secrets or claim unverified results.
How to load
Other skills load this file, first readable:
../engineering-bar/SKILL.md(sibling of the calling skill).agents/skills/engineering-bar/SKILL.mdfrom the workspace~/.agents/skills/engineering-bar/SKILL.md
Secret files
Fail commit and ready-to-merge (and any secret scan) if the change adds:
.env,.env.*except a tracked.env.example- private keys,
*.pem,*.p12,id_rsa,id_ed25519 - credential files, keystores, dumped tokens
- secrets pasted into otherwise-normal files
Shared procedures
Load references/change-scope.md and references/evidence.md relative to this skill directory for change collection, base selection, result statuses, and evidence reuse. These are the shared procedures for all checks. If a required procedure is unavailable, report the assessment as incomplete rather than inventing a pass.
Repository defaults
Always-on defaults belong to the repository's AGENTS.md. If missing, use ../explore-codebase/references/agents-template.md when available; do not maintain a second defaults list here. Apply this bar even when no template is available.
Correctness
- Acceptance checks from
shape-work(if any) are met, or the task is not done. - Happy path, edge cases, and error paths that this change can hit are handled.
- No empty
catch/ swallowed rejection / ignored error return.
Minimum path
Understand the problem first (read the code the change touches). Then stop at the first rung that holds:
- Need? If the request is speculative, skip it and say so.
- Already here? Reuse the helper, type, or pattern in this repo. Do not rewrite it.
- Stdlib? Use the language or runtime library.
- Native platform? Prefer a built-in (HTML control, CSS, DB constraint, OS API) over a new component or dependency.
- Already installed? Use a dependency that is already in the lockfile. Do not add a new one for a few lines of code.
- One line? Prefer it when it stays correct on edge cases.
- Only then write the minimum that works.
Do not climb past a rung that already solves it. The smallest change in the wrong place is a second bug.
Never cut to win a smaller diff: validation at trust boundaries, error handling that prevents data loss, authorization, secret handling, or accessibility of new interactive UI. User-requested behavior stays.
If you accept a known ceiling (global lock, naive scan, in-memory only), say the ceiling and the trigger to revisit in the summary. Do not invent a comment brand.
Change hygiene
- Diff is the smallest change that satisfies the request after the Minimum path.
- No unused code, no commented-out blocks, no unrelated cleanup.
- No interface/factory/config for a single implementation or a value that never changes.
Structure
- Logic lives in the layer that already owns that concept.
- Do not grow a hard-to-scan file when a split is obvious.
- Do not add a flag or mode that turns one function into two programs.
Failure
- I/O (network, disk, subprocess, queue) has a timeout or the repo's equivalent.
- Retries are bounded and safe to repeat, or there are no retries.
- Failures carry enough context to debug (what failed, which id) and never carry secrets.
Data
- Input is validated where it enters the system (handler, edge, parser).
- Schema and public contract changes are expand, then deploy, then contract — not both in one step.
- Lists, pages, and jobs are bounded. Unbounded load is a fail.
Security (this delta only)
- New reachable surface has authorization, not only authentication, if this repo uses auth.
- Untrusted input stays untrusted (query, path, HTML, command, header, file name).
- Secrets are not in source, logs, client bundles, or fixtures.
Performance (guard, not heroics)
- No new query/RPC inside a loop (N+1).
- No unbounded work on a request or UI path.
- No accidental full-collection scan.
- No huge eager import on a hot route.
Do not "optimize" without a measurement unless the diff clearly adds one of the above. Guess-caching is a fail.
UI
When the diff adds or changes interactive UI, routes, views, or layout:
- New controls have an accessible name, are reachable from the keyboard, and are not unreadable.
- No layout jump from images, embeds, or fonts with no reserved size.
- Empty, error, and loading states the change can hit are handled (or already were).
The walk-through is verify-ui. This section is the bar.
Operability
- A new failure mode is visible with whatever this repo already uses (log, metric, trace, error report).
- Risky behavior has a rollback sentence you can say out loud (revert, flag, prior artifact).
- Docs, types, or generated clients that this change made wrong are updated in the same work.
Output
Report failures, unverified requirements, and user waivers, then the checks and evidence used. Explicitly identify remaining assessed sections as pass or not applicable; silence is not evidence of a pass.
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
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.

