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,438 @@
|
|
|
1
|
+
# Agent Triggers for Intent Detection
|
|
2
|
+
# Used by intent-detection skill to match user input to agents
|
|
3
|
+
|
|
4
|
+
# Score weights
|
|
5
|
+
weights:
|
|
6
|
+
keyword: 40
|
|
7
|
+
file_pattern: 30
|
|
8
|
+
action: 20
|
|
9
|
+
context: 10
|
|
10
|
+
|
|
11
|
+
# Action verbs (both Korean and English)
|
|
12
|
+
action_verbs:
|
|
13
|
+
review:
|
|
14
|
+
korean: [리뷰, 검토, 확인, 체크]
|
|
15
|
+
english: [review, check, analyze, audit]
|
|
16
|
+
create:
|
|
17
|
+
korean: [생성, 만들어, 추가]
|
|
18
|
+
english: [create, make, add, new]
|
|
19
|
+
fix:
|
|
20
|
+
korean: [수정, 고쳐, 버그, 에러]
|
|
21
|
+
english: [fix, repair, debug, solve]
|
|
22
|
+
refactor:
|
|
23
|
+
korean: [리팩토링, 개선, 정리]
|
|
24
|
+
english: [refactor, improve, clean, optimize]
|
|
25
|
+
explain:
|
|
26
|
+
korean: [설명, 알려줘, 뭐야]
|
|
27
|
+
english: [explain, what, how, why]
|
|
28
|
+
|
|
29
|
+
# Agent definitions
|
|
30
|
+
agents:
|
|
31
|
+
# SW Engineers - Language
|
|
32
|
+
lang-golang-expert:
|
|
33
|
+
keywords:
|
|
34
|
+
korean: [고, 고랭, "go 언어"]
|
|
35
|
+
english: [go, golang]
|
|
36
|
+
file_patterns: ["*.go", "go.mod", "go.sum"]
|
|
37
|
+
supported_actions: [review, fix, refactor, explain]
|
|
38
|
+
base_confidence: 40
|
|
39
|
+
|
|
40
|
+
lang-python-expert:
|
|
41
|
+
keywords:
|
|
42
|
+
korean: [파이썬, 파이선]
|
|
43
|
+
english: [python, py]
|
|
44
|
+
file_patterns: ["*.py", "requirements.txt", "pyproject.toml", "setup.py", "Pipfile"]
|
|
45
|
+
supported_actions: [review, fix, refactor, explain]
|
|
46
|
+
base_confidence: 40
|
|
47
|
+
|
|
48
|
+
lang-rust-expert:
|
|
49
|
+
keywords:
|
|
50
|
+
korean: [러스트]
|
|
51
|
+
english: [rust, rs]
|
|
52
|
+
file_patterns: ["*.rs", "Cargo.toml", "Cargo.lock"]
|
|
53
|
+
supported_actions: [review, fix, refactor, explain]
|
|
54
|
+
base_confidence: 40
|
|
55
|
+
|
|
56
|
+
lang-kotlin-expert:
|
|
57
|
+
keywords:
|
|
58
|
+
korean: [코틀린]
|
|
59
|
+
english: [kotlin, kt]
|
|
60
|
+
file_patterns: ["*.kt", "*.kts", "build.gradle.kts"]
|
|
61
|
+
supported_actions: [review, fix, refactor, explain]
|
|
62
|
+
base_confidence: 40
|
|
63
|
+
|
|
64
|
+
lang-typescript-expert:
|
|
65
|
+
keywords:
|
|
66
|
+
korean: [타입스크립트]
|
|
67
|
+
english: [typescript, ts]
|
|
68
|
+
file_patterns: ["*.ts", "*.tsx", "tsconfig.json"]
|
|
69
|
+
supported_actions: [review, fix, refactor, explain]
|
|
70
|
+
base_confidence: 40
|
|
71
|
+
|
|
72
|
+
lang-java21-expert:
|
|
73
|
+
keywords:
|
|
74
|
+
korean: [자바, 자바21]
|
|
75
|
+
english: [java, java21, jdk21, jdk]
|
|
76
|
+
file_patterns: ["*.java", "pom.xml", "build.gradle"]
|
|
77
|
+
supported_actions: [review, create, fix, refactor]
|
|
78
|
+
base_confidence: 35
|
|
79
|
+
|
|
80
|
+
# SW Engineers - Frontend
|
|
81
|
+
fe-vercel-agent:
|
|
82
|
+
keywords:
|
|
83
|
+
korean: [리액트, 버셀, 넥스트]
|
|
84
|
+
english: [react, vercel, next, nextjs]
|
|
85
|
+
file_patterns: ["*.jsx", "*.tsx", "next.config.*", "vercel.json"]
|
|
86
|
+
supported_actions: [review, create, fix, refactor]
|
|
87
|
+
base_confidence: 40
|
|
88
|
+
|
|
89
|
+
fe-vuejs-agent:
|
|
90
|
+
keywords:
|
|
91
|
+
korean: [뷰, 뷰제이에스, 피니아]
|
|
92
|
+
english: [vue, vuejs, "vue.js", vue3, pinia, "vue router"]
|
|
93
|
+
file_patterns: ["*.vue", "vite.config.*", "vue.config.*"]
|
|
94
|
+
supported_actions: [review, create, fix, refactor]
|
|
95
|
+
base_confidence: 40
|
|
96
|
+
|
|
97
|
+
fe-svelte-agent:
|
|
98
|
+
keywords:
|
|
99
|
+
korean: [스벨트, 스벨트킷]
|
|
100
|
+
english: [svelte, sveltekit, "svelte kit"]
|
|
101
|
+
file_patterns: ["*.svelte", "svelte.config.*"]
|
|
102
|
+
supported_actions: [review, create, fix, refactor]
|
|
103
|
+
base_confidence: 40
|
|
104
|
+
|
|
105
|
+
fe-flutter-agent:
|
|
106
|
+
keywords:
|
|
107
|
+
korean: [플러터, 다트, 모바일앱, 위젯]
|
|
108
|
+
english: [flutter, dart, riverpod, bloc, widget, pubspec, "flutter app"]
|
|
109
|
+
file_patterns: ["*.dart", "pubspec.yaml", "pubspec.lock", "analysis_options.yaml"]
|
|
110
|
+
supported_actions: [review, create, fix, refactor, test]
|
|
111
|
+
base_confidence: 40
|
|
112
|
+
|
|
113
|
+
fe-design-expert:
|
|
114
|
+
keywords:
|
|
115
|
+
korean: [디자인, 타이포그래피, 색상, 모션, UX라이팅, 디자인시스템, 디자인리뷰]
|
|
116
|
+
english: [design, typography, color, motion, "ux writing", "design system", "design review", impeccable, "design audit", "ai slop"]
|
|
117
|
+
file_patterns: ["*.css", "*.scss", "*.less", "tailwind.config.*"]
|
|
118
|
+
supported_actions: [review, audit, critique, polish, normalize]
|
|
119
|
+
base_confidence: 40
|
|
120
|
+
|
|
121
|
+
# SW Engineers - Backend
|
|
122
|
+
be-fastapi-expert:
|
|
123
|
+
keywords:
|
|
124
|
+
korean: [패스트에이피아이, 패스트api]
|
|
125
|
+
english: [fastapi, starlette]
|
|
126
|
+
file_patterns: ["main.py", "app.py", "routers/*.py"]
|
|
127
|
+
supported_actions: [review, create, fix, refactor]
|
|
128
|
+
base_confidence: 35
|
|
129
|
+
|
|
130
|
+
be-springboot-expert:
|
|
131
|
+
keywords:
|
|
132
|
+
korean: [스프링, 스프링부트]
|
|
133
|
+
english: [spring, springboot, "spring boot", java]
|
|
134
|
+
file_patterns: ["*.java", "pom.xml", "build.gradle", "application.yml", "application.properties"]
|
|
135
|
+
supported_actions: [review, create, fix, refactor]
|
|
136
|
+
base_confidence: 35
|
|
137
|
+
|
|
138
|
+
be-go-backend-expert:
|
|
139
|
+
keywords:
|
|
140
|
+
korean: [고 백엔드, "go 백엔드", "go api"]
|
|
141
|
+
english: ["go backend", "go api", gin, echo, fiber]
|
|
142
|
+
file_patterns: ["*.go", "go.mod"]
|
|
143
|
+
supported_actions: [review, create, fix, refactor]
|
|
144
|
+
base_confidence: 35
|
|
145
|
+
|
|
146
|
+
# SW Engineers - Backend (continued)
|
|
147
|
+
be-express-expert:
|
|
148
|
+
keywords:
|
|
149
|
+
korean: [익스프레스, 노드]
|
|
150
|
+
english: [express, expressjs, "express.js", node]
|
|
151
|
+
file_patterns: ["*.js", "*.ts", "package.json", "app.js", "server.js"]
|
|
152
|
+
supported_actions: [review, create, fix, refactor]
|
|
153
|
+
base_confidence: 35
|
|
154
|
+
|
|
155
|
+
be-nestjs-expert:
|
|
156
|
+
keywords:
|
|
157
|
+
korean: [네스트, 네스트제이에스]
|
|
158
|
+
english: [nestjs, nest, "nest.js"]
|
|
159
|
+
file_patterns: ["*.ts", "nest-cli.json", "*.module.ts", "*.controller.ts"]
|
|
160
|
+
supported_actions: [review, create, fix, refactor]
|
|
161
|
+
base_confidence: 35
|
|
162
|
+
|
|
163
|
+
# SW Engineers - Tooling
|
|
164
|
+
tool-bun-expert:
|
|
165
|
+
keywords:
|
|
166
|
+
korean: [번, 번런타임]
|
|
167
|
+
english: [bun, bunx, "bun.js", bunfig]
|
|
168
|
+
file_patterns: ["bunfig.toml", "bun.lockb", "*.bun.ts"]
|
|
169
|
+
supported_actions: [build, test, run, migrate, review]
|
|
170
|
+
base_confidence: 40
|
|
171
|
+
|
|
172
|
+
tool-npm-expert:
|
|
173
|
+
keywords:
|
|
174
|
+
korean: [npm, 패키지, 배포, 퍼블리시]
|
|
175
|
+
english: [npm, publish, package, registry, version]
|
|
176
|
+
file_patterns: ["package.json", ".npmrc", ".npmignore"]
|
|
177
|
+
supported_actions: [publish, version, audit, pack]
|
|
178
|
+
base_confidence: 40
|
|
179
|
+
|
|
180
|
+
tool-optimizer:
|
|
181
|
+
keywords:
|
|
182
|
+
korean: [최적화, 번들, 성능, 트리쉐이킹]
|
|
183
|
+
english: [optimize, bundle, performance, "tree-shaking", "dead code"]
|
|
184
|
+
file_patterns: []
|
|
185
|
+
supported_actions: [analyze, optimize, report, bundle]
|
|
186
|
+
base_confidence: 40
|
|
187
|
+
|
|
188
|
+
# SW Engineers - Database
|
|
189
|
+
db-supabase-expert:
|
|
190
|
+
keywords:
|
|
191
|
+
korean: [수퍼베이스, 수파베이스]
|
|
192
|
+
english: [supabase, postgres, postgresql]
|
|
193
|
+
file_patterns: ["*.sql", "supabase/*"]
|
|
194
|
+
supported_actions: [review, create, fix, migrate]
|
|
195
|
+
base_confidence: 40
|
|
196
|
+
|
|
197
|
+
# SW Architects
|
|
198
|
+
arch-documenter:
|
|
199
|
+
keywords:
|
|
200
|
+
korean: [문서, 설명서, 리드미]
|
|
201
|
+
english: [document, docs, readme, documentation]
|
|
202
|
+
file_patterns: ["*.md", "README*", "CHANGELOG*"]
|
|
203
|
+
supported_actions: [create, review]
|
|
204
|
+
base_confidence: 35
|
|
205
|
+
|
|
206
|
+
arch-speckit-agent:
|
|
207
|
+
keywords:
|
|
208
|
+
korean: [스펙, 명세, 스펙키트]
|
|
209
|
+
english: [spec, specification, speckit, design]
|
|
210
|
+
file_patterns: ["*.spec.md", "*.spec.yaml", "specs/*"]
|
|
211
|
+
supported_actions: [spec, design, document]
|
|
212
|
+
base_confidence: 40
|
|
213
|
+
|
|
214
|
+
# Infra Engineers
|
|
215
|
+
infra-docker-expert:
|
|
216
|
+
keywords:
|
|
217
|
+
korean: [도커, 컨테이너]
|
|
218
|
+
english: [docker, container, dockerfile]
|
|
219
|
+
file_patterns: ["Dockerfile", "docker-compose.yml", "docker-compose.yaml", ".dockerignore"]
|
|
220
|
+
supported_actions: [review, create, fix, explain]
|
|
221
|
+
base_confidence: 40
|
|
222
|
+
|
|
223
|
+
infra-aws-expert:
|
|
224
|
+
keywords:
|
|
225
|
+
korean: [에이더블유에스, 아마존, 클라우드]
|
|
226
|
+
english: [aws, amazon, cloud, s3, ec2, lambda, ecs, eks]
|
|
227
|
+
file_patterns: ["*.tf", "serverless.yml", "template.yaml", "cloudformation.*"]
|
|
228
|
+
supported_actions: [review, create, fix, explain]
|
|
229
|
+
base_confidence: 40
|
|
230
|
+
|
|
231
|
+
# Managers
|
|
232
|
+
mgr-creator:
|
|
233
|
+
keywords:
|
|
234
|
+
korean: [에이전트 생성, 에이전트 만들어]
|
|
235
|
+
english: ["create agent", "new agent"]
|
|
236
|
+
file_patterns: []
|
|
237
|
+
supported_actions: [create]
|
|
238
|
+
base_confidence: 50
|
|
239
|
+
|
|
240
|
+
mgr-updater:
|
|
241
|
+
keywords:
|
|
242
|
+
korean: [업데이트, 동기화]
|
|
243
|
+
english: [update, sync]
|
|
244
|
+
file_patterns: []
|
|
245
|
+
supported_actions: [review, fix]
|
|
246
|
+
base_confidence: 50
|
|
247
|
+
|
|
248
|
+
mgr-supplier:
|
|
249
|
+
keywords:
|
|
250
|
+
korean: [검사, 의존성, 감사]
|
|
251
|
+
english: [audit, check, dependency, validate]
|
|
252
|
+
file_patterns: []
|
|
253
|
+
supported_actions: [review]
|
|
254
|
+
base_confidence: 50
|
|
255
|
+
|
|
256
|
+
# QA Team
|
|
257
|
+
qa-planner:
|
|
258
|
+
keywords:
|
|
259
|
+
korean: [테스트 계획, QA 계획, 테스트 전략]
|
|
260
|
+
english: ["test plan", "qa plan", "test strategy", "test scenarios"]
|
|
261
|
+
file_patterns: []
|
|
262
|
+
supported_actions: [plan, scenarios, criteria]
|
|
263
|
+
base_confidence: 40
|
|
264
|
+
|
|
265
|
+
qa-writer:
|
|
266
|
+
keywords:
|
|
267
|
+
korean: [테스트 케이스, 테스트 문서, 테스트 리포트]
|
|
268
|
+
english: ["test case", "test documentation", "test report", "qa documentation"]
|
|
269
|
+
file_patterns: []
|
|
270
|
+
supported_actions: [write, report, template]
|
|
271
|
+
base_confidence: 40
|
|
272
|
+
|
|
273
|
+
qa-engineer:
|
|
274
|
+
keywords:
|
|
275
|
+
korean: [테스트 실행, 테스트 수행, 회귀 테스트, 자동화 테스트]
|
|
276
|
+
english: ["run tests", "execute tests", "regression", "automate test", "verify fix"]
|
|
277
|
+
file_patterns: ["*_test.*", "*.spec.*", "test_*.*"]
|
|
278
|
+
supported_actions: [execute, verify, automate, regress]
|
|
279
|
+
base_confidence: 40
|
|
280
|
+
|
|
281
|
+
# QA Lead (Orchestrator)
|
|
282
|
+
qa-lead:
|
|
283
|
+
keywords:
|
|
284
|
+
korean: [품질 리드, QA 리드, 테스트 조율]
|
|
285
|
+
english: ["qa lead", "quality lead", "test coordination"]
|
|
286
|
+
file_patterns: []
|
|
287
|
+
supported_actions: [coordinate, review, lead]
|
|
288
|
+
base_confidence: 40
|
|
289
|
+
|
|
290
|
+
# System Agents
|
|
291
|
+
sys-naggy:
|
|
292
|
+
keywords:
|
|
293
|
+
korean: [할일, 태스크, 리마인드, 알림]
|
|
294
|
+
english: [todo, task, remind, reminder]
|
|
295
|
+
file_patterns: []
|
|
296
|
+
supported_actions: [list, add, done, complete, priority, remind]
|
|
297
|
+
base_confidence: 40
|
|
298
|
+
|
|
299
|
+
sys-memory-keeper:
|
|
300
|
+
keywords:
|
|
301
|
+
korean: [메모리, 기억, 저장, 회상]
|
|
302
|
+
english: [memory, remember, recall, save]
|
|
303
|
+
file_patterns: []
|
|
304
|
+
supported_actions: [save, recall, remember]
|
|
305
|
+
base_confidence: 40
|
|
306
|
+
|
|
307
|
+
# ---------------------------------------------------------------------------
|
|
308
|
+
# Research / Information Gathering (skill-based, not agent)
|
|
309
|
+
# ---------------------------------------------------------------------------
|
|
310
|
+
research-workflow:
|
|
311
|
+
keywords:
|
|
312
|
+
korean:
|
|
313
|
+
- 조사
|
|
314
|
+
- 검색
|
|
315
|
+
- 리서치
|
|
316
|
+
- 탐색
|
|
317
|
+
- 찾아
|
|
318
|
+
- 알아봐
|
|
319
|
+
- 자료
|
|
320
|
+
- 정보 수집
|
|
321
|
+
- 웹에서
|
|
322
|
+
english:
|
|
323
|
+
- research
|
|
324
|
+
- investigate
|
|
325
|
+
- search for
|
|
326
|
+
- look up
|
|
327
|
+
- gather information
|
|
328
|
+
- web fetch
|
|
329
|
+
- find out
|
|
330
|
+
- explore topic
|
|
331
|
+
file_patterns: []
|
|
332
|
+
supported_actions:
|
|
333
|
+
- search
|
|
334
|
+
- fetch
|
|
335
|
+
- investigate
|
|
336
|
+
- research
|
|
337
|
+
- analyze
|
|
338
|
+
- gather
|
|
339
|
+
base_confidence: 50
|
|
340
|
+
action_weight: 30
|
|
341
|
+
routing_rule: "MUST use codex-exec --effort xhigh when codex available, or gemini-exec when gemini available, fallback to WebFetch/WebSearch"
|
|
342
|
+
|
|
343
|
+
# ---------------------------------------------------------------------------
|
|
344
|
+
# Code Generation (hybrid workflow, skill-based)
|
|
345
|
+
# ---------------------------------------------------------------------------
|
|
346
|
+
code-generation-workflow:
|
|
347
|
+
keywords:
|
|
348
|
+
korean:
|
|
349
|
+
- 구현
|
|
350
|
+
- 만들어
|
|
351
|
+
- 생성해
|
|
352
|
+
- 작성해
|
|
353
|
+
- 스캐폴딩
|
|
354
|
+
- 보일러플레이트
|
|
355
|
+
english:
|
|
356
|
+
- implement
|
|
357
|
+
- create
|
|
358
|
+
- generate
|
|
359
|
+
- scaffold
|
|
360
|
+
- boilerplate
|
|
361
|
+
- "write code"
|
|
362
|
+
file_patterns: []
|
|
363
|
+
supported_actions:
|
|
364
|
+
- implement
|
|
365
|
+
- create
|
|
366
|
+
- generate
|
|
367
|
+
- scaffold
|
|
368
|
+
base_confidence: 30
|
|
369
|
+
action_weight: 25
|
|
370
|
+
routing_rule: "Suggest codex-exec hybrid when codex available, or gemini-exec hybrid when gemini available, for new file creation tasks"
|
|
371
|
+
|
|
372
|
+
# Managers (continued)
|
|
373
|
+
mgr-gitnerd:
|
|
374
|
+
keywords:
|
|
375
|
+
korean: [커밋, 브랜치, 푸시, 풀, 머지, 리베이스]
|
|
376
|
+
english: [git, commit, branch, pr, push, pull, merge, rebase]
|
|
377
|
+
file_patterns: [".gitignore", ".gitattributes"]
|
|
378
|
+
supported_actions: [commit, branch, pr, sync, status, push, pull, merge]
|
|
379
|
+
base_confidence: 40
|
|
380
|
+
|
|
381
|
+
mgr-sauron:
|
|
382
|
+
keywords:
|
|
383
|
+
korean: [검증, 전체검증, 무결성, 사우론]
|
|
384
|
+
english: [verify, verification, sauron, "full check", "system integrity", "r017"]
|
|
385
|
+
file_patterns: []
|
|
386
|
+
supported_actions: [watch, quick, report, verify]
|
|
387
|
+
base_confidence: 40
|
|
388
|
+
|
|
389
|
+
mgr-claude-code-bible:
|
|
390
|
+
keywords:
|
|
391
|
+
korean: [공식문서, 바이블, 클로드코드 문서]
|
|
392
|
+
english: ["claude code docs", "official docs", bible, "code.claude.com", "native verification"]
|
|
393
|
+
file_patterns: []
|
|
394
|
+
supported_actions: [fetch, verify, check]
|
|
395
|
+
base_confidence: 40
|
|
396
|
+
|
|
397
|
+
# Master
|
|
398
|
+
planner:
|
|
399
|
+
keywords:
|
|
400
|
+
korean: [계획, 설계, 전략, 아키텍처]
|
|
401
|
+
english: [plan, architect, strategy, design]
|
|
402
|
+
file_patterns: []
|
|
403
|
+
supported_actions: [plan, design, architect]
|
|
404
|
+
base_confidence: 40
|
|
405
|
+
|
|
406
|
+
# Orchestrators
|
|
407
|
+
dev-lead:
|
|
408
|
+
keywords:
|
|
409
|
+
korean: [조율, 리뷰, 리드, 개발리드]
|
|
410
|
+
english: [lead, coordinate, review, "dev lead"]
|
|
411
|
+
file_patterns: []
|
|
412
|
+
supported_actions: [coordinate, review, lead]
|
|
413
|
+
base_confidence: 40
|
|
414
|
+
|
|
415
|
+
secretary:
|
|
416
|
+
keywords:
|
|
417
|
+
korean: [에이전트, 관리, 오케스트레이션]
|
|
418
|
+
english: [manage, agent, orchestrate]
|
|
419
|
+
file_patterns: []
|
|
420
|
+
supported_actions: [manage, create, coordinate]
|
|
421
|
+
base_confidence: 40
|
|
422
|
+
|
|
423
|
+
professor-triage:
|
|
424
|
+
keywords:
|
|
425
|
+
korean: [트리아지, 이슈분석, 교차분석, 프로페서]
|
|
426
|
+
english: [triage, cross-analyze, professor, issue-analysis]
|
|
427
|
+
file_patterns: []
|
|
428
|
+
actions: [review, analyze]
|
|
429
|
+
base_confidence: 85
|
|
430
|
+
routing_rule: "MUST use professor-triage skill for codebase-driven issue analysis and automated triage"
|
|
431
|
+
|
|
432
|
+
rtk-exec:
|
|
433
|
+
keywords:
|
|
434
|
+
korean: [rtk, 토큰절감, 출력압축, 토큰최적화]
|
|
435
|
+
english: [rtk, "token savings", "compress output", "token optimization"]
|
|
436
|
+
file_patterns: []
|
|
437
|
+
supported_actions: [optimize, compress, proxy]
|
|
438
|
+
base_confidence: 85
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: java21-best-practices
|
|
3
|
+
description: Modern Java 21 patterns from Virtual Threads, Pattern Matching, Records, and Sealed Classes
|
|
4
|
+
scope: core
|
|
5
|
+
user-invocable: false
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Apply modern Java 21 patterns and best practices leveraging the latest language features for clean, performant, and maintainable Java code.
|
|
11
|
+
|
|
12
|
+
## Core Principles
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Embrace modern Java features over legacy patterns
|
|
16
|
+
Prefer immutability and data-centric design
|
|
17
|
+
Leverage Virtual Threads for scalable concurrency
|
|
18
|
+
Use Pattern Matching for expressive type handling
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
### 1. Naming Conventions (Google Java Style)
|
|
24
|
+
|
|
25
|
+
```yaml
|
|
26
|
+
packages:
|
|
27
|
+
style: lowercase, no underscores
|
|
28
|
+
example: com.example.project
|
|
29
|
+
|
|
30
|
+
classes:
|
|
31
|
+
style: UpperCamelCase
|
|
32
|
+
example: OrderProcessor, UserRecord
|
|
33
|
+
|
|
34
|
+
methods_variables:
|
|
35
|
+
style: lowerCamelCase
|
|
36
|
+
example: processOrder(), itemCount
|
|
37
|
+
|
|
38
|
+
constants:
|
|
39
|
+
style: UPPER_SNAKE_CASE
|
|
40
|
+
example: static final int MAX_RETRIES = 3
|
|
41
|
+
|
|
42
|
+
records:
|
|
43
|
+
style: UpperCamelCase (same as class)
|
|
44
|
+
example: record Point(int x, int y) {}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Reference: guides/java21/java-style-guide.md
|
|
48
|
+
|
|
49
|
+
### 2. Virtual Threads (JEP 444)
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
principles:
|
|
53
|
+
- Use Virtual Threads for I/O-bound tasks
|
|
54
|
+
- Avoid pooling Virtual Threads (they are lightweight)
|
|
55
|
+
- Replace thread pools for blocking I/O with Virtual Thread executors
|
|
56
|
+
|
|
57
|
+
patterns:
|
|
58
|
+
executor: "Executors.newVirtualThreadPerTaskExecutor()"
|
|
59
|
+
direct: "Thread.ofVirtual().start(() -> { ... })"
|
|
60
|
+
structured: "StructuredTaskScope.ShutdownOnFailure() for fork/join"
|
|
61
|
+
|
|
62
|
+
antipatterns:
|
|
63
|
+
- "Executors.newFixedThreadPool() for I/O tasks — use Virtual Threads instead"
|
|
64
|
+
- "Thread.sleep() on platform threads for rate limiting — use Virtual Threads"
|
|
65
|
+
- "synchronized blocks in Virtual Thread code — use ReentrantLock instead"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Reference: guides/java21/modern-java21.md
|
|
69
|
+
|
|
70
|
+
### 3. Pattern Matching
|
|
71
|
+
|
|
72
|
+
```yaml
|
|
73
|
+
instanceof_patterns:
|
|
74
|
+
rule: "Use pattern variable binding instead of explicit casts"
|
|
75
|
+
guard: "Combine with && for conditional matching"
|
|
76
|
+
|
|
77
|
+
switch_patterns:
|
|
78
|
+
rule: "Pattern matching for switch (JEP 441) — use case Type var syntax"
|
|
79
|
+
guards: "Use 'when' clause for conditional cases"
|
|
80
|
+
null_handling: "case null supported in switch"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Reference: guides/java21/modern-java21.md
|
|
84
|
+
|
|
85
|
+
### 4. Records (JEP 395)
|
|
86
|
+
|
|
87
|
+
```yaml
|
|
88
|
+
principles:
|
|
89
|
+
- Use Records for immutable data carriers
|
|
90
|
+
- Prefer Records over POJOs with getters/setters for pure data
|
|
91
|
+
- Compact constructors for validation
|
|
92
|
+
|
|
93
|
+
features:
|
|
94
|
+
validation: "Compact constructor (no parens) for input validation"
|
|
95
|
+
methods: "Custom methods allowed alongside auto-generated accessors"
|
|
96
|
+
interfaces: "Records can implement interfaces"
|
|
97
|
+
|
|
98
|
+
antipatterns:
|
|
99
|
+
- "Mutable state in records — records are inherently immutable"
|
|
100
|
+
- "Using records for entities with behavior — prefer classes"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Reference: guides/java21/modern-java21.md
|
|
104
|
+
|
|
105
|
+
### 5. Record Patterns (JEP 440)
|
|
106
|
+
|
|
107
|
+
```yaml
|
|
108
|
+
patterns:
|
|
109
|
+
instanceof: "Deconstruct record components in instanceof check"
|
|
110
|
+
switch: "Deconstruct in switch case labels"
|
|
111
|
+
nested: "Nested record patterns for deep destructuring"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Reference: guides/java21/modern-java21.md
|
|
115
|
+
|
|
116
|
+
### 6. Sealed Classes (JEP 409)
|
|
117
|
+
|
|
118
|
+
```yaml
|
|
119
|
+
principles:
|
|
120
|
+
- Use Sealed Classes for closed type hierarchies
|
|
121
|
+
- Combine with Pattern Matching switch for exhaustive handling
|
|
122
|
+
- Prefer sealed interfaces for behavior-focused hierarchies
|
|
123
|
+
|
|
124
|
+
pattern: "sealed interface with record implementations, exhaustive switch (no default needed)"
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Reference: guides/java21/modern-java21.md
|
|
128
|
+
|
|
129
|
+
### 7. Sequenced Collections (JEP 431)
|
|
130
|
+
|
|
131
|
+
```yaml
|
|
132
|
+
principles:
|
|
133
|
+
- Use SequencedCollection for ordered access
|
|
134
|
+
- getFirst()/getLast() replace get(0) and get(size-1)
|
|
135
|
+
|
|
136
|
+
methods: "getFirst(), getLast(), addFirst(), addLast(), reversed(), firstEntry()"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Reference: guides/java21/modern-java21.md
|
|
140
|
+
|
|
141
|
+
### 8. Text Blocks and String Features
|
|
142
|
+
|
|
143
|
+
```yaml
|
|
144
|
+
patterns:
|
|
145
|
+
text_blocks: "Triple-quote \"\"\" for multi-line strings (since Java 15)"
|
|
146
|
+
formatted: "String.formatted() for template substitution (since Java 15)"
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Reference: guides/java21/modern-java21.md
|
|
150
|
+
|
|
151
|
+
### 9. Error Handling
|
|
152
|
+
|
|
153
|
+
```yaml
|
|
154
|
+
principles:
|
|
155
|
+
- Prefer checked exceptions for recoverable conditions
|
|
156
|
+
- Use unchecked exceptions for programming errors
|
|
157
|
+
- Never swallow exceptions silently
|
|
158
|
+
- Use specific exception types
|
|
159
|
+
|
|
160
|
+
patterns:
|
|
161
|
+
optional: "orElseThrow(() -> new SpecificException(msg)) for missing values"
|
|
162
|
+
multi_catch: "catch (IOException | SQLException e) for related exceptions"
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Reference: guides/java21/java-style-guide.md
|
|
166
|
+
|
|
167
|
+
### 10. Documentation
|
|
168
|
+
|
|
169
|
+
```yaml
|
|
170
|
+
best_practices:
|
|
171
|
+
- Use @param and @return for public API
|
|
172
|
+
- Link related types with {@link}
|
|
173
|
+
- Document checked exceptions with @throws
|
|
174
|
+
- Keep Javadoc focused on "what", not "how"
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Reference: guides/java21/java-style-guide.md
|
|
178
|
+
|
|
179
|
+
## Application
|
|
180
|
+
|
|
181
|
+
When writing or reviewing Java 21 code:
|
|
182
|
+
|
|
183
|
+
1. **Use** Records for pure data classes over verbose POJOs
|
|
184
|
+
2. **Use** Sealed Classes + Pattern Matching for type hierarchies
|
|
185
|
+
3. **Use** Virtual Threads for I/O-bound concurrency
|
|
186
|
+
4. **Use** `instanceof` pattern matching over explicit casts
|
|
187
|
+
5. **Prefer** switch expressions over switch statements
|
|
188
|
+
6. **Use** `getFirst()`/`getLast()` for sequenced collections
|
|
189
|
+
7. **Write** exhaustive switch for sealed types (no default)
|
|
190
|
+
8. **Document** public APIs with proper Javadoc
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jinja2-prompts
|
|
3
|
+
description: Parameterized prompt templates using Jinja2 patterns for reusable, dynamic agent prompts
|
|
4
|
+
scope: core
|
|
5
|
+
user-invocable: false
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Jinja2 Prompt Templates
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Define reusable, parameterized prompt templates for agent tasks. Templates enable consistent prompt formatting across workflows while allowing dynamic content injection.
|
|
13
|
+
|
|
14
|
+
## Template Syntax
|
|
15
|
+
|
|
16
|
+
Use Jinja2-style variable interpolation in prompt strings:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
{{ variable }} — Variable substitution
|
|
20
|
+
{% if condition %}...{% endif %} — Conditional sections
|
|
21
|
+
{% for item in list %}...{% endfor %} — Iteration
|
|
22
|
+
{{ variable | default("fallback") }} — Default values
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Security Rules
|
|
26
|
+
|
|
27
|
+
- Templates MUST be author-written (stored in skill files), never user-supplied
|
|
28
|
+
- Use `SandboxedEnvironment` (NOT `Environment` or `from_string()` directly)
|
|
29
|
+
- No access to `env()`, `os`, `subprocess`, or any system functions
|
|
30
|
+
- Variable allowlist: only explicitly provided context variables are accessible
|
|
31
|
+
- NEVER render user-controlled strings as templates — treat them as plain data
|
|
32
|
+
|
|
33
|
+
## Template Locations
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
.codex/skills/<skill-name>/templates/
|
|
37
|
+
├── analysis.md.j2
|
|
38
|
+
├── report.md.j2
|
|
39
|
+
└── triage.md.j2
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Usage Pattern
|
|
43
|
+
|
|
44
|
+
```yaml
|
|
45
|
+
# In skill or workflow definition
|
|
46
|
+
template: analysis.md.j2
|
|
47
|
+
variables:
|
|
48
|
+
target: "{{ repository_url }}"
|
|
49
|
+
scope: "security"
|
|
50
|
+
depth: "comprehensive"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Rendered by orchestrator before passing to agent as prompt.
|
|
54
|
+
|
|
55
|
+
## Common Templates
|
|
56
|
+
|
|
57
|
+
### Research Team Prompt
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Role: {{ domain }} {{ role }} analyst
|
|
61
|
+
Scope: {{ topic }}
|
|
62
|
+
|
|
63
|
+
Tasks:
|
|
64
|
+
{% for task in tasks %}
|
|
65
|
+
{{ loop.index }}. {{ task }}
|
|
66
|
+
{% endfor %}
|
|
67
|
+
|
|
68
|
+
Output format:
|
|
69
|
+
{{ output_format }}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### CVE Triage Prompt
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Analyze {{ cve_id }} ({{ cwe_classification }})
|
|
76
|
+
Affected component: {{ component }} {{ version_range }}
|
|
77
|
+
{% if existing_mitigations %}
|
|
78
|
+
Known mitigations: {{ existing_mitigations }}
|
|
79
|
+
{% endif %}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Integration
|
|
83
|
+
|
|
84
|
+
- Used by `/research` skill for team prompt generation
|
|
85
|
+
- Used by `cve-triage` skill for standardized analysis prompts
|
|
86
|
+
- Compatible with DAG orchestration node prompts
|