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,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: go-best-practices
|
|
3
|
+
description: Idiomatic Go patterns from Effective Go
|
|
4
|
+
scope: core
|
|
5
|
+
user-invocable: false
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Apply idiomatic Go patterns and best practices from official Go documentation.
|
|
11
|
+
|
|
12
|
+
## Rules
|
|
13
|
+
|
|
14
|
+
### 1. Formatting
|
|
15
|
+
|
|
16
|
+
```yaml
|
|
17
|
+
rules:
|
|
18
|
+
- Use gofmt for all code formatting
|
|
19
|
+
- Indentation uses tabs, not spaces
|
|
20
|
+
- No line length limit, but break long lines sensibly
|
|
21
|
+
- Let gofmt handle alignment
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 2. Naming Conventions
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
package_names:
|
|
28
|
+
- Short, concise, lowercase, single-word
|
|
29
|
+
- No underscores or mixedCaps
|
|
30
|
+
- Name is basename of source directory
|
|
31
|
+
- Example: bufio, not bufIO or buf_io
|
|
32
|
+
|
|
33
|
+
getters:
|
|
34
|
+
- No "Get" prefix for getters
|
|
35
|
+
- obj.Owner() not obj.GetOwner()
|
|
36
|
+
- Setter can use "Set": obj.SetOwner(user)
|
|
37
|
+
|
|
38
|
+
interface_names:
|
|
39
|
+
- One-method interfaces: method name + "er"
|
|
40
|
+
- Reader, Writer, Formatter, CloseNotifier
|
|
41
|
+
- Avoid stealing standard names unless same signature
|
|
42
|
+
|
|
43
|
+
mixedCaps:
|
|
44
|
+
- Use MixedCaps or mixedCaps, never underscores
|
|
45
|
+
- Exported: MixedCaps (uppercase first)
|
|
46
|
+
- Unexported: mixedCaps (lowercase first)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 3. Control Structures
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
if_statements:
|
|
53
|
+
- Accept initialization statement
|
|
54
|
+
- Prefer: if err := file.Chmod(0664); err != nil
|
|
55
|
+
- Omit else when if ends with break/continue/return
|
|
56
|
+
- Avoid unnecessary else
|
|
57
|
+
|
|
58
|
+
for_loops:
|
|
59
|
+
- Go's only loop construct
|
|
60
|
+
- for init; condition; post { } - like C for
|
|
61
|
+
- for condition { } - like C while
|
|
62
|
+
- for { } - infinite loop
|
|
63
|
+
- Use range for strings, slices, arrays, maps, channels
|
|
64
|
+
|
|
65
|
+
switch:
|
|
66
|
+
- Cases don't fall through by default
|
|
67
|
+
- Use fallthrough keyword if needed
|
|
68
|
+
- Multiple cases: case '0', '1', '2'
|
|
69
|
+
- Type switch: switch v := x.(type)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 4. Functions
|
|
73
|
+
|
|
74
|
+
```yaml
|
|
75
|
+
multiple_returns:
|
|
76
|
+
- Return multiple values for result + error
|
|
77
|
+
- func (file *File) Write(b []byte) (n int, err error)
|
|
78
|
+
|
|
79
|
+
named_results:
|
|
80
|
+
- Document return values with names
|
|
81
|
+
- Can simplify code but use judiciously
|
|
82
|
+
- Unnamed returns OK for short functions
|
|
83
|
+
|
|
84
|
+
defer:
|
|
85
|
+
- Executes when function returns
|
|
86
|
+
- LIFO order for multiple defers
|
|
87
|
+
- Use for cleanup: unlock mutexes, close files
|
|
88
|
+
- Arguments evaluated when defer executes, not when called
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 5. Data
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
new_vs_make:
|
|
95
|
+
- new(T): allocates zeroed storage, returns *T
|
|
96
|
+
- make(T, args): creates slices, maps, channels only
|
|
97
|
+
- make returns initialized (not zeroed) value of type T
|
|
98
|
+
|
|
99
|
+
slices:
|
|
100
|
+
- Backed by arrays, can grow
|
|
101
|
+
- append() to add elements
|
|
102
|
+
- copy() for safe duplication
|
|
103
|
+
- Slice of slice shares underlying array
|
|
104
|
+
|
|
105
|
+
maps:
|
|
106
|
+
- Reference type, nil until initialized
|
|
107
|
+
- make(map[KeyType]ValueType)
|
|
108
|
+
- Comma ok idiom: val, ok := map[key]
|
|
109
|
+
- delete(map, key) to remove
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 6. Methods
|
|
113
|
+
|
|
114
|
+
```yaml
|
|
115
|
+
pointer_vs_value_receivers:
|
|
116
|
+
- Pointer receiver: can modify, no copy overhead
|
|
117
|
+
- Value receiver: safe from modification
|
|
118
|
+
- If any method needs pointer, all should use pointer
|
|
119
|
+
- Rule: values immutable, pointers mutable
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 7. Interfaces
|
|
123
|
+
|
|
124
|
+
```yaml
|
|
125
|
+
design:
|
|
126
|
+
- Interfaces define behavior, not data
|
|
127
|
+
- Small interfaces (1-3 methods) preferred
|
|
128
|
+
- Accept interfaces, return structs
|
|
129
|
+
- If type implements interface, it satisfies implicitly
|
|
130
|
+
|
|
131
|
+
common_interfaces:
|
|
132
|
+
- io.Reader: Read(p []byte) (n int, err error)
|
|
133
|
+
- io.Writer: Write(p []byte) (n int, err error)
|
|
134
|
+
- fmt.Stringer: String() string
|
|
135
|
+
- error: Error() string
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 8. Concurrency
|
|
139
|
+
|
|
140
|
+
```yaml
|
|
141
|
+
goroutines:
|
|
142
|
+
- Lightweight, multiplexed onto OS threads
|
|
143
|
+
- go function() to start
|
|
144
|
+
- Don't communicate by sharing memory
|
|
145
|
+
- Share memory by communicating
|
|
146
|
+
|
|
147
|
+
channels:
|
|
148
|
+
- Primary synchronization mechanism
|
|
149
|
+
- ch := make(chan int) - unbuffered
|
|
150
|
+
- ch := make(chan int, 100) - buffered
|
|
151
|
+
- Send: ch <- v
|
|
152
|
+
- Receive: v := <-ch
|
|
153
|
+
- Close: close(ch)
|
|
154
|
+
|
|
155
|
+
patterns:
|
|
156
|
+
- Don't leak goroutines - ensure they exit
|
|
157
|
+
- Use context for cancellation
|
|
158
|
+
- select for multiple channel operations
|
|
159
|
+
- sync.WaitGroup for goroutine coordination
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 9. Error Handling
|
|
163
|
+
|
|
164
|
+
```yaml
|
|
165
|
+
principles:
|
|
166
|
+
- Errors are values, handle them explicitly
|
|
167
|
+
- Check errors immediately after call
|
|
168
|
+
- Return errors, don't panic
|
|
169
|
+
- Add context when propagating: fmt.Errorf("op failed: %w", err)
|
|
170
|
+
|
|
171
|
+
panic_recover:
|
|
172
|
+
- Panic for unrecoverable errors only
|
|
173
|
+
- Library functions should return errors, not panic
|
|
174
|
+
- Recover only in deferred functions
|
|
175
|
+
- Convert internal panics to errors at package boundary
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### 10. Project Structure
|
|
179
|
+
|
|
180
|
+
```yaml
|
|
181
|
+
packages:
|
|
182
|
+
- One package per directory
|
|
183
|
+
- Package name matches directory name
|
|
184
|
+
- main package for executables
|
|
185
|
+
- Avoid circular imports
|
|
186
|
+
|
|
187
|
+
files:
|
|
188
|
+
- doc.go for package documentation
|
|
189
|
+
- _test.go suffix for test files
|
|
190
|
+
- Group related types and functions
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Application
|
|
194
|
+
|
|
195
|
+
When writing or reviewing Go code:
|
|
196
|
+
|
|
197
|
+
1. **Always** run `gofmt` or `goimports`
|
|
198
|
+
2. **Always** handle returned errors
|
|
199
|
+
3. **Prefer** composition over inheritance
|
|
200
|
+
4. **Prefer** small interfaces
|
|
201
|
+
5. **Prefer** channels for goroutine communication
|
|
202
|
+
6. **Avoid** global state
|
|
203
|
+
7. **Avoid** init() when possible
|
|
204
|
+
8. **Document** exported identifiers
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hada-scout
|
|
3
|
+
description: hada.io RSS feed monitoring for AI agent/harness articles with automated /scout analysis
|
|
4
|
+
scope: package
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
user-invocable: false
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# hada-scout
|
|
10
|
+
|
|
11
|
+
Automated pipeline that monitors hada.io (via feedburner RSS) for AI agent, harness, benchmark, and eval-related articles, then runs `/scout` analysis on each match.
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Complement geeknews-scout with harness/eval-focused coverage from hada.io. While geeknews-scout casts a broad net over AI agent news, hada-scout narrows to benchmark/evaluation framework content — the domain most relevant to oh-my-customcodex's harness and agent-eval subsystems.
|
|
16
|
+
|
|
17
|
+
## Architecture: 2-Layer Hybrid
|
|
18
|
+
|
|
19
|
+
### Layer 1 — check-feed.sh (feed → issues)
|
|
20
|
+
|
|
21
|
+
1. Fetch hada.io feedburner RSS
|
|
22
|
+
2. Filter entries by keyword regex (case-insensitive)
|
|
23
|
+
3. Dedup against existing `hada-scout` issues
|
|
24
|
+
4. Create GitHub issue per match with labels `hada-scout` + `pending-scout`
|
|
25
|
+
|
|
26
|
+
### Layer 2 — scout-runner.sh (issues → /scout)
|
|
27
|
+
|
|
28
|
+
1. Find open issues with `pending-scout` label
|
|
29
|
+
2. Extract source URL from issue body
|
|
30
|
+
3. Run `claude -p "/scout {url}"` (max 5 executions per run)
|
|
31
|
+
4. Parse verdict from /scout output
|
|
32
|
+
5. Apply verdict label, remove `pending-scout`
|
|
33
|
+
|
|
34
|
+
## Keyword Strategy
|
|
35
|
+
|
|
36
|
+
hada-scout uses harness/benchmark/eval focused keywords, distinct from geeknews-scout's broader AI agent coverage:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
harness|benchmark|eval|evaluation framework|agent framework|코드 리뷰 자동화|하네스|벤치마크|평가
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Geeknews-scout handles: `Claude|Anthropic|MCP|AI agent|에이전트|agentic|multi-agent|...`
|
|
43
|
+
|
|
44
|
+
## Label Scheme
|
|
45
|
+
|
|
46
|
+
| Label | Purpose |
|
|
47
|
+
|-------|---------|
|
|
48
|
+
| `hada-scout` | Source identification — all hada-scout created issues |
|
|
49
|
+
| `pending-scout` | Awaiting /scout analysis (set by Layer 1, cleared by Layer 2) |
|
|
50
|
+
| `scout:internalize` | /scout verdict: adopt into project |
|
|
51
|
+
| `scout:integrate` | /scout verdict: use as external dependency |
|
|
52
|
+
| `scout:skip` | /scout verdict: not relevant |
|
|
53
|
+
|
|
54
|
+
## Cost Controls
|
|
55
|
+
|
|
56
|
+
- Layer 2 runs at most **5 /scout executions per cron invocation**
|
|
57
|
+
- Each /scout call costs ~$0.5–1.5 (sonnet)
|
|
58
|
+
- Remaining `pending-scout` issues are processed in the next scheduled run
|
|
59
|
+
|
|
60
|
+
## Deployment
|
|
61
|
+
|
|
62
|
+
- Pattern: same K8s CronJob structure as `infra/geeknews-scout/`
|
|
63
|
+
- Host: `ubuntu-ext` cluster
|
|
64
|
+
- Infrastructure files: `infra/hada-scout/`
|
|
65
|
+
- `check-feed.sh` — Layer 1 feed poller
|
|
66
|
+
- `scout-runner.sh` — Layer 2 /scout executor
|
|
67
|
+
- `Dockerfile`
|
|
68
|
+
- `cronjob.template.yaml`
|
|
69
|
+
- `deploy.sh`
|
|
70
|
+
- `.env.example`
|
|
71
|
+
|
|
72
|
+
## Environment Variables
|
|
73
|
+
|
|
74
|
+
| Variable | Default | Description |
|
|
75
|
+
|----------|---------|-------------|
|
|
76
|
+
| `GH_TOKEN` | (required) | GitHub PAT for issue creation |
|
|
77
|
+
| `REPO` | `baekenough/oh-my-customcodex` | Target repo |
|
|
78
|
+
| `FEED_URL` | `http://feeds.feedburner.com/geeknews-feed` | hada.io RSS feed |
|
|
79
|
+
| `KEYWORDS` | (see above) | Pipe-separated keyword regex |
|
|
80
|
+
| `MAX_SCOUT_PER_RUN` | `5` | Max /scout executions per Layer 2 run |
|
|
81
|
+
|
|
82
|
+
## Integration
|
|
83
|
+
|
|
84
|
+
| Rule | How |
|
|
85
|
+
|------|-----|
|
|
86
|
+
| R009 | Layer 1 and Layer 2 run as independent CronJobs |
|
|
87
|
+
| R010 | Skill defines the architecture; implementation delegated to infra-docker-expert for K8s manifests |
|
|
88
|
+
| scout skill | Layer 2 invokes `/scout` via `claude -p` subprocess |
|
|
89
|
+
|
|
90
|
+
## Tracking Issue
|
|
91
|
+
|
|
92
|
+
GitHub Issue #841
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-eval
|
|
3
|
+
description: Structured SE task evaluation using 15 benchmark definitions from claude-code-harness research
|
|
4
|
+
scope: harness
|
|
5
|
+
user-invocable: true
|
|
6
|
+
argument-hint: "[--preset all|quick] [--task task-name]"
|
|
7
|
+
effort: high
|
|
8
|
+
version: 1.0.0
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Harness Eval — Structured SE Task Benchmark
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Evaluate agent quality using 15 structured software engineering task definitions with quantitative scoring. Based on research from [revfactory/claude-code-harness](https://github.com/revfactory/claude-code-harness) which demonstrated 60% improvement (49.5 → 79.3 points) through structured pre-configuration.
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/omcodex:harness-eval # Run all 15 benchmarks
|
|
21
|
+
/omcodex:harness-eval --preset quick # Run top 5 high-impact benchmarks
|
|
22
|
+
/omcodex:harness-eval --task api-design # Run specific task benchmark
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Quality Dimensions
|
|
26
|
+
|
|
27
|
+
| Dimension | Weight | Description |
|
|
28
|
+
|-----------|--------|-------------|
|
|
29
|
+
| Test Coverage | 30% | Unit test count, edge case coverage, assertion quality |
|
|
30
|
+
| Architecture Design | 25% | Separation of concerns, dependency management, scalability |
|
|
31
|
+
| Error Handling | 25% | Input validation, error propagation, recovery strategies |
|
|
32
|
+
| Extensibility | 20% | Plugin points, configuration flexibility, API surface |
|
|
33
|
+
|
|
34
|
+
## 15 SE Task Benchmark Suite
|
|
35
|
+
|
|
36
|
+
| # | Task | Category | Key Evaluation Criteria |
|
|
37
|
+
|---|------|----------|------------------------|
|
|
38
|
+
| 1 | API Design | Architecture | RESTful conventions, versioning, error responses |
|
|
39
|
+
| 2 | Data Modeling | Architecture | Schema normalization, relationships, indexing |
|
|
40
|
+
| 3 | Authentication Flow | Security | Token management, session handling, OWASP compliance |
|
|
41
|
+
| 4 | Test Suite Creation | Quality | Coverage breadth, assertion quality, edge cases |
|
|
42
|
+
| 5 | Error Handler | Reliability | Error classification, recovery, user feedback |
|
|
43
|
+
| 6 | Logging System | Observability | Structured logging, levels, correlation IDs |
|
|
44
|
+
| 7 | Configuration Manager | Operations | Env-based config, validation, secrets handling |
|
|
45
|
+
| 8 | CLI Tool | UX | Argument parsing, help text, exit codes |
|
|
46
|
+
| 9 | Database Migration | Data | Reversibility, data preservation, zero-downtime |
|
|
47
|
+
| 10 | Cache Layer | Performance | Invalidation strategy, TTL, cache-aside pattern |
|
|
48
|
+
| 11 | Queue Consumer | Reliability | Idempotency, retry logic, dead letter handling |
|
|
49
|
+
| 12 | Middleware Chain | Architecture | Composability, ordering, short-circuiting |
|
|
50
|
+
| 13 | File Processor | I/O | Streaming, error recovery, format validation |
|
|
51
|
+
| 14 | Webhook Handler | Integration | Signature verification, retry tolerance, idempotency |
|
|
52
|
+
| 15 | Rate Limiter | Security | Algorithm choice, distributed state, fairness |
|
|
53
|
+
|
|
54
|
+
## Scoring Rubric
|
|
55
|
+
|
|
56
|
+
Each task is scored 0-100 across the 4 quality dimensions:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Score = (test_coverage × 0.30) + (architecture × 0.25) + (error_handling × 0.25) + (extensibility × 0.20)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Score Thresholds
|
|
63
|
+
|
|
64
|
+
| Score Range | Grade | Interpretation |
|
|
65
|
+
|-------------|-------|----------------|
|
|
66
|
+
| 80-100 | A | Production-ready, well-structured |
|
|
67
|
+
| 60-79 | B | Functional with minor gaps |
|
|
68
|
+
| 40-59 | C | Works but needs improvement |
|
|
69
|
+
| 0-39 | D | Significant structural issues |
|
|
70
|
+
|
|
71
|
+
## Presets
|
|
72
|
+
|
|
73
|
+
### `all` (default)
|
|
74
|
+
Run all 15 tasks. Full evaluation ~45 minutes.
|
|
75
|
+
|
|
76
|
+
### `quick`
|
|
77
|
+
Run top 5 high-impact tasks (1, 3, 4, 5, 12). Quick evaluation ~15 minutes.
|
|
78
|
+
|
|
79
|
+
## Integration with evaluator-optimizer
|
|
80
|
+
|
|
81
|
+
This skill provides preset rubrics for the evaluator-optimizer pipeline:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
/omcodex:harness-eval → loads rubric → evaluator-optimizer executes → scoring → report
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
The evaluator-optimizer skill's `pre_negotiation` phase accepts harness-eval rubric dimensions as sprint contract criteria.
|
|
88
|
+
|
|
89
|
+
## Output
|
|
90
|
+
|
|
91
|
+
Results saved to `.codex/outputs/sessions/{YYYY-MM-DD}/harness-eval-{HHmmss}.md` with per-task scores and aggregate grade.
|
|
92
|
+
|
|
93
|
+
## Attribution
|
|
94
|
+
|
|
95
|
+
Evaluation framework based on research by [revfactory/claude-code-harness](https://github.com/revfactory/claude-code-harness). Adapted for oh-my-customcodex's evaluator-optimizer pipeline with permission.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-synthesizer
|
|
3
|
+
description: Synthesize code harnesses for agent action validation — AutoHarness-inspired verifier/filter/policy generation
|
|
4
|
+
scope: core
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
user-invocable: true
|
|
7
|
+
argument-hint: "[--mode verifier|filter|policy] [--agent <name>] [--dry-run]"
|
|
8
|
+
effort: high
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Harness Synthesizer Skill
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Synthesize executable validation harnesses for agent tool calls, inspired by AutoHarness (Google DeepMind, arxiv 2603.03329). Generates code-level verifiers that check action validity before or after execution, reducing agent errors through structured constraint enforcement.
|
|
16
|
+
|
|
17
|
+
Default mode is advisory (verifier). Hard enforcement requires explicit `--hard-enforce` opt-in per R021.
|
|
18
|
+
|
|
19
|
+
## Three Modes
|
|
20
|
+
|
|
21
|
+
| Mode | Flag | Behavior | Enforcement |
|
|
22
|
+
|------|------|----------|-------------|
|
|
23
|
+
| `verifier` | default | Post-hoc check: validates tool call results after execution | Advisory only |
|
|
24
|
+
| `filter` | `--mode filter` | Pre-execution check: blocks invalid tool calls | Opt-in, requires `--hard-enforce` |
|
|
25
|
+
| `policy` | `--mode policy` | Suggests the best valid action from available options | Advisory only |
|
|
26
|
+
|
|
27
|
+
### Verifier Mode (Default)
|
|
28
|
+
|
|
29
|
+
Generates a YAML harness that describes post-execution checks for each tool the agent uses. Checks are emitted as advisory warnings — they do not block execution.
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
# Example verifier harness output
|
|
33
|
+
harness:
|
|
34
|
+
agent: lang-golang-expert
|
|
35
|
+
mode: verifier
|
|
36
|
+
rules:
|
|
37
|
+
- tool: Write
|
|
38
|
+
checks:
|
|
39
|
+
- field: file_path
|
|
40
|
+
pattern: ".*\\.go$"
|
|
41
|
+
on_fail: warn # advisory
|
|
42
|
+
- field: content
|
|
43
|
+
must_not_contain: "TODO:"
|
|
44
|
+
on_fail: warn
|
|
45
|
+
- tool: Bash
|
|
46
|
+
checks:
|
|
47
|
+
- command_pattern: "^(go build|go test|go fmt|go vet)"
|
|
48
|
+
on_fail: warn
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Filter Mode (Opt-in)
|
|
52
|
+
|
|
53
|
+
Generates pre-execution filter rules. Requires `--hard-enforce` flag. Used when advisory warnings are insufficient and the risk of invalid actions is high.
|
|
54
|
+
|
|
55
|
+
```yaml
|
|
56
|
+
# Example filter harness output (--hard-enforce)
|
|
57
|
+
harness:
|
|
58
|
+
agent: mgr-gitnerd
|
|
59
|
+
mode: filter
|
|
60
|
+
enforcement: hard
|
|
61
|
+
rules:
|
|
62
|
+
- tool: Bash
|
|
63
|
+
blocks:
|
|
64
|
+
- pattern: "git push --force"
|
|
65
|
+
reason: "Force push to protected branch"
|
|
66
|
+
- pattern: "git reset --hard"
|
|
67
|
+
reason: "Destructive reset without confirmation"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Policy Mode
|
|
71
|
+
|
|
72
|
+
Generates a policy function that ranks valid actions and suggests the best one. Useful for agents with multiple valid paths to the same goal.
|
|
73
|
+
|
|
74
|
+
```yaml
|
|
75
|
+
# Example policy harness output
|
|
76
|
+
harness:
|
|
77
|
+
agent: qa-engineer
|
|
78
|
+
mode: policy
|
|
79
|
+
policies:
|
|
80
|
+
- scenario: "test file modification"
|
|
81
|
+
preferred_sequence:
|
|
82
|
+
- tool: Read
|
|
83
|
+
reason: "Read before modifying"
|
|
84
|
+
- tool: Edit
|
|
85
|
+
reason: "Edit is safer than Write for existing files"
|
|
86
|
+
avoid:
|
|
87
|
+
- tool: Write
|
|
88
|
+
on_existing_file: true
|
|
89
|
+
reason: "Overwrites without diff"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Workflow
|
|
93
|
+
|
|
94
|
+
1. **Read target agent frontmatter** — extract `tools`, `domain`, `limitations` fields
|
|
95
|
+
2. **Analyze recent tool call patterns** — check `.codex/outputs/` for prior session logs (if available)
|
|
96
|
+
3. **Synthesize validation harness** — generate YAML harness matching agent's declared capabilities
|
|
97
|
+
4. **Refine via evaluator-optimizer loop** — iterate harness against edge cases (3 rounds max)
|
|
98
|
+
5. **Save output** — write to `.codex/outputs/harnesses/{agent-name}-{mode}.yaml`
|
|
99
|
+
6. **Report** — print harness summary and integration instructions
|
|
100
|
+
|
|
101
|
+
## Integration
|
|
102
|
+
|
|
103
|
+
| System | How |
|
|
104
|
+
|--------|-----|
|
|
105
|
+
| `action-validator` | Harness output feeds into action-validator's code-verified mode |
|
|
106
|
+
| `adaptive-harness --learn` | Auto-triggers harness-synthesizer for project-specific patterns |
|
|
107
|
+
| `evaluator-optimizer` | Provides iterative refinement loop (gradient-free optimization) |
|
|
108
|
+
| `pipeline-guards` | Harness checks usable as pipeline quality gates |
|
|
109
|
+
|
|
110
|
+
## Usage Examples
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Generate advisory verifier for lang-golang-expert
|
|
114
|
+
/harness-synthesizer --agent lang-golang-expert --mode verifier
|
|
115
|
+
|
|
116
|
+
# Dry-run: preview harness without saving
|
|
117
|
+
/harness-synthesizer --agent mgr-gitnerd --mode filter --dry-run
|
|
118
|
+
|
|
119
|
+
# Generate hard-enforce filter (explicit opt-in)
|
|
120
|
+
/harness-synthesizer --agent mgr-gitnerd --mode filter --hard-enforce
|
|
121
|
+
|
|
122
|
+
# Generate policy harness
|
|
123
|
+
/harness-synthesizer --agent qa-engineer --mode policy
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## R021 Compliance
|
|
127
|
+
|
|
128
|
+
- Default `verifier` mode: advisory only — never blocks tool execution
|
|
129
|
+
- `filter` mode without `--hard-enforce`: advisory only — emits warnings
|
|
130
|
+
- `filter --hard-enforce`: opt-in hard enforcement — requires explicit user flag
|
|
131
|
+
- All harness output is saved to `.codex/outputs/harnesses/` (git-untracked)
|
|
132
|
+
|
|
133
|
+
## Output Format
|
|
134
|
+
|
|
135
|
+
Harnesses are saved as YAML at `.codex/outputs/harnesses/{agent-name}-{mode}.yaml`. Each harness includes:
|
|
136
|
+
|
|
137
|
+
```yaml
|
|
138
|
+
harness:
|
|
139
|
+
agent: {agent-name}
|
|
140
|
+
mode: verifier | filter | policy
|
|
141
|
+
version: 1.0.0
|
|
142
|
+
generated: {ISO-8601 timestamp}
|
|
143
|
+
enforcement: advisory | hard # hard only with --hard-enforce
|
|
144
|
+
rules: [...]
|
|
145
|
+
```
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: omcodex:help
|
|
3
|
+
description: Show help information for commands and system
|
|
4
|
+
scope: harness
|
|
5
|
+
argument-hint: "[command] [--agents] [--rules]"
|
|
6
|
+
user-invocable: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Help Skill
|
|
10
|
+
|
|
11
|
+
Show help information for commands, agents, and system rules.
|
|
12
|
+
|
|
13
|
+
## Options
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
--agents, -a List all available agents
|
|
17
|
+
--commands, -c List all commands (same as 'lists')
|
|
18
|
+
--rules, -r List all rules
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Output Format
|
|
22
|
+
|
|
23
|
+
### Default Help
|
|
24
|
+
```
|
|
25
|
+
AI Agent System - Help
|
|
26
|
+
|
|
27
|
+
Usage: {command} [arguments] [options]
|
|
28
|
+
|
|
29
|
+
Quick Start:
|
|
30
|
+
lists Show all available commands
|
|
31
|
+
status Show system status
|
|
32
|
+
help <command> Get help for a specific command
|
|
33
|
+
|
|
34
|
+
Common Commands:
|
|
35
|
+
/update-docs Sync documentation with project
|
|
36
|
+
/update-external Update external agents
|
|
37
|
+
/audit-agents Check agent dependencies
|
|
38
|
+
/create-agent Create a new agent
|
|
39
|
+
|
|
40
|
+
Use "lists" to see all available commands.
|
|
41
|
+
Use "help <command>" for detailed help.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Command Help
|
|
45
|
+
```
|
|
46
|
+
help /update-docs
|
|
47
|
+
|
|
48
|
+
Command: /update-docs
|
|
49
|
+
|
|
50
|
+
Description:
|
|
51
|
+
Sync documentation with project structure. Ensures all
|
|
52
|
+
documentation accurately reflects the current project state.
|
|
53
|
+
|
|
54
|
+
Usage:
|
|
55
|
+
/update-docs
|
|
56
|
+
/update-docs --check
|
|
57
|
+
/update-docs --target <path>
|
|
58
|
+
|
|
59
|
+
Options:
|
|
60
|
+
--check, -c Check only, don't modify
|
|
61
|
+
--verbose, -v Show detailed changes
|
|
62
|
+
--target, -t Specific target to update
|
|
63
|
+
|
|
64
|
+
Examples:
|
|
65
|
+
/update-docs # Update all documentation
|
|
66
|
+
/update-docs --check # Check for issues
|
|
67
|
+
/update-docs --target agents # Update agents only
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Agent List
|
|
71
|
+
```
|
|
72
|
+
help --agents
|
|
73
|
+
|
|
74
|
+
Available Agents:
|
|
75
|
+
|
|
76
|
+
Orchestrator:
|
|
77
|
+
secretary Manages manager agents
|
|
78
|
+
|
|
79
|
+
Manager:
|
|
80
|
+
mgr-creator Creates new agents
|
|
81
|
+
mgr-updater Updates external sources and docs
|
|
82
|
+
mgr-supplier Validates dependencies
|
|
83
|
+
|
|
84
|
+
SW Engineer:
|
|
85
|
+
lang-golang-expert Go development (Effective Go)
|
|
86
|
+
lang-python-expert Python development (PEP 8)
|
|
87
|
+
lang-rust-expert Rust development (API Guidelines)
|
|
88
|
+
lang-kotlin-expert Kotlin development (JetBrains)
|
|
89
|
+
lang-typescript-expert TypeScript development (Google)
|
|
90
|
+
fe-vercel-agent React/Next.js (Vercel)
|
|
91
|
+
|
|
92
|
+
Backend Engineer:
|
|
93
|
+
be-fastapi-expert FastAPI (Python async)
|
|
94
|
+
be-springboot-expert Spring Boot (Java)
|
|
95
|
+
be-go-backend-expert Go backend (Uber style)
|
|
96
|
+
|
|
97
|
+
Infra Engineer:
|
|
98
|
+
infra-docker-expert Docker containerization
|
|
99
|
+
infra-aws-expert AWS architecture
|
|
100
|
+
|
|
101
|
+
Total: 15 agents
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Rules List
|
|
105
|
+
```
|
|
106
|
+
help --rules
|
|
107
|
+
|
|
108
|
+
Global Rules:
|
|
109
|
+
|
|
110
|
+
MUST (Never violate):
|
|
111
|
+
R000 Language Policy Korean I/O, English files
|
|
112
|
+
R001 Safety Rules Prohibited actions
|
|
113
|
+
R002 Permission Rules Tool tiers, file access
|
|
114
|
+
R006 Agent Design Structure, separation
|
|
115
|
+
|
|
116
|
+
SHOULD (Strongly recommended):
|
|
117
|
+
R003 Interaction Rules Response format
|
|
118
|
+
R004 Error Handling Error levels, recovery
|
|
119
|
+
R007 Agent Identification Display agent in responses
|
|
120
|
+
R008 Tool Identification Display agent when using tools
|
|
121
|
+
|
|
122
|
+
MAY (Optional):
|
|
123
|
+
R005 Optimization Efficiency guidelines
|
|
124
|
+
R009 Parallel Execution Max 4 parallel instances
|
|
125
|
+
|
|
126
|
+
Total: 10 rules
|
|
127
|
+
```
|