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,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pipeline-architecture-patterns
|
|
3
|
+
description: Data pipeline architecture patterns for ETL/ELT design, orchestration, and data quality frameworks
|
|
4
|
+
scope: core
|
|
5
|
+
user-invocable: false
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Data Pipeline Architecture Patterns
|
|
9
|
+
|
|
10
|
+
## Pipeline Architectures
|
|
11
|
+
|
|
12
|
+
### ETL vs ELT (CRITICAL)
|
|
13
|
+
- **ETL**: Extract → Transform (staging) → Load
|
|
14
|
+
- Traditional, on-premise data warehouses
|
|
15
|
+
- Pre-aggregation, complex transformations
|
|
16
|
+
- **ELT**: Extract → Load (raw) → Transform (in warehouse)
|
|
17
|
+
- Cloud warehouses (Snowflake, BigQuery)
|
|
18
|
+
- Leverage warehouse compute power
|
|
19
|
+
|
|
20
|
+
### Lambda Architecture
|
|
21
|
+
- Batch layer: historical data processing
|
|
22
|
+
- Speed layer: real-time stream processing
|
|
23
|
+
- Serving layer: merge batch + real-time views
|
|
24
|
+
- Complexity: maintain two codebases
|
|
25
|
+
|
|
26
|
+
### Kappa Architecture
|
|
27
|
+
- Stream-only processing
|
|
28
|
+
- Single codebase for batch + real-time
|
|
29
|
+
- Reprocessing via replay
|
|
30
|
+
- Simpler than Lambda
|
|
31
|
+
|
|
32
|
+
### Medallion Architecture
|
|
33
|
+
- **Bronze**: Raw data (append-only)
|
|
34
|
+
- **Silver**: Cleaned, conformed data
|
|
35
|
+
- **Gold**: Business-level aggregations
|
|
36
|
+
- Databricks pattern
|
|
37
|
+
|
|
38
|
+
## Orchestration Patterns
|
|
39
|
+
|
|
40
|
+
### DAG-Based Orchestration
|
|
41
|
+
- Airflow, Prefect, Dagster
|
|
42
|
+
- Task dependencies as DAG
|
|
43
|
+
- Retries, backfills, scheduling
|
|
44
|
+
|
|
45
|
+
### Event-Driven Orchestration
|
|
46
|
+
- Kafka, Pub/Sub triggers
|
|
47
|
+
- Real-time, low-latency
|
|
48
|
+
- Decoupled producers/consumers
|
|
49
|
+
|
|
50
|
+
### Hybrid Orchestration
|
|
51
|
+
- Scheduled batch + event-driven streams
|
|
52
|
+
- Example: Airflow DAG triggered by Kafka event
|
|
53
|
+
|
|
54
|
+
## Data Quality Frameworks
|
|
55
|
+
|
|
56
|
+
### Data Contracts (CRITICAL)
|
|
57
|
+
- Define schema, freshness, volume expectations
|
|
58
|
+
- Producer-consumer agreement
|
|
59
|
+
- Break build on violation
|
|
60
|
+
|
|
61
|
+
### Validation Frameworks
|
|
62
|
+
- **Great Expectations**: Python-based expectations
|
|
63
|
+
- **dbt tests**: SQL-based tests
|
|
64
|
+
- **Soda**: YAML-based checks
|
|
65
|
+
|
|
66
|
+
### Data Lineage
|
|
67
|
+
- Track data origin and transformations
|
|
68
|
+
- Debug data quality issues
|
|
69
|
+
- Compliance and auditing
|
|
70
|
+
|
|
71
|
+
## Idempotency Patterns
|
|
72
|
+
|
|
73
|
+
### Idempotent Design (CRITICAL)
|
|
74
|
+
- Same input → same output (no side effects)
|
|
75
|
+
- Upserts instead of inserts
|
|
76
|
+
- Partition replacement instead of append
|
|
77
|
+
|
|
78
|
+
### Deduplication
|
|
79
|
+
- Use unique keys
|
|
80
|
+
- Window-based deduplication
|
|
81
|
+
- Consumer group offset management
|
|
82
|
+
|
|
83
|
+
## References
|
|
84
|
+
- [Data Engineering Design Patterns](https://www.oreilly.com/library/view/data-engineering-design/9781098130725/)
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pipeline-guards
|
|
3
|
+
description: Safety constraints and quality gates for pipeline and workflow execution
|
|
4
|
+
scope: core
|
|
5
|
+
context: fork
|
|
6
|
+
user-invocable: false
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Pipeline Guards Skill
|
|
10
|
+
|
|
11
|
+
Defines mandatory safety constraints for all pipeline, workflow, and iterative execution within the oh-my-customcodex system. Prevents infinite loops, enforces timeouts, and establishes quality gates.
|
|
12
|
+
|
|
13
|
+
**System-wide** — these guards apply to dag-orchestration, worker-reviewer-pipeline, and any iterative process.
|
|
14
|
+
|
|
15
|
+
## Guard Limits
|
|
16
|
+
|
|
17
|
+
| Guard | Default | Hard Cap | Applies To |
|
|
18
|
+
|-------|---------|----------|------------|
|
|
19
|
+
| Max iterations | 3 | 5 | worker-reviewer-pipeline |
|
|
20
|
+
| Max DAG nodes | 20 | 30 | dag-orchestration |
|
|
21
|
+
| Max parallel agents | 4 | 5 | R009 (all pipelines) |
|
|
22
|
+
| Timeout per node | 300s | 600s | dag-orchestration nodes |
|
|
23
|
+
| Timeout per pipeline | 900s | 1800s | worker-reviewer-pipeline |
|
|
24
|
+
| Max retry count | 2 | 3 | Failure retry strategies |
|
|
25
|
+
| Max PR improvement items | 20 | 50 | pr-auto-improve |
|
|
26
|
+
| Max auto-improve items | 20 | 50 | omcodex:auto-improve |
|
|
27
|
+
|
|
28
|
+
## Enforcement
|
|
29
|
+
|
|
30
|
+
Guards are enforced at two levels:
|
|
31
|
+
|
|
32
|
+
### Level 1: Skill-Level (Soft)
|
|
33
|
+
Each skill checks guard limits before execution:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Before starting pipeline:
|
|
37
|
+
1. Check max_iterations ≤ hard cap
|
|
38
|
+
2. Check timeout ≤ hard cap
|
|
39
|
+
3. Check node count ≤ hard cap
|
|
40
|
+
If any exceeded → warn user, use hard cap value
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Level 2: Hook-Level (Hard)
|
|
44
|
+
The stuck-detector hook monitors for guard violations:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
PostToolUse → check:
|
|
48
|
+
- Iteration count > max_iterations?
|
|
49
|
+
- Elapsed time > timeout?
|
|
50
|
+
- Same error repeated > max_retry?
|
|
51
|
+
If any → emit advisory to stderr
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Quality Gates
|
|
55
|
+
|
|
56
|
+
### Pipeline Quality Gate
|
|
57
|
+
```
|
|
58
|
+
[Quality Gate Check]
|
|
59
|
+
├── Critical issues: {count} (must be 0)
|
|
60
|
+
├── Major issues: {count} (must be ≤ threshold)
|
|
61
|
+
├── Minor issues: {count} (informational)
|
|
62
|
+
└── Gate: PASS | FAIL
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### DAG Completion Gate
|
|
66
|
+
```
|
|
67
|
+
[DAG Completion Gate]
|
|
68
|
+
├── Nodes completed: {n}/{total}
|
|
69
|
+
├── Nodes failed: {count}
|
|
70
|
+
├── Nodes skipped: {count}
|
|
71
|
+
└── Gate: PASS | PARTIAL | FAIL
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Escalation Integration
|
|
75
|
+
|
|
76
|
+
When guards are triggered, they integrate with existing advisory systems:
|
|
77
|
+
|
|
78
|
+
| Event | Action |
|
|
79
|
+
|-------|--------|
|
|
80
|
+
| Max iterations reached | → stuck-recovery advisory |
|
|
81
|
+
| Repeated failures | → model-escalation advisory |
|
|
82
|
+
| Timeout approaching (80%) | → warn user, suggest early termination |
|
|
83
|
+
| Hard cap hit | → force stop, report to user |
|
|
84
|
+
|
|
85
|
+
## Guard Configuration
|
|
86
|
+
|
|
87
|
+
Pipelines can override defaults (within hard caps):
|
|
88
|
+
|
|
89
|
+
```yaml
|
|
90
|
+
# In pipeline/workflow spec
|
|
91
|
+
guards:
|
|
92
|
+
max_iterations: 4 # Override default 3, cannot exceed 5
|
|
93
|
+
timeout_per_node: 120 # Override default 300s
|
|
94
|
+
timeout_pipeline: 600 # Override default 900s
|
|
95
|
+
quality_gate: all_pass # all_pass | majority_pass
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Kill Switch
|
|
99
|
+
|
|
100
|
+
When a pipeline or workflow must be terminated:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
[Kill Switch] Activated
|
|
104
|
+
├── Reason: {max_iterations | timeout | user_request | stuck_detected}
|
|
105
|
+
├── Pipeline: {name}
|
|
106
|
+
├── Progress: {completed}/{total} steps
|
|
107
|
+
├── Preserved state: /tmp/.codex-pipeline-$PPID.json
|
|
108
|
+
└── Action: Stopped gracefully, state saved for resume
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
The kill switch:
|
|
112
|
+
1. Signals all running agents to complete current operation
|
|
113
|
+
2. Does NOT terminate mid-write (waits for current tool call)
|
|
114
|
+
3. Saves pipeline state for potential resume
|
|
115
|
+
4. Reports final status to user
|
|
116
|
+
|
|
117
|
+
## State Preservation
|
|
118
|
+
|
|
119
|
+
On guard-triggered termination:
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"pipeline": "feature-review",
|
|
124
|
+
"terminated_at": "2026-03-07T10:15:00Z",
|
|
125
|
+
"reason": "max_iterations_reached",
|
|
126
|
+
"completed_iterations": 3,
|
|
127
|
+
"last_verdict": "FAIL",
|
|
128
|
+
"remaining_issues": [
|
|
129
|
+
{"severity": "major", "file": "src/auth.ts", "line": 42, "description": "..."}
|
|
130
|
+
],
|
|
131
|
+
"worker_last_output": "...",
|
|
132
|
+
"resumable": true
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Display Format
|
|
137
|
+
|
|
138
|
+
Guard warnings appear inline:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
[Guard] ⚠ Iteration 3/3 — final attempt
|
|
142
|
+
[Guard] ⚠ Timeout 80% (240s/300s) — consider early termination
|
|
143
|
+
[Guard] 🛑 Max iterations reached — pipeline stopped
|
|
144
|
+
[Guard] 🛑 Hard timeout (600s) — force stop
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Integration
|
|
148
|
+
|
|
149
|
+
| Rule/Skill | Integration |
|
|
150
|
+
|------------|-------------|
|
|
151
|
+
| R009 | Max parallel agents enforced (hard cap: 5, soft default: 4) |
|
|
152
|
+
| R010 | Guards run in orchestrator only |
|
|
153
|
+
| R015 | Guard warnings displayed transparently |
|
|
154
|
+
| dag-orchestration | Node count and timeout limits |
|
|
155
|
+
| worker-reviewer-pipeline | Iteration and pipeline timeout limits |
|
|
156
|
+
| pr-auto-improve | Improvement item count limits |
|
|
157
|
+
| omcodex:auto-improve | Auto-improve item count limits |
|
|
158
|
+
| stuck-recovery | Guard triggers feed into stuck detection |
|
|
159
|
+
| model-escalation | Repeated failures trigger escalation advisory |
|
|
160
|
+
|
|
161
|
+
## Override Policy
|
|
162
|
+
|
|
163
|
+
- Defaults can be overridden in pipeline spec (within hard caps)
|
|
164
|
+
- Hard caps can ONLY be changed by modifying this skill file
|
|
165
|
+
- User cannot bypass hard caps at runtime
|
|
166
|
+
- All overrides are logged and displayed (R015)
|
|
167
|
+
|
|
168
|
+
## Limitations
|
|
169
|
+
|
|
170
|
+
- Guards are advisory at skill level, hard at hook level
|
|
171
|
+
- Cannot prevent infinite loops in agent reasoning (only tool call patterns)
|
|
172
|
+
- State preservation is best-effort (process crash = state loss)
|
|
173
|
+
- Resume from saved state requires user confirmation
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: post-release-followup
|
|
3
|
+
description: Analyze release workflow findings and recommend follow-up actions — execute immediately or register as issues
|
|
4
|
+
scope: harness
|
|
5
|
+
user-invocable: false
|
|
6
|
+
effort: medium
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Post-Release Follow-up
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
After PR creation in the auto-dev release workflow, collect unaddressed findings and present actionable follow-up recommendations. The user chooses: execute now, register as issues, or skip.
|
|
14
|
+
|
|
15
|
+
## Workflow
|
|
16
|
+
|
|
17
|
+
### 1. Collect Follow-up Candidates
|
|
18
|
+
|
|
19
|
+
Gather unfinished work from multiple sources:
|
|
20
|
+
|
|
21
|
+
**Source A — Remaining open issues**:
|
|
22
|
+
- Run: `gh issue list --label verify-done --state open --json number,title,labels`
|
|
23
|
+
- These are triaged issues NOT included in the current release
|
|
24
|
+
|
|
25
|
+
**Source B — Deep-verify findings**:
|
|
26
|
+
- Read the latest deep-verify output from `.codex/outputs/sessions/{today}/`
|
|
27
|
+
- Extract any MEDIUM or LOW severity findings that were flagged but not fixed
|
|
28
|
+
|
|
29
|
+
**Source C — Triage deferred items**:
|
|
30
|
+
- Read the latest professor-triage output from `.codex/outputs/sessions/{today}/`
|
|
31
|
+
- Extract items explicitly marked as deferred or P3
|
|
32
|
+
|
|
33
|
+
**Source D — TODO markers in changed files**:
|
|
34
|
+
- Run: `git diff develop...HEAD --name-only` to get changed files
|
|
35
|
+
- Search changed files for `TODO`, `FIXME`, `HACK` markers added in this release
|
|
36
|
+
|
|
37
|
+
**Source E — PR review feedback**:
|
|
38
|
+
- Run: `gh api repos/{owner}/{repo}/pulls/{pr_number}/comments` and `gh api repos/{owner}/{repo}/issues/{pr_number}/comments`
|
|
39
|
+
- Parse omc_pr_analyzer bot comments (Senior Architect, Project Colleague, Professor Synthesis)
|
|
40
|
+
- Extract findings categorized as Critical, High, Medium
|
|
41
|
+
- Identify: required fixes, recommended improvements, structural concerns
|
|
42
|
+
|
|
43
|
+
### 2. Deduplicate and Categorize
|
|
44
|
+
|
|
45
|
+
Remove duplicates (same issue referenced from multiple sources). Categorize:
|
|
46
|
+
|
|
47
|
+
| Category | Criteria | Default Action |
|
|
48
|
+
|----------|----------|----------------|
|
|
49
|
+
| **Immediate** | P1/P2 remaining issues, MEDIUM+ verify findings, Critical/High PR review findings | Execute now |
|
|
50
|
+
| **Trackable** | P3 issues, LOW verify findings, new TODOs, Medium PR review findings | Register as issue |
|
|
51
|
+
| **Informational** | Already-tracked issues, cosmetic notes | Skip |
|
|
52
|
+
|
|
53
|
+
### 3. Present to User
|
|
54
|
+
|
|
55
|
+
Display follow-up summary:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
[Follow-up] {n}개 후속 작업 발견
|
|
59
|
+
|
|
60
|
+
━━━ 즉시 실행 추천 ({count}개) ━━━
|
|
61
|
+
1. {description} — 출처: {source}
|
|
62
|
+
2. {description} — 출처: {source}
|
|
63
|
+
|
|
64
|
+
━━━ 이슈 등록 추천 ({count}개) ━━━
|
|
65
|
+
3. {description} — 출처: {source}
|
|
66
|
+
4. {description} — 출처: {source}
|
|
67
|
+
|
|
68
|
+
━━━ 참고 사항 ({count}개) ━━━
|
|
69
|
+
5. {description} — 이미 #{issue_number}로 추적 중
|
|
70
|
+
|
|
71
|
+
선택:
|
|
72
|
+
[A] 추천대로 실행 (즉시 실행 + 이슈 등록)
|
|
73
|
+
[B] 모두 즉시 실행
|
|
74
|
+
[C] 모두 이슈 등록
|
|
75
|
+
[D] 개별 선택 (항목별로 질문)
|
|
76
|
+
[E] 건너뛰기
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Use AskUserQuestion (or equivalent user prompt) to get the choice.
|
|
80
|
+
|
|
81
|
+
### 4. Process User Choice
|
|
82
|
+
|
|
83
|
+
**Option A (추천대로)**:
|
|
84
|
+
- "Immediate" items → delegate to appropriate specialist agents for execution
|
|
85
|
+
- "Trackable" items → create GitHub issues via `gh issue create`
|
|
86
|
+
- "Informational" items → skip
|
|
87
|
+
|
|
88
|
+
**Option B (모두 즉시 실행)**:
|
|
89
|
+
- All Immediate + Trackable items → delegate to specialist agents
|
|
90
|
+
- Follow implementation patterns from the release workflow
|
|
91
|
+
|
|
92
|
+
**Option C (모두 이슈 등록)**:
|
|
93
|
+
- All Immediate + Trackable items → `gh issue create` with appropriate labels
|
|
94
|
+
- Label: `professor` for auto-triage in next workflow run
|
|
95
|
+
|
|
96
|
+
**Option D (개별 선택)**:
|
|
97
|
+
- For each item, ask: `[{n}] {description} — 실행(E) / 이슈(I) / 건너뛰기(S)?`
|
|
98
|
+
- Process each per user choice
|
|
99
|
+
|
|
100
|
+
**Option E (건너뛰기)**:
|
|
101
|
+
- Skip all follow-up actions
|
|
102
|
+
- Complete workflow
|
|
103
|
+
|
|
104
|
+
### 5. Report
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
[Follow-up Complete]
|
|
108
|
+
├── 즉시 실행: {n}개 완료
|
|
109
|
+
├── 이슈 등록: {n}개 (#{numbers})
|
|
110
|
+
├── 건너뛰기: {n}개
|
|
111
|
+
└── 총 처리: {total}개
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Issue Creation Template
|
|
115
|
+
|
|
116
|
+
When creating follow-up issues:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
gh issue create \
|
|
120
|
+
--title "{concise description}" \
|
|
121
|
+
--body "## Source\n\nDiscovered during v{version} release workflow.\n\n## Context\n\n{detailed context from triage/verify}\n\n## Suggested Action\n\n{recommendation}" \
|
|
122
|
+
--label "professor"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Add priority label (`P1`, `P2`, `P3`) based on categorization.
|
|
126
|
+
|
|
127
|
+
## Notes
|
|
128
|
+
|
|
129
|
+
- This skill runs in the main conversation context (via workflow skill step)
|
|
130
|
+
- User interaction is expected — this is NOT a fully automated step
|
|
131
|
+
- All file modifications delegated to specialist subagents per R010
|
|
132
|
+
- Issue creation uses `gh` CLI directly (read-only operation pattern)
|
|
133
|
+
- If no follow-up candidates found, report "No follow-up actions needed" and complete
|
|
134
|
+
- PR review feedback is available shortly after PR creation — the omc_pr_analyzer bot comments automatically
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: postgres-best-practices
|
|
3
|
+
description: PostgreSQL best practices for database design, query optimization, and performance tuning
|
|
4
|
+
scope: core
|
|
5
|
+
user-invocable: false
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# PostgreSQL Best Practices
|
|
9
|
+
|
|
10
|
+
## Query Optimization
|
|
11
|
+
|
|
12
|
+
### EXPLAIN ANALYZE (CRITICAL)
|
|
13
|
+
- Use `EXPLAIN ANALYZE` to understand query plans
|
|
14
|
+
- Identify slow operations: Seq Scan, Nested Loop
|
|
15
|
+
- Check row estimates vs actual rows
|
|
16
|
+
- Monitor buffers: shared hit vs read
|
|
17
|
+
|
|
18
|
+
### Indexing (CRITICAL)
|
|
19
|
+
- B-tree: default, most use cases
|
|
20
|
+
- GIN: JSONB, arrays, full-text search
|
|
21
|
+
- GiST: geometry, range types
|
|
22
|
+
- BRIN: large sequential tables (time-series)
|
|
23
|
+
- Partial indexes: filtered queries
|
|
24
|
+
- Covering indexes (INCLUDE): avoid heap fetches
|
|
25
|
+
|
|
26
|
+
### Index Maintenance
|
|
27
|
+
- Create indexes concurrently: `CREATE INDEX CONCURRENTLY`
|
|
28
|
+
- Monitor usage: `pg_stat_user_indexes`
|
|
29
|
+
- Remove unused indexes
|
|
30
|
+
- Reindex bloated indexes
|
|
31
|
+
|
|
32
|
+
## Table Design
|
|
33
|
+
|
|
34
|
+
### Partitioning (HIGH)
|
|
35
|
+
- Range partitioning: time-series data
|
|
36
|
+
- List partitioning: categorical data
|
|
37
|
+
- Hash partitioning: even distribution
|
|
38
|
+
- Declarative partitioning (PG 10+)
|
|
39
|
+
|
|
40
|
+
### Data Types
|
|
41
|
+
- Use appropriate types (int vs bigint, varchar vs text)
|
|
42
|
+
- JSONB for semi-structured data
|
|
43
|
+
- Arrays for multi-value columns
|
|
44
|
+
- UUIDs for distributed IDs
|
|
45
|
+
|
|
46
|
+
## Performance Tuning
|
|
47
|
+
|
|
48
|
+
### Vacuum and Autovacuum
|
|
49
|
+
- Autovacuum: default enabled
|
|
50
|
+
- Monitor bloat: `pg_stat_user_tables`
|
|
51
|
+
- Tune autovacuum thresholds
|
|
52
|
+
- Manual VACUUM for large updates
|
|
53
|
+
|
|
54
|
+
### Connection Pooling
|
|
55
|
+
- Use pgBouncer or PgPool
|
|
56
|
+
- Transaction pooling for short transactions
|
|
57
|
+
- Session pooling for long transactions
|
|
58
|
+
- Max connections: tune based on workload
|
|
59
|
+
|
|
60
|
+
### Configuration
|
|
61
|
+
- `shared_buffers`: 25% of RAM
|
|
62
|
+
- `work_mem`: per operation, tune carefully
|
|
63
|
+
- `effective_cache_size`: 50-75% of RAM
|
|
64
|
+
- `random_page_cost`: 1.1 for SSD
|
|
65
|
+
|
|
66
|
+
## References
|
|
67
|
+
- [PostgreSQL Performance Optimization](https://wiki.postgresql.org/wiki/Performance_Optimization)
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pr-auto-improve
|
|
3
|
+
description: Opt-in post-PR analysis and improvement suggestions for code quality enhancement
|
|
4
|
+
scope: core
|
|
5
|
+
user-invocable: false
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# PR Auto-Improvement Skill
|
|
9
|
+
|
|
10
|
+
Analyzes pull requests after creation and suggests targeted improvements. **Strictly opt-in** — never runs automatically. User must explicitly request PR improvement.
|
|
11
|
+
|
|
12
|
+
**Advisory-only** — suggests improvements, never force-pushes or modifies PRs without approval (R010).
|
|
13
|
+
|
|
14
|
+
## Activation
|
|
15
|
+
|
|
16
|
+
| Trigger | Behavior |
|
|
17
|
+
|---------|----------|
|
|
18
|
+
| User says "improve this PR" | Activate analysis |
|
|
19
|
+
| User says "review PR #N" | Activate analysis |
|
|
20
|
+
| PR created automatically | Do NOT activate (opt-in only) |
|
|
21
|
+
| CI fails on PR | Suggest activation, do not auto-run |
|
|
22
|
+
|
|
23
|
+
## Analysis Pipeline
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
1. Fetch PR diff (gh pr diff)
|
|
27
|
+
2. Categorize changes by type:
|
|
28
|
+
- New code → check patterns, naming, structure
|
|
29
|
+
- Modified code → check consistency, regression risk
|
|
30
|
+
- Deleted code → check for orphaned references
|
|
31
|
+
3. Run improvement checks (see checklist below)
|
|
32
|
+
4. Generate improvement report
|
|
33
|
+
5. User approves → create follow-up commit(s)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Improvement Checklist
|
|
37
|
+
|
|
38
|
+
| Category | Checks |
|
|
39
|
+
|----------|--------|
|
|
40
|
+
| **Code Quality** | Naming consistency, dead code, duplication, complexity |
|
|
41
|
+
| **Type Safety** | Missing types, `any` usage, assertion safety |
|
|
42
|
+
| **Error Handling** | Unhandled promises, missing try-catch, error propagation |
|
|
43
|
+
| **Testing** | Missing test coverage for new functions, edge cases |
|
|
44
|
+
| **Documentation** | Missing JSDoc for public APIs, outdated README refs |
|
|
45
|
+
| **Security** | Hardcoded values, injection risks, permission checks |
|
|
46
|
+
| **Performance** | Unnecessary re-renders, N+1 queries, missing indexes |
|
|
47
|
+
|
|
48
|
+
## Report Format
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
[PR Auto-Improve] PR #{number} — {title}
|
|
52
|
+
├── Files analyzed: {count}
|
|
53
|
+
├── Improvements found: {count}
|
|
54
|
+
│
|
|
55
|
+
├── [Code Quality] ({count} items)
|
|
56
|
+
│ ├── {file:line} — {description}
|
|
57
|
+
│ └── {file:line} — {description}
|
|
58
|
+
│
|
|
59
|
+
├── [Testing] ({count} items)
|
|
60
|
+
│ └── {file} — Missing test for {function}
|
|
61
|
+
│
|
|
62
|
+
├── [Documentation] ({count} items)
|
|
63
|
+
│ └── {file:line} — {description}
|
|
64
|
+
│
|
|
65
|
+
└── Estimated effort: {low|medium|high}
|
|
66
|
+
|
|
67
|
+
Apply improvements? [Y/n/select]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Improvement Modes
|
|
71
|
+
|
|
72
|
+
| Mode | Behavior |
|
|
73
|
+
|------|----------|
|
|
74
|
+
| `all` | Apply all suggested improvements |
|
|
75
|
+
| `select` | User picks which improvements to apply |
|
|
76
|
+
| `report` | Report only, no changes (default) |
|
|
77
|
+
|
|
78
|
+
## Implementation Flow
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
User: "improve PR #215"
|
|
82
|
+
→ Orchestrator activates pr-auto-improve
|
|
83
|
+
→ Fetch PR diff via mgr-gitnerd
|
|
84
|
+
→ Analyze with appropriate expert agent(s)
|
|
85
|
+
→ Generate report
|
|
86
|
+
→ User selects improvements
|
|
87
|
+
→ Delegate fixes to specialist agents (R010)
|
|
88
|
+
→ mgr-gitnerd creates follow-up commit
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Agent Selection for Fixes
|
|
92
|
+
|
|
93
|
+
| File Type | Agent |
|
|
94
|
+
|-----------|-------|
|
|
95
|
+
| *.ts, *.tsx | lang-typescript-expert |
|
|
96
|
+
| *.py | lang-python-expert |
|
|
97
|
+
| *.go | lang-golang-expert |
|
|
98
|
+
| *.kt | lang-kotlin-expert |
|
|
99
|
+
| *.java | lang-java21-expert |
|
|
100
|
+
| *.rs | lang-rust-expert |
|
|
101
|
+
| Test files | qa-engineer |
|
|
102
|
+
| Docs, README | arch-documenter |
|
|
103
|
+
| Mixed | Multiple agents in parallel (R009) |
|
|
104
|
+
|
|
105
|
+
## Integration
|
|
106
|
+
|
|
107
|
+
| Rule | Integration |
|
|
108
|
+
|------|-------------|
|
|
109
|
+
| R009 | Multiple file fixes execute in parallel |
|
|
110
|
+
| R010 | Orchestrator coordinates analysis and fix delegation |
|
|
111
|
+
| R015 | Full transparency on what improvements are suggested and why |
|
|
112
|
+
| R018 | 3+ fix agents → Agent Teams for coordination |
|
|
113
|
+
| worker-reviewer-pipeline | Can chain: auto-improve → worker-reviewer for critical fixes |
|
|
114
|
+
| pipeline-guards | Improvement count capped by guard limits |
|
|
115
|
+
|
|
116
|
+
## Opt-In Safeguards
|
|
117
|
+
|
|
118
|
+
- **NEVER** auto-activates on PR creation
|
|
119
|
+
- **NEVER** pushes changes without user approval
|
|
120
|
+
- **NEVER** modifies PR description or labels without approval
|
|
121
|
+
- Report mode is default; changes require explicit "apply" command
|
|
122
|
+
- All git operations go through mgr-gitnerd (R010)
|
|
123
|
+
|
|
124
|
+
## Limitations
|
|
125
|
+
|
|
126
|
+
- Analyzes only the PR diff, not the entire codebase
|
|
127
|
+
- Cannot detect architectural issues (use dev-review for that)
|
|
128
|
+
- Max 50 files per analysis (skip larger PRs with warning)
|
|
129
|
+
- Does not run tests (delegates to qa-engineer if needed)
|