cc-codeconductor 1.4.2 → 1.5.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.
Files changed (186) hide show
  1. package/README.md +37 -12
  2. package/dist/index.js +291 -109
  3. package/docs/generated/cli.md +8 -0
  4. package/package.json +1 -1
  5. package/presets/agy/README.md +1 -1
  6. package/presets/agy/hooks.json +1 -1
  7. package/presets/agy/scripts/invoke-hook.cjs +20 -5
  8. package/presets/agy/settings.json +1 -1
  9. package/presets/agy/skills/api-versioning/SKILL.md +394 -0
  10. package/presets/agy/skills/astro/SKILL.md +318 -0
  11. package/presets/agy/skills/auth-token-inspector/SKILL.md +30 -0
  12. package/presets/agy/skills/cc-pagespeed/SKILL.md +2 -3
  13. package/presets/agy/skills/code-review/SKILL.md +207 -0
  14. package/presets/agy/skills/django-orm/SKILL.md +460 -0
  15. package/presets/agy/skills/django-uv/SKILL.md +405 -0
  16. package/presets/agy/skills/drizzle-schema-architect/SKILL.md +50 -0
  17. package/presets/agy/skills/fastapi-pydantic-strict/SKILL.md +43 -0
  18. package/presets/agy/skills/jpa-nplusone-detector/SKILL.md +45 -0
  19. package/presets/agy/skills/jpa-postgres/SKILL.md +623 -0
  20. package/presets/agy/skills/livewire-alpine-bridge/SKILL.md +35 -0
  21. package/presets/agy/skills/nextjs-typescript/SKILL.md +390 -0
  22. package/presets/agy/skills/python/SKILL.md +611 -0
  23. package/presets/agy/skills/seo-analytics-injector/SKILL.md +43 -0
  24. package/presets/agy/skills/spring-auth-auditor/SKILL.md +29 -0
  25. package/presets/agy/skills/spring-boot-feature/SKILL.md +563 -0
  26. package/presets/agy/skills/spring-boot-testing-strategy/SKILL.md +475 -0
  27. package/presets/agy/skills/tailwind-responsive-auditor/SKILL.md +29 -0
  28. package/presets/agy/skills/tdd-mutation-tester/SKILL.md +27 -0
  29. package/presets/agy/workflows/cc-pagespeed.md +2 -3
  30. package/presets/agy/workflows/cc-review.md +31 -0
  31. package/presets/agy/workflows/cc-security.md +1 -1
  32. package/presets/claude/commands/cc/review.md +33 -0
  33. package/presets/claude/settings.json +2 -2
  34. package/presets/claude/skills/android/SKILL.md +1 -1
  35. package/presets/claude/skills/api-versioning/SKILL.md +1 -1
  36. package/presets/claude/skills/astro/SKILL.md +318 -0
  37. package/presets/claude/skills/auth-token-inspector/SKILL.md +30 -0
  38. package/presets/claude/skills/code-review/SKILL.md +207 -0
  39. package/presets/claude/skills/django-orm/SKILL.md +1 -1
  40. package/presets/claude/skills/django-testing/SKILL.md +1 -1
  41. package/presets/claude/skills/django-uv/SKILL.md +405 -0
  42. package/presets/claude/skills/drizzle-schema-architect/SKILL.md +50 -0
  43. package/presets/claude/skills/fastapi-pydantic-strict/SKILL.md +43 -0
  44. package/presets/claude/skills/jpa-nplusone-detector/SKILL.md +45 -0
  45. package/presets/claude/skills/jpa-postgres/SKILL.md +1 -1
  46. package/presets/claude/skills/livewire-alpine-bridge/SKILL.md +35 -0
  47. package/presets/claude/skills/nextjs-typescript/SKILL.md +390 -0
  48. package/presets/claude/skills/pagespeed-perf/SKILL.md +1 -1
  49. package/presets/claude/skills/python/SKILL.md +1 -1
  50. package/presets/claude/skills/python-django-stack/SKILL.md +1 -1
  51. package/presets/claude/skills/python-fastapi-stack/SKILL.md +1 -1
  52. package/presets/claude/skills/security/SKILL.md +1 -1
  53. package/presets/claude/skills/seo-analytics-injector/SKILL.md +43 -0
  54. package/presets/claude/skills/spring-auth-auditor/SKILL.md +29 -0
  55. package/presets/claude/skills/spring-boot-feature/SKILL.md +1 -1
  56. package/presets/claude/skills/spring-boot-kotlin/SKILL.md +1 -1
  57. package/presets/claude/skills/spring-boot-testing-strategy/SKILL.md +475 -0
  58. package/presets/claude/skills/sqlalchemy/SKILL.md +1 -1
  59. package/presets/claude/skills/tailwind-responsive-auditor/SKILL.md +29 -0
  60. package/presets/claude/skills/tdd-mutation-tester/SKILL.md +27 -0
  61. package/presets/claude/skills/testing-strategy/SKILL.md +1 -1
  62. package/presets/codex/skills/android/SKILL.md +1 -1
  63. package/presets/codex/skills/api-versioning/SKILL.md +1 -1
  64. package/presets/codex/skills/astro/SKILL.md +318 -0
  65. package/presets/codex/skills/auth-token-inspector/SKILL.md +30 -0
  66. package/presets/codex/skills/cc-openspec/SKILL.md +1 -1
  67. package/presets/codex/skills/cc-pagespeed/SKILL.md +2 -3
  68. package/presets/codex/skills/cc-review/SKILL.md +31 -0
  69. package/presets/codex/skills/cc-security/SKILL.md +1 -1
  70. package/presets/codex/skills/code-review/SKILL.md +207 -0
  71. package/presets/codex/skills/django-orm/SKILL.md +1 -1
  72. package/presets/codex/skills/django-testing/SKILL.md +1 -1
  73. package/presets/codex/skills/django-uv/SKILL.md +405 -0
  74. package/presets/codex/skills/drizzle-schema-architect/SKILL.md +50 -0
  75. package/presets/codex/skills/fastapi-pydantic-strict/SKILL.md +43 -0
  76. package/presets/codex/skills/jpa-nplusone-detector/SKILL.md +45 -0
  77. package/presets/codex/skills/jpa-postgres/SKILL.md +1 -1
  78. package/presets/codex/skills/livewire-alpine-bridge/SKILL.md +35 -0
  79. package/presets/codex/skills/nextjs-typescript/SKILL.md +390 -0
  80. package/presets/codex/skills/pagespeed-perf/SKILL.md +1 -1
  81. package/presets/codex/skills/python/SKILL.md +1 -1
  82. package/presets/codex/skills/python-django-stack/SKILL.md +1 -1
  83. package/presets/codex/skills/python-fastapi-stack/SKILL.md +1 -1
  84. package/presets/codex/skills/security-ai-llm/SKILL.md +43 -0
  85. package/presets/codex/skills/security-blue-team/SKILL.md +43 -0
  86. package/presets/codex/skills/security-cloud/SKILL.md +43 -0
  87. package/presets/codex/skills/security-crypto/SKILL.md +43 -0
  88. package/presets/codex/skills/security-exploit-dev/SKILL.md +45 -0
  89. package/presets/codex/skills/security-grc/SKILL.md +43 -0
  90. package/presets/codex/skills/security-incident-response/SKILL.md +45 -0
  91. package/presets/codex/skills/security-log-analysis/SKILL.md +43 -0
  92. package/presets/codex/skills/security-malware-analysis/SKILL.md +44 -0
  93. package/presets/codex/skills/security-mobile/SKILL.md +43 -0
  94. package/presets/codex/skills/security-network/SKILL.md +43 -0
  95. package/presets/codex/skills/security-ot-ics/SKILL.md +43 -0
  96. package/presets/codex/skills/security-recon/SKILL.md +45 -0
  97. package/presets/codex/skills/security-red-team/SKILL.md +44 -0
  98. package/presets/codex/skills/security-reverse-engineering/SKILL.md +44 -0
  99. package/presets/codex/skills/security-soc-automation/SKILL.md +43 -0
  100. package/presets/codex/skills/security-threat-hunting/SKILL.md +43 -0
  101. package/presets/codex/skills/security-vuln-assessment/SKILL.md +45 -0
  102. package/presets/codex/skills/security-web/SKILL.md +44 -0
  103. package/presets/codex/skills/seo-analytics-injector/SKILL.md +43 -0
  104. package/presets/codex/skills/spring-auth-auditor/SKILL.md +29 -0
  105. package/presets/codex/skills/spring-boot-feature/SKILL.md +2 -2
  106. package/presets/codex/skills/spring-boot-kotlin/SKILL.md +1 -1
  107. package/presets/codex/skills/spring-boot-testing-strategy/SKILL.md +475 -0
  108. package/presets/codex/skills/sqlalchemy/SKILL.md +1 -1
  109. package/presets/codex/skills/tailwind-responsive-auditor/SKILL.md +29 -0
  110. package/presets/codex/skills/tdd-mutation-tester/SKILL.md +27 -0
  111. package/presets/codex/skills/testing-strategy/SKILL.md +1 -1
  112. package/presets/cursor/commands/cc/openspec.md +1 -1
  113. package/presets/cursor/commands/cc/pagespeed.md +2 -3
  114. package/presets/cursor/commands/cc/review.md +31 -0
  115. package/presets/cursor/commands/cc/security.md +1 -1
  116. package/presets/cursor/skills/android/SKILL.md +1 -1
  117. package/presets/cursor/skills/api-versioning/SKILL.md +2 -1
  118. package/presets/cursor/skills/astro/SKILL.md +1 -1
  119. package/presets/cursor/skills/auth-token-inspector/SKILL.md +1 -1
  120. package/presets/cursor/skills/code-review/SKILL.md +1 -1
  121. package/presets/cursor/skills/django-orm/SKILL.md +3 -5
  122. package/presets/cursor/skills/django-testing/SKILL.md +1 -1
  123. package/presets/cursor/skills/django-uv/SKILL.md +1 -1
  124. package/presets/cursor/skills/drizzle-schema-architect/SKILL.md +1 -1
  125. package/presets/cursor/skills/fastapi-pydantic-strict/SKILL.md +1 -1
  126. package/presets/cursor/skills/jpa-nplusone-detector/SKILL.md +1 -1
  127. package/presets/cursor/skills/jpa-postgres/SKILL.md +2 -4
  128. package/presets/cursor/skills/livewire-alpine-bridge/SKILL.md +1 -1
  129. package/presets/cursor/skills/nextjs-typescript/SKILL.md +1 -1
  130. package/presets/cursor/skills/pagespeed-perf/SKILL.md +1 -1
  131. package/presets/cursor/skills/python/SKILL.md +6 -7
  132. package/presets/cursor/skills/python-django-stack/SKILL.md +1 -1
  133. package/presets/cursor/skills/python-fastapi-stack/SKILL.md +1 -1
  134. package/presets/cursor/skills/security/SKILL.md +1 -1
  135. package/presets/cursor/skills/seo-analytics-injector/SKILL.md +1 -1
  136. package/presets/cursor/skills/spring-auth-auditor/SKILL.md +1 -1
  137. package/presets/cursor/skills/spring-boot-feature/SKILL.md +2 -4
  138. package/presets/cursor/skills/spring-boot-kotlin/SKILL.md +1 -1
  139. package/presets/cursor/skills/spring-boot-testing-strategy/SKILL.md +1 -1
  140. package/presets/cursor/skills/sqlalchemy/SKILL.md +1 -1
  141. package/presets/cursor/skills/tailwind-responsive-auditor/SKILL.md +1 -1
  142. package/presets/cursor/skills/tdd-mutation-tester/SKILL.md +1 -1
  143. package/presets/gemini/commands/cc/openspec.toml +1 -1
  144. package/presets/gemini/commands/cc/pagespeed.toml +2 -3
  145. package/presets/gemini/commands/cc/review.toml +31 -0
  146. package/presets/gemini/commands/cc/security.toml +1 -1
  147. package/presets/opencode/README.md +45 -52
  148. package/presets/opencode/commands/cc-pagespeed.md +2 -3
  149. package/presets/opencode/commands/cc-review.md +31 -0
  150. package/presets/opencode/commands/cc-security.md +1 -1
  151. package/presets/opencode/opencode.jsonc +1 -1
  152. package/presets/opencode/skills/android/SKILL.md +1 -1
  153. package/presets/opencode/skills/api-versioning/SKILL.md +2 -1
  154. package/presets/opencode/skills/astro/SKILL.md +1 -1
  155. package/presets/opencode/skills/auth-token-inspector/SKILL.md +1 -1
  156. package/presets/opencode/skills/code-review/SKILL.md +1 -1
  157. package/presets/opencode/skills/django-orm/SKILL.md +3 -3
  158. package/presets/opencode/skills/django-testing/SKILL.md +1 -1
  159. package/presets/opencode/skills/django-uv/SKILL.md +1 -1
  160. package/presets/opencode/skills/drizzle-schema-architect/SKILL.md +1 -1
  161. package/presets/opencode/skills/fastapi-pydantic-strict/SKILL.md +1 -1
  162. package/presets/opencode/skills/jpa-nplusone-detector/SKILL.md +1 -1
  163. package/presets/opencode/skills/jpa-postgres/SKILL.md +2 -1
  164. package/presets/opencode/skills/livewire-alpine-bridge/SKILL.md +1 -1
  165. package/presets/opencode/skills/nextjs-typescript/SKILL.md +1 -1
  166. package/presets/opencode/skills/pagespeed-perf/SKILL.md +1 -1
  167. package/presets/opencode/skills/python/SKILL.md +6 -5
  168. package/presets/opencode/skills/python-django-stack/SKILL.md +1 -1
  169. package/presets/opencode/skills/python-fastapi-stack/SKILL.md +1 -1
  170. package/presets/opencode/skills/security/SKILL.md +1 -1
  171. package/presets/opencode/skills/seo-analytics-injector/SKILL.md +1 -1
  172. package/presets/opencode/skills/spring-auth-auditor/SKILL.md +1 -1
  173. package/presets/opencode/skills/spring-boot-feature/SKILL.md +2 -1
  174. package/presets/opencode/skills/spring-boot-kotlin/SKILL.md +1 -1
  175. package/presets/opencode/skills/spring-boot-testing-strategy/SKILL.md +1 -1
  176. package/presets/opencode/skills/sqlalchemy/SKILL.md +1 -1
  177. package/presets/opencode/skills/tailwind-responsive-auditor/SKILL.md +1 -1
  178. package/presets/opencode/skills/tdd-mutation-tester/SKILL.md +1 -1
  179. package/presets/seo-hotel/skills/astro-seo/SKILL.md +1 -1
  180. package/presets/seo-hotel/skills/geo-readiness/SKILL.md +1 -1
  181. package/presets/seo-hotel/skills/off-page/SKILL.md +1 -1
  182. package/presets/seo-hotel/skills/schema-validator/SKILL.md +1 -1
  183. package/presets/seo-hotel/skills/seo-audit/SKILL.md +1 -1
  184. package/presets/shared/invoke-hook.cjs +20 -5
  185. package/src/presets/models/roles.yml +28 -28
  186. package/src/presets/shared-skills.yml +58 -22
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: drizzle-schema-architect
3
- name: Drizzle Schema Architect
3
+ name: drizzle-schema-architect
4
4
  description: >
