Skip to content

Commit 00662b0

Browse files
authored
fix(project-context): admit commands whose obvious invocation is wrong (#2703)
A command earns a line when its correct form is not the obvious guess — a bare-repo prefix, a required wrapper — judged from the repository, no observed mistake needed. Record files an observed command error as the exact invocation. A repeatable nonobvious command spotted in anything read during the session is offered as a candidate.
1 parent ade7a96 commit 00662b0

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

src/bmm-skills/plan/bmad-project-context/SKILL.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ Only what no scan reaches: what agents keep getting wrong here, what is off limi
5555
- Never ask what a scan could answer. Asking the user to confirm a path-checked claim, or one a config file already states, is a defect.
5656
- Ask recall questions, not review lists. Never hand the user a selection problem a scan created.
5757
- A mistake this session made and caught is observed evidence — offer it.
58+
- A repeatable command spotted in anything read this session — a log, a doc, its own runs — whose correct form is not the obvious guess is a candidate line: offer it. E.g. `uv run pytest` where plain `pytest` looks right but runs outside the project environment.
5859
- Batches of at most eight; fewer is better. A batch yielding nothing new means write.
5960
- When the repo contradicts the user, show the evidence and ask. Never write the claim as given, never drop it silently.
6061

@@ -92,7 +93,7 @@ If the target has a `project-context.md` from the retired skills, commonly under
9293

9394
Capture one observed agent mistake as it happens — the only admissible source for a pitfall line.
9495

95-
Take the task, the mistake, the correction, and its evidence. Check the block for a line already covering it. One occurrence is noted; a recurring or costly mistake earns a line now — write it, show the diff. If it is mechanically preventable, propose the hook, lint rule, or CI check instead.
96+
Take the task, the mistake, the correction, and its evidence. Check the block for a line already covering it. One occurrence is noted; a recurring or costly mistake earns a line now — an exact invocation under **Running and verifying** when it is a command error, otherwise a pitfall. Write it and show the diff. If it is mechanically preventable, propose the hook, lint rule, or CI check instead.
9697

9798
## Audit
9899

src/bmm-skills/plan/bmad-project-context/references/best-practices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Can an agent derive this by reading the repository? If yes, leave it out — a s
1010

1111
- **Policy the code cannot express** — branch rules, frozen and protected paths, generated files, secrets, security and compliance. Stated by a human or read off an enforcing config, never inferred.
1212
- **What a config file cannot say about running the project** — the root test script does nothing in this workspace, integration tests need a service up first, the suite takes eleven minutes so iterate on single files, the `Makefile` is the real entry point and `package.json` is vestigial, CI runs a typecheck the test script does not. The invocation itself is already stated in `package.json`, `Makefile`, `pyproject.toml`, or CI config and does not earn a line — the correction or the caveat does.
13-
- **Conventions that differ from ecosystem defaults.** An agent follows the norm unless told otherwise, so only the divergences earn a line.
13+
- **Conventions that differ from ecosystem defaults.** An agent follows the norm unless told otherwise, so only the divergences earn a line. Command invocations count: when the obvious command is wrong here — a bare-repo prefix, a required wrapper — the exact working invocation earns a line, and no observed mistake is needed to admit it.
1414
- **Pitfalls with observed evidence** — a recorded lesson, the maintainer's recollection, the same mistake fixed repeatedly in history, or one this session made and caught. A repo yields hundreds of trap-looking facts and none of them predict real mistakes; only observed behavior does. A surprising scan finding is a question to ask, not a line to write.
1515
- **Runtime behavior invisible from the repo** — replaying webhooks, lying health endpoints, environment quirks — once a human confirms it.
1616
- **Entry points and pointers** to where work lands.

0 commit comments

Comments
 (0)