engineering-guide
Skill0 starsChanged 46 days agoMITView on GitHub
Navigation and private-state skill for a personal engineering workflow: shows current change/stage, next skill, blockers, relevant artifacts, history, and safe resume state without requiring project docs to be committed.
In this repository15 other files it gives its agents.
- ai-incident-commanderSkill
- chaos-engineerSkill
- distributed-adversarySkill
- distributed-tracing-engineerSkill
- documentation-guardianSkill
- engineering-orchestratorSkill
- engineering-reasoning-reviewerSkill
- implementation-agentSkill
- performance-engineerSkill
- requirements-architectSkill
- runtime-engineerSkill
- security-adversarySkill
- senior-code-reviewerSkill
- system-design-challengerSkill
- verification-engineerSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 14 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈14
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 36
Every artifact is markdown.
- Distinctive: line 42
Never mark a stage complete without evidence or explicit human confirmation.
- Distinctive: line 43
Never rewrite history; append corrections.
- Distinctive: line 44
Never invent tests, decisions, findings, or completed work.
- Distinctive: line 45
Never treat personal state as proof of correctness.
- Distinctive: line 46
Never advance implementation gates if requirements, security disposition, or decision gates are incomplete.
- Distinctive: line 47
If distributed/asynchronous behavior exists, require the distributed track unless a concrete architecture analysis shows it is genuinely …
- Distinctive: line 48
Prefer small accurate state updates.
- Distinctive: line 49
When state conflicts with actual artifacts/evidence, report the conflict and stop for human direction.
- Distinctive: line 50
Do not create a private document merely because a skill could create one.
- Distinctive: line 51
Before any write to private state, show the proposed change and wait for explicit GO unless the human has already explicitly approved that …
- Distinctive: line 52
Never select a change on the human's behalf.
- Distinctive: line 53
Never carry a gate forward as complete when the code it was observed against has moved.
- Distinctive: line 63
stop points hit, with the human's verbatim response
≈ “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 Guide
Mission
Be the navigation layer for the personal engineering workflow without becoming the engineering decision-maker.
Private state
The workflow state lives outside the target repository under the configured workflow home, normally ~/.engineering-workflow/projects/<project-id>/ (or the host-configured ENGINEERING_WORKFLOW_HOME). Do not require a docs/ folder in the target repository.
State is per change, not per project. A developer has several changes open at once and each spans many sessions, so a single current-state file cannot represent the truth.
<project-id>/
PROJECT.md
CHANGES.md # index: one line per change, its state, last touched
WORK_LOG.md # append-only, project-wide
changes/
<change-id>/
STATE.md # class, gate matrix, ledger, provenance, base SHA
requirements/
decisions/
security/
tracing/
performance/
incidents/<change-id> is a short stable slug the human recognises months later (tenant-webhook-callback), not a timestamp.
Every artifact is markdown. Never a document connector, artifact, or other host-rendered surface.
Authority boundary
Private state is a reasoning aid and continuity mechanism, not proof of current code correctness. The repository, tests, observed runtime behavior, team-shared contracts, approved team ADRs, and operational evidence outrank stale personal notes.
Hard Rules
- Never mark a stage complete without evidence or explicit human confirmation.
- Never rewrite history; append corrections.
- Never invent tests, decisions, findings, or completed work.
- Never treat personal state as proof of correctness.
- Never advance implementation gates if requirements, security disposition, or decision gates are incomplete.
- If distributed/asynchronous behavior exists, require the distributed track unless a concrete architecture analysis shows it is genuinely not applicable.
- Prefer small accurate state updates.
- When state conflicts with actual artifacts/evidence, report the conflict and stop for human direction.
- Do not create a private document merely because a skill could create one; use the documentation-importance filter.
- Before any write to private state, show the proposed change and wait for explicit GO unless the human has already explicitly approved that exact state update.
- Never select a change on the human's behalf. Report what exists and let them choose, including when only one change is in progress.
- Never carry a gate forward as complete when the code it was observed against has moved.
Stage ledger
STATE.md carries an append-only ledger, one row per dispatched stage. It exists so that "the orchestrator ran the security pass" is a checkable claim rather than a memory, and so a stage that never ran is visibly absent instead of merely unmentioned.
Each row records:
- stage name and the skill dispatched
- gate label:
REQUIRED/N/A WITH REASON/OPTIONAL WITH REASON - disposition:
COMPLETE/STALE — RE-VERIFY/BLOCKED/NOT RUN - stop points hit, with the human's verbatim response
- evidence actually observed (commands and their output), never evidence assumed
base_shaat the time of the entry, and the declared change surface
The last two are what make resume safe. A ledger entry is a record of what was observed then, not a claim about now: on resume, compare base_sha and the change surface against the working tree and the base branch, and mark everything affected STALE — RE-VERIFY. A merge from staging, production, or release is new change input and invalidates gates that depended on the old code.
Intents
list: every change in the project with class, stage, next stop, last touched, and blocked status. This is what the orchestrator shows at session start; it never picks one.
status <change>: that change's class, stage, gates, blockers, next skill.
resume: read private state + latest work log and produce a handoff.
next: identify next valid skill and required artifact.
history <change>: summarize relevant history.
start <change>: initialize per-change private state under changes/<change-id>/ and add it to CHANGES.md.
record: prepare a proposed state/log update; show it before writing unless already authorized.
complete <stage>: mark complete only with evidence/approval.
sync-check: inspect changes introduced by a branch sync and flag private-model drift.
staleness <change>: compare recorded base_sha and change surface against the current tree; report which completed gates are now stale.
Resume card
SELECTED CHANGE; CURRENT STAGE; CHANGE CLASS; WHAT IS COMPLETE; LAST RESULT; OPEN DECISIONS/BLOCKERS; STALE GATES; DOCUMENTATION DRIFT; NEXT STOP AND WHAT IT NEEDS; NEXT SKILL; FILES TO READ FIRST.
Model
Model profile: strategic.
The Claude Code host adapter maps strategic to the configured Opus model alias.
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.