5
5
  Generates strictly typed Drizzle ORM schemas for PostgreSQL with indexes,
6
6
  foreign keys, and Zod schema deduction.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: fastapi-pydantic-strict
3
- name: FastAPI Pydantic Strict
3
+ name: fastapi-pydantic-strict
4
4
  description: >
5
5
  Enforces Pydantic v2 strict models, asynchronous dependency generators, and uv environment setup.
6
6
  user-invokable: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: jpa-nplusone-detector
3
- name: JPA N+1 Query Detector
3
+ name: jpa-nplusone-detector
4
4
  description: >
5
5
  Audits Hibernate database interactions to prevent N+1 query problems in JVM apps.
6
6
  user-invokable: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: jpa-postgres
3
- name: JPA + PostgreSQL
3
+ name: jpa-postgres
4
4
  description: >
5
5
  Provides expert knowledge of JPA entity design, relationship mapping, Flyway
6
6
  migrations, and PostgreSQL-specific optimizations.
@@ -41,6 +41,7 @@ quality:
41
41
  reviewed_by: codeconductor-core
42
42
  version: 0.1.0
43
43
  ---
44
+
44
45
  # JPA + PostgreSQL
45
46
 
46
47
  ## Entity Design
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: livewire-alpine-bridge
3
- name: Livewire Alpine Bridge
3
+ name: livewire-alpine-bridge
4
4
  description: >
