Repository navigation
fix(skills,hooks): container friction fixes — cross-skill dispatch, degraded docs, Linear local mode, hook verbose - #814
Conversation
…lans [FRICTION-1]
…, Linear check, hook verbose [FRICTION-1,2,3,5] Tasks 1-4: Convert slash-prefix cross-skill dispatch references to onex: prefix in executing_plans, insights_to_plan, design_to_plan, begin_day, dod_verify, autopilot, and pr_review SKILL.md/prompt.md files. Task 6: Add "Container / Degraded Environment" documentation to executing_plans, ticket_pipeline, epic_team (full template), insights_to_plan, plan_to_tickets (shorter template). Task 7: Create _shared/linear-availability-check.md with reusable Linear MCP availability pattern including local ticket YAML format. Task 10: Add opt-in OMNICLAUDE_HOOK_VERBOSE mode to error-guard.sh and wire _hook_status calls into poly_enforcer, bash_guard, and post-tool-use-quality.
…g-plans [FRICTION-1,3] Task 5: Add Rule 4 to validate-skill-names.sh — detects slash-prefix cross-skill dispatch references. Warning-only initially. Scans both SKILL.md and prompt.md, handles indented fences, uses word-boundary self-slug exclusion. Task 8: Add --local mode to executing-plans — probes Linear MCP availability before Step 2. Local mode preserves plan structure validation but skips ticket creation and routes to general-purpose agents instead of ticket-pipeline/epic-team.
…ase 3 [FRICTION-3] Task 9: Add Linear MCP availability check before Phase 3 auto-launch. When Linear is unavailable, appends --local to executing-plans invocation so it creates local YAML stubs instead of Linear tickets.
📝 WalkthroughWalkthroughThe pull request introduces hook status reporting infrastructure via a new Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
plugins/onex/hooks/scripts/pre_tool_use_poly_enforcer.sh (1)
1-11:⚠️ Potential issue | 🟡 MinorMissing MIT SPDX header per coding guidelines.
This file lacks the required MIT SPDX header. Per coding guidelines, all shell scripts in
plugins/onex/hooks/scripts/must include the MIT SPDX header.🔧 Proposed fix
#!/bin/bash +# SPDX-FileCopyrightText: 2025 OmniNode.ai Inc. +# SPDX-License-Identifier: MIT + # PreToolUse Polymorphic Agent Enforcer Hook # Intercepts Task and Agent tool calls and blocks any that don't useAs per coding guidelines: "All shell scripts in the hooks scripts directory must include MIT SPDX headers as specified in
omnibase_core/docs/conventions/FILE_HEADERS.md"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/onex/hooks/scripts/pre_tool_use_poly_enforcer.sh` around lines 1 - 11, The script pre_tool_use_poly_enforcer.sh is missing the required MIT SPDX header; add the standard MIT SPDX header comment block at the top of the file (above or immediately after the existing shebang) following the project's FILE_HEADERS.md convention so the file includes the SPDX identifier and copyright line; ensure the header format matches other hook scripts in the repository and retains the existing shebang and script comments (so functions/behavior like the polymorphic agent enforcement and subsequent Python audit dispatch invocation are unchanged).plugins/onex/hooks/scripts/pre_tool_use_bash_guard.sh (1)
1-4:⚠️ Potential issue | 🟡 MinorMissing MIT SPDX header per coding guidelines.
This file lacks the required MIT SPDX header. Per coding guidelines, all shell scripts in
plugins/onex/hooks/scripts/must include the MIT SPDX header as specified inomnibase_core/docs/conventions/FILE_HEADERS.md.🔧 Proposed fix
#!/bin/bash +# SPDX-FileCopyrightText: 2025 OmniNode.ai Inc. +# SPDX-License-Identifier: MIT + # PreToolUse Bash Guard Hook - Portable Plugin Version # Intercepts Bash tool invocations for command safety validationAs per coding guidelines: "All shell scripts in the hooks scripts directory must include MIT SPDX headers as specified in
omnibase_core/docs/conventions/FILE_HEADERS.md"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/onex/hooks/scripts/pre_tool_use_bash_guard.sh` around lines 1 - 4, The script pre_tool_use_bash_guard.sh is missing the required MIT SPDX header; add the exact MIT SPDX header block (as defined in omnibase_core/docs/conventions/FILE_HEADERS.md) at the very top of the file before the shebang/comment lines so the file conforms to the project file-header guideline; ensure the header text and SPDX identifier match the convention document exactly.
🧹 Nitpick comments (1)
plugins/onex/skills/design_to_plan/SKILL.md (1)
528-528: Inconsistent slash-prefix at line 528.Line 518 correctly uses
onex:executing-plans, but line 528 still shows/executing-plans. For consistency with the PR's standardization goal, consider updating this toonex:executing-plansas well.Suggested fix
-/executing-plans docs/plans/YYYY-MM-DD-<feature-name>.md +onex:executing-plans docs/plans/YYYY-MM-DD-<feature-name>.md🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/onex/skills/design_to_plan/SKILL.md` at line 528, Replace the inconsistent prefix "/executing-plans" with the standardized tag "onex:executing-plans" in SKILL.md (locate the occurrence shown as "/executing-plans" near the existing "onex:executing-plans" entry) so the namespace/tag format matches the rest of the document; update that single token and verify any adjacent examples or links use the same "onex:executing-plans" form.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@plugins/onex/hooks/scripts/pre_tool_use_bash_guard.sh`:
- Around line 1-4: The script pre_tool_use_bash_guard.sh is missing the required
MIT SPDX header; add the exact MIT SPDX header block (as defined in
omnibase_core/docs/conventions/FILE_HEADERS.md) at the very top of the file
before the shebang/comment lines so the file conforms to the project file-header
guideline; ensure the header text and SPDX identifier match the convention
document exactly.
In `@plugins/onex/hooks/scripts/pre_tool_use_poly_enforcer.sh`:
- Around line 1-11: The script pre_tool_use_poly_enforcer.sh is missing the
required MIT SPDX header; add the standard MIT SPDX header comment block at the
top of the file (above or immediately after the existing shebang) following the
project's FILE_HEADERS.md convention so the file includes the SPDX identifier
and copyright line; ensure the header format matches other hook scripts in the
repository and retains the existing shebang and script comments (so
functions/behavior like the polymorphic agent enforcement and subsequent Python
audit dispatch invocation are unchanged).
---
Nitpick comments:
In `@plugins/onex/skills/design_to_plan/SKILL.md`:
- Line 528: Replace the inconsistent prefix "/executing-plans" with the
standardized tag "onex:executing-plans" in SKILL.md (locate the occurrence shown
as "/executing-plans" near the existing "onex:executing-plans" entry) so the
namespace/tag format matches the rest of the document; update that single token
and verify any adjacent examples or links use the same "onex:executing-plans"
form.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ba7de28b-9eac-4da1-b89a-6b391b8dcae2
📒 Files selected for processing (16)
plugins/onex/hooks/scripts/error-guard.shplugins/onex/hooks/scripts/post-tool-use-quality.shplugins/onex/hooks/scripts/pre_tool_use_bash_guard.shplugins/onex/hooks/scripts/pre_tool_use_poly_enforcer.shplugins/onex/skills/_shared/linear-availability-check.mdplugins/onex/skills/_shared/validate-skill-names.shplugins/onex/skills/autopilot/SKILL.mdplugins/onex/skills/begin_day/SKILL.mdplugins/onex/skills/design_to_plan/SKILL.mdplugins/onex/skills/dod_verify/SKILL.mdplugins/onex/skills/epic_team/SKILL.mdplugins/onex/skills/executing_plans/SKILL.mdplugins/onex/skills/insights_to_plan/SKILL.mdplugins/onex/skills/plan_to_tickets/SKILL.mdplugins/onex/skills/pr_review/SKILL.mdplugins/onex/skills/ticket_pipeline/SKILL.md
Summary
Fixes 4 of 9 friction points discovered when running ONEX skills in container-based Claude Code environments without full plugin infrastructure.
/plan-to-tickets) toonex:prefix (onex:plan-to-tickets) across 9 skill files + 1 prompt.md. Add Rule 4 tovalidate-skill-names.shfor regression prevention (warning-only).--localmode to executing-plans with Linear MCP availability check. Create shared_shared/linear-availability-check.mdpattern. Add Linear guard to design-to-plan Phase 3 auto-launch.OMNICLAUDE_HOOK_VERBOSE=1mode to error-guard.sh with_hook_statuscalls in poly_enforcer, bash_guard, and post-tool-use-quality hooks.Hostile reviewed: 2 runs, 4 passes to convergence, 18 findings (2C, 7M, 9m) — all incorporated.
Files Changed (16)
Skills (slash-prefix fixes + degraded docs):
plugins/onex/skills/executing_plans/SKILL.md— dispatch refs + degraded docs + --local modeplugins/onex/skills/insights_to_plan/SKILL.md— dispatch refs + degraded docsplugins/onex/skills/design_to_plan/SKILL.md— dispatch refs + Linear guardplugins/onex/skills/begin_day/SKILL.md— dispatch refsplugins/onex/skills/dod_verify/SKILL.md— dispatch refsplugins/onex/skills/autopilot/SKILL.md— dispatch refsplugins/onex/skills/pr_review/SKILL.md— dispatch refsplugins/onex/skills/ticket_pipeline/SKILL.md— degraded docsplugins/onex/skills/epic_team/SKILL.md— degraded docsplugins/onex/skills/plan_to_tickets/SKILL.md— degraded docsShared patterns:
plugins/onex/skills/_shared/linear-availability-check.md— newplugins/onex/skills/_shared/validate-skill-names.sh— Rule 4Hooks:
plugins/onex/hooks/scripts/error-guard.sh— _hook_status functionplugins/onex/hooks/scripts/pre_tool_use_poly_enforcer.sh— verbose callsplugins/onex/hooks/scripts/pre_tool_use_bash_guard.sh— verbose callsplugins/onex/hooks/scripts/post-tool-use-quality.sh— verbose callsTest plan
validate-skill-names.shRules 1-3 pass (0 violations)Summary by CodeRabbit
Release Notes
New Features
--localmode flag for offline ticket management when Linear MCP is unavailableImprovements
onex:prefix syntaxDocumentation