fix(skills): apply audit fixes — TCP refs, buildenv sourcing, layout notes #149

Merged
mahmoud merged 3 commits from development_skill_hero_rust_repo_create into development 2026-04-28 06:26:18 +00:00
Owner

Summary

Follow-up to #144 — applies the audit findings against the canonical Hero workspace pattern, plus picks up an in-flight .gitignore cleanup from the working tree.

Skill-content fixes (commit 4be6571)

Six skills updated based on the audit run after #144 landed.

HIGH severity

  • forge-release-workflow — the release-upload step was sourcing buildenv.sh directly. Per /build_lib's own rule ("never source buildenv.sh directly"), now sources build_lib.sh, which auto-loads buildenv.sh from the right place. Comment in the YAML calls out the rule explicitly.
  • hero_books — rewrote the "Quick Start", "Running Hero Books", PDF, and Troubleshooting sections. Removed all TCP references (--port 8883, http://localhost:8883/...) and the now-defunct hero_books_client binary. Replaced with the canonical Unix-socket pattern: hero_books --start, ~/hero/var/sockets/hero_books/{rpc,ui,web_admin}.sock, curl --unix-socket for direct access, hero_router for HTTP fan-out. Added cross-references to /hero_sockets, /hero_proc_service_selfstart, /hero_router. Documented the docs.* RPC method set.

MEDIUM severity

  • forge-release-workflow — now describes scripts/ as the canonical location and root as legacy fallback, instead of treating both as equal. Description, body prose, and decision-rule bullet all updated.
  • rhai_bindings_troubleshooting — the "Workspace Cargo.toml additions" section showed a workspace-root [[bin]] that conflicts with the canonical pure-workspace layout. Added a callout pointing at /hero_rust_repo_create — in modern repos, hero_do_<workspace> lives in its own crates/<n>_lib_rhai/ crate, not at the root.
  • hero_crates_best_practices_check — Check 9 (Root runtime orchestration) gains an explicit one-line rule: only the unsuffixed CLI gets --start/--stop/--status; _server, _ui, _admin must run plain foreground. Cross-link to /hero_proc_service_selfstart.

LOW severity

  • naming_convention — the [[bin]] name row in the Rust table now states explicitly that this lives in the per-crate Cargo.toml under crates/<n>/, never in the workspace-root Cargo.toml. Added a pointer paragraph to /hero_rust_repo_create.

Self-fix

  • hero_rust_repo_create — replaced a stale link to /rhai_bindings_generate_fix (since consolidated into /rhai_bindings_troubleshooting) with the current skill name.

Gitignore cleanup (commit 0855517, by Mahmoud)

Adds .claude to .gitignore and removes the previously-committed .claude/settings.local.json so per-user IDE state stops landing in the repo.

Test plan

  • cd claude/skills && grep -rln "rhai_bindings_generate_fix\|rhai_bindings_client_fix\|rhai_bindings_cmd_path" returns nothing
  • No remaining 8883, --port, hero_books_client, or direct source buildenv.sh references in the affected skills
  • Manual review of rendered skill content

🤖 Generated with Claude Code

## Summary Follow-up to #144 — applies the audit findings against the canonical Hero workspace pattern, plus picks up an in-flight `.gitignore` cleanup from the working tree. ### Skill-content fixes (commit `4be6571`) Six skills updated based on the audit run after #144 landed. **HIGH severity** - **`forge-release-workflow`** — the release-upload step was sourcing `buildenv.sh` directly. Per `/build_lib`'s own rule ("never source `buildenv.sh` directly"), now sources `build_lib.sh`, which auto-loads `buildenv.sh` from the right place. Comment in the YAML calls out the rule explicitly. - **`hero_books`** — rewrote the "Quick Start", "Running Hero Books", PDF, and Troubleshooting sections. Removed all TCP references (`--port 8883`, `http://localhost:8883/...`) and the now-defunct `hero_books_client` binary. Replaced with the canonical Unix-socket pattern: `hero_books --start`, `~/hero/var/sockets/hero_books/{rpc,ui,web_admin}.sock`, `curl --unix-socket` for direct access, `hero_router` for HTTP fan-out. Added cross-references to `/hero_sockets`, `/hero_proc_service_selfstart`, `/hero_router`. Documented the `docs.*` RPC method set. **MEDIUM severity** - **`forge-release-workflow`** — now describes `scripts/` as the canonical location and root as legacy fallback, instead of treating both as equal. Description, body prose, and decision-rule bullet all updated. - **`rhai_bindings_troubleshooting`** — the "Workspace Cargo.toml additions" section showed a workspace-root `[[bin]]` that conflicts with the canonical pure-workspace layout. Added a callout pointing at `/hero_rust_repo_create` — in modern repos, `hero_do_<workspace>` lives in its own `crates/<n>_lib_rhai/` crate, not at the root. - **`hero_crates_best_practices_check`** — Check 9 (Root runtime orchestration) gains an explicit one-line rule: only the unsuffixed CLI gets `--start`/`--stop`/`--status`; `_server`, `_ui`, `_admin` must run plain foreground. Cross-link to `/hero_proc_service_selfstart`. **LOW severity** - **`naming_convention`** — the `[[bin]] name` row in the Rust table now states explicitly that this lives in the per-crate `Cargo.toml` under `crates/<n>/`, never in the workspace-root `Cargo.toml`. Added a pointer paragraph to `/hero_rust_repo_create`. **Self-fix** - **`hero_rust_repo_create`** — replaced a stale link to `/rhai_bindings_generate_fix` (since consolidated into `/rhai_bindings_troubleshooting`) with the current skill name. ### Gitignore cleanup (commit `0855517`, by Mahmoud) Adds `.claude` to `.gitignore` and removes the previously-committed `.claude/settings.local.json` so per-user IDE state stops landing in the repo. ## Test plan - [x] `cd claude/skills && grep -rln "rhai_bindings_generate_fix\|rhai_bindings_client_fix\|rhai_bindings_cmd_path"` returns nothing - [x] No remaining `8883`, `--port`, `hero_books_client`, or direct `source buildenv.sh` references in the affected skills - [ ] Manual review of rendered skill content 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Six skills updated based on the audit run after hero_books / hero_compute
alignment landed.

HIGH severity

- forge-release-workflow: the release-upload step was sourcing
  buildenv.sh directly. Per /build_lib's own rule ("never source
  buildenv.sh directly"), now sources build_lib.sh, which auto-loads
  buildenv.sh from the right location. Comment in the YAML calls out
  the rule explicitly.

- hero_books: rewrote the "Quick Start", "Running Hero Books", PDF, and
  Troubleshooting sections. Removed all TCP references (--port 8883,
  http://localhost:8883/...) and the now-defunct hero_books_client
  binary. Replaced with the canonical Unix-socket pattern: hero_books
  --start, ~/hero/var/sockets/hero_books/{rpc,ui,web_admin}.sock,
  curl --unix-socket for direct access, hero_router for HTTP fan-out.
  Added cross-references to /hero_sockets,
  /hero_proc_service_selfstart, /hero_router. Documented the docs.*
  RPC method set briefly.

MEDIUM severity

- forge-release-workflow: now describes scripts/ as the canonical
  location and root as legacy fallback, instead of treating both as
  equal. Description, body prose, and decision-rule bullet all
  updated.

- rhai_bindings_troubleshooting: the "Workspace Cargo.toml additions"
  section showed a workspace-root [[bin]] that conflicts with the
  canonical pure-workspace layout. Added a callout pointing at
  /hero_rust_repo_create — in modern repos, hero_do_<workspace> lives
  in its own crates/<n>_lib_rhai/ crate, not at the root.

- hero_crates_best_practices_check: Check 9 (Root runtime
  orchestration) gains an explicit one-line rule: only the unsuffixed
  CLI gets --start/--stop/--status; _server, _ui, _admin must run
  plain foreground. Cross-link to /hero_proc_service_selfstart.

LOW severity

- naming_convention: the [[bin]] name row in the Rust table now
  states explicitly that this lives in the per-crate Cargo.toml under
  crates/<n>/, never in the workspace-root Cargo.toml. Added a
  pointer paragraph to /hero_rust_repo_create.

Self-fix

- hero_rust_repo_create: replaced a stale link to
  /rhai_bindings_generate_fix (since consolidated into
  /rhai_bindings_troubleshooting) with the current skill name.

Verified: cd claude/skills && grep -rln stale-symbol-set returns nothing.
chore: Add .claude to gitignore
All checks were successful
Build and Publish Skills / build-and-publish (pull_request) Successful in 3s
0855517504
- Add .claude to gitignore file
Merge branch 'development' into development_skill_hero_rust_repo_create
All checks were successful
Build and Publish Skills / build-and-publish (pull_request) Successful in 3s
777cd23920
mahmoud merged commit eead646e58 into development 2026-04-28 06:26:18 +00:00
mahmoud deleted branch development_skill_hero_rust_repo_create 2026-04-28 06:26:22 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_skills!149
No description provided.