5
5
  Schedules reactive frontend states cleanly using entangle directives in PHP and JS.
6
6
  user-invokable: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: nextjs-typescript
3
- name: Next.js + TypeScript
3
+ name: nextjs-typescript
4
4
  description: >
5
5
  Provides expert knowledge for building Next.js 15+ applications with the App Router, TypeScript, Server Components, Server Actions, and TanStack Query.
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: pagespeed-perf
3
- name: PageSpeed Performance Audit
3
+ name: pagespeed-perf
4
4
  description: >
5
5
  Web Performance Engineering — analyzes Core Web Vitals using the PageSpeed
6
6
  Insights API (PSI v5) and applies the 80/20 principle: identify the 20% of
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: python
3
- name: Python
3
+ name: python
4
4
  description: >
5
5
  Python development best practices: clean code, patterns,
6
6
  type hints, decorators, context managers, and architecture.
@@ -40,6 +40,7 @@ quality:
40
40
  reviewed_by: codeconductor-core
41
41
  version: 0.1.0
42
42
  ---
43
+
43
44
  ## When to Use
44
45
 
45
46
  - Writing any Python code in the project
@@ -604,7 +605,7 @@ items = items_to_keep
604
605
 
605
606
  ## Resources
606
607
 
607
- - **PEP 8** — Style Guide: <https://peps.python.org/pep-0008/>
608
- - **PEP 484** — Type Hints: <https://peps.python.org/pep-0484/>
609
- - **Real Python**: <https://realpython.com/>
610
- - **Python Docs**: <https://docs.python.org/3/>
608
+ - **PEP 8** — Style Guide: https://peps.python.org/pep-0008/
609
+ - **PEP 484** — Type Hints: https://peps.python.org/pep-0484/
610
+ - **Real Python**: https://realpython.com/
611
+ - **Python Docs**: https://docs.python.org/3/
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: python-django-stack
3
- name: Python Django Stack
3
+ name: python-django-stack
4
4
  description: >
