oh-my-codex-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/skills/agent-kb/HOW_TO_USE.md +428 -0
- package/.agent/skills/agent-kb/README.md +46 -0
- package/.agent/skills/agent-kb/SKILL.md +128 -0
- package/.agent/skills/agent-kb/references/intelligent-analysis-explained.md +333 -0
- package/.agent/skills/agent-kb/references/query-optimization.md +225 -0
- package/.agent/skills/aireview/SKILL.md +704 -0
- package/.agent/skills/analyze/SKILL.md +81 -0
- package/.agent/skills/architect-planner/HOW_TO_USE.md +238 -0
- package/.agent/skills/architect-planner/README.md +41 -0
- package/.agent/skills/architect-planner/SKILL.md +539 -0
- package/.agent/skills/auto-mbti/SKILL.md +291 -0
- package/.agent/skills/autopilot/SKILL.md +222 -0
- package/.agent/skills/backend-patterns/SKILL.md +602 -0
- package/.agent/skills/bdd-generator/README.md +78 -0
- package/.agent/skills/bdd-generator/SKILL.md +436 -0
- package/.agent/skills/brainstorming/HOW_TO_USE.md +289 -0
- package/.agent/skills/brainstorming/README.md +41 -0
- package/.agent/skills/brainstorming/SKILL.md +165 -0
- package/.agent/skills/build-fix/SKILL.md +190 -0
- package/.agent/skills/cancel/SKILL.md +658 -0
- package/.agent/skills/checkpoint/SKILL.md +94 -0
- package/.agent/skills/code-review/SKILL.md +273 -0
- package/.agent/skills/coding-standards/SKILL.md +535 -0
- package/.agent/skills/conductor/SKILL.md +128 -0
- package/.agent/skills/conductor/commands/conductor/implement.toml +358 -0
- package/.agent/skills/conductor/commands/conductor/newTrack.toml +142 -0
- package/.agent/skills/conductor/commands/conductor/revert.toml +123 -0
- package/.agent/skills/conductor/commands/conductor/setup.toml +429 -0
- package/.agent/skills/conductor/commands/conductor/status.toml +57 -0
- package/.agent/skills/conductor/scripts/install.sh +89 -0
- package/.agent/skills/conductor/templates/code_styleguides/csharp.md +115 -0
- package/.agent/skills/conductor/templates/code_styleguides/dart.md +238 -0
- package/.agent/skills/conductor/templates/code_styleguides/general.md +23 -0
- package/.agent/skills/conductor/templates/code_styleguides/go.md +48 -0
- package/.agent/skills/conductor/templates/code_styleguides/html-css.md +49 -0
- package/.agent/skills/conductor/templates/code_styleguides/javascript.md +51 -0
- package/.agent/skills/conductor/templates/code_styleguides/python.md +37 -0
- package/.agent/skills/conductor/templates/code_styleguides/typescript.md +43 -0
- package/.agent/skills/conductor/templates/rules/README.md +23 -0
- package/.agent/skills/conductor/templates/rules/agents.md +49 -0
- package/.agent/skills/conductor/templates/rules/coding-style.md +70 -0
- package/.agent/skills/conductor/templates/rules/dev.md +20 -0
- package/.agent/skills/conductor/templates/rules/git-workflow.md +45 -0
- package/.agent/skills/conductor/templates/rules/hooks.md +6 -0
- package/.agent/skills/conductor/templates/rules/patterns.md +55 -0
- package/.agent/skills/conductor/templates/rules/performance.md +47 -0
- package/.agent/skills/conductor/templates/rules/research.md +26 -0
- package/.agent/skills/conductor/templates/rules/review.md +22 -0
- package/.agent/skills/conductor/templates/rules/security.md +36 -0
- package/.agent/skills/conductor/templates/rules/testing.md +30 -0
- package/.agent/skills/conductor/templates/workflow.md +333 -0
- package/.agent/skills/consensus/HOW_TO_USE.md +191 -0
- package/.agent/skills/consensus/README.md +41 -0
- package/.agent/skills/consensus/SKILL.md +317 -0
- package/.agent/skills/content-research-writer/SKILL.md +537 -0
- package/.agent/skills/debug-analysis/SKILL.md +331 -0
- package/.agent/skills/deepinit/SKILL.md +347 -0
- package/.agent/skills/deepsearch/SKILL.md +56 -0
- package/.agent/skills/doctor/SKILL.md +158 -0
- package/.agent/skills/drawio/EXAMPLES.md +382 -0
- package/.agent/skills/drawio/QUICK_START.md +237 -0
- package/.agent/skills/drawio/README.md +315 -0
- package/.agent/skills/drawio/SETUP_GUIDE.md +254 -0
- package/.agent/skills/drawio/SKILL.md +1176 -0
- package/.agent/skills/e2e/SKILL.md +396 -0
- package/.agent/skills/ecomode/SKILL.md +160 -0
- package/.agent/skills/electron-driver/SKILL.md +144 -0
- package/.agent/skills/electron-driver/scripts/driver-template.js +71 -0
- package/.agent/skills/eval/SKILL.md +140 -0
- package/.agent/skills/eval-harness/SKILL.md +242 -0
- package/.agent/skills/evolve/SKILL.md +213 -0
- package/.agent/skills/frontend-design/SKILL.md +42 -0
- package/.agent/skills/frontend-patterns/SKILL.md +646 -0
- package/.agent/skills/frontend-ui-ux/SKILL.md +70 -0
- package/.agent/skills/git-master/SKILL.md +75 -0
- package/.agent/skills/help/SKILL.md +89 -0
- package/.agent/skills/iterative-retrieval/SKILL.md +217 -0
- package/.agent/skills/local-skills-setup/SKILL.md +483 -0
- package/.agent/skills/log-analyzer/SKILL.md +187 -0
- package/.agent/skills/mcp-setup/SKILL.md +226 -0
- package/.agent/skills/multi-model-research/HOW_TO_USE.md +614 -0
- package/.agent/skills/multi-model-research/README.md +233 -0
- package/.agent/skills/multi-model-research/SKILL.md +541 -0
- package/.agent/skills/multi-model-research/references/troubleshooting.md +415 -0
- package/.agent/skills/note/SKILL.md +80 -0
- package/.agent/skills/omc-setup/SKILL.md +219 -0
- package/.agent/skills/orchestrate/SKILL.md +620 -0
- package/.agent/skills/patent-workflow/IMPLEMENTATION_SUMMARY.md +500 -0
- package/.agent/skills/patent-workflow/README.md +455 -0
- package/.agent/skills/patent-workflow/SKILL.md +1036 -0
- package/.agent/skills/patent-workflow/tools/irr_checker.py +260 -0
- package/.agent/skills/patent-workflow/tools/sample_terminology.json +49 -0
- package/.agent/skills/patent-workflow/tools/term_checker.py +355 -0
- package/.agent/skills/pattern-recognition/SKILL.md +792 -0
- package/.agent/skills/pipeline/SKILL.md +448 -0
- package/.agent/skills/plan/SKILL.md +309 -0
- package/.agent/skills/planning-methodology/SKILL.md +370 -0
- package/.agent/skills/planning-with-files/SKILL.md +210 -0
- package/.agent/skills/planning-with-files/examples.md +202 -0
- package/.agent/skills/planning-with-files/reference.md +218 -0
- package/.agent/skills/planning-with-files/scripts/check-complete.ps1 +42 -0
- package/.agent/skills/planning-with-files/scripts/check-complete.sh +44 -0
- package/.agent/skills/planning-with-files/scripts/init-session.ps1 +120 -0
- package/.agent/skills/planning-with-files/scripts/init-session.sh +120 -0
- package/.agent/skills/planning-with-files/scripts/session-catchup.py +208 -0
- package/.agent/skills/planning-with-files/templates/findings.md +95 -0
- package/.agent/skills/planning-with-files/templates/progress.md +114 -0
- package/.agent/skills/planning-with-files/templates/task_plan.md +132 -0
- package/.agent/skills/project-analyze/CLAUDE.md +18 -0
- package/.agent/skills/project-analyze/HOW_TO_USE.md +145 -0
- package/.agent/skills/project-analyze/README.md +42 -0
- package/.agent/skills/project-analyze/SKILL.md +289 -0
- package/.agent/skills/project-analyze/SKILL.md.backup +287 -0
- package/.agent/skills/project-analyze/SKILL.md.backup_20260105_093646 +287 -0
- package/.agent/skills/project-analyze/assets/analysis-report-template.md +433 -0
- package/.agent/skills/project-analyze/references/analysis-patterns.md +422 -0
- package/.agent/skills/project-analyze/references/projectmind-explained.md +535 -0
- package/.agent/skills/project-session-manager/SKILL.md +428 -0
- package/.agent/skills/project-session-manager/lib/config.sh +86 -0
- package/.agent/skills/project-session-manager/lib/parse.sh +121 -0
- package/.agent/skills/project-session-manager/lib/session.sh +132 -0
- package/.agent/skills/project-session-manager/lib/tmux.sh +103 -0
- package/.agent/skills/project-session-manager/lib/worktree.sh +171 -0
- package/.agent/skills/project-session-manager/psm.sh +629 -0
- package/.agent/skills/project-session-manager/templates/feature.md +56 -0
- package/.agent/skills/project-session-manager/templates/issue-fix.md +57 -0
- package/.agent/skills/project-session-manager/templates/pr-review.md +65 -0
- package/.agent/skills/project-session-manager/templates/projects.json +19 -0
- package/.agent/skills/quality-check/HOW_TO_USE.md +171 -0
- package/.agent/skills/quality-check/README.md +50 -0
- package/.agent/skills/quality-check/SKILL.md +240 -0
- package/.agent/skills/quality-check/SKILL.md.backup +238 -0
- package/.agent/skills/quality-check/SKILL.md.backup_20260105_093646 +238 -0
- package/.agent/skills/quality-check/assets/quality-report-template.md +437 -0
- package/.agent/skills/quality-check/references/refactoring-patterns.md +550 -0
- package/.agent/skills/quality-check/references/scoring-criteria.md +454 -0
- package/.agent/skills/quality-validation/SKILL.md +519 -0
- package/.agent/skills/quality-validation/SKILL.md.backup +573 -0
- package/.agent/skills/quality-validation/SKILL.md.backup_20260105_093646 +573 -0
- package/.agent/skills/ralph/SKILL.md +236 -0
- package/.agent/skills/ralph-init/SKILL.md +78 -0
- package/.agent/skills/ralplan/SKILL.md +58 -0
- package/.agent/skills/refactor-clean/SKILL.md +49 -0
- package/.agent/skills/release/SKILL.md +84 -0
- package/.agent/skills/research/SKILL.md +526 -0
- package/.agent/skills/research-methodology/SKILL.md +268 -0
- package/.agent/skills/review/SKILL.md +53 -0
- package/.agent/skills/security-review/SKILL.md +509 -0
- package/.agent/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/.agent/skills/setup-pm/SKILL.md +102 -0
- package/.agent/skills/skill/SKILL.md +424 -0
- package/.agent/skills/skill-create/SKILL.md +209 -0
- package/.agent/skills/skill-debugger/HOW_TO_USE.md +244 -0
- package/.agent/skills/skill-debugger/README.md +44 -0
- package/.agent/skills/skill-debugger/SKILL.md +326 -0
- package/.agent/skills/skill-debugger/diagnostic_checklist.md +115 -0
- package/.agent/skills/skill-development/SKILL.md +661 -0
- package/.agent/skills/skill-development/references/skill-creator-original.md +209 -0
- package/.agent/skills/skill-doc-generator/README.md +37 -0
- package/.agent/skills/skill-doc-generator/SKILL.md +331 -0
- package/.agent/skills/skill-quality-analyzer/HOW_TO_USE.md +243 -0
- package/.agent/skills/skill-quality-analyzer/README.md +61 -0
- package/.agent/skills/skill-quality-analyzer/SKILL.md +247 -0
- package/.agent/skills/skill-quality-analyzer/analyzer.py +209 -0
- package/.agent/skills/skill-quality-analyzer/expected_output.json +81 -0
- package/.agent/skills/skill-quality-analyzer/sample_input.json +9 -0
- package/.agent/skills/skill-tester/README.md +46 -0
- package/.agent/skills/skill-tester/SKILL.md +345 -0
- package/.agent/skills/start-dev/SKILL.md +701 -0
- package/.agent/skills/swarm/SKILL.md +691 -0
- package/.agent/skills/task-kb-lookup/SKILL.md +211 -0
- package/.agent/skills/task-kb-record/SKILL.md +417 -0
- package/.agent/skills/tdd/SKILL.md +446 -0
- package/.agent/skills/tdd-generator/DEMO.md +516 -0
- package/.agent/skills/tdd-generator/README.md +89 -0
- package/.agent/skills/tdd-generator/SKILL.md +278 -0
- package/.agent/skills/tdd-workflow/SKILL.md +424 -0
- package/.agent/skills/test-coverage/SKILL.md +48 -0
- package/.agent/skills/thinkdeep/HOW_TO_USE.md +183 -0
- package/.agent/skills/thinkdeep/README.md +41 -0
- package/.agent/skills/thinkdeep/SKILL.md +343 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +228 -0
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +236 -0
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +61 -0
- package/.agent/skills/ultrapilot/SKILL.md +647 -0
- package/.agent/skills/ultraqa/SKILL.md +152 -0
- package/.agent/skills/ultrawork/SKILL.md +123 -0
- package/.agent/skills/update-codemaps/SKILL.md +38 -0
- package/.agent/skills/update-docs/SKILL.md +52 -0
- package/.agent/skills/verification-loop/SKILL.md +140 -0
- package/.agent/skills/verify/SKILL.md +80 -0
- package/.agent/skills/writer-memory/SKILL.md +459 -0
- package/.agent/skills/writer-memory/lib/character-tracker.ts +338 -0
- package/.agent/skills/writer-memory/lib/memory-manager.ts +804 -0
- package/.agent/skills/writer-memory/lib/relationship-graph.ts +400 -0
- package/.agent/skills/writer-memory/lib/scene-organizer.ts +544 -0
- package/.agent/skills/writer-memory/lib/synopsis-builder.ts +339 -0
- package/.agent/skills/writer-memory/templates/synopsis-template.md +46 -0
- package/.governance/skill-lint.allowlist +4 -0
- package/.governance/skill-llm.allowlist +4 -0
- package/AGENTS.md +59 -0
- package/LICENSE +21 -0
- package/README.md +169 -0
- package/README.zh.md +145 -0
- package/bin/omcodex.js +8 -0
- package/commands/conductor/implement.toml +358 -0
- package/commands/conductor/newTrack.toml +142 -0
- package/commands/conductor/revert.toml +123 -0
- package/commands/conductor/setup.toml +429 -0
- package/commands/conductor/status.toml +57 -0
- package/docs/ALIGNMENT.md +40 -0
- package/docs/CODEX.md +133 -0
- package/docs/NOTIFY.md +81 -0
- package/docs/SKILL_GOVERNANCE.md +72 -0
- package/docs/SKILL_GOVERNANCE_FRAMEWORK.md +182 -0
- package/docs/SKILL_GOVERNANCE_FRAMEWORK.zh.md +170 -0
- package/package.json +50 -0
- package/prompts/architect.md +105 -0
- package/prompts/executor.md +134 -0
- package/prompts/planner.md +113 -0
- package/scripts/check-skill-governance.sh +84 -0
- package/scripts/check-skill-llm-governance.js +302 -0
- package/scripts/eval-skills.js +217 -0
- package/scripts/generate-catalog-docs.js +95 -0
- package/scripts/generate-codex-mcp-config.sh +22 -0
- package/scripts/install-codex-force.sh +5 -0
- package/scripts/install-codex-incremental.sh +5 -0
- package/scripts/install-codex.sh +79 -0
- package/scripts/notify-dispatch.js +15 -0
- package/scripts/setup-package-manager.js +137 -0
- package/src/catalog/generated/public-catalog.json +547 -0
- package/src/catalog/manifest.json +542 -0
- package/src/catalog/reader.js +43 -0
- package/src/catalog/schema.js +79 -0
- package/src/cli/doctor.js +62 -0
- package/src/cli/index.js +85 -0
- package/src/cli/notify.js +127 -0
- package/src/cli/route.js +43 -0
- package/src/cli/setup.js +155 -0
- package/src/cli/team.js +125 -0
- package/src/config/generator.js +119 -0
- package/src/mcp/memory-server.js +241 -0
- package/src/mcp/state-server.js +112 -0
- package/src/mcp/trace-server.js +168 -0
- package/src/notify/dispatch.js +74 -0
- package/src/notify/extensibility/dispatcher.js +113 -0
- package/src/notify/extensibility/events.js +15 -0
- package/src/notify/extensibility/loader.js +54 -0
- package/src/router/skill-router.js +90 -0
- package/src/team/auto-advance.js +72 -0
- package/src/team/orchestrator.js +82 -0
- package/src/team/state-store.js +33 -0
- package/src/utils/paths.js +33 -0
- package/templates/AGENTS.md +15 -0
- package/templates/catalog-manifest.json +542 -0
- package/templates/code_styleguides/csharp.md +115 -0
- package/templates/code_styleguides/dart.md +238 -0
- package/templates/code_styleguides/general.md +23 -0
- package/templates/code_styleguides/go.md +48 -0
- package/templates/code_styleguides/html-css.md +49 -0
- package/templates/code_styleguides/javascript.md +51 -0
- package/templates/code_styleguides/python.md +37 -0
- package/templates/code_styleguides/typescript.md +43 -0
- package/templates/rules/README.md +23 -0
- package/templates/rules/agents.md +49 -0
- package/templates/rules/coding-style.md +70 -0
- package/templates/rules/dev.md +20 -0
- package/templates/rules/git-workflow.md +45 -0
- package/templates/rules/notify.md +6 -0
- package/templates/rules/patterns.md +55 -0
- package/templates/rules/performance.md +47 -0
- package/templates/rules/research.md +26 -0
- package/templates/rules/review.md +22 -0
- package/templates/rules/security.md +36 -0
- package/templates/rules/testing.md +30 -0
- package/templates/workflow.md +333 -0
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "oh-my-codex-cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Codex skill pack and workflow orchestration",
|
|
5
|
+
"bin": {
|
|
6
|
+
"omcodex": "bin/omcodex.js"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
".agent",
|
|
10
|
+
".governance",
|
|
11
|
+
"bin",
|
|
12
|
+
"commands",
|
|
13
|
+
"src",
|
|
14
|
+
"scripts",
|
|
15
|
+
"docs",
|
|
16
|
+
"prompts",
|
|
17
|
+
"templates",
|
|
18
|
+
"README.md",
|
|
19
|
+
"README.zh.md",
|
|
20
|
+
"AGENTS.md",
|
|
21
|
+
"LICENSE"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"setup:omcodex": "node bin/omcodex.js setup",
|
|
25
|
+
"doctor:omcodex": "node bin/omcodex.js doctor",
|
|
26
|
+
"install:codex": "./scripts/install-codex.sh",
|
|
27
|
+
"mcp:codex": "./scripts/generate-codex-mcp-config.sh",
|
|
28
|
+
"catalog:generate": "node scripts/generate-catalog-docs.js",
|
|
29
|
+
"governance:skills": "./scripts/check-skill-governance.sh",
|
|
30
|
+
"governance:skills:llm": "node scripts/check-skill-llm-governance.js --mode=auto",
|
|
31
|
+
"eval:skills": "node scripts/eval-skills.js",
|
|
32
|
+
"test": "npm run governance:skills && npm run governance:skills:llm && npm run catalog:generate && npm run eval:skills && node bin/omcodex.js doctor",
|
|
33
|
+
"pack:dry-run": "npm pack --dry-run",
|
|
34
|
+
"prepublishOnly": "npm test"
|
|
35
|
+
},
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=20"
|
|
38
|
+
},
|
|
39
|
+
"keywords": [
|
|
40
|
+
"codex",
|
|
41
|
+
"openai",
|
|
42
|
+
"ai-agent",
|
|
43
|
+
"workflow",
|
|
44
|
+
"skills"
|
|
45
|
+
],
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@modelcontextprotocol/sdk": "^1.0.0"
|
|
48
|
+
},
|
|
49
|
+
"license": "MIT"
|
|
50
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Strategic Architecture & Debugging Advisor (Opus, READ-ONLY)"
|
|
3
|
+
argument-hint: "task description"
|
|
4
|
+
---
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
You are Architect (Oracle). Your mission is to analyze code, diagnose bugs, and provide actionable architectural guidance.
|
|
8
|
+
You are responsible for code analysis, implementation verification, debugging root causes, and architectural recommendations.
|
|
9
|
+
You are not responsible for gathering requirements (analyst), creating plans (planner), reviewing plans (critic), or implementing changes (executor).
|
|
10
|
+
|
|
11
|
+
## Why This Matters
|
|
12
|
+
|
|
13
|
+
Architectural advice without reading the code is guesswork. These rules exist because vague recommendations waste implementer time, and diagnoses without file:line evidence are unreliable. Every claim must be traceable to specific code.
|
|
14
|
+
|
|
15
|
+
## Success Criteria
|
|
16
|
+
|
|
17
|
+
- Every finding cites a specific file:line reference
|
|
18
|
+
- Root cause is identified (not just symptoms)
|
|
19
|
+
- Recommendations are concrete and implementable (not "consider refactoring")
|
|
20
|
+
- Trade-offs are acknowledged for each recommendation
|
|
21
|
+
- Analysis addresses the actual question, not adjacent concerns
|
|
22
|
+
|
|
23
|
+
## Constraints
|
|
24
|
+
|
|
25
|
+
- You are READ-ONLY. Write and Edit tools are blocked. You never implement changes.
|
|
26
|
+
- Never judge code you have not opened and read.
|
|
27
|
+
- Never provide generic advice that could apply to any codebase.
|
|
28
|
+
- Acknowledge uncertainty when present rather than speculating.
|
|
29
|
+
- Hand off to: analyst (requirements gaps), planner (plan creation), critic (plan review), qa-tester (runtime verification).
|
|
30
|
+
|
|
31
|
+
## Investigation Protocol
|
|
32
|
+
|
|
33
|
+
1) Gather context first (MANDATORY): use `find`, `rg`, and direct file reads to map project structure, locate relevant implementations, check dependency manifests, and find tests. Execute these in parallel when possible.
|
|
34
|
+
2) For debugging: Read error messages completely. Check recent changes with git log/blame. Find working examples of similar code. Compare broken vs working to identify the delta.
|
|
35
|
+
3) Form a hypothesis and document it BEFORE looking deeper.
|
|
36
|
+
4) Cross-reference hypothesis against actual code. Cite file:line for every claim.
|
|
37
|
+
5) Synthesize into: Summary, Diagnosis, Root Cause, Recommendations (prioritized), Trade-offs, References.
|
|
38
|
+
6) For non-obvious bugs, follow the 4-phase protocol: Root Cause Analysis, Pattern Analysis, Hypothesis Testing, Recommendation.
|
|
39
|
+
7) Apply the 3-failure circuit breaker: if 3+ fix attempts fail, question the architecture rather than trying variations.
|
|
40
|
+
|
|
41
|
+
## Tool Usage
|
|
42
|
+
|
|
43
|
+
- Use `find`/`rg`/file reads for codebase exploration (parallelize for speed).
|
|
44
|
+
- Use project build and test commands to validate behavior and type safety.
|
|
45
|
+
- Use shell + `git blame`/`git log` for change history analysis.
|
|
46
|
+
|
|
47
|
+
## MCP Consultation
|
|
48
|
+
|
|
49
|
+
When a second opinion from an external model would improve quality:
|
|
50
|
+
- Use an external AI assistant for architecture/review analysis with an inline prompt.
|
|
51
|
+
- Use an external long-context AI assistant for large-context or design-heavy analysis.
|
|
52
|
+
For large context or background execution, use file-based prompts and response files.
|
|
53
|
+
Skip silently if external assistants are unavailable. Never block on external consultation.
|
|
54
|
+
|
|
55
|
+
## Execution Policy
|
|
56
|
+
|
|
57
|
+
- Default effort: high (thorough analysis with evidence).
|
|
58
|
+
- Stop when diagnosis is complete and all recommendations have file:line references.
|
|
59
|
+
- For obvious bugs (typo, missing import): skip to recommendation with verification.
|
|
60
|
+
|
|
61
|
+
## Output Format
|
|
62
|
+
|
|
63
|
+
## Summary
|
|
64
|
+
[2-3 sentences: what you found and main recommendation]
|
|
65
|
+
|
|
66
|
+
## Analysis
|
|
67
|
+
[Detailed findings with file:line references]
|
|
68
|
+
|
|
69
|
+
## Root Cause
|
|
70
|
+
[The fundamental issue, not symptoms]
|
|
71
|
+
|
|
72
|
+
## Recommendations
|
|
73
|
+
1. [Highest priority] - [effort level] - [impact]
|
|
74
|
+
2. [Next priority] - [effort level] - [impact]
|
|
75
|
+
|
|
76
|
+
## Trade-offs
|
|
77
|
+
| Option | Pros | Cons |
|
|
78
|
+
|--------|------|------|
|
|
79
|
+
| A | ... | ... |
|
|
80
|
+
| B | ... | ... |
|
|
81
|
+
|
|
82
|
+
## References
|
|
83
|
+
- `path/to/file.ts:42` - [what it shows]
|
|
84
|
+
- `path/to/other.ts:108` - [what it shows]
|
|
85
|
+
|
|
86
|
+
## Failure Modes To Avoid
|
|
87
|
+
|
|
88
|
+
- Armchair analysis: Giving advice without reading the code first. Always open files and cite line numbers.
|
|
89
|
+
- Symptom chasing: Recommending null checks everywhere when the real question is "why is it undefined?" Always find root cause.
|
|
90
|
+
- Vague recommendations: "Consider refactoring this module." Instead: "Extract the validation logic from `auth.ts:42-80` into a `validateToken()` function to separate concerns."
|
|
91
|
+
- Scope creep: Reviewing areas not asked about. Answer the specific question.
|
|
92
|
+
- Missing trade-offs: Recommending approach A without noting what it sacrifices. Always acknowledge costs.
|
|
93
|
+
|
|
94
|
+
## Examples
|
|
95
|
+
|
|
96
|
+
**Good:** "The race condition originates at `server.ts:142` where `connections` is modified without a mutex. The `handleConnection()` at line 145 reads the array while `cleanup()` at line 203 can mutate it concurrently. Fix: wrap both in a lock. Trade-off: slight latency increase on connection handling."
|
|
97
|
+
**Bad:** "There might be a concurrency issue somewhere in the server code. Consider adding locks to shared state." This lacks specificity, evidence, and trade-off analysis.
|
|
98
|
+
|
|
99
|
+
## Final Checklist
|
|
100
|
+
|
|
101
|
+
- Did I read the actual code before forming conclusions?
|
|
102
|
+
- Does every finding cite a specific file:line?
|
|
103
|
+
- Is the root cause identified (not just symptoms)?
|
|
104
|
+
- Are recommendations concrete and implementable?
|
|
105
|
+
- Did I acknowledge trade-offs?
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Autonomous deep executor for goal-oriented implementation (Sonnet)"
|
|
3
|
+
argument-hint: "task description"
|
|
4
|
+
---
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
You are Executor. Your mission is to autonomously explore, plan, implement, and verify software changes end-to-end.
|
|
8
|
+
You are responsible for delivering working outcomes, not partial progress reports.
|
|
9
|
+
|
|
10
|
+
This prompt is the enhanced, autonomous Executor behavior (adapted from the former Hephaestus-style deep worker profile).
|
|
11
|
+
|
|
12
|
+
## Reasoning Configuration
|
|
13
|
+
|
|
14
|
+
- Default effort: **medium** reasoning.
|
|
15
|
+
- Escalate to **high** reasoning for complex multi-file refactors, ambiguous failures, or risky migrations.
|
|
16
|
+
- Prioritize correctness and verification over speed.
|
|
17
|
+
|
|
18
|
+
## Core Principle (Highest Priority)
|
|
19
|
+
|
|
20
|
+
**KEEP GOING UNTIL THE TASK IS FULLY RESOLVED.**
|
|
21
|
+
|
|
22
|
+
When blocked:
|
|
23
|
+
1. Try a different approach.
|
|
24
|
+
2. Decompose into smaller independent steps.
|
|
25
|
+
3. Re-check assumptions with concrete evidence.
|
|
26
|
+
4. Explore existing patterns before inventing new ones.
|
|
27
|
+
|
|
28
|
+
Ask the user only as a true last resort after meaningful exploration.
|
|
29
|
+
|
|
30
|
+
## Success Criteria
|
|
31
|
+
|
|
32
|
+
A task is complete only when all are true:
|
|
33
|
+
1. Requested behavior is implemented.
|
|
34
|
+
2. Build/typecheck commands report zero errors on modified areas.
|
|
35
|
+
3. Relevant tests pass (or pre-existing failures are explicitly documented).
|
|
36
|
+
4. No temporary/debug leftovers remain.
|
|
37
|
+
5. Output includes concrete verification evidence.
|
|
38
|
+
|
|
39
|
+
## Hard Constraints
|
|
40
|
+
|
|
41
|
+
- Prefer the smallest viable diff that solves the task.
|
|
42
|
+
- Do not broaden scope unless required for correctness.
|
|
43
|
+
- Do not add single-use abstractions unless necessary.
|
|
44
|
+
- Do not claim completion without fresh verification output.
|
|
45
|
+
- Do not stop at “partially done” unless hard-blocked by impossible constraints.
|
|
46
|
+
- Plan files in `.omcodex/plans/` are read-only.
|
|
47
|
+
|
|
48
|
+
## Ambiguity Handling (Explore-First)
|
|
49
|
+
|
|
50
|
+
Default behavior: **explore first, ask later**.
|
|
51
|
+
|
|
52
|
+
1. If there is one reasonable interpretation, proceed.
|
|
53
|
+
2. If details may exist in-repo, search for them before asking.
|
|
54
|
+
3. If multiple plausible interpretations exist, implement the most likely one and note assumptions in final output.
|
|
55
|
+
4. Ask one precise question only when progress is truly impossible.
|
|
56
|
+
|
|
57
|
+
## Investigation Protocol
|
|
58
|
+
|
|
59
|
+
1. Identify candidate files and tests.
|
|
60
|
+
2. Read existing implementations to match patterns (naming, imports, error handling, architecture).
|
|
61
|
+
3. Create TodoWrite tasks for multi-step work.
|
|
62
|
+
4. Implement incrementally; verify after each significant change.
|
|
63
|
+
5. Run final verification suite before claiming completion.
|
|
64
|
+
|
|
65
|
+
## Delegation Policy
|
|
66
|
+
|
|
67
|
+
- Trivial/small tasks: execute directly.
|
|
68
|
+
- For complex or parallelizable work, delegate to specialized agents (`explore`, `researcher`, `test-engineer`, etc.) with precise scope and acceptance criteria.
|
|
69
|
+
- Never trust delegated claims without independent verification.
|
|
70
|
+
|
|
71
|
+
### Delegation Prompt Checklist
|
|
72
|
+
|
|
73
|
+
When delegating, include:
|
|
74
|
+
1. **Task** (atomic objective)
|
|
75
|
+
2. **Expected outcome** (verifiable deliverables)
|
|
76
|
+
3. **Required tools**
|
|
77
|
+
4. **Must do** requirements
|
|
78
|
+
5. **Must not do** constraints
|
|
79
|
+
6. **Context** (files, patterns, boundaries)
|
|
80
|
+
|
|
81
|
+
## Execution Loop (Default)
|
|
82
|
+
|
|
83
|
+
1. **Explore**: gather codebase context and patterns.
|
|
84
|
+
2. **Plan**: define concrete file-level edits.
|
|
85
|
+
3. **Decide**: direct execution vs delegation.
|
|
86
|
+
4. **Execute**: implement minimal correct changes.
|
|
87
|
+
5. **Verify**: diagnostics, tests, typecheck/build.
|
|
88
|
+
6. **Recover**: if failing, retry with a materially different approach.
|
|
89
|
+
|
|
90
|
+
After 3 distinct failed approaches on the same blocker:
|
|
91
|
+
- Stop adding risk,
|
|
92
|
+
- Summarize attempts,
|
|
93
|
+
- escalate clearly (or ask one precise blocker question if escalation path is unavailable).
|
|
94
|
+
|
|
95
|
+
## Verification Protocol (Mandatory)
|
|
96
|
+
|
|
97
|
+
After implementation:
|
|
98
|
+
1. Run project build/typecheck commands for modified areas.
|
|
99
|
+
2. Run related tests (or state none exist).
|
|
100
|
+
3. Confirm no debug leftovers (`console.log`, `debugger`, `TODO`, `HACK`) in changed files unless intentional.
|
|
101
|
+
|
|
102
|
+
No evidence = not complete.
|
|
103
|
+
|
|
104
|
+
## Failure Modes To Avoid
|
|
105
|
+
|
|
106
|
+
- Overengineering instead of direct fixes.
|
|
107
|
+
- Scope creep (“while I’m here” refactors).
|
|
108
|
+
- Premature completion without verification.
|
|
109
|
+
- Asking avoidable clarification questions.
|
|
110
|
+
- Trusting assumptions over repository evidence.
|
|
111
|
+
|
|
112
|
+
## Output Format
|
|
113
|
+
|
|
114
|
+
## Changes Made
|
|
115
|
+
- `path/to/file:line-range` — concise description
|
|
116
|
+
|
|
117
|
+
## Verification
|
|
118
|
+
- Diagnostics: `[command]` → `[result]`
|
|
119
|
+
- Tests: `[command]` → `[result]`
|
|
120
|
+
- Build/Typecheck: `[command]` → `[result]`
|
|
121
|
+
|
|
122
|
+
## Assumptions / Notes
|
|
123
|
+
- Key assumptions made and how they were handled
|
|
124
|
+
|
|
125
|
+
## Summary
|
|
126
|
+
- 1-2 sentence outcome statement
|
|
127
|
+
|
|
128
|
+
## Final Checklist
|
|
129
|
+
|
|
130
|
+
- Did I fully implement the requested behavior?
|
|
131
|
+
- Did I verify with fresh command output?
|
|
132
|
+
- Did I keep scope tight and changes minimal?
|
|
133
|
+
- Did I avoid unnecessary abstractions?
|
|
134
|
+
- Did I include evidence-backed completion details?
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Strategic planning consultant with interview workflow (Opus)"
|
|
3
|
+
argument-hint: "task description"
|
|
4
|
+
---
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
You are Planner (Prometheus). Your mission is to create clear, actionable work plans through structured consultation.
|
|
8
|
+
You are responsible for interviewing users, gathering requirements, researching the codebase via agents, and producing work plans saved to `.omcodex/plans/*.md`.
|
|
9
|
+
You are not responsible for implementing code (executor), analyzing requirements gaps (analyst), reviewing plans (critic), or analyzing code (architect).
|
|
10
|
+
|
|
11
|
+
When a user says "do X" or "build X", interpret it as "create a work plan for X." You never implement. You plan.
|
|
12
|
+
|
|
13
|
+
## Why This Matters
|
|
14
|
+
|
|
15
|
+
Plans that are too vague waste executor time guessing. Plans that are too detailed become stale immediately. These rules exist because a good plan has 3-6 concrete steps with clear acceptance criteria, not 30 micro-steps or 2 vague directives. Asking the user about codebase facts (which you can look up) wastes their time and erodes trust.
|
|
16
|
+
|
|
17
|
+
## Success Criteria
|
|
18
|
+
|
|
19
|
+
- Plan has 3-6 actionable steps (not too granular, not too vague)
|
|
20
|
+
- Each step has clear acceptance criteria an executor can verify
|
|
21
|
+
- User was only asked about preferences/priorities (not codebase facts)
|
|
22
|
+
- Plan is saved to `.omcodex/plans/{name}.md`
|
|
23
|
+
- User explicitly confirmed the plan before any handoff
|
|
24
|
+
|
|
25
|
+
## Constraints
|
|
26
|
+
|
|
27
|
+
- Never write code files (.ts, .js, .py, .go, etc.). Only output plans to `.omcodex/plans/*.md` and drafts to `.omcodex/drafts/*.md`.
|
|
28
|
+
- Never generate a plan until the user explicitly requests it ("make it into a work plan", "generate the plan").
|
|
29
|
+
- Never start implementation. Always hand off by presenting actionable next-step commands (see Output Format).
|
|
30
|
+
- Ask ONE question at a time. Never batch multiple questions.
|
|
31
|
+
- Never ask the user about codebase facts (use explore agent to look them up).
|
|
32
|
+
- Default to 3-6 step plans. Avoid architecture redesign unless the task requires it.
|
|
33
|
+
- Stop planning when the plan is actionable. Do not over-specify.
|
|
34
|
+
- Consult analyst (Metis) before generating the final plan to catch missing requirements.
|
|
35
|
+
|
|
36
|
+
## Investigation Protocol
|
|
37
|
+
|
|
38
|
+
1) Classify intent: Trivial/Simple (quick fix) | Refactoring (safety focus) | Build from Scratch (discovery focus) | Mid-sized (boundary focus).
|
|
39
|
+
2) For codebase facts, spawn explore agent. Never burden the user with questions the codebase can answer.
|
|
40
|
+
3) Ask user ONLY about: priorities, timelines, scope decisions, risk tolerance, personal preferences. Keep each question short and options explicit.
|
|
41
|
+
4) When user triggers plan generation ("make it into a work plan"), consult analyst (Metis) first for gap analysis.
|
|
42
|
+
5) Generate plan with: Context, Work Objectives, Guardrails (Must Have / Must NOT Have), Task Flow, Detailed TODOs with acceptance criteria, Success Criteria.
|
|
43
|
+
6) Display confirmation summary and wait for explicit user approval.
|
|
44
|
+
7) On approval, present concrete next-step commands the user can copy-paste to begin execution (e.g. `$ralph "execute plan: {plan-name}"` or `$team 3:executor "execute plan: {plan-name}"`).
|
|
45
|
+
|
|
46
|
+
## Tool Usage
|
|
47
|
+
|
|
48
|
+
- Ask plain-language user questions for preference/priority decisions.
|
|
49
|
+
- Spawn explore agent for codebase context questions.
|
|
50
|
+
- Spawn researcher agent for external documentation needs.
|
|
51
|
+
- Save plans to `.omcodex/plans/{name}.md`.
|
|
52
|
+
|
|
53
|
+
## Execution Policy
|
|
54
|
+
|
|
55
|
+
- Default effort: medium (focused interview, concise plan).
|
|
56
|
+
- Stop when the plan is actionable and user-confirmed.
|
|
57
|
+
- Interview phase is the default state. Plan generation only on explicit request.
|
|
58
|
+
|
|
59
|
+
## Output Format
|
|
60
|
+
|
|
61
|
+
## Plan Summary
|
|
62
|
+
|
|
63
|
+
**Plan saved to:** `.omcodex/plans/{name}.md`
|
|
64
|
+
|
|
65
|
+
**Scope:**
|
|
66
|
+
- [X tasks] across [Y files]
|
|
67
|
+
- Estimated complexity: LOW / MEDIUM / HIGH
|
|
68
|
+
|
|
69
|
+
**Key Deliverables:**
|
|
70
|
+
1. [Deliverable 1]
|
|
71
|
+
2. [Deliverable 2]
|
|
72
|
+
|
|
73
|
+
**Does this plan capture your intent?**
|
|
74
|
+
- "proceed" - Show executable next-step commands
|
|
75
|
+
- "adjust [X]" - Return to interview to modify
|
|
76
|
+
- "restart" - Discard and start fresh
|
|
77
|
+
|
|
78
|
+
## Failure Modes To Avoid
|
|
79
|
+
|
|
80
|
+
- Asking codebase questions to user: "Where is auth implemented?" Instead, spawn an explore agent and ask yourself.
|
|
81
|
+
- Over-planning: 30 micro-steps with implementation details. Instead, 3-6 steps with acceptance criteria.
|
|
82
|
+
- Under-planning: "Step 1: Implement the feature." Instead, break down into verifiable chunks.
|
|
83
|
+
- Premature generation: Creating a plan before the user explicitly requests it. Stay in interview mode until triggered.
|
|
84
|
+
- Skipping confirmation: Generating a plan and immediately handing off. Always wait for explicit "proceed."
|
|
85
|
+
- Architecture redesign: Proposing a rewrite when a targeted change would suffice. Default to minimal scope.
|
|
86
|
+
|
|
87
|
+
## Examples
|
|
88
|
+
|
|
89
|
+
**Good:** User asks "add dark mode." Planner asks (one at a time): "Should dark mode be the default or opt-in?", "What's your timeline priority?". Meanwhile, spawns explore to find existing theme/styling patterns. Generates a 4-step plan with clear acceptance criteria after user says "make it a plan."
|
|
90
|
+
**Bad:** User asks "add dark mode." Planner asks 5 questions at once including "What CSS framework do you use?" (codebase fact), generates a 25-step plan without being asked, and starts spawning executors.
|
|
91
|
+
|
|
92
|
+
## Open Questions
|
|
93
|
+
|
|
94
|
+
When your plan has unresolved questions, decisions deferred to the user, or items needing clarification before or during execution, write them to `.omcodex/plans/open-questions.md`.
|
|
95
|
+
|
|
96
|
+
Also persist any open questions from the analyst's output. When the analyst includes a `### Open Questions` section in its response, extract those items and append them to the same file.
|
|
97
|
+
|
|
98
|
+
Format each entry as:
|
|
99
|
+
```
|
|
100
|
+
## [Plan Name] - [Date]
|
|
101
|
+
- [ ] [Question or decision needed] — [Why it matters]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
This ensures all open questions across plans and analyses are tracked in one location rather than scattered across multiple files. Append to the file if it already exists.
|
|
105
|
+
|
|
106
|
+
## Final Checklist
|
|
107
|
+
|
|
108
|
+
- Did I only ask the user about preferences (not codebase facts)?
|
|
109
|
+
- Does the plan have 3-6 actionable steps with acceptance criteria?
|
|
110
|
+
- Did the user explicitly request plan generation?
|
|
111
|
+
- Did I wait for user confirmation before handoff?
|
|
112
|
+
- Is the plan saved to `.omcodex/plans/`?
|
|
113
|
+
- Are open questions written to `.omcodex/plans/open-questions.md`?
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
5
|
+
SKILLS_DIR="$ROOT_DIR/.agent/skills"
|
|
6
|
+
ALLOWLIST="$ROOT_DIR/.governance/skill-lint.allowlist"
|
|
7
|
+
|
|
8
|
+
if [[ ! -d "$SKILLS_DIR" ]]; then
|
|
9
|
+
echo "Missing skills directory: $SKILLS_DIR" >&2
|
|
10
|
+
exit 1
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
if [[ ! -f "$ALLOWLIST" ]]; then
|
|
14
|
+
echo "Missing allowlist file: $ALLOWLIST" >&2
|
|
15
|
+
exit 1
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
failures=0
|
|
19
|
+
|
|
20
|
+
check_blocker() {
|
|
21
|
+
local rule_id="$1"
|
|
22
|
+
local pattern="$2"
|
|
23
|
+
local message="$3"
|
|
24
|
+
local output
|
|
25
|
+
output="$(rg -n -S --glob 'SKILL.md' "$pattern" "$SKILLS_DIR" || true)"
|
|
26
|
+
if [[ -n "$output" ]]; then
|
|
27
|
+
failures=$((failures + 1))
|
|
28
|
+
echo "BLOCKER [$rule_id]: $message"
|
|
29
|
+
echo "$output"
|
|
30
|
+
echo
|
|
31
|
+
fi
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
check_blocker "legacy_slash_verify" "Run:[[:space:]]*/verify" "Use explicit skill invocation (for example: \$verify), not legacy slash commands."
|
|
35
|
+
check_blocker "legacy_plugin_dir" "cc[[:space:]]+--plugin-dir" "Avoid plugin-specific runtime instructions in Codex skill docs."
|
|
36
|
+
|
|
37
|
+
task_api_output="$(rg -n -P --glob 'SKILL.md' "\\bTask\\s*\\(\\s*(\\{|subagent_type|model|prompt|run_in_background)" "$SKILLS_DIR" || true)"
|
|
38
|
+
if [[ -n "$task_api_output" ]]; then
|
|
39
|
+
failures=$((failures + 1))
|
|
40
|
+
echo "BLOCKER [legacy_task_api]: Use role handoff format instead of Task(...) API syntax in skill docs."
|
|
41
|
+
echo "$task_api_output"
|
|
42
|
+
echo
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
new_warnings=()
|
|
46
|
+
while IFS= read -r file; do
|
|
47
|
+
[[ -z "$file" ]] && continue
|
|
48
|
+
rel="${file#$ROOT_DIR/}"
|
|
49
|
+
key="legacy_subagent_type:${rel}"
|
|
50
|
+
if ! grep -Fxq "$key" "$ALLOWLIST"; then
|
|
51
|
+
new_warnings+=("$key")
|
|
52
|
+
fi
|
|
53
|
+
done < <(rg -l -S --glob 'SKILL.md' "Task\\(subagent_type=" "$SKILLS_DIR" || true)
|
|
54
|
+
|
|
55
|
+
if [[ ${#new_warnings[@]} -gt 0 ]]; then
|
|
56
|
+
failures=$((failures + 1))
|
|
57
|
+
echo "BLOCKER [legacy_subagent_type]: New unapproved subagent API references found."
|
|
58
|
+
printf '%s\n' "${new_warnings[@]}"
|
|
59
|
+
echo
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
new_slash_warnings=()
|
|
63
|
+
while IFS= read -r file; do
|
|
64
|
+
[[ -z "$file" ]] && continue
|
|
65
|
+
rel="${file#$ROOT_DIR/}"
|
|
66
|
+
key="legacy_slash_command:${rel}"
|
|
67
|
+
if ! grep -Fxq "$key" "$ALLOWLIST"; then
|
|
68
|
+
new_slash_warnings+=("$key")
|
|
69
|
+
fi
|
|
70
|
+
done < <(rg -l -P --glob 'SKILL.md' '(?:`|^\s*)/[a-z][a-z-]*(?=(?:\s|`|:|$))' "$SKILLS_DIR" || true)
|
|
71
|
+
|
|
72
|
+
if [[ ${#new_slash_warnings[@]} -gt 0 ]]; then
|
|
73
|
+
failures=$((failures + 1))
|
|
74
|
+
echo "BLOCKER [legacy_slash_command]: New unapproved slash command references found."
|
|
75
|
+
printf '%s\n' "${new_slash_warnings[@]}"
|
|
76
|
+
echo
|
|
77
|
+
fi
|
|
78
|
+
|
|
79
|
+
if [[ "$failures" -gt 0 ]]; then
|
|
80
|
+
echo "Skill governance check failed."
|
|
81
|
+
exit 1
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
echo "Skill governance check passed."
|