fix(skills): trigger no-mistakes validation via CLI instead of skill invocation - #2869
Open
pramendra wants to merge 5 commits into
Open
fix(skills): trigger no-mistakes validation via CLI instead of skill invocation#2869pramendra wants to merge 5 commits into
pramendra wants to merge 5 commits into
Conversation
added 4 commits
August 23, 2026 19:45
…through a skill name CLAUDE_CONFIG_DIR is forwarded to claude crewmates for credential parity (bin/fm-spawn.sh), but a non-default store commonly has no skills/ directory, so /no-mistakes reliably fails to resolve there - the same failure already routed around in bin/fm-brief.sh's crew brief. Firstmate now tells the worker in natural language to drive no-mistakes through its own CLI instead, uniformly across every harness.
…about unreachable skill
…rness-adapters SKILL.md
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains. Reviews (2): Last reviewed commit: "no-mistakes: apply CI fixes" | Re-trigger Greptile |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
harness-adapters still told firstmate to trigger no-mistakes validation via a skill-invocation form (/no-mistakes or $no-mistakes) sent into a spawned worker's pane. Spawned claude crewmates inherit firstmate's own CLAUDE_CONFIG_DIR (bin/fm-spawn.sh), and a non-default store commonly has no skills/ directory, so /no-mistakes reliably fails to resolve - the same failure already fixed for bin/fm-brief.sh's crew brief scaffold, though that fm-brief.sh fix lives only on a separate unmerged branch so this branch's doc wording must not assert it is already present here. Fix harness-adapters' no-mistakes-triggering guidance (and AGENTS.md's Validate-section pointer to it) to route the validation trigger through the CLI (no-mistakes axi run) instead of a skill name, while preserving per-harness skill-invocation facts that have no other home in the document. Do not commit .serena/ or any other local IDE/tool state - it is unrelated to this fix.
What Changed
/no-mistakes,$no-mistakes, or equivalent) into a spawned worker's pane — since claude crewmates inherit firstmate's ownCLAUDE_CONFIG_DIRviabin/fm-spawn.shand a non-default store commonly has noskills/directory — and instead directs a short natural-language instruction telling the crewmate to drive validation itself viano-mistakes axi run.$-popup timing note to describe$<skill>invocations generically rather than asserting$no-mistakesis still the active validation trigger.Risk Assessment
✅ Low: The fix commit (b80a3d3) cleanly removes the previously-flagged .serena/project.yml and .serena/.gitignore with no unrelated changes, and the underlying documentation fix correctly routes no-mistakes triggering through the CLI while relocating per-harness skill-invocation facts into their own harness tables (verified against bin/fm-spawn.sh's actual CLAUDE_CONFIG_DIR forwarding), fully satisfying the stated user intent.
Testing
This change is a documentation-only fix (SKILL.md prose plus one AGENTS.md pointer sentence) with no executable code path, so no unit test applies; I manually verified the doc content instead. The new "Triggering no-mistakes validation" section correctly forbids the skill-invocation form and routes triggering through
no-mistakes axi runvia natural language, the per-harness skill-invocation facts that were removed from the old shared bullet list are still present via each harness's own table (with opencode and pi gaining new table rows to replace them), the AGENTS.md Validate-section pointer now references the "trigger procedure" rather than "harness invocation," and the previously-flagged false claim that bin/fm-brief.sh already warns about the unreachable skill was removed in the follow-up review commit — confirmed against the actual bin/fm-brief.sh content, which still says/no-mistakesunmodified on this branch. No committed .serena/ files were found (only an untracked directory), satisfying that constraint. No transient artifacts were created during this read-only verification.Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
🔧 **Review** - 1 issue found → auto-fixed ✅
.serena/project.yml:1- The target commit (33c9bff, current HEAD) still adds and commits.serena/project.yml(169 lines of local Serena MCP tool config, including a machine-specificproject_name) and.serena/.gitignore. This directly violates the user intent's explicit forbidden constraint: 'Do not commit .serena/ or any other local IDE/tool state - it is unrelated to this fix.' It also contradicts this exact round's own recorded fix instructions (Round 2: 'Remove .serena/project.yml and .serena/.gitignore from the fix-round commit'), which were never actually applied - the files are present, not removed, in the diff between base and target.🔧 Fix: Remove committed .serena local tool state files
✅ Re-checked - no issues remain.
✅ **Test** - passed
✅ No issues found.
Read git diff 505c8195..33c9bff4 for .agents/skills/harness-adapters/SKILL.md and AGENTS.md to confirm the trigger-mechanism change and preserved per-harness factsgrep -n 'Skill invocation|no-mistakes|fm-brief' .agents/skills/harness-adapters/SKILL.md to confirm each harness (claude, codex, grok, cursor, kimi, opencode, pi) still documents its skill-invocation form in its own table, with opencode and pi gaining new rows to replace the removed shared bullet listgit show 33c9bff -- SKILL.md to confirm the false claim that bin/fm-brief.sh already warns about the unreachable skill was removedgrep -n 'no-mistakes|axi run' bin/fm-brief.sh and git diff base..HEAD -- bin/fm-brief.sh (no diff) to confirm fm-brief.sh still says '/no-mistakes' in this branch, validating that the SKILL.md doc correctly does not claim that fix is already present heregit ls-files | grep -i serena (no tracked files) and git status (only untracked .serena/) to confirm no local IDE/tool state is committedgrep -rn 'AGENTS.md|harness-adapters' across tests/*.test.sh to confirm no existing automated test asserts on this specific doc wording (none found, so manual doc review is the appropriate evidence for this prose-only change)✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.