5
5
  Python and Django conventions for multi-tenant SaaS POS projects:
6
6
  views, services, naming, JSON APIs, PDFs, and cart patterns.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: python-fastapi-stack
3
- name: Python FastAPI Stack
3
+ name: python-fastapi-stack
4
4
  description: >
5
5
  FastAPI conventions for REST APIs: routers, Pydantic v2 schemas, dependency
6
6
  injection, error handling, pagination, and project structure.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: security
3
- name: Security
3
+ name: security
4
4
  description: >
5
5
  Provides expert knowledge for implementing and reviewing application security following OWASP Top 10 (2021), with stack-specific patterns for Spring Boot, Django, Next.js, and Astro.
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: seo-analytics-injector
3
- name: SEO Analytics Injector
3
+ name: seo-analytics-injector
4
4
  description: >
5
5
  Verifies and injects Google Tag Manager (GTM), GA4 event triggers, and optimized meta tags.
6
6
  user-invokable: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: spring-auth-auditor
3
- name: Spring Auth Auditor
3
+ name: spring-auth-auditor
4
4
  description: >
5
5
  Secures Spring Security filters, JWT validations, OAuth2 setups, and CORS/CSRF headers.
6
6
  user-invokable: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: spring-boot-feature
3
- name: Spring Boot Feature Creation
3
+ name: spring-boot-feature
4
4
  description: >
5
5
  Guides the creation of complete Spring Boot features following a structured,
6
6
  layer-by-layer workflow: entity, repository, service, controller, and tests.
@@ -44,6 +44,7 @@ quality:
44
44
  reviewed_by: codeconductor-core
45
45
  version: 0.1.0
46
46
  ---
47
+
47
48
  # Spring Boot Feature Creation
48
49
 
49
50
  When asked to create a feature, follow these steps **in order**. Do not skip
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: spring-boot-kotlin
3
- name: Spring Boot + Kotlin
3
+ name: spring-boot-kotlin
4
4
  description: >
5
5
  Provides expert knowledge of Spring Boot conventions, Kotlin idioms, and MVC
6
6
  patterns for backend API development.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: spring-boot-testing-strategy
3
- name: Spring Boot Testing Strategy
3
+ name: spring-boot-testing-strategy
4
4
  description: >
5
5
  Provides expert knowledge of the testing pyramid, test design principles, MockK patterns, and integration testing conventions for Spring Boot + Kotlin projects.
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: sqlalchemy
3
- name: SQLAlchemy
3
+ name: sqlalchemy
4
4
  description: >
5
5
  SQLAlchemy 2.x patterns for async FastAPI projects: models, sessions, queries,
6
6
  bulk operations, transactions, and Alembic migrations.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: tailwind-responsive-auditor
3
- name: Tailwind Responsive Auditor
3
+ name: tailwind-responsive-auditor
4
4
  description: >
5
5
  Audits Tailwind CSS usage ensuring mobile-first responsive utilities and clean classes.
6
6
  user-invokable: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: tdd-mutation-tester
3
- name: TDD Mutation Tester
3
+ name: tdd-mutation-tester
4
4
  description: >
5
5
  Performs simple mutation testing to verify test coverage and assertions.
6
6
  user-invokable: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: astro-seo
3
- name: Astro SEO Validator
3
+ name: astro-seo
4
4
  description: >
5
5
  SEO validation specific to Astro framework projects. Checks static generation,
6
6
  meta tag rendering, Content Collections usage, Island Architecture implications
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: geo-readiness
3
- name: GEO Readiness Checker
3
+ name: geo-readiness
4
4
  description: >
5
5
  Validates AI-search readiness (Generative Engine Optimization) for hotel websites.
6
6
  Checks for citable content, factual cards, llms.txt, structured data completeness,
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: off-page
3
- name: SEO Off-Page & Marketing
3
+ name: off-page
4
4
  description: >
5
5
  Guidance for off-page SEO strategy specific to hotel and hospitality websites.
6
6
  Covers backlink strategy, local citations, review management, social signals,
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: schema-validator
3
- name: Schema.org Validator
3
+ name: schema-validator
4
4
  description: >
5
5
  Validates Schema.org structured data (JSON-LD, Microdata, RDFa) on hotel and hospitality websites.
6
6
  Supports single URL validation via --url and sitemap-scoped batch validation via --sitemap.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: seo-audit
3
- name: SEO Technical Audit
3
+ name: seo-audit
4
4
  description: >
5
5
  Comprehensive technical SEO audit for hotel websites. Checks meta tags, headings,
6
6
  internal linking, page speed signals, mobile readiness, crawl directives, and Core Web Vitals
@@ -2,8 +2,8 @@
2
2
  'use strict';
3
3
 
4
4
  const { spawnSync } = require('node:child_process');
5
- const { existsSync } = require('node:fs');
6
- const { join, resolve } = require('node:path');
5
+ const { existsSync, readFileSync, realpathSync } = require('node:fs');
6
+ const { delimiter, join, resolve } = require('node:path');
7
7
 
8
8
  const VALID_EVENTS = ['pre-tool', 'post-tool', 'session-start'];
9
9
  const SPAWN_TIMEOUT = 10000;
