You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .agents/commands/x-audit.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,13 +32,13 @@ say so explicitly and restart from STEP 0.
32
32
33
33
## Your task
34
34
35
-
- Read `.claude/commands/mind-sets/audit.md` (the audit methodology)
36
-
- Read `.claude/commands/mind-sets/project-foundations-cpp.md` (the 16 C++ foundations the audit checks against -- it `$include`s `project-foundations.md`, read that too if referenced)
35
+
- Read `.agents/commands/mind-sets/audit.md` (the audit methodology)
36
+
- Read `.agents/commands/mind-sets/project-foundations-cpp.md` (the 16 C++ foundations the audit checks against -- it `$include`s `project-foundations.md`, read that too if referenced)
37
37
- If a Memory Bank exists in this repo, read it first for project context; if not, skip -- this command does not require one
38
-
-**Optional project settings:** if `.claude/commands/cpp-project.md` exists, read it and use its `@build` / `@test` / `@lint` / `@code-nav` values instead of the generic CMake/CTest commands
38
+
-**Optional project settings:** if `.agents/commands/cpp-project.md` exists, read it and use its `@build` / `@test` / `@lint` / `@code-nav` values instead of the generic CMake/CTest commands
39
39
-**Evidence Discipline (no false negatives):** follow the "Evidence Discipline" section of audit.md -- use the language server / code intelligence (LSAI, clangd) not a single grep; scope to OWN code (exclude vendored / `_deps` / `.cpm_cache` / generated trees -- they inflate counts); NEVER emit a `Missing`/`Absent` verdict without running and quoting the targeted negative check (tests: `ctest -N`, `gtest_discover_tests` / `catch_discover_tests`, `enable_testing` + `*/test*/` targets); report a have/total ratio (e.g. "8/36 libs have tests") as `Partial`, never `Missing`
40
40
-**Code-level diagnostics (use LSAI to find problems IN the code, not just the build):** run `mcp__lsai__lsai_diagnostics` (minSeverity warning) and scope the result to OWN code (exclude vendored / SDK / generated / known-rotten trees). Discard the `-Wc++98-compat` / `-Wpre-c++NN-compat` pedantry the analyzer emits under its near-`-Weverything` profile, then report the SUBSTANTIVE warnings -- sign/signedness conversion, field/local shadowing, float `==`/`!=`, unsafe-buffer-usage / pointer arithmetic, unhandled `switch` enums, `const`-dropping casts, unused includes -- as a "Code-Level Diagnostics" finding with `file:line`. Tie any defect the real build hides (warnings-as-errors not on that compiler) back to Foundation #1.
41
-
-Use AskUserQuestion to gather project context if not provided (what the project is, primary build system, target platforms, what worries the user)
41
+
-Ask the user for project context if not provided (what the project is, primary build system, target platforms, what worries the user)
42
42
- Confirm activation with "# Architecture Audit active (C++)"
Copy file name to clipboardExpand all lines: .agents/commands/x-debug.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,9 +32,9 @@ say so explicitly and restart from STEP 0.
32
32
- Skip the BASE_RULE and I will kick your honest ass straight back to STEP 0. Stop, reset your head, and do it right -- anything you produce otherwise is invalid.
33
33
34
34
## Prerequisites
35
-
- Read `.claude/commands/mind-sets/debug-protocol.md` (Protocol D -- the methodology, single source of truth for the rules)
35
+
- Read `.agents/commands/mind-sets/debug-protocol.md` (Protocol D -- the methodology, single source of truth for the rules)
36
36
- If a Memory Bank exists, read it for context; otherwise skip (not required)
37
-
-**Optional project settings:** if `.claude/commands/cpp-project.md` exists, read it and use its `@build` / `@test` / `@asan` / `@code-nav` / `@logs` / `@platform` values instead of the generic commands below
37
+
-**Optional project settings:** if `.agents/commands/cpp-project.md` exists, read it and use its `@build` / `@test` / `@asan` / `@code-nav` / `@logs` / `@platform` values instead of the generic commands below
Copy file name to clipboardExpand all lines: .agents/commands/x-develop.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,12 +32,12 @@ say so explicitly and restart from STEP 0.
32
32
- Skip the BASE_RULE and I will kick your honest ass straight back to STEP 0. Stop, reset your head, and do it right -- anything you produce otherwise is invalid.
33
33
34
34
## Prerequisites
35
-
- Read `.claude/commands/mind-sets/cpp-senior.md` (the C++ senior mindset -- the rules you code by)
- Read `.agents/commands/mind-sets/project-foundations-cpp.md` (the foundations the code must satisfy)
38
+
- If the methodology is TDDAB: read `.agents/commands/mind-sets/cpp-tddab-overlay.md`
39
39
- If a Memory Bank / plan file exists, read it for context; otherwise work from the plan the user points you to
40
-
-**Optional project settings:** if `.claude/commands/cpp-project.md` exists, read it and use its `@build` / `@configure` / `@test` / `@lint` / `@asan` values in the per-block VERIFY loop instead of the generic CMake/CTest commands
40
+
-**Optional project settings:** if `.agents/commands/cpp-project.md` exists, read it and use its `@build` / `@configure` / `@test` / `@lint` / `@asan` values in the per-block VERIFY loop instead of the generic CMake/CTest commands
41
41
42
42
## Purpose
43
43
@@ -84,4 +84,4 @@ non-trivial.
84
84
-**Follow existing patterns and naming** in the target codebase
85
85
-**Fix the cause, not the symptom** -- a defensive check that hides the root is rejected
86
86
-**One block at a time** -- never batch blocks past a red build
87
-
-**Ask when unsure** -- use AskUserQuestion rather than guessing the intent
87
+
-**Ask when unsure** -- ask the user rather than guessing the intent
Copy file name to clipboardExpand all lines: .agents/commands/x-review-plan.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,10 +32,10 @@ say so explicitly and restart from STEP 0.
32
32
- Skip the BASE_RULE and I will kick your honest ass straight back to STEP 0. Stop, reset your head, and do it right -- anything you produce otherwise is invalid.
33
33
34
34
## Prerequisites
35
-
- Read `.claude/commands/mind-sets/tddab-planner.md` + `.claude/commands/mind-sets/cpp-tddab-overlay.md` (the rules the plan must satisfy)
- If a Memory Bank exists, read it for context; otherwise skip
38
-
-**Optional project settings:** if `.claude/commands/cpp-project.md` exists, read it and use its `@code-nav` / `@build` / `@test` values where relevant
38
+
-**Optional project settings:** if `.agents/commands/cpp-project.md` exists, read it and use its `@code-nav` / `@build` / `@test` values where relevant
Copy file name to clipboardExpand all lines: .agents/commands/x-tddab.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,11 +32,11 @@ say so explicitly and restart from STEP 0.
32
32
- Skip the BASE_RULE and I will kick your honest ass straight back to STEP 0. Stop, reset your head, and do it right -- anything you produce otherwise is invalid.
33
33
34
34
## Prerequisites
35
-
- Read `.claude/commands/mind-sets/tddab-planner.md` (the base TDDAB methodology -- single source of truth for plan structure)
36
-
- Read `.claude/commands/mind-sets/cpp-tddab-overlay.md` (C++ specifics: Catch2/CTest, expected/optional, sanitizers in VERIFY)
37
-
- Read `.claude/commands/mind-sets/project-foundations-cpp.md` (the foundations the plan must respect)
35
+
- Read `.agents/commands/mind-sets/tddab-planner.md` (the base TDDAB methodology -- single source of truth for plan structure)
36
+
- Read `.agents/commands/mind-sets/cpp-tddab-overlay.md` (C++ specifics: Catch2/CTest, expected/optional, sanitizers in VERIFY)
37
+
- Read `.agents/commands/mind-sets/project-foundations-cpp.md` (the foundations the plan must respect)
38
38
- If a Memory Bank exists, read it for context; otherwise skip
39
-
-**Optional project settings:** if `.claude/commands/cpp-project.md` exists, read it and use its `@build` / `@test` / `@asan` values in the VERIFY steps of the plan
39
+
-**Optional project settings:** if `.agents/commands/cpp-project.md` exists, read it and use its `@build` / `@test` / `@asan` values in the VERIFY steps of the plan
40
40
41
41
## Purpose
42
42
@@ -47,7 +47,7 @@ context -- no dependency on a later block.
47
47
48
48
## Steps
49
49
50
-
1.**Clarify the feature** -- use AskUserQuestion for anything ambiguous (scope,
50
+
1.**Clarify the feature** -- ask the user about anything ambiguous (scope,
51
51
target API, where it plugs into the existing code).
52
52
2.**Decompose bottom-up** -- list the smallest provable units. For C++ that is
53
53
usually: value types/DTOs -> domain functions -> the service/composition.
Copy file name to clipboardExpand all lines: .agents/skills/erhe-cpp-debugging/SKILL.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: erhe-cpp-debugging
3
-
description: Debug an erhe C++ crash, abort, VERIFY/ERHE_FATAL, thrown exception, hang or deadlock at the source level with a real callstack and live variable values, instead of guessing from logs/log.txt and a stripped backtrace. On macOS drive lldb from the Bash tool (preferred: the embedded Python SB API emitting JSON); on Windows drive the live Visual Studio via the visualstudio MCP server (breakpoints, launch-under-debugger, step, callstack, locals). Use this for "editor.exe exited non-zero / [crash] unhandled exception / a minidump appeared / a VERIFY or FATAL fired / a C++ exception 0xe06d7363 / it deadlocked or hung" -- the minidump and log are a starting hypothesis, the live callstack + locals are the diagnosis. For GPU "renders wrong" bugs use erhe-renderdoc-gpu-debug instead; this skill is for CPU-side control flow and state.
3
+
description: Debug an erhe C++ crash, abort, VERIFY/ERHE_FATAL, thrown exception, hang or deadlock at the source level with a real callstack and live variable values, instead of guessing from logs/log.txt and a stripped backtrace. On macOS drive lldb from a shell (preferred: the embedded Python SB API emitting JSON); on Windows drive the live Visual Studio via the visualstudio MCP server (breakpoints, launch-under-debugger, step, callstack, locals). Use this for "editor.exe exited non-zero / [crash] unhandled exception / a minidump appeared / a VERIFY or FATAL fired / a C++ exception 0xe06d7363 / it deadlocked or hung" -- the minidump and log are a starting hypothesis, the live callstack + locals are the diagnosis. For GPU "renders wrong" bugs use erhe-renderdoc-gpu-debug instead; this skill is for CPU-side control flow and state.
4
4
---
5
5
6
6
# erhe C++ debugging (lldb on macOS / Linux, Visual Studio MCP on Windows)
@@ -11,20 +11,20 @@ variable values at the fault site. Do NOT try to reason a crash out from
11
11
`logs/editor_crash_*.dmp` minidump -- they are a hypothesis, not the diagnosis.
12
12
13
13
This is the authoritative macOS/Linux lldb run-book. The Windows VS-MCP prose
14
-
(full tool list, typical flow, gotchas) lives in CLAUDE.md under "Debugging on
14
+
(full tool list, typical flow, gotchas) lives in AGENTS.md under "Debugging on
15
15
Windows / MSVC (Visual Studio MCP server)".
16
16
17
17
## Pick the platform path
18
18
19
-
-**macOS / Linux -> lldb via the Bash tool.**`/usr/bin/lldb` ships with the
19
+
-**macOS / Linux -> lldb via a shell.**`/usr/bin/lldb` ships with the
20
20
Command Line Tools (no install). All three Debug builds have full symbols:
Copy file name to clipboardExpand all lines: .agents/skills/erhe-quest-launch/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ Capture files land in `logs/quest_<YYYYMMDD>_<HHMMSS>.log` (gitignored) and are
57
57
The script enforces these invariants -- understand them before changing it:
58
58
59
59
-**One extra process, ever.** The single backgrounded `adb logcat` is the only process owned by this workflow. Re-running `quest_logcat.sh` kills the previous streamer before starting a new one; `stop` kills without starting a replacement. The shared `adb` server daemon is not "ours" -- it persists across sessions regardless.
60
-
-**No leaks across Claude Code sessions.** The PID is tracked in `logs/.logcat.pid` (a real file in the repo, gitignored), so even a fresh shell finds and stops the prior capture.
60
+
-**No leaks across AI client sessions.** The PID is tracked in `logs/.logcat.pid` (a real file in the repo, gitignored), so even a fresh shell finds and stops the prior capture.
61
61
-**No PID-recycle hazard.** Before killing, the script confirms the recorded PID still points at an `adb` process via `ps -p PID`; if the PID was recycled to something unrelated, it leaves the new owner alone and just removes the stale PID file. Git Bash's `ps` reports the executable path only (no argv), so it matches on `adb` -- fine because every other adb call in this workflow is short-lived.
0 commit comments