oh-my-customcodex 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/LICENSE +21 -0
- package/README.md +327 -0
- package/dist/cli/index.js +32054 -0
- package/dist/index.js +5469 -0
- package/package.json +89 -0
- package/templates/.claude/agents/arch-documenter.md +38 -0
- package/templates/.claude/agents/arch-speckit-agent.md +66 -0
- package/templates/.claude/agents/be-django-expert.md +47 -0
- package/templates/.claude/agents/be-express-expert.md +31 -0
- package/templates/.claude/agents/be-fastapi-expert.md +45 -0
- package/templates/.claude/agents/be-go-backend-expert.md +45 -0
- package/templates/.claude/agents/be-nestjs-expert.md +29 -0
- package/templates/.claude/agents/be-springboot-expert.md +42 -0
- package/templates/.claude/agents/db-alembic-expert.md +73 -0
- package/templates/.claude/agents/db-postgres-expert.md +38 -0
- package/templates/.claude/agents/db-redis-expert.md +38 -0
- package/templates/.claude/agents/db-supabase-expert.md +37 -0
- package/templates/.claude/agents/de-airflow-expert.md +48 -0
- package/templates/.claude/agents/de-dbt-expert.md +36 -0
- package/templates/.claude/agents/de-kafka-expert.md +83 -0
- package/templates/.claude/agents/de-pipeline-expert.md +34 -0
- package/templates/.claude/agents/de-snowflake-expert.md +38 -0
- package/templates/.claude/agents/de-spark-expert.md +38 -0
- package/templates/.claude/agents/fe-design-expert.md +120 -0
- package/templates/.claude/agents/fe-flutter-agent.md +48 -0
- package/templates/.claude/agents/fe-svelte-agent.md +33 -0
- package/templates/.claude/agents/fe-vercel-agent.md +40 -0
- package/templates/.claude/agents/fe-vuejs-agent.md +34 -0
- package/templates/.claude/agents/infra-aws-expert.md +49 -0
- package/templates/.claude/agents/infra-docker-expert.md +49 -0
- package/templates/.claude/agents/lang-golang-expert.md +46 -0
- package/templates/.claude/agents/lang-java21-expert.md +42 -0
- package/templates/.claude/agents/lang-kotlin-expert.md +45 -0
- package/templates/.claude/agents/lang-python-expert.md +45 -0
- package/templates/.claude/agents/lang-rust-expert.md +45 -0
- package/templates/.claude/agents/lang-typescript-expert.md +45 -0
- package/templates/.claude/agents/mgr-claude-code-bible.md +62 -0
- package/templates/.claude/agents/mgr-creator.md +57 -0
- package/templates/.claude/agents/mgr-gitnerd.md +50 -0
- package/templates/.claude/agents/mgr-sauron.md +163 -0
- package/templates/.claude/agents/mgr-supplier.md +39 -0
- package/templates/.claude/agents/mgr-updater.md +40 -0
- package/templates/.claude/agents/qa-engineer.md +36 -0
- package/templates/.claude/agents/qa-planner.md +78 -0
- package/templates/.claude/agents/qa-writer.md +32 -0
- package/templates/.claude/agents/sec-codeql-expert.md +56 -0
- package/templates/.claude/agents/slack-cli-expert.md +98 -0
- package/templates/.claude/agents/souls/lang-golang-expert.soul.md +21 -0
- package/templates/.claude/agents/sys-memory-keeper.md +123 -0
- package/templates/.claude/agents/sys-naggy.md +76 -0
- package/templates/.claude/agents/tool-bun-expert.md +26 -0
- package/templates/.claude/agents/tool-npm-expert.md +31 -0
- package/templates/.claude/agents/tool-optimizer.md +37 -0
- package/templates/.claude/agents/wiki-curator.md +72 -0
- package/templates/.claude/config/required-plugins.json +30 -0
- package/templates/.claude/contexts/dev.md +20 -0
- package/templates/.claude/contexts/ecomode.md +110 -0
- package/templates/.claude/contexts/index.yaml +41 -0
- package/templates/.claude/contexts/research.md +28 -0
- package/templates/.claude/contexts/review.md +23 -0
- package/templates/.claude/hooks/hooks.json +533 -0
- package/templates/.claude/hooks/scripts/adaptive-harness-scan.sh +45 -0
- package/templates/.claude/hooks/scripts/agent-start-recorder.sh +40 -0
- package/templates/.claude/hooks/scripts/agent-teams-advisor.sh +76 -0
- package/templates/.claude/hooks/scripts/audit-log.sh +64 -0
- package/templates/.claude/hooks/scripts/auto-continue-guard.sh +33 -0
- package/templates/.claude/hooks/scripts/content-hash-validator.sh +75 -0
- package/templates/.claude/hooks/scripts/context-budget-advisor.sh +107 -0
- package/templates/.claude/hooks/scripts/cost-cap-advisor.sh +71 -0
- package/templates/.claude/hooks/scripts/cwd-change-detector.sh +36 -0
- package/templates/.claude/hooks/scripts/eval-core-batch-save.sh +46 -0
- package/templates/.claude/hooks/scripts/feedback-collector.sh +92 -0
- package/templates/.claude/hooks/scripts/file-change-validator.sh +26 -0
- package/templates/.claude/hooks/scripts/git-delegation-guard.sh +57 -0
- package/templates/.claude/hooks/scripts/model-escalation-advisor.sh +106 -0
- package/templates/.claude/hooks/scripts/omcodex-auto-update.sh +4 -0
- package/templates/.claude/hooks/scripts/omcustom-auto-update.sh +177 -0
- package/templates/.claude/hooks/scripts/rtk-intercept.sh +77 -0
- package/templates/.claude/hooks/scripts/rule-deletion-guard.sh +60 -0
- package/templates/.claude/hooks/scripts/schema-validator.sh +106 -0
- package/templates/.claude/hooks/scripts/secret-filter.sh +100 -0
- package/templates/.claude/hooks/scripts/session-autofix-prompt.sh +34 -0
- package/templates/.claude/hooks/scripts/session-autofix.sh +146 -0
- package/templates/.claude/hooks/scripts/session-env-check.sh +254 -0
- package/templates/.claude/hooks/scripts/skill-extractor-analyzer.sh +49 -0
- package/templates/.claude/hooks/scripts/stage-blocker.sh +16 -0
- package/templates/.claude/hooks/scripts/stale-todo-scanner.sh +91 -0
- package/templates/.claude/hooks/scripts/stall-detection-advisor.sh +112 -0
- package/templates/.claude/hooks/scripts/stop-console-audit.sh +46 -0
- package/templates/.claude/hooks/scripts/stuck-detector.sh +199 -0
- package/templates/.claude/hooks/scripts/task-outcome-recorder.sh +119 -0
- package/templates/.claude/hooks/scripts/task-state-precompact.sh +58 -0
- package/templates/.claude/hooks/scripts/user-prompt-preprocessor.sh +32 -0
- package/templates/.claude/hooks/skill-count-reminder.sh +34 -0
- package/templates/.claude/install-hooks.sh +100 -0
- package/templates/.claude/ontology/agents.yaml +546 -0
- package/templates/.claude/ontology/graphs/agent-skill.json +102 -0
- package/templates/.claude/ontology/graphs/full-graph.json +629 -0
- package/templates/.claude/ontology/graphs/routing.json +112 -0
- package/templates/.claude/ontology/graphs/skill-rule.json +78 -0
- package/templates/.claude/ontology/rules.yaml +251 -0
- package/templates/.claude/ontology/schema.yaml +144 -0
- package/templates/.claude/ontology/skills.yaml +575 -0
- package/templates/.claude/rules/MAY-optimization.md +42 -0
- package/templates/.claude/rules/MUST-agent-design.md +340 -0
- package/templates/.claude/rules/MUST-agent-identification.md +77 -0
- package/templates/.claude/rules/MUST-agent-teams.md +293 -0
- package/templates/.claude/rules/MUST-completion-verification.md +112 -0
- package/templates/.claude/rules/MUST-continuous-improvement.md +69 -0
- package/templates/.claude/rules/MUST-enforcement-policy.md +50 -0
- package/templates/.claude/rules/MUST-intent-transparency.md +74 -0
- package/templates/.claude/rules/MUST-language-policy.md +28 -0
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +399 -0
- package/templates/.claude/rules/MUST-parallel-execution.md +184 -0
- package/templates/.claude/rules/MUST-permissions.md +32 -0
- package/templates/.claude/rules/MUST-safety.md +23 -0
- package/templates/.claude/rules/MUST-sync-verification.md +145 -0
- package/templates/.claude/rules/MUST-tool-identification.md +97 -0
- package/templates/.claude/rules/SHOULD-ecomode.md +123 -0
- package/templates/.claude/rules/SHOULD-error-handling.md +33 -0
- package/templates/.claude/rules/SHOULD-hud-statusline.md +51 -0
- package/templates/.claude/rules/SHOULD-interaction.md +77 -0
- package/templates/.claude/rules/SHOULD-memory-integration.md +371 -0
- package/templates/.claude/rules/SHOULD-ontology-rag-routing.md +49 -0
- package/templates/.claude/rules/SHOULD-wiki-sync.md +73 -0
- package/templates/.claude/rules/index.yaml +141 -0
- package/templates/.claude/schemas/tool-inputs.json +62 -0
- package/templates/.claude/skills/action-validator/SKILL.md +89 -0
- package/templates/.claude/skills/adaptive-harness/SKILL.md +335 -0
- package/templates/.claude/skills/adversarial-review/SKILL.md +80 -0
- package/templates/.claude/skills/agora/SKILL.md +194 -0
- package/templates/.claude/skills/airflow-best-practices/SKILL.md +94 -0
- package/templates/.claude/skills/alembic-best-practices/SKILL.md +295 -0
- package/templates/.claude/skills/ambiguity-gate/SKILL.md +94 -0
- package/templates/.claude/skills/analysis/SKILL.md +223 -0
- package/templates/.claude/skills/audit-agents/SKILL.md +118 -0
- package/templates/.claude/skills/aws-best-practices/SKILL.md +281 -0
- package/templates/.claude/skills/claude-code-bible/SKILL.md +93 -0
- package/templates/.claude/skills/claude-code-bible/scripts/fetch-docs.js +244 -0
- package/templates/.claude/skills/claude-native/SKILL.md +215 -0
- package/templates/.claude/skills/codex-exec/SKILL.md +206 -0
- package/templates/.claude/skills/codex-exec/scripts/codex-wrapper.cjs +430 -0
- package/templates/.claude/skills/create-agent/SKILL.md +94 -0
- package/templates/.claude/skills/cve-triage/SKILL.md +91 -0
- package/templates/.claude/skills/dag-orchestration/SKILL.md +201 -0
- package/templates/.claude/skills/dbt-best-practices/SKILL.md +55 -0
- package/templates/.claude/skills/de-lead-routing/SKILL.md +230 -0
- package/templates/.claude/skills/deep-plan/SKILL.md +344 -0
- package/templates/.claude/skills/deep-verify/SKILL.md +111 -0
- package/templates/.claude/skills/dev-lead-routing/SKILL.md +161 -0
- package/templates/.claude/skills/dev-refactor/SKILL.md +234 -0
- package/templates/.claude/skills/dev-review/SKILL.md +172 -0
- package/templates/.claude/skills/django-best-practices/SKILL.md +334 -0
- package/templates/.claude/skills/docker-best-practices/SKILL.md +276 -0
- package/templates/.claude/skills/evaluator-optimizer/SKILL.md +421 -0
- package/templates/.claude/skills/fastapi-best-practices/SKILL.md +271 -0
- package/templates/.claude/skills/fix-refs/SKILL.md +109 -0
- package/templates/.claude/skills/flutter-best-practices/SKILL.md +325 -0
- package/templates/.claude/skills/gemini-exec/SKILL.md +215 -0
- package/templates/.claude/skills/gemini-exec/scripts/gemini-wrapper.cjs +485 -0
- package/templates/.claude/skills/go-backend-best-practices/SKILL.md +135 -0
- package/templates/.claude/skills/go-best-practices/SKILL.md +204 -0
- package/templates/.claude/skills/hada-scout/SKILL.md +92 -0
- package/templates/.claude/skills/harness-eval/SKILL.md +95 -0
- package/templates/.claude/skills/harness-synthesizer/SKILL.md +145 -0
- package/templates/.claude/skills/help/SKILL.md +127 -0
- package/templates/.claude/skills/idea/SKILL.md +88 -0
- package/templates/.claude/skills/impeccable-design/SKILL.md +173 -0
- package/templates/.claude/skills/intent-detection/SKILL.md +293 -0
- package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +438 -0
- package/templates/.claude/skills/java21-best-practices/SKILL.md +190 -0
- package/templates/.claude/skills/jinja2-prompts/SKILL.md +86 -0
- package/templates/.claude/skills/kafka-best-practices/SKILL.md +53 -0
- package/templates/.claude/skills/kotlin-best-practices/SKILL.md +257 -0
- package/templates/.claude/skills/lists/SKILL.md +80 -0
- package/templates/.claude/skills/memory-management/SKILL.md +196 -0
- package/templates/.claude/skills/memory-recall/SKILL.md +172 -0
- package/templates/.claude/skills/memory-save/SKILL.md +128 -0
- package/templates/.claude/skills/model-escalation/SKILL.md +62 -0
- package/templates/.claude/skills/monitoring-setup/SKILL.md +215 -0
- package/templates/.claude/skills/multi-model-verification/SKILL.md +130 -0
- package/templates/.claude/skills/npm-audit/SKILL.md +74 -0
- package/templates/.claude/skills/npm-publish/SKILL.md +65 -0
- package/templates/.claude/skills/npm-version/SKILL.md +104 -0
- package/templates/.claude/skills/omcodex-auto-improve/SKILL.md +136 -0
- package/templates/.claude/skills/omcodex-feedback/SKILL.md +205 -0
- package/templates/.claude/skills/omcodex-improve-report/SKILL.md +65 -0
- package/templates/.claude/skills/omcodex-loop/SKILL.md +45 -0
- package/templates/.claude/skills/omcodex-release-notes/SKILL.md +117 -0
- package/templates/.claude/skills/omcodex-takeover/SKILL.md +115 -0
- package/templates/.claude/skills/omcodex-web/SKILL.md +95 -0
- package/templates/.claude/skills/optimize-analyze/SKILL.md +57 -0
- package/templates/.claude/skills/optimize-bundle/SKILL.md +69 -0
- package/templates/.claude/skills/optimize-report/SKILL.md +76 -0
- package/templates/.claude/skills/peer-messaging/SKILL.md +59 -0
- package/templates/.claude/skills/pipeline/SKILL.md +103 -0
- package/templates/.claude/skills/pipeline-architecture-patterns/SKILL.md +84 -0
- package/templates/.claude/skills/pipeline-guards/SKILL.md +173 -0
- package/templates/.claude/skills/post-release-followup/SKILL.md +134 -0
- package/templates/.claude/skills/postgres-best-practices/SKILL.md +67 -0
- package/templates/.claude/skills/pr-auto-improve/SKILL.md +129 -0
- package/templates/.claude/skills/professor-triage/SKILL.md +321 -0
- package/templates/.claude/skills/python-best-practices/SKILL.md +223 -0
- package/templates/.claude/skills/qa-lead-routing/SKILL.md +104 -0
- package/templates/.claude/skills/react-best-practices/SKILL.md +102 -0
- package/templates/.claude/skills/reasoning-sandwich/SKILL.md +64 -0
- package/templates/.claude/skills/redis-best-practices/SKILL.md +84 -0
- package/templates/.claude/skills/release-plan/SKILL.md +207 -0
- package/templates/.claude/skills/research/SKILL.md +493 -0
- package/templates/.claude/skills/result-aggregation/SKILL.md +165 -0
- package/templates/.claude/skills/rtk-exec/SKILL.md +199 -0
- package/templates/.claude/skills/rtk-exec/scripts/rtk-wrapper.cjs +377 -0
- package/templates/.claude/skills/rust-best-practices/SKILL.md +268 -0
- package/templates/.claude/skills/sauron-watch/SKILL.md +239 -0
- package/templates/.claude/skills/scout/SKILL.md +250 -0
- package/templates/.claude/skills/sdd/SKILL.md +24 -0
- package/templates/.claude/skills/sdd-dev/SKILL.md +257 -0
- package/templates/.claude/skills/sdd-development/SKILL.md +24 -0
- package/templates/.claude/skills/secretary-routing/SKILL.md +132 -0
- package/templates/.claude/skills/skill-extractor/SKILL.md +155 -0
- package/templates/.claude/skills/skills-sh-search/SKILL.md +210 -0
- package/templates/.claude/skills/snowflake-best-practices/SKILL.md +66 -0
- package/templates/.claude/skills/spark-best-practices/SKILL.md +53 -0
- package/templates/.claude/skills/springboot-best-practices/SKILL.md +74 -0
- package/templates/.claude/skills/springboot-best-practices/examples/config-properties-example.java +22 -0
- package/templates/.claude/skills/springboot-best-practices/examples/controller-example.java +28 -0
- package/templates/.claude/skills/springboot-best-practices/examples/controller-test-example.java +33 -0
- package/templates/.claude/skills/springboot-best-practices/examples/entity-example.java +22 -0
- package/templates/.claude/skills/springboot-best-practices/examples/exception-handler-example.java +30 -0
- package/templates/.claude/skills/springboot-best-practices/examples/repository-example.java +17 -0
- package/templates/.claude/skills/springboot-best-practices/examples/repository-test-example.java +23 -0
- package/templates/.claude/skills/springboot-best-practices/examples/security-config-example.java +27 -0
- package/templates/.claude/skills/springboot-best-practices/examples/service-example.java +33 -0
- package/templates/.claude/skills/status/SKILL.md +155 -0
- package/templates/.claude/skills/structured-dev-cycle/SKILL.md +200 -0
- package/templates/.claude/skills/stuck-recovery/SKILL.md +80 -0
- package/templates/.claude/skills/supabase-postgres-best-practices/SKILL.md +100 -0
- package/templates/.claude/skills/systematic-debugging/SKILL.md +288 -0
- package/templates/.claude/skills/systematic-debugging/condition-based-waiting-example.ts +278 -0
- package/templates/.claude/skills/systematic-debugging/condition-based-waiting.md +240 -0
- package/templates/.claude/skills/systematic-debugging/defense-in-depth.md +252 -0
- package/templates/.claude/skills/systematic-debugging/find-polluter.sh +147 -0
- package/templates/.claude/skills/systematic-debugging/root-cause-tracing.md +87 -0
- package/templates/.claude/skills/task-decomposition/SKILL.md +197 -0
- package/templates/.claude/skills/typescript-best-practices/SKILL.md +322 -0
- package/templates/.claude/skills/update-docs/SKILL.md +142 -0
- package/templates/.claude/skills/update-external/SKILL.md +169 -0
- package/templates/.claude/skills/vercel-deploy/SKILL.md +75 -0
- package/templates/.claude/skills/web-design-guidelines/SKILL.md +119 -0
- package/templates/.claude/skills/wiki/SKILL.md +426 -0
- package/templates/.claude/skills/wiki-rag/SKILL.md +154 -0
- package/templates/.claude/skills/worker-reviewer-pipeline/SKILL.md +165 -0
- package/templates/.claude/skills/writing-clearly-and-concisely/SKILL.md +66 -0
- package/templates/.claude/statusline.sh +380 -0
- package/templates/.claude/uninstall-hooks.sh +52 -0
- package/templates/.github/workflows/wiki-sync.yml +132 -0
- package/templates/AGENTS.md.en +255 -0
- package/templates/AGENTS.md.ko +255 -0
- package/templates/CLAUDE.md +263 -0
- package/templates/CLAUDE.md.en +256 -0
- package/templates/CLAUDE.md.ko +256 -0
- package/templates/deprecated-files.json +10 -0
- package/templates/guides/agents-md-quality/README.md +110 -0
- package/templates/guides/airflow/README.md +47 -0
- package/templates/guides/alembic/README.md +438 -0
- package/templates/guides/aws/common-patterns.md +169 -0
- package/templates/guides/aws/index.yaml +26 -0
- package/templates/guides/aws/well-architected.md +143 -0
- package/templates/guides/cc-token-saver/README.md +97 -0
- package/templates/guides/claude-code/01-overview.md +42 -0
- package/templates/guides/claude-code/03-tools.md +107 -0
- package/templates/guides/claude-code/04-agent-skills.md +90 -0
- package/templates/guides/claude-code/05-agent-sdk.md +129 -0
- package/templates/guides/claude-code/06-mcp.md +165 -0
- package/templates/guides/claude-code/07-prompt-engineering.md +100 -0
- package/templates/guides/claude-code/08-testing.md +56 -0
- package/templates/guides/claude-code/09-guardrails.md +78 -0
- package/templates/guides/claude-code/10-monitoring.md +87 -0
- package/templates/guides/claude-code/11-sub-agents.md +159 -0
- package/templates/guides/claude-code/12-workflow-patterns.md +182 -0
- package/templates/guides/claude-code/13-cli-flags.md +151 -0
- package/templates/guides/claude-code/index.yaml +61 -0
- package/templates/guides/dbt/README.md +32 -0
- package/templates/guides/django-best-practices/README.md +476 -0
- package/templates/guides/docker/compose-best-practices.md +284 -0
- package/templates/guides/docker/dockerfile-best-practices.md +262 -0
- package/templates/guides/docker/index.yaml +26 -0
- package/templates/guides/drizzle-orm/README.md +69 -0
- package/templates/guides/elements-of-style/elements-of-style.html +2609 -0
- package/templates/guides/fastapi/best-practices.md +232 -0
- package/templates/guides/fastapi/index.yaml +21 -0
- package/templates/guides/flutter/architecture.md +141 -0
- package/templates/guides/flutter/fundamentals.md +119 -0
- package/templates/guides/flutter/index.yaml +44 -0
- package/templates/guides/flutter/performance.md +119 -0
- package/templates/guides/flutter/security.md +120 -0
- package/templates/guides/flutter/state-management.md +144 -0
- package/templates/guides/flutter/testing.md +155 -0
- package/templates/guides/git-worktree-workflow/README.md +138 -0
- package/templates/guides/go-backend/index.yaml +26 -0
- package/templates/guides/go-backend/project-layout.md +243 -0
- package/templates/guides/go-backend/uber-style.md +212 -0
- package/templates/guides/golang/concurrency.md +282 -0
- package/templates/guides/golang/effective-go.md +309 -0
- package/templates/guides/golang/error-handling.md +250 -0
- package/templates/guides/golang/index.yaml +27 -0
- package/templates/guides/hook-data-flow/README.md +135 -0
- package/templates/guides/iceberg/README.md +49 -0
- package/templates/guides/impeccable-design/color-and-contrast.md +278 -0
- package/templates/guides/impeccable-design/index.yaml +12 -0
- package/templates/guides/impeccable-design/motion-design.md +390 -0
- package/templates/guides/impeccable-design/typography.md +386 -0
- package/templates/guides/impeccable-design/ux-writing.md +400 -0
- package/templates/guides/index.yaml +265 -0
- package/templates/guides/java21/index.yaml +29 -0
- package/templates/guides/java21/java-style-guide.md +248 -0
- package/templates/guides/java21/modern-java21.md +303 -0
- package/templates/guides/kafka/README.md +32 -0
- package/templates/guides/kotlin/coding-conventions.md +247 -0
- package/templates/guides/kotlin/idioms.md +234 -0
- package/templates/guides/kotlin/index.yaml +26 -0
- package/templates/guides/multi-model-routing/README.md +101 -0
- package/templates/guides/multi-provider-exec/README.md +83 -0
- package/templates/guides/postgres/README.md +58 -0
- package/templates/guides/python/index.yaml +26 -0
- package/templates/guides/python/pep8-style-guide.md +202 -0
- package/templates/guides/python/zen-of-python.md +79 -0
- package/templates/guides/redis/README.md +50 -0
- package/templates/guides/rust/error-handling.md +262 -0
- package/templates/guides/rust/index.yaml +26 -0
- package/templates/guides/rust/ownership.md +180 -0
- package/templates/guides/skill-bundle-design/README.md +106 -0
- package/templates/guides/slack-cli/README.md +145 -0
- package/templates/guides/snowflake/README.md +32 -0
- package/templates/guides/spark/README.md +32 -0
- package/templates/guides/springboot/best-practices.md +361 -0
- package/templates/guides/springboot/index.yaml +22 -0
- package/templates/guides/supabase-postgres/README.md +32 -0
- package/templates/guides/supabase-postgres/index.yaml +19 -0
- package/templates/guides/typescript/advanced-types.md +225 -0
- package/templates/guides/typescript/index.yaml +26 -0
- package/templates/guides/typescript/type-system.md +219 -0
- package/templates/guides/web-design/accessibility.md +66 -0
- package/templates/guides/web-design/index.yaml +20 -0
- package/templates/guides/web-design/performance.md +102 -0
- package/templates/guides/web-scraping/README.md +926 -0
- package/templates/guides/web-scraping/index.yaml +19 -0
- package/templates/guides/worktree-lifecycle/README.md +104 -0
- package/templates/index.yaml +18 -0
- package/templates/manifest.json +49 -0
- package/templates/workflows/auto-dev.yaml +46 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: omcodex:npm-audit
|
|
3
|
+
description: Audit npm dependencies for security and updates
|
|
4
|
+
scope: package
|
|
5
|
+
argument-hint: "[--fix] [--production]"
|
|
6
|
+
user-invocable: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# NPM Audit Skill
|
|
10
|
+
|
|
11
|
+
Audit npm dependencies for security vulnerabilities and outdated packages.
|
|
12
|
+
|
|
13
|
+
## Options
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
--fix Automatically fix vulnerabilities where possible
|
|
17
|
+
--production Only audit production dependencies
|
|
18
|
+
--json Output in JSON format
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Workflow
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
1. Run npm audit for security vulnerabilities
|
|
25
|
+
2. Analyze vulnerability severity
|
|
26
|
+
3. Check for outdated dependencies
|
|
27
|
+
4. Generate health report
|
|
28
|
+
5. Suggest remediation steps
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Output Format
|
|
32
|
+
|
|
33
|
+
### Success
|
|
34
|
+
```
|
|
35
|
+
[NPM Audit] package-name
|
|
36
|
+
|
|
37
|
+
Security:
|
|
38
|
+
Critical: 0
|
|
39
|
+
High: 0
|
|
40
|
+
Moderate: 2
|
|
41
|
+
Low: 1
|
|
42
|
+
|
|
43
|
+
Outdated:
|
|
44
|
+
Major updates: 3
|
|
45
|
+
Minor updates: 5
|
|
46
|
+
Patch updates: 12
|
|
47
|
+
|
|
48
|
+
Status: Needs attention (2 moderate vulnerabilities)
|
|
49
|
+
|
|
50
|
+
Recommendations:
|
|
51
|
+
1. npm update lodash
|
|
52
|
+
2. npm update axios
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Failure
|
|
56
|
+
```
|
|
57
|
+
[NPM Audit] Failed
|
|
58
|
+
|
|
59
|
+
Error: {error_message}
|
|
60
|
+
Hint: Ensure package-lock.json exists
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Examples
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Full dependency audit with report
|
|
67
|
+
npm-audit
|
|
68
|
+
|
|
69
|
+
# Audit and fix vulnerabilities
|
|
70
|
+
npm-audit --fix
|
|
71
|
+
|
|
72
|
+
# Audit only production dependencies
|
|
73
|
+
npm-audit --production
|
|
74
|
+
```
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: omcodex:npm-publish
|
|
3
|
+
description: Publish package to npm registry with pre-checks
|
|
4
|
+
scope: package
|
|
5
|
+
argument-hint: "[--tag <tag>] [--dry-run]"
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
user-invocable: true
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# NPM Publish Skill
|
|
11
|
+
|
|
12
|
+
Publish package to npm registry with comprehensive pre-publish checks and validation.
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
--tag npm dist-tag (default: latest)
|
|
18
|
+
--dry-run Run all checks without publishing
|
|
19
|
+
--skip-tests Skip test execution
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Workflow
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
1. Validate package.json configuration
|
|
26
|
+
2. Check version against registry
|
|
27
|
+
3. Run pre-publish checks (tests, lint, build)
|
|
28
|
+
4. Execute npm pack (dry-run)
|
|
29
|
+
5. Publish with appropriate tag
|
|
30
|
+
6. Verify publication success
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Output Format
|
|
34
|
+
|
|
35
|
+
### Success
|
|
36
|
+
```
|
|
37
|
+
[NPM Publish] package-name@1.2.3
|
|
38
|
+
|
|
39
|
+
Pre-checks: All passed
|
|
40
|
+
Registry: https://registry.npmjs.org
|
|
41
|
+
Tag: latest
|
|
42
|
+
|
|
43
|
+
Package published successfully.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Failure
|
|
47
|
+
```
|
|
48
|
+
[NPM Publish] Failed
|
|
49
|
+
|
|
50
|
+
Error: {error_message}
|
|
51
|
+
Suggested fix: {fix_suggestion}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Publish to npm with all checks
|
|
58
|
+
npm-publish
|
|
59
|
+
|
|
60
|
+
# Publish to beta tag
|
|
61
|
+
npm-publish --tag beta
|
|
62
|
+
|
|
63
|
+
# Validate without publishing
|
|
64
|
+
npm-publish --dry-run
|
|
65
|
+
```
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: omcodex:npm-version
|
|
3
|
+
description: Manage semantic versions for npm packages
|
|
4
|
+
scope: package
|
|
5
|
+
argument-hint: "<major|minor|patch> [--no-tag] [--no-commit]"
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
user-invocable: true
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# NPM Version Management Skill
|
|
11
|
+
|
|
12
|
+
Manage semantic versions for npm packages with automatic changelog and git integration.
|
|
13
|
+
|
|
14
|
+
## Arguments
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
major Bump major version (x.0.0)
|
|
18
|
+
minor Bump minor version (0.x.0)
|
|
19
|
+
patch Bump patch version (0.0.x)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Options
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
--no-tag Skip git tag creation
|
|
26
|
+
--no-commit Skip commit creation (only update files)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Workflow
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
1. Analyze current version from package.json
|
|
33
|
+
2. Determine version bump type
|
|
34
|
+
3. Update package.json version field
|
|
35
|
+
4. Update CHANGELOG.md if exists
|
|
36
|
+
5. Create version commit
|
|
37
|
+
6. Create git tag (optional)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Output Format
|
|
41
|
+
|
|
42
|
+
### Success
|
|
43
|
+
```
|
|
44
|
+
[NPM Version] package-name
|
|
45
|
+
|
|
46
|
+
Previous: 1.2.3
|
|
47
|
+
Current: 1.2.4
|
|
48
|
+
|
|
49
|
+
Changes:
|
|
50
|
+
- package.json updated
|
|
51
|
+
- Commit: "chore: bump version to 1.2.4"
|
|
52
|
+
- Tag: v1.2.4
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Failure
|
|
56
|
+
```
|
|
57
|
+
[NPM Version] Failed
|
|
58
|
+
|
|
59
|
+
Error: {error_message}
|
|
60
|
+
Hint: Ensure clean git working directory
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Examples
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Bump patch version (1.2.3 -> 1.2.4)
|
|
67
|
+
npm-version patch
|
|
68
|
+
|
|
69
|
+
# Bump minor version (1.2.3 -> 1.3.0)
|
|
70
|
+
npm-version minor
|
|
71
|
+
|
|
72
|
+
# Bump major version (1.2.3 -> 2.0.0)
|
|
73
|
+
npm-version major
|
|
74
|
+
|
|
75
|
+
# Update version without creating git tag
|
|
76
|
+
npm-version patch --no-tag
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Release Branch Integration
|
|
80
|
+
|
|
81
|
+
When working with `auto-tag.yml` (automatic tag creation on release PR merge):
|
|
82
|
+
|
|
83
|
+
1. `.npmrc` has `git-tag-version=false` — prevents local tag creation during `npm version`
|
|
84
|
+
2. `auto-tag.yml` creates the tag on the **merge commit** when a `release/*` PR is merged to `develop`
|
|
85
|
+
3. Do NOT manually push tags — let the CI workflow handle tag creation
|
|
86
|
+
|
|
87
|
+
### Release Workflow
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
1. Create release branch: release/vX.Y.Z
|
|
91
|
+
2. Run version bump (npm version / manual edit) ← no local tag created
|
|
92
|
+
3. Build dist, commit, push
|
|
93
|
+
4. Create PR → merge to develop
|
|
94
|
+
5. auto-tag.yml creates vX.Y.Z tag on merge commit ← correct tag target
|
|
95
|
+
6. release.yml triggers on tag → GitHub Release + npm publish
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Troubleshooting
|
|
99
|
+
|
|
100
|
+
If a tag already exists on remote (from a previous failed attempt):
|
|
101
|
+
```bash
|
|
102
|
+
git push origin :refs/tags/vX.Y.Z # delete remote tag
|
|
103
|
+
# Then re-merge or let auto-tag.yml handle it
|
|
104
|
+
```
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: omcodex:auto-improve
|
|
3
|
+
description: Apply verified improvement suggestions from eval-core analysis to omcodex configuration
|
|
4
|
+
scope: harness
|
|
5
|
+
user-invocable: true
|
|
6
|
+
effort: high
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /omcodex:auto-improve — Automated Improvement Workflow
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Reads improvement suggestions from eval-core analysis, lets the user select which to apply, applies changes in an isolated worktree with sauron verification, and creates a PR for review.
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/omcodex:auto-improve # Interactive selection from pending suggestions
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
- eval-core analysis data exists (run `/omcodex:improve-report` first if empty)
|
|
24
|
+
- Pending improvement suggestions in `proposed` status
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
### Step 1: Read Suggestions
|
|
29
|
+
|
|
30
|
+
1. Run `bun run packages/eval-core/src/cli/index.ts analyze --format json --save` via Bash
|
|
31
|
+
2. Parse JSON output for improvement suggestions
|
|
32
|
+
3. If no suggestions: display "No improvement suggestions available" and exit
|
|
33
|
+
|
|
34
|
+
### Step 2: Display & Select
|
|
35
|
+
|
|
36
|
+
Display numbered list:
|
|
37
|
+
```
|
|
38
|
+
[Auto-Improve] Available suggestions:
|
|
39
|
+
1. [HIGH] agent:lang-golang-expert — Escalate model sonnet→opus (3 failures in 5 uses)
|
|
40
|
+
2. [MED] routing:dev-lead-routing — Add Flutter keyword mapping (2 routing misses)
|
|
41
|
+
3. [LOW] skill:systematic-debugging — Add timeout guard (1 timeout in 10 uses)
|
|
42
|
+
|
|
43
|
+
Select items: [1,2,3] / "all" / "cancel"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Self-reference filter**: Exclude items where targetName matches:
|
|
47
|
+
- `omcodex:auto-improve`, `auto-improve`
|
|
48
|
+
- `pipeline-guards`, `evaluator-optimizer`
|
|
49
|
+
- Any item targeting this skill itself
|
|
50
|
+
|
|
51
|
+
### Step 3: Approve (State Transition)
|
|
52
|
+
|
|
53
|
+
For each selected item:
|
|
54
|
+
1. Call eval-core API: transition `proposed` → `approved`
|
|
55
|
+
2. Display: `[Approved] {N} items selected for application`
|
|
56
|
+
|
|
57
|
+
### Step 4: Worktree Isolation
|
|
58
|
+
|
|
59
|
+
- Use `EnterWorktree` tool with name `auto-improve-{YYYYMMDD}`
|
|
60
|
+
- Creates isolated branch from HEAD
|
|
61
|
+
|
|
62
|
+
### Step 5: Apply Changes
|
|
63
|
+
|
|
64
|
+
Map each approved item to the appropriate subagent by `targetType`:
|
|
65
|
+
|
|
66
|
+
| targetType | Agent | Action |
|
|
67
|
+
|------------|-------|--------|
|
|
68
|
+
| agent | mgr-creator | Modify agent frontmatter/body |
|
|
69
|
+
| skill | Matching domain expert | Revise skill SKILL.md |
|
|
70
|
+
| routing | general-purpose | Update routing patterns |
|
|
71
|
+
| model-escalation | general-purpose | Update model field in agent frontmatter |
|
|
72
|
+
|
|
73
|
+
Spawn agents in parallel (max 4 per R009). Each agent receives:
|
|
74
|
+
- Action description and evidence data
|
|
75
|
+
- Target file path
|
|
76
|
+
- Specific modification instructions
|
|
77
|
+
|
|
78
|
+
### Step 6: Verification
|
|
79
|
+
|
|
80
|
+
1. Delegate to mgr-sauron: full R017 verification
|
|
81
|
+
2. If **PASS**: proceed to Step 7
|
|
82
|
+
3. If **FAIL**: display failures, offer options:
|
|
83
|
+
- `fix` → re-apply with sauron feedback (max 2 cycles)
|
|
84
|
+
- `reject` → transition all to `rejected`, ExitWorktree(remove)
|
|
85
|
+
- `manual` → keep worktree for user inspection
|
|
86
|
+
|
|
87
|
+
### Step 7: PR & Finalize
|
|
88
|
+
|
|
89
|
+
1. Delegate to mgr-gitnerd: commit + create PR
|
|
90
|
+
- Title: `chore(auto-improve): apply {N} improvement suggestions`
|
|
91
|
+
- Body: table of applied items with evidence
|
|
92
|
+
2. Transition all items to `applied` with `appliedAt` timestamp and PR URL
|
|
93
|
+
3. `ExitWorktree(action: "keep")` — keep branch for PR
|
|
94
|
+
4. Display PR URL to user
|
|
95
|
+
|
|
96
|
+
## Safety Guards
|
|
97
|
+
|
|
98
|
+
| Guard | Implementation |
|
|
99
|
+
|-------|---------------|
|
|
100
|
+
| Self-reference prevention | Blocklist filter in Step 2 |
|
|
101
|
+
| User approval gate | Step 2 interactive selection |
|
|
102
|
+
| Worktree isolation | Step 4 EnterWorktree |
|
|
103
|
+
| Sauron verification | Step 6 mandatory pass |
|
|
104
|
+
| PR-based merge | Step 7 — no direct push to develop |
|
|
105
|
+
| Max items per run | 20 default, 50 hard cap |
|
|
106
|
+
| Max fix cycles | 2 retries before rejection |
|
|
107
|
+
| Rollback | `git revert` via mgr-gitnerd post-merge |
|
|
108
|
+
|
|
109
|
+
## Error Handling
|
|
110
|
+
|
|
111
|
+
| Scenario | Action |
|
|
112
|
+
|----------|--------|
|
|
113
|
+
| No suggestions available | Display message, exit |
|
|
114
|
+
| User cancels selection | Exit, no state changes |
|
|
115
|
+
| Sauron verification fails 2x | Reject all, cleanup worktree |
|
|
116
|
+
| Agent application error | Mark individual item as rejected, continue others |
|
|
117
|
+
| EnterWorktree fails | Report error, exit |
|
|
118
|
+
|
|
119
|
+
## Display Format
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
[Auto-Improve] Starting improvement workflow
|
|
123
|
+
├── Suggestions: {N} available ({high}H/{medium}M/{low}L confidence)
|
|
124
|
+
├── Self-reference filtered: {count} items excluded
|
|
125
|
+
└── Select items to apply: [1,2,3] or "all" or "cancel"
|
|
126
|
+
|
|
127
|
+
[Auto-Improve] Applying {N} improvements in worktree
|
|
128
|
+
├── Worktree: auto-improve-{date}
|
|
129
|
+
├── Agents: {count} parallel
|
|
130
|
+
└── Pipeline guards: max 20 items, 2 retry cycles
|
|
131
|
+
|
|
132
|
+
[Auto-Improve] Verification
|
|
133
|
+
├── Sauron: {PASS|FAIL}
|
|
134
|
+
├── PR: #{number} created
|
|
135
|
+
└── Status: {N} items → applied
|
|
136
|
+
```
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: omcodex:feedback
|
|
3
|
+
description: Submit feedback about oh-my-customcodex (supports anonymous submission)
|
|
4
|
+
scope: harness
|
|
5
|
+
user-invocable: true
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
argument-hint: "[description or leave empty for interactive] [--anonymous]"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Feedback Submitter
|
|
11
|
+
|
|
12
|
+
Submit feedback about oh-my-customcodex (bugs, features, improvements, questions) directly from the CLI session. Supports anonymous submission with `[Anonymous Feedback]` title prefix when `--anonymous` flag is used.
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
Lowers the barrier for submitting feedback by allowing users to create GitHub issues — without leaving their terminal session. All feedback is filed to the `baekenough/oh-my-customcodex` repository.
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
# Inline feedback
|
|
22
|
+
/omcodex:feedback HUD display is missing during parallel agent spawn
|
|
23
|
+
|
|
24
|
+
# Anonymous submission
|
|
25
|
+
/omcodex:feedback --anonymous Something feels off with the routing
|
|
26
|
+
|
|
27
|
+
# Interactive (no arguments)
|
|
28
|
+
/omcodex:feedback
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
### Phase 1: Input Parsing
|
|
34
|
+
|
|
35
|
+
Check for `--anonymous` flag in the arguments:
|
|
36
|
+
- If `--anonymous` is present, set `ANONYMOUS=true` and strip the flag from the content
|
|
37
|
+
- Otherwise, set `ANONYMOUS=false`
|
|
38
|
+
|
|
39
|
+
If remaining arguments are provided:
|
|
40
|
+
1. Analyze the content to auto-detect category (`bug`, `feature`, `improvement`, `question`)
|
|
41
|
+
2. Use the content as the issue title (truncate to 80 chars if needed)
|
|
42
|
+
3. Use the full content as the description body
|
|
43
|
+
|
|
44
|
+
If no arguments (or only `--anonymous`):
|
|
45
|
+
1. Ask the user for category using AskUserQuestion: `[bug / feature / improvement / question]`
|
|
46
|
+
2. Ask for title and optional detailed description (combine into a single prompt when possible)
|
|
47
|
+
|
|
48
|
+
### Phase 2: Route Decision
|
|
49
|
+
|
|
50
|
+
Check environment and user intent:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Check gh CLI availability
|
|
54
|
+
command -v gh >/dev/null 2>&1 && GH_AVAILABLE=true || GH_AVAILABLE=false
|
|
55
|
+
|
|
56
|
+
# Check gh authentication (only if gh is available)
|
|
57
|
+
if [ "$GH_AVAILABLE" = "true" ]; then
|
|
58
|
+
gh auth status >/dev/null 2>&1 && GH_AUTHED=true || GH_AUTHED=false
|
|
59
|
+
else
|
|
60
|
+
GH_AUTHED=false
|
|
61
|
+
fi
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Route A**: `gh` available + authenticated
|
|
65
|
+
- Use GitHub Issue creation (see Phase 4A)
|
|
66
|
+
- If `--anonymous`: adds `[Anonymous Feedback]` prefix and `anonymous` label
|
|
67
|
+
|
|
68
|
+
**Fallback**: `gh` NOT available or not authenticated
|
|
69
|
+
- Save feedback locally and inform the user (see Phase 4D)
|
|
70
|
+
|
|
71
|
+
### Phase 3: Environment Collection
|
|
72
|
+
|
|
73
|
+
Collect environment info via Bash:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# omcodex version
|
|
77
|
+
OMCODEX_VERSION=$(node -e "console.log(require('./package.json').version)" 2>/dev/null || echo "unknown")
|
|
78
|
+
|
|
79
|
+
# Codex version
|
|
80
|
+
CODEX_VERSION=$(codex --version 2>/dev/null || echo "unknown")
|
|
81
|
+
|
|
82
|
+
# OS
|
|
83
|
+
OS_INFO=$(uname -s 2>/dev/null || echo "unknown")
|
|
84
|
+
|
|
85
|
+
# Project name
|
|
86
|
+
PROJECT_NAME=$(basename "$(pwd)")
|
|
87
|
+
|
|
88
|
+
# Build project context string
|
|
89
|
+
PROJECT_CONTEXT="omcodex v${OMCODEX_VERSION}, Codex ${CODEX_VERSION}, ${OS_INFO}"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
For anonymous submissions, do NOT include the project name. Offer to include project context as opt-in:
|
|
93
|
+
- Ask: "Include environment info (version, OS) in the anonymous report? [Y/n]"
|
|
94
|
+
- If declined, set `PROJECT_CONTEXT=""`
|
|
95
|
+
|
|
96
|
+
### Phase 4A: GitHub Issue Creation (Route A — gh + authenticated)
|
|
97
|
+
|
|
98
|
+
1. If `ANONYMOUS=true`, prepend `[Anonymous Feedback] ` to the title and add `anonymous` to the label list.
|
|
99
|
+
|
|
100
|
+
2. Show the user a preview of the issue to be created:
|
|
101
|
+
```
|
|
102
|
+
[Preview]
|
|
103
|
+
├── Title: {title}
|
|
104
|
+
├── Category: {category}
|
|
105
|
+
├── Labels: feedback, {category-label}[, anonymous]
|
|
106
|
+
└── Repo: baekenough/oh-my-customcodex
|
|
107
|
+
```
|
|
108
|
+
3. Ask for confirmation before creating
|
|
109
|
+
|
|
110
|
+
4. Ensure labels exist (defensive):
|
|
111
|
+
```bash
|
|
112
|
+
gh label create feedback --description "User feedback via /omcodex:feedback" --color 0E8A16 --repo baekenough/oh-my-customcodex 2>/dev/null || true
|
|
113
|
+
# If anonymous, ensure the anonymous label exists
|
|
114
|
+
if [ "$ANONYMOUS" = "true" ]; then
|
|
115
|
+
gh label create anonymous --description "Anonymous feedback submission" --color C5DEF5 --repo baekenough/oh-my-customcodex 2>/dev/null || true
|
|
116
|
+
fi
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
5. Create the issue using `--body-file` for safe markdown handling:
|
|
120
|
+
```bash
|
|
121
|
+
# Write body to temp file to avoid shell escaping issues
|
|
122
|
+
cat > /tmp/omcodex-feedback-body.md << 'FEEDBACK_EOF'
|
|
123
|
+
## Feedback
|
|
124
|
+
|
|
125
|
+
**Category**: {category}
|
|
126
|
+
**Source**: omcodex CLI v{version}
|
|
127
|
+
|
|
128
|
+
### Description
|
|
129
|
+
{user description}
|
|
130
|
+
|
|
131
|
+
### Environment
|
|
132
|
+
- omcodex version: {omcodex_version}
|
|
133
|
+
- Codex version: {codex_version}
|
|
134
|
+
- OS: {os_info}
|
|
135
|
+
- Project: {project_name}
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
*Submitted via `/omcodex:feedback`*
|
|
139
|
+
FEEDBACK_EOF
|
|
140
|
+
|
|
141
|
+
# Build label string
|
|
142
|
+
LABELS="feedback,${CATEGORY_LABEL}"
|
|
143
|
+
if [ "$ANONYMOUS" = "true" ]; then
|
|
144
|
+
LABELS="${LABELS},anonymous"
|
|
145
|
+
fi
|
|
146
|
+
|
|
147
|
+
# Create issue
|
|
148
|
+
gh issue create \
|
|
149
|
+
--repo baekenough/oh-my-customcodex \
|
|
150
|
+
--title "{title}" \
|
|
151
|
+
--label "$LABELS" \
|
|
152
|
+
--body-file /tmp/omcodex-feedback-body.md
|
|
153
|
+
|
|
154
|
+
# Clean up
|
|
155
|
+
rm -f /tmp/omcodex-feedback-body.md
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
6. If label creation fails AND issue creation fails due to labels, retry without labels as fallback
|
|
159
|
+
|
|
160
|
+
7. Return the issue URL to the user
|
|
161
|
+
|
|
162
|
+
### Phase 4D: Local Fallback (gh not available, not authenticated, or issue creation failed)
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
mkdir -p ~/.omcodex/feedback
|
|
166
|
+
TIMESTAMP=$(date +%Y%m%dT%H%M%S)
|
|
167
|
+
FEEDBACK_FILE=~/.omcodex/feedback/${TIMESTAMP}.json
|
|
168
|
+
|
|
169
|
+
cat > "$FEEDBACK_FILE" << EOF
|
|
170
|
+
{
|
|
171
|
+
"title": "$TITLE",
|
|
172
|
+
"body": "$BODY",
|
|
173
|
+
"feedback_type": "$TYPE",
|
|
174
|
+
"anonymous": $ANONYMOUS,
|
|
175
|
+
"project_context": "$PROJECT_CONTEXT",
|
|
176
|
+
"saved_at": "$TIMESTAMP"
|
|
177
|
+
}
|
|
178
|
+
EOF
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Inform the user:
|
|
182
|
+
```
|
|
183
|
+
[Saved] Feedback saved locally to ~/.omcodex/feedback/{timestamp}.json
|
|
184
|
+
Submit manually when connectivity is available:
|
|
185
|
+
- GitHub Issues: https://github.com/baekenough/oh-my-customcodex/issues/new
|
|
186
|
+
- Or run /omcodex:feedback again when gh is available
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Category-to-Label Mapping
|
|
190
|
+
|
|
191
|
+
| Category | GitHub Label |
|
|
192
|
+
|----------|--------------|
|
|
193
|
+
| bug | bug |
|
|
194
|
+
| feature | enhancement |
|
|
195
|
+
| improvement | enhancement |
|
|
196
|
+
| question | question |
|
|
197
|
+
| (auto-detect fails) | (none) |
|
|
198
|
+
|
|
199
|
+
## Notes
|
|
200
|
+
|
|
201
|
+
- Route A creates a visible GitHub issue attributed to the user's gh account
|
|
202
|
+
- When `--anonymous` is used, the title is prefixed with `[Anonymous Feedback]` and the `anonymous` label is added
|
|
203
|
+
- Fallback ensures no feedback is silently lost even in offline environments
|
|
204
|
+
- `disable-model-invocation: true` ensures this skill only runs when explicitly invoked by the user
|
|
205
|
+
- Target repo is hardcoded to `baekenough/oh-my-customcodex` — feedback is always about the child package itself
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: omcodex:improve-report
|
|
3
|
+
description: Read-only report of improvement suggestions from eval-core analysis engine
|
|
4
|
+
scope: harness
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Improve Report
|
|
9
|
+
|
|
10
|
+
Display improvement suggestions from eval-core analysis engine as read-only report. No file modifications, no GitHub mutations.
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
Surface actionable improvement suggestions gathered by the eval-core analysis engine. Reads from eval-core's local database and renders insights as structured markdown. Useful for understanding routing quality, skill effectiveness, and agent usage patterns.
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
/omcodex:improve-report
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Workflow
|
|
23
|
+
|
|
24
|
+
### Step 1: Check eval-core availability
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
command -v eval-core 2>/dev/null || ls node_modules/.bin/eval-core 2>/dev/null
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If not found → skip to Step 4 (fallback).
|
|
31
|
+
|
|
32
|
+
### Step 2: Run analysis
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
eval-core analyze --format markdown
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Step 3: Data sufficiency check
|
|
39
|
+
|
|
40
|
+
Count sessions recorded from the output metadata:
|
|
41
|
+
|
|
42
|
+
| Sessions recorded | Confidence | Behavior |
|
|
43
|
+
|-------------------|------------|----------|
|
|
44
|
+
| < 5 | `[confidence: low]` | Show results with message: "최소 5세션 이상의 데이터가 필요합니다. 현재 데이터로도 초기 분석은 가능하지만, 정확도는 제한적입니다." |
|
|
45
|
+
| 5–20 | `[confidence: medium]` | Show results with medium confidence note |
|
|
46
|
+
| > 20 | `[confidence: high]` | Show results normally |
|
|
47
|
+
|
|
48
|
+
### Step 4: Display
|
|
49
|
+
|
|
50
|
+
If output contains data → display as structured markdown with confidence annotation prepended.
|
|
51
|
+
|
|
52
|
+
If command not found OR output is empty:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
[omcodex:improve-report] 데이터 없음
|
|
56
|
+
eval-core가 설치되어 있지 않거나 아직 충분한 세션 데이터가 수집되지 않았습니다.
|
|
57
|
+
eval-core를 설치하거나 더 많은 세션을 진행한 후 다시 실행하세요.
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Notes
|
|
61
|
+
|
|
62
|
+
- **Read-only**: No file modifications, no GitHub issue creation, no external mutations
|
|
63
|
+
- **R010 compliant**: Only executes Bash for read-only analysis — no write operations delegated
|
|
64
|
+
- **Graceful fallback**: Falls back silently if eval-core or its DB doesn't exist
|
|
65
|
+
- **Confidence-aware**: Reports data sufficiency alongside results per R011 conventions
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: omcodex:loop
|
|
3
|
+
description: Prevent session idle during background agent work via SubagentStop prompt hook auto-continuation
|
|
4
|
+
scope: core
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
user-invocable: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /omcodex:loop — Session Auto-Continuation
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Prevents session idle when background subagents complete by using a `SubagentStop` prompt hook that nudges the orchestrator to check for pending workflow steps.
|
|
14
|
+
|
|
15
|
+
## How It Works
|
|
16
|
+
|
|
17
|
+
1. When a background subagent completes, the runtime fires the `SubagentStop` event
|
|
18
|
+
2. The prompt hook injects a message asking the orchestrator to check for pending steps
|
|
19
|
+
3. If pending steps exist, the orchestrator proceeds automatically
|
|
20
|
+
4. If no pending steps, it reports results and waits for user input
|
|
21
|
+
|
|
22
|
+
## Safety Limits
|
|
23
|
+
|
|
24
|
+
- **3 consecutive auto-continues max**: After 3 automatic progressions without user interaction, the system pauses and asks the user before proceeding
|
|
25
|
+
- **stuck-detector integration**: If the same action repeats 3+ times, stuck-detector intervenes
|
|
26
|
+
- **cost-cap-advisor**: Cost monitoring continues during auto-continuation
|
|
27
|
+
|
|
28
|
+
## Configuration
|
|
29
|
+
|
|
30
|
+
The hook is configured in `.codex/hooks/hooks.json` under `SubagentStop`. It works alongside the existing `task-outcome-recorder.sh` command hook.
|
|
31
|
+
|
|
32
|
+
## Limitations
|
|
33
|
+
|
|
34
|
+
- **Platform constraint**: The turn-based runtime model means the prompt hook only fires when a subagent completes — it cannot wake the model from true idle state
|
|
35
|
+
- **Foreground agents preferred**: For guaranteed continuation, use foreground parallel agents (R009) instead of background agents
|
|
36
|
+
- **PoC status**: This is an experimental feature. If the prompt hook doesn't reliably trigger in all scenarios, fall back to foreground agent patterns
|
|
37
|
+
|
|
38
|
+
## Usage
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
/omcodex:loop # Show current auto-continuation status
|
|
42
|
+
/omcodex:loop status # Same as above
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
The feature is active by default via hooks.json. No explicit activation needed.
|