@@ -21,9 +21,10 @@ const isAgy = process.argv.some((a) => a === '--format=agy') || extra.includes('
21
21
  function findProjectRoot() {
22
22
  const candidates = [
23
23
  process.env.PROJECT_ROOT,
24
+ process.env.CLAUDE_PROJECT_DIR,
24
25
  process.env.WORKSPACE_DIR,
25
- resolve(__dirname, '..', '..'),
26
26
  process.cwd(),
27
+ resolve(__dirname, '..', '..'),
27
28
  ].filter(Boolean);
28
29
 
29
30
  for (const dir of candidates) {
@@ -40,6 +41,8 @@ function findProjectRoot() {
40
41
  }
41
42
 
42
43
  const projectRoot = findProjectRoot();
44
+ // Buffer once: each fallback attempt must receive the same host payload.
45
+ const input = process.stdin.isTTY ? '' : readFileSync(0, 'utf8');
43
46
 
44
47
  /**
45
48
  * Run one candidate runner. Stdout/stderr are captured (not inherited) so a
@@ -54,7 +57,8 @@ function tryRun(bin, runArgs) {
54
57
  try {
55
58
  const result = spawnSync(bin, runArgs, {
56
59
  cwd: projectRoot,
57
- stdio: ['inherit', 'pipe', 'pipe'],
60
+ stdio: ['pipe', 'pipe', 'pipe'],
61
+ input,
58
62
  windowsHide: true,
59
63
  env: process.env,
60
64
  encoding: 'utf8',
@@ -111,7 +115,18 @@ try {
111
115
  tryRun(process.execPath, [localDist, 'hook', event, ...extra]);
112
116
  }
113
117
 
114
- tryRun('npx', ['--no-install', 'cc-codeconductor', 'hook', event, ...extra]);
118
+ // Locate global npm installs without invoking npx or Windows .cmd shims.
119
+ for (const binDir of (process.env.PATH || '').split(delimiter).filter(Boolean)) {
120
+ const candidates = [
121
+ join(binDir, 'node_modules', 'cc-codeconductor', 'dist', 'index.js'),
122
+ join(binDir, '..', 'lib', 'node_modules', 'cc-codeconductor', 'dist', 'index.js'),
123
+ ];
124
+ const executable = join(binDir, 'cc-codeconductor');
125
+ if (existsSync(executable)) candidates.push(realpathSync(executable));
126
+ for (const candidate of candidates) {
127
+ if (existsSync(candidate)) tryRun(process.execPath, [candidate, 'hook', event, ...extra]);
128
+ }
129
+ }
115
130
  } catch {
116
131
  // Ignore errors in runner attempts
117
132
  }
@@ -18,129 +18,129 @@ agents:
18
18
  architect:
19
19
  claude: claude-opus-5
20
20
  pi: claude-opus-5
21
- opencode: opencode-go/deepseek-v4-pro
21
+ opencode: opencode-go/deepseek-v4.1-flash
22
22
  codex: gpt-5.6-sol
23
23
  gemini: gemini-3.1-pro-preview
24
24
  cursor: claude-opus-5-thinking-high
25
25
  grok: cursor-grok-4.6-high-fast
26
- agy: gemini-3.1-pro
26
+ agy: gemini-3.1-pro-high
27
27
  implementer:
28
28
  claude: claude-sonnet-5
29
29
  pi: claude-sonnet-5
30
- opencode: opencode-go/mimo-v2.5
30
+ opencode: opencode-go/mimo-v2.6-flash
31
31
  codex: gpt-5.6-terra
32
32
  gemini: gemini-3.7-flash
33
33
  cursor: composer-2.5-fast
34
34
  grok: cursor-grok-4.6-high-fast
35
- agy: claude-sonnet-4.6-thinking
35
+ agy: claude-sonnet-4-6
36
36
  tester:
37
37
  claude: claude-sonnet-5
38
38
  pi: claude-sonnet-5
39
- opencode: opencode-go/minimax-m3
39
+ opencode: opencode-go/mimo-v2.6-flash
40
40
  codex: gpt-5.6-terra
41
41
  gemini: gemini-3.7-flash
42
42
  cursor: composer-2.5-fast
43
43
  grok: cursor-grok-4.6-high-fast
44
- agy: claude-sonnet-4.6-thinking
44
+ agy: claude-sonnet-4-6
45
45
  orchestrator:
46
46
  claude: claude-sonnet-5
47
47
  pi: claude-sonnet-5
48
- opencode: opencode-go/qwen3.7-plus
48
+ opencode: opencode-go/deepseek-v4.1-flash
49
49
  codex: gpt-5.6-terra
50
50
  gemini: gemini-3.7-flash
51
51
  cursor: composer-2.5
52
52
  grok: cursor-grok-4.6-high-fast
53
- agy: claude-sonnet-4.6-thinking
53
+ agy: claude-sonnet-4-6
54
54
  reviewer:
55
55
  claude: claude-opus-5
56
56
  pi: claude-opus-5
57
- opencode: opencode-go/qwen3.8-max
57
+ opencode: opencode-go/deepseek-v4.1-flash
58
58
  codex: gpt-5.6-sol
59
59
  gemini: gemini-3.1-pro-preview
60
60
  cursor: claude-sonnet-5-thinking-high
61
61
  grok: cursor-grok-4.6-high-fast
62
- agy: gemini-3.1-pro
62
+ agy: gemini-3.1-pro-high
63
63
  docs:
64
64
  claude: claude-haiku-4-5-20251001
65
65
  pi: claude-haiku-4-5-20251001
66
- opencode: opencode-go/hy3
66
+ opencode: opencode-go/muse-spark-1.3-contributor
67
67
  codex: gpt-5.6-luna
68
68
  gemini: gemini-3.7-flash
69
69
  cursor: claude-4.5-haiku-thinking
70
70
  grok: cursor-grok-4.6-high-fast
71
- agy: gemini-3.8-flash
71
+ agy: gemini-3.8-flash-medium
72
72
  task-coach:
73
73
  claude: claude-haiku-4-5-20251001
74
74
  pi: claude-haiku-4-5-20251001
75
- opencode: opencode-go/gpt-5.6-luna
75
+ opencode: opencode-go/glm-5.3-flash
76
76
  codex: gpt-5.6-luna
77
77
  gemini: gemini-3.7-flash
78
78
  cursor: claude-4.5-haiku-thinking
79
79
  grok: cursor-grok-4.6-high-fast
80
- agy: gemini-3.8-flash
80
+ agy: gemini-3.8-flash-medium
81
81
  repo-explorer:
82
82
  claude: claude-haiku-4-5-20251001
83
83
  pi: claude-haiku-4-5-20251001
84
- opencode: opencode-go/longcat-2.0
84
+ opencode: opencode-go/glm-5.3-flash
85
85
  codex: gpt-5.6-luna
86
86
  gemini: gemini-3.7-flash
87
87
  cursor: composer-2.5-fast
88
88
  grok: cursor-grok-4.6-high-fast
89
- agy: gemini-3.8-flash
89
+ agy: gemini-3.8-flash-medium
90
90
  goal-planner:
91
91
  claude: claude-haiku-4-5-20251001
92
92
  pi: claude-haiku-4-5-20251001
93
- opencode: opencode-go/deepseek-v4-flash
93
+ opencode: opencode-go/deepseek-v4.1-flash
94
94
  codex: gpt-5.6-luna
95
95
  gemini: gemini-3.7-flash
96
96
  cursor: claude-4.5-haiku-thinking
97
97
  grok: cursor-grok-4.6-high-fast
98
- agy: gemini-3.8-flash
98
+ agy: gemini-3.8-flash-medium
99
99
  complexity-auditor:
100
100
  claude: claude-sonnet-5
101
101
  pi: claude-sonnet-5
102
- opencode: opencode-go/glm-5.3
102
+ opencode: opencode-go/glm-5.3-flash
103
103
  codex: gpt-5.6-terra
104
104
  gemini: gemini-3.7-flash
105
105
  cursor: claude-sonnet-5-thinking-high
106
106
  grok: cursor-grok-4.6-high-fast
107
- agy: claude-sonnet-4.6-thinking
107
+ agy: claude-sonnet-4-6
108
108
  security-reviewer:
109
109
  claude: claude-opus-5
110
110
  pi: claude-opus-5
111
- opencode: opencode-go/kimi-k3
111
+ opencode: opencode-go/glm-5.3-flash
112
112
  codex: gpt-5.6-sol
113
113
  gemini: gemini-3.1-pro-preview
114
114
  cursor: claude-opus-5-thinking-high
115
115
  grok: cursor-grok-4.6-high-fast
116
- agy: gemini-3.1-pro
116
+ agy: gemini-3.1-pro-high
117
117
  contract-builder:
118
118
  claude: claude-opus-5
119
119
  pi: claude-opus-5
120
- opencode: opencode-go/qwen3.8-max
120
+ opencode: opencode-go/deepseek-v4.1-flash
121
121
  codex: gpt-5.6-sol
122
122
  gemini: gemini-3.1-pro-preview
123
123
  cursor: claude-sonnet-5-thinking-high
124
124
  grok: cursor-grok-4.6-high-fast
125
- agy: gemini-3.1-pro
125
+ agy: gemini-3.1-pro-high
126
126
  planner:
127
127
  claude: claude-haiku-4-5-20251001
128
128
  pi: claude-haiku-4-5-20251001
129
- opencode: opencode-go/gpt-5.6-luna
129
+ opencode: opencode-go/deepseek-v4.1-flash
130
130
  codex: gpt-5.6-luna
131
131
  gemini: gemini-3.7-flash
132
132
  cursor: claude-4.5-haiku-thinking
133
133
  grok: cursor-grok-4.6-high-fast
134
- agy: gemini-3.8-flash
134
+ agy: gemini-3.8-flash-medium
135
135
  devil:
136
136
  claude: claude-opus-5
137
137
  pi: claude-opus-5
138
- opencode: opencode-go/glm-5.3
138
+ opencode: opencode-go/glm-5.3-flash
139
139
  codex: gpt-5.6-sol
140
140
  gemini: gemini-3.1-pro-preview
141
141
  cursor: claude-opus-5-thinking-high
142
142
  grok: cursor-grok-4.6-high-fast
143
- agy: gemini-3.1-pro
143
+ agy: gemini-3.1-pro-high
144
144
  tools:
145
145
  Read:
146
146
  claude: ViewCodeItem / ReadFile
@@ -11,43 +11,43 @@ skills:
11
11
  - name: openspec
12
12
  targets: [claude, codex, cursor, opencode, agy]
13
13
  - name: security-ai-llm
14
- targets: [claude, cursor, opencode, agy]
14
+ targets: [claude, codex, cursor, opencode, agy]
15
15
  - name: security-blue-team
16
- targets: [claude, cursor, opencode, agy]
16
+ targets: [claude, codex, cursor, opencode, agy]
17
17
  - name: security-cloud
18
- targets: [claude, cursor, opencode, agy]
18
+ targets: [claude, codex, cursor, opencode, agy]
19
19
  - name: security-crypto
20
- targets: [claude, cursor, opencode, agy]
20
+ targets: [claude, codex, cursor, opencode, agy]
21
21
  - name: security-exploit-dev
22
- targets: [claude, cursor, opencode, agy]
22
+ targets: [claude, codex, cursor, opencode, agy]
23
23
  - name: security-grc
24
- targets: [claude, cursor, opencode, agy]
24
+ targets: [claude, codex, cursor, opencode, agy]
25
25
  - name: security-incident-response
26
- targets: [claude, cursor, opencode, agy]
26
+ targets: [claude, codex, cursor, opencode, agy]
27
27
  - name: security-log-analysis
28
- targets: [claude, cursor, opencode, agy]
28
+ targets: [claude, codex, cursor, opencode, agy]
29
29
  - name: security-malware-analysis
30
- targets: [claude, cursor, opencode, agy]
30
+ targets: [claude, codex, cursor, opencode, agy]
31
31
  - name: security-mobile
32
- targets: [claude, cursor, opencode, agy]
32
+ targets: [claude, codex, cursor, opencode, agy]
33
33
  - name: security-network
34
- targets: [claude, cursor, opencode, agy]
34
+ targets: [claude, codex, cursor, opencode, agy]
35
35
  - name: security-ot-ics
36
- targets: [claude, cursor, opencode, agy]
36
+ targets: [claude, codex, cursor, opencode, agy]
37
37
  - name: security-recon
38
- targets: [claude, cursor, opencode, agy]
38
+ targets: [claude, codex, cursor, opencode, agy]
39
39
  - name: security-red-team
40
- targets: [claude, cursor, opencode, agy]
40
+ targets: [claude, codex, cursor, opencode, agy]
41
41
  - name: security-reverse-engineering
42
- targets: [claude, cursor, opencode, agy]
42
+ targets: [claude, codex, cursor, opencode, agy]
43
43
  - name: security-soc-automation
44
- targets: [claude, cursor, opencode, agy]
44
+ targets: [claude, codex, cursor, opencode, agy]
45
45
  - name: security-threat-hunting
46
- targets: [claude, cursor, opencode, agy]
46
+ targets: [claude, codex, cursor, opencode, agy]
47
47
  - name: security-vuln-assessment
48
- targets: [claude, cursor, opencode, agy]
48
+ targets: [claude, codex, cursor, opencode, agy]
49
49
  - name: security-web
50
- targets: [claude, cursor, opencode, agy]
50
+ targets: [claude, codex, cursor, opencode, agy]
51
51
  - name: testing-strategy
52
52
  targets: [claude, codex]
53
53
  - name: testing-tdd
@@ -59,10 +59,46 @@ skills:
59
59
  - name: android-ui-design
60
60
  targets: [claude, codex, cursor, opencode, agy]
61
61
  - name: code-review
62
- targets: [cursor, opencode]
62
+ targets: [claude, codex, cursor, opencode, agy]
63
63
  - name: seo-analytics-injector
64
- targets: [cursor, opencode]
64
+ targets: [claude, codex, cursor, opencode, agy]
65
65
  - name: tdd-mutation-tester
66
- targets: [cursor, opencode]
66
+ targets: [claude, codex, cursor, opencode, agy]
67
67
  - name: web-design-engineering
68
68
  targets: [claude, codex, cursor, opencode, agy]
69
+ # Cursor keeps a `paths:` auto-attach block in its frontmatter (not
70
+ # supported by other targets) — intentional, not drift. Canonical source
71
+ # below is the opencode variant (no `paths:`); cursor and opencode keep
72
+ # their existing hand-maintained copies untouched.
73
+ - name: astro
74
+ targets: [claude, codex, agy]
75
+ - name: auth-token-inspector
76
+ targets: [claude, codex, agy]
77
+ - name: django-uv
78
+ targets: [claude, codex, agy]
79
+ - name: drizzle-schema-architect
80
+ targets: [claude, codex, agy]
81
+ - name: fastapi-pydantic-strict
82
+ targets: [claude, codex, agy]
83
+ - name: jpa-nplusone-detector
84
+ targets: [claude, codex, agy]
85
+ - name: livewire-alpine-bridge
86
+ targets: [claude, codex, agy]
87
+ - name: nextjs-typescript
88
+ targets: [claude, codex, agy]
89
+ - name: spring-auth-auditor
90
+ targets: [claude, codex, agy]
91
+ - name: spring-boot-testing-strategy
92
+ targets: [claude, codex, agy]
93
+ - name: tailwind-responsive-auditor
94
+ targets: [claude, codex, agy]
95
+ - name: python
96
+ targets: [claude, codex, cursor, opencode, agy]
97
+ - name: django-orm
98
+ targets: [claude, codex, cursor, opencode, agy]
99
+ - name: spring-boot-feature
100
+ targets: [claude, codex, cursor, opencode, agy]
101
+ - name: jpa-postgres
102
+ targets: [claude, codex, cursor, opencode, agy]
103
+ - name: api-versioning
104
+ targets: [claude, codex, cursor, opencode, agy]