@synapta/skills 0.1.1 → 0.2.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 (354) hide show
  1. package/dist/index.js +11 -4
  2. package/package.json +3 -4
  3. package/skills/ATTRIBUTION.md +80 -0
  4. package/skills/accessibility-audit/SKILL.md +325 -0
  5. package/skills/accessibility-audit/reference/wcag-checklist.md +103 -0
  6. package/skills/apns-notifier/SKILL.md +86 -0
  7. package/skills/approval-policy-enforcer/SKILL.md +66 -0
  8. package/skills/apps-sdk-builder/LICENSE.txt +201 -0
  9. package/skills/apps-sdk-builder/SKILL.md +328 -0
  10. package/skills/apps-sdk-builder/agents/openai.yaml +13 -0
  11. package/skills/apps-sdk-builder/references/app-archetypes.md +132 -0
  12. package/skills/apps-sdk-builder/references/apps-sdk-docs-workflow.md +135 -0
  13. package/skills/apps-sdk-builder/references/interactive-state-sync-patterns.md +113 -0
  14. package/skills/apps-sdk-builder/references/repo-contract-and-validation.md +93 -0
  15. package/skills/apps-sdk-builder/references/search-fetch-standard.md +67 -0
  16. package/skills/apps-sdk-builder/references/upstream-example-workflow.md +79 -0
  17. package/skills/apps-sdk-builder/references/window-openai-patterns.md +79 -0
  18. package/skills/apps-sdk-builder/scripts/scaffold_node_ext_apps.mjs +606 -0
  19. package/skills/architecture-selector/SKILL.md +64 -0
  20. package/skills/backlog-planner/SKILL.md +68 -0
  21. package/skills/carplay-entitlement-checker/SKILL.md +82 -0
  22. package/skills/concept-deepener/SKILL.md +86 -0
  23. package/skills/concept-discovery/SKILL.md +517 -0
  24. package/skills/concept-discovery/assets/sample-analysis.json +81 -0
  25. package/skills/concept-discovery/expected_outputs/sample-enum-dictionary.md +25 -0
  26. package/skills/concept-discovery/expected_outputs/sample-page-user-list.md +83 -0
  27. package/skills/concept-discovery/expected_outputs/sample-prd-readme.md +43 -0
  28. package/skills/concept-discovery/references/framework-patterns.md +228 -0
  29. package/skills/concept-discovery/references/prd-quality-checklist.md +65 -0
  30. package/skills/concept-discovery/scripts/codebase_analyzer.py +732 -0
  31. package/skills/concept-discovery/scripts/prd_scaffolder.py +435 -0
  32. package/skills/dast-zap/SKILL.md +453 -0
  33. package/skills/dast-zap/assets/.gitkeep +9 -0
  34. package/skills/dast-zap/assets/github_action.yml +207 -0
  35. package/skills/dast-zap/assets/gitlab_ci.yml +226 -0
  36. package/skills/dast-zap/assets/zap_automation.yaml +196 -0
  37. package/skills/dast-zap/assets/zap_context.xml +192 -0
  38. package/skills/dast-zap/references/EXAMPLE.md +40 -0
  39. package/skills/dast-zap/references/api_testing_guide.md +475 -0
  40. package/skills/dast-zap/references/authentication_guide.md +431 -0
  41. package/skills/dast-zap/references/false_positive_handling.md +427 -0
  42. package/skills/dast-zap/references/owasp_mapping.md +255 -0
  43. package/skills/dep-sbom-scan/SKILL.md +466 -0
  44. package/skills/deploy-cloudflare/SKILL.md +930 -0
  45. package/skills/deploy-docker/SKILL.md +55 -0
  46. package/skills/deploy-fly/SKILL.md +228 -0
  47. package/skills/deploy-k8s/SKILL.md +108 -0
  48. package/skills/deploy-k8s/assets/logo.png +0 -0
  49. package/skills/deploy-k8s/docs/README.md +29 -0
  50. package/skills/deploy-k8s/docs/SUMMARY.md +56 -0
  51. package/skills/deploy-k8s/docs/advanced/token-efficiency.md +61 -0
  52. package/skills/deploy-k8s/docs/architecture/multi-tenancy.md +96 -0
  53. package/skills/deploy-k8s/docs/architecture/storage-and-state.md +102 -0
  54. package/skills/deploy-k8s/docs/architecture/workload-patterns.md +87 -0
  55. package/skills/deploy-k8s/docs/book.json +16 -0
  56. package/skills/deploy-k8s/docs/community/changelog.md +34 -0
  57. package/skills/deploy-k8s/docs/community/contributing.md +67 -0
  58. package/skills/deploy-k8s/docs/core-concepts/failure-modes.md +153 -0
  59. package/skills/deploy-k8s/docs/core-concepts/philosophy.md +83 -0
  60. package/skills/deploy-k8s/docs/core-concepts/workflow.md +124 -0
  61. package/skills/deploy-k8s/docs/examples/bad-patterns.md +47 -0
  62. package/skills/deploy-k8s/docs/examples/do-dont-checklist.md +37 -0
  63. package/skills/deploy-k8s/docs/examples/good-patterns.md +49 -0
  64. package/skills/deploy-k8s/docs/failure-modes/api-drift.md +104 -0
  65. package/skills/deploy-k8s/docs/failure-modes/fragile-rollouts.md +99 -0
  66. package/skills/deploy-k8s/docs/failure-modes/insecure-workload-defaults.md +80 -0
  67. package/skills/deploy-k8s/docs/failure-modes/network-exposure.md +98 -0
  68. package/skills/deploy-k8s/docs/failure-modes/privilege-sprawl.md +91 -0
  69. package/skills/deploy-k8s/docs/failure-modes/resource-starvation.md +85 -0
  70. package/skills/deploy-k8s/docs/getting-started/installation.md +152 -0
  71. package/skills/deploy-k8s/docs/getting-started/quick-start.md +115 -0
  72. package/skills/deploy-k8s/docs/guides/helm-patterns.md +71 -0
  73. package/skills/deploy-k8s/docs/guides/kustomize-patterns.md +65 -0
  74. package/skills/deploy-k8s/docs/guides/observability.md +67 -0
  75. package/skills/deploy-k8s/docs/guides/security-hardening.md +59 -0
  76. package/skills/deploy-k8s/docs/guides/validation-and-policy.md +66 -0
  77. package/skills/deploy-k8s/docs/integrations/mcp-integration.md +52 -0
  78. package/skills/deploy-k8s/docs/package-lock.json +2892 -0
  79. package/skills/deploy-k8s/docs/package.json +13 -0
  80. package/skills/deploy-k8s/references/api-drift.md +298 -0
  81. package/skills/deploy-k8s/references/conditional/aks-patterns.md +70 -0
  82. package/skills/deploy-k8s/references/conditional/eks-patterns.md +79 -0
  83. package/skills/deploy-k8s/references/conditional/gitops-controllers.md +71 -0
  84. package/skills/deploy-k8s/references/conditional/gke-patterns.md +74 -0
  85. package/skills/deploy-k8s/references/conditional/observability-stacks.md +80 -0
  86. package/skills/deploy-k8s/references/conditional/openshift-patterns.md +67 -0
  87. package/skills/deploy-k8s/references/daemonset-operator-patterns.md +155 -0
  88. package/skills/deploy-k8s/references/deployment-patterns.md +146 -0
  89. package/skills/deploy-k8s/references/do-dont-patterns.md +87 -0
  90. package/skills/deploy-k8s/references/examples-bad.md +282 -0
  91. package/skills/deploy-k8s/references/examples-good.md +440 -0
  92. package/skills/deploy-k8s/references/fragile-rollouts.md +303 -0
  93. package/skills/deploy-k8s/references/helm-patterns.md +203 -0
  94. package/skills/deploy-k8s/references/insecure-workload-defaults.md +300 -0
  95. package/skills/deploy-k8s/references/job-patterns.md +120 -0
  96. package/skills/deploy-k8s/references/kustomize-patterns.md +239 -0
  97. package/skills/deploy-k8s/references/multi-tenancy.md +343 -0
  98. package/skills/deploy-k8s/references/network-exposure.md +481 -0
  99. package/skills/deploy-k8s/references/observability.md +302 -0
  100. package/skills/deploy-k8s/references/privilege-sprawl.md +273 -0
  101. package/skills/deploy-k8s/references/resource-starvation.md +374 -0
  102. package/skills/deploy-k8s/references/security-hardening.md +209 -0
  103. package/skills/deploy-k8s/references/stateful-patterns.md +130 -0
  104. package/skills/deploy-k8s/references/storage-and-state.md +330 -0
  105. package/skills/deploy-k8s/references/validation-and-policy.md +242 -0
  106. package/skills/deploy-railway/SKILL.md +235 -0
  107. package/skills/deploy-railway/references/analyze-db-mongo.md +84 -0
  108. package/skills/deploy-railway/references/analyze-db-mysql.md +254 -0
  109. package/skills/deploy-railway/references/analyze-db-postgres.md +479 -0
  110. package/skills/deploy-railway/references/analyze-db-redis.md +208 -0
  111. package/skills/deploy-railway/references/analyze-db.md +344 -0
  112. package/skills/deploy-railway/references/configure.md +309 -0
  113. package/skills/deploy-railway/references/deploy.md +195 -0
  114. package/skills/deploy-railway/references/operate.md +214 -0
  115. package/skills/deploy-railway/references/request.md +248 -0
  116. package/skills/deploy-railway/references/setup.md +312 -0
  117. package/skills/deploy-railway/scripts/analyze-mongo.py +1549 -0
  118. package/skills/deploy-railway/scripts/analyze-mysql.py +1195 -0
  119. package/skills/deploy-railway/scripts/analyze-postgres.py +3058 -0
  120. package/skills/deploy-railway/scripts/analyze-redis.py +1090 -0
  121. package/skills/deploy-railway/scripts/dal.py +671 -0
  122. package/skills/deploy-railway/scripts/enable-pg-stats.py +170 -0
  123. package/skills/deploy-railway/scripts/pg-extensions.py +370 -0
  124. package/skills/deploy-railway/scripts/railway-api.sh +52 -0
  125. package/skills/deploy-ssh/SKILL.md +91 -0
  126. package/skills/deploy-vercel/SKILL.md +304 -0
  127. package/skills/deploy-vercel/resources/deploy-codex.sh +301 -0
  128. package/skills/deploy-vercel/resources/deploy.sh +301 -0
  129. package/skills/docs-runbooks/SKILL.md +399 -0
  130. package/skills/drive-status-renderer/SKILL.md +62 -0
  131. package/skills/iac-scan/SKILL.md +680 -0
  132. package/skills/iac-scan/assets/.gitkeep +9 -0
  133. package/skills/iac-scan/assets/checkov_config.yaml +94 -0
  134. package/skills/iac-scan/assets/github_actions.yml +199 -0
  135. package/skills/iac-scan/assets/gitlab_ci.yml +218 -0
  136. package/skills/iac-scan/assets/pre_commit_config.yaml +92 -0
  137. package/skills/iac-scan/references/EXAMPLE.md +40 -0
  138. package/skills/iac-scan/references/compliance_mapping.md +237 -0
  139. package/skills/iac-scan/references/custom_policies.md +460 -0
  140. package/skills/iac-scan/references/suppression_guide.md +431 -0
  141. package/skills/incident-briefing/SKILL.md +66 -0
  142. package/skills/incident-triage/SKILL.md +481 -0
  143. package/{LICENSE → skills/mcp-builder/LICENSE.txt} +15 -14
  144. package/skills/mcp-builder/SKILL.md +244 -0
  145. package/skills/mcp-builder/reference/evaluation.md +602 -0
  146. package/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  147. package/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  148. package/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  149. package/skills/mcp-builder/scripts/connections.py +151 -0
  150. package/skills/mcp-builder/scripts/evaluation.py +373 -0
  151. package/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  152. package/skills/mcp-builder/scripts/requirements.txt +2 -0
  153. package/skills/mobile-pairing/SKILL.md +52 -0
  154. package/skills/ops-sre/SKILL.md +297 -0
  155. package/skills/playwright-qa/LICENSE.txt +201 -0
  156. package/skills/playwright-qa/NOTICE.txt +14 -0
  157. package/skills/playwright-qa/SKILL.md +156 -0
  158. package/skills/playwright-qa/agents/openai.yaml +6 -0
  159. package/skills/playwright-qa/assets/playwright-small.svg +3 -0
  160. package/skills/playwright-qa/assets/playwright.png +0 -0
  161. package/skills/playwright-qa/references/cli.md +116 -0
  162. package/skills/playwright-qa/references/workflows.md +95 -0
  163. package/skills/playwright-qa/scripts/playwright_cli.sh +25 -0
  164. package/skills/release-publish/SKILL.md +85 -0
  165. package/skills/repo-bootstrap/SKILL.md +92 -0
  166. package/skills/repo-bootstrap/assets/example-workflows/validate-agents.yml +89 -0
  167. package/skills/repo-bootstrap/assets/root-thin.md +141 -0
  168. package/skills/repo-bootstrap/assets/root-verbose.md +149 -0
  169. package/skills/repo-bootstrap/assets/scoped/backend-go.md +107 -0
  170. package/skills/repo-bootstrap/assets/scoped/backend-php.md +94 -0
  171. package/skills/repo-bootstrap/assets/scoped/backend-python.md +84 -0
  172. package/skills/repo-bootstrap/assets/scoped/backend-typescript.md +89 -0
  173. package/skills/repo-bootstrap/assets/scoped/claude-code-skill.md +101 -0
  174. package/skills/repo-bootstrap/assets/scoped/cli.md +83 -0
  175. package/skills/repo-bootstrap/assets/scoped/concourse.md +196 -0
  176. package/skills/repo-bootstrap/assets/scoped/ddev.md +68 -0
  177. package/skills/repo-bootstrap/assets/scoped/docker.md +160 -0
  178. package/skills/repo-bootstrap/assets/scoped/documentation.md +98 -0
  179. package/skills/repo-bootstrap/assets/scoped/examples.md +96 -0
  180. package/skills/repo-bootstrap/assets/scoped/frontend-typescript.md +88 -0
  181. package/skills/repo-bootstrap/assets/scoped/github-actions.md +174 -0
  182. package/skills/repo-bootstrap/assets/scoped/gitlab-ci.md +174 -0
  183. package/skills/repo-bootstrap/assets/scoped/oro-bundle.md +209 -0
  184. package/skills/repo-bootstrap/assets/scoped/oro-project.md +170 -0
  185. package/skills/repo-bootstrap/assets/scoped/python-modern.md +170 -0
  186. package/skills/repo-bootstrap/assets/scoped/resources.md +96 -0
  187. package/skills/repo-bootstrap/assets/scoped/skill-repo.md +139 -0
  188. package/skills/repo-bootstrap/assets/scoped/symfony.md +168 -0
  189. package/skills/repo-bootstrap/assets/scoped/testing.md +87 -0
  190. package/skills/repo-bootstrap/assets/scoped/typo3-docs.md +103 -0
  191. package/skills/repo-bootstrap/assets/scoped/typo3-extension.md +133 -0
  192. package/skills/repo-bootstrap/assets/scoped/typo3-project.md +137 -0
  193. package/skills/repo-bootstrap/assets/scoped/typo3-testing.md +80 -0
  194. package/skills/repo-bootstrap/checkpoints.yaml +279 -0
  195. package/skills/repo-bootstrap/evals/evals.json +385 -0
  196. package/skills/repo-bootstrap/references/ai-contribution-guidelines.md +63 -0
  197. package/skills/repo-bootstrap/references/ai-tool-compatibility.md +223 -0
  198. package/skills/repo-bootstrap/references/directory-coverage.md +82 -0
  199. package/skills/repo-bootstrap/references/examples/coding-agent-cli/AGENTS.md +70 -0
  200. package/skills/repo-bootstrap/references/examples/coding-agent-cli/go.mod +3 -0
  201. package/skills/repo-bootstrap/references/examples/coding-agent-cli/scripts-AGENTS.md +389 -0
  202. package/skills/repo-bootstrap/references/examples/express-api-ts/.env.example +13 -0
  203. package/skills/repo-bootstrap/references/examples/express-api-ts/AGENTS.md +91 -0
  204. package/skills/repo-bootstrap/references/examples/express-api-ts/package.json +33 -0
  205. package/skills/repo-bootstrap/references/examples/express-api-ts/pnpm-lock.yaml +3 -0
  206. package/skills/repo-bootstrap/references/examples/express-api-ts/src/AGENTS.md +91 -0
  207. package/skills/repo-bootstrap/references/examples/express-api-ts/src/config.ts +28 -0
  208. package/skills/repo-bootstrap/references/examples/express-api-ts/src/controllers/userController.ts +74 -0
  209. package/skills/repo-bootstrap/references/examples/express-api-ts/src/index.ts +26 -0
  210. package/skills/repo-bootstrap/references/examples/express-api-ts/src/middleware/errorHandler.ts +45 -0
  211. package/skills/repo-bootstrap/references/examples/express-api-ts/src/middleware/requestLogger.ts +18 -0
  212. package/skills/repo-bootstrap/references/examples/express-api-ts/src/routes/health.ts +18 -0
  213. package/skills/repo-bootstrap/references/examples/express-api-ts/src/routes/users.ts +13 -0
  214. package/skills/repo-bootstrap/references/examples/express-api-ts/src/utils/errors.ts +40 -0
  215. package/skills/repo-bootstrap/references/examples/express-api-ts/src/utils/logger.ts +14 -0
  216. package/skills/repo-bootstrap/references/examples/express-api-ts/tsconfig.json +24 -0
  217. package/skills/repo-bootstrap/references/examples/fastapi-app/.env.example +19 -0
  218. package/skills/repo-bootstrap/references/examples/fastapi-app/AGENTS.md +92 -0
  219. package/skills/repo-bootstrap/references/examples/fastapi-app/pyproject.toml +88 -0
  220. package/skills/repo-bootstrap/references/examples/fastapi-app/src/AGENTS.md +85 -0
  221. package/skills/repo-bootstrap/references/examples/fastapi-app/src/__init__.py +3 -0
  222. package/skills/repo-bootstrap/references/examples/fastapi-app/src/config.py +49 -0
  223. package/skills/repo-bootstrap/references/examples/fastapi-app/src/main.py +66 -0
  224. package/skills/repo-bootstrap/references/examples/fastapi-app/src/models/__init__.py +13 -0
  225. package/skills/repo-bootstrap/references/examples/fastapi-app/src/models/item.py +43 -0
  226. package/skills/repo-bootstrap/references/examples/fastapi-app/src/models/user.py +40 -0
  227. package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/__init__.py +5 -0
  228. package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/health.py +20 -0
  229. package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/items.py +61 -0
  230. package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/users.py +55 -0
  231. package/skills/repo-bootstrap/references/examples/fastapi-app/src/services/__init__.py +6 -0
  232. package/skills/repo-bootstrap/references/examples/fastapi-app/src/services/item_service.py +77 -0
  233. package/skills/repo-bootstrap/references/examples/fastapi-app/src/services/user_service.py +69 -0
  234. package/skills/repo-bootstrap/references/examples/fastapi-app/uv.lock +4 -0
  235. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/.scopes +3 -0
  236. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/AGENTS.md +86 -0
  237. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/admin/package.json +20 -0
  238. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/admin/src/App.tsx +5 -0
  239. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/cmd/api/main.go +7 -0
  240. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/go.mod +2 -0
  241. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/main.go +7 -0
  242. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/.scopes +3 -0
  243. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/AGENTS.md +89 -0
  244. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/go.mod +2 -0
  245. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/AGENTS.md +90 -0
  246. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/package.json +17 -0
  247. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/App.tsx +1 -0
  248. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Button.tsx +1 -0
  249. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Footer.tsx +1 -0
  250. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Header.tsx +1 -0
  251. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Sidebar.tsx +1 -0
  252. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/main.go +7 -0
  253. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/package-lock.json +0 -0
  254. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/package.json +12 -0
  255. package/skills/repo-bootstrap/references/examples/ldap-selfservice/AGENTS.md +70 -0
  256. package/skills/repo-bootstrap/references/examples/ldap-selfservice/go.mod +3 -0
  257. package/skills/repo-bootstrap/references/examples/ldap-selfservice/internal-AGENTS.md +371 -0
  258. package/skills/repo-bootstrap/references/examples/ldap-selfservice/internal-web-AGENTS.md +448 -0
  259. package/skills/repo-bootstrap/references/examples/php-with-frontend/.scopes +3 -0
  260. package/skills/repo-bootstrap/references/examples/php-with-frontend/AGENTS.md +91 -0
  261. package/skills/repo-bootstrap/references/examples/php-with-frontend/composer.json +8 -0
  262. package/skills/repo-bootstrap/references/examples/php-with-frontend/package.json +15 -0
  263. package/skills/repo-bootstrap/references/examples/php-with-frontend/pnpm-lock.yaml +0 -0
  264. package/skills/repo-bootstrap/references/examples/php-with-frontend/src/Controller.php +3 -0
  265. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/AGENTS.md +92 -0
  266. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/package.json +26 -0
  267. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/App.tsx +3 -0
  268. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/Button.tsx +10 -0
  269. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/Footer.tsx +9 -0
  270. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/Header.tsx +9 -0
  271. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/main.tsx +3 -0
  272. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/tsconfig.json +13 -0
  273. package/skills/repo-bootstrap/references/examples/pnpm-workspace/AGENTS.md +75 -0
  274. package/skills/repo-bootstrap/references/examples/pnpm-workspace/package.json +7 -0
  275. package/skills/repo-bootstrap/references/examples/pnpm-workspace/packages/web/package.json +11 -0
  276. package/skills/repo-bootstrap/references/examples/pnpm-workspace/packages/web/src/index.ts +11 -0
  277. package/skills/repo-bootstrap/references/examples/pnpm-workspace/pnpm-lock.yaml +42 -0
  278. package/skills/repo-bootstrap/references/examples/pnpm-workspace/pnpm-workspace.yaml +2 -0
  279. package/skills/repo-bootstrap/references/examples/simple-ldap-go/AGENTS.md +70 -0
  280. package/skills/repo-bootstrap/references/examples/simple-ldap-go/examples-AGENTS.md +45 -0
  281. package/skills/repo-bootstrap/references/examples/simple-ldap-go/go.mod +3 -0
  282. package/skills/repo-bootstrap/references/examples/t3x-rte-ckeditor-image/AGENTS.md +70 -0
  283. package/skills/repo-bootstrap/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md +392 -0
  284. package/skills/repo-bootstrap/references/examples/t3x-rte-ckeditor-image/composer.json +8 -0
  285. package/skills/repo-bootstrap/references/feedback-memory-schema.md +135 -0
  286. package/skills/repo-bootstrap/references/git-hooks-setup.md +79 -0
  287. package/skills/repo-bootstrap/references/output-structure.md +124 -0
  288. package/skills/repo-bootstrap/references/scripts-guide.md +175 -0
  289. package/skills/repo-bootstrap/references/verification-guide.md +137 -0
  290. package/skills/repo-bootstrap/scripts/analyze-git-history.sh +315 -0
  291. package/skills/repo-bootstrap/scripts/check-freshness.sh +230 -0
  292. package/skills/repo-bootstrap/scripts/detect-golden-samples.sh +161 -0
  293. package/skills/repo-bootstrap/scripts/detect-heuristics.sh +93 -0
  294. package/skills/repo-bootstrap/scripts/detect-project.sh +486 -0
  295. package/skills/repo-bootstrap/scripts/detect-scopes.sh +330 -0
  296. package/skills/repo-bootstrap/scripts/detect-utilities.sh +133 -0
  297. package/skills/repo-bootstrap/scripts/extract-adrs.sh +194 -0
  298. package/skills/repo-bootstrap/scripts/extract-agent-configs.sh +331 -0
  299. package/skills/repo-bootstrap/scripts/extract-architecture-rules.sh +522 -0
  300. package/skills/repo-bootstrap/scripts/extract-ci-commands.sh +385 -0
  301. package/skills/repo-bootstrap/scripts/extract-ci-rules.sh +384 -0
  302. package/skills/repo-bootstrap/scripts/extract-commands.sh +358 -0
  303. package/skills/repo-bootstrap/scripts/extract-documentation.sh +308 -0
  304. package/skills/repo-bootstrap/scripts/extract-github-rulesets.sh +96 -0
  305. package/skills/repo-bootstrap/scripts/extract-github-settings.sh +88 -0
  306. package/skills/repo-bootstrap/scripts/extract-ide-settings.sh +228 -0
  307. package/skills/repo-bootstrap/scripts/extract-platform-files.sh +290 -0
  308. package/skills/repo-bootstrap/scripts/extract-quality-configs.sh +442 -0
  309. package/skills/repo-bootstrap/scripts/generate-agents.sh +2424 -0
  310. package/skills/repo-bootstrap/scripts/generate-file-map.sh +153 -0
  311. package/skills/repo-bootstrap/scripts/lib/config-root.sh +211 -0
  312. package/skills/repo-bootstrap/scripts/lib/summary.sh +244 -0
  313. package/skills/repo-bootstrap/scripts/lib/template.sh +397 -0
  314. package/skills/repo-bootstrap/scripts/validate-structure.sh +324 -0
  315. package/skills/repo-bootstrap/scripts/verify-commands.sh +615 -0
  316. package/skills/repo-bootstrap/scripts/verify-content.sh +302 -0
  317. package/skills/schema-api-contracts/SKILL.md +56 -0
  318. package/skills/secret-hygiene/SKILL.md +511 -0
  319. package/skills/secret-hygiene/assets/.gitkeep +9 -0
  320. package/skills/secret-hygiene/assets/config-balanced.toml +81 -0
  321. package/skills/secret-hygiene/assets/config-custom.toml +178 -0
  322. package/skills/secret-hygiene/assets/config-strict.toml +48 -0
  323. package/skills/secret-hygiene/assets/github-action.yml +181 -0
  324. package/skills/secret-hygiene/assets/gitlab-ci.yml +257 -0
  325. package/skills/secret-hygiene/assets/precommit-config.yaml +70 -0
  326. package/skills/secret-hygiene/references/EXAMPLE.md +40 -0
  327. package/skills/secret-hygiene/references/compliance_mapping.md +538 -0
  328. package/skills/secret-hygiene/references/detection_rules.md +276 -0
  329. package/skills/secret-hygiene/references/false_positives.md +598 -0
  330. package/skills/secret-hygiene/references/remediation_guide.md +530 -0
  331. package/skills/stack-selector/SKILL.md +56 -0
  332. package/skills/telegram-control/SKILL.md +110 -0
  333. package/skills/telegram-control/references/architecture.md +184 -0
  334. package/skills/telegram-control/references/convex.md +173 -0
  335. package/skills/telegram-control/references/error_handling.md +212 -0
  336. package/skills/telegram-control/references/initial_setup.md +165 -0
  337. package/skills/telegram-control/references/telegram_api.md +156 -0
  338. package/skills/telegram-control/scripts/cancel_message.ts +53 -0
  339. package/skills/telegram-control/scripts/list_scheduled.ts +103 -0
  340. package/skills/telegram-control/scripts/logger.ts +121 -0
  341. package/skills/telegram-control/scripts/proxy-util.ts +11 -0
  342. package/skills/telegram-control/scripts/schedule_message.ts +216 -0
  343. package/skills/telegram-control/scripts/send_message.ts +115 -0
  344. package/skills/telegram-control/scripts/setup.ts +185 -0
  345. package/skills/telegram-control/scripts/types.ts +75 -0
  346. package/skills/telegram-control/scripts/view_history.ts +74 -0
  347. package/skills/test-strategy/SKILL.md +352 -0
  348. package/skills/threat-model/SKILL.md +303 -0
  349. package/skills/threat-model/examples/example-output.md +196 -0
  350. package/skills/threat-model/template.md +96 -0
  351. package/skills/ts-lint/SKILL.md +80 -0
  352. package/skills/ui-flow/SKILL.md +668 -0
  353. package/skills/voice-command-router/SKILL.md +51 -0
  354. package/skills/widget-live-activity-sync/SKILL.md +66 -0
@@ -0,0 +1,116 @@
1
+ # Playwright CLI Reference
2
+
3
+ Use the wrapper script unless the CLI is already installed globally:
4
+
5
+ ```bash
6
+ export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
7
+ export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
8
+ "$PWCLI" --help
9
+ ```
10
+
11
+ User-scoped skills install under `$CODEX_HOME/skills` (default: `~/.codex/skills`).
12
+
13
+ Optional convenience alias:
14
+
15
+ ```bash
16
+ alias pwcli="$PWCLI"
17
+ ```
18
+
19
+ ## Core
20
+
21
+ ```bash
22
+ pwcli open https://example.com
23
+ pwcli close
24
+ pwcli snapshot
25
+ pwcli click e3
26
+ pwcli dblclick e7
27
+ pwcli type "search terms"
28
+ pwcli press Enter
29
+ pwcli fill e5 "user@example.com"
30
+ pwcli drag e2 e8
31
+ pwcli hover e4
32
+ pwcli select e9 "option-value"
33
+ pwcli upload ./document.pdf
34
+ pwcli check e12
35
+ pwcli uncheck e12
36
+ pwcli eval "document.title"
37
+ pwcli eval "el => el.textContent" e5
38
+ pwcli dialog-accept
39
+ pwcli dialog-accept "confirmation text"
40
+ pwcli dialog-dismiss
41
+ pwcli resize 1920 1080
42
+ ```
43
+
44
+ ## Navigation
45
+
46
+ ```bash
47
+ pwcli go-back
48
+ pwcli go-forward
49
+ pwcli reload
50
+ ```
51
+
52
+ ## Keyboard
53
+
54
+ ```bash
55
+ pwcli press Enter
56
+ pwcli press ArrowDown
57
+ pwcli keydown Shift
58
+ pwcli keyup Shift
59
+ ```
60
+
61
+ ## Mouse
62
+
63
+ ```bash
64
+ pwcli mousemove 150 300
65
+ pwcli mousedown
66
+ pwcli mousedown right
67
+ pwcli mouseup
68
+ pwcli mouseup right
69
+ pwcli mousewheel 0 100
70
+ ```
71
+
72
+ ## Save as
73
+
74
+ ```bash
75
+ pwcli screenshot
76
+ pwcli screenshot e5
77
+ pwcli pdf
78
+ ```
79
+
80
+ ## Tabs
81
+
82
+ ```bash
83
+ pwcli tab-list
84
+ pwcli tab-new
85
+ pwcli tab-new https://example.com/page
86
+ pwcli tab-close
87
+ pwcli tab-close 2
88
+ pwcli tab-select 0
89
+ ```
90
+
91
+ ## DevTools
92
+
93
+ ```bash
94
+ pwcli console
95
+ pwcli console warning
96
+ pwcli network
97
+ pwcli run-code "await page.waitForTimeout(1000)"
98
+ pwcli tracing-start
99
+ pwcli tracing-stop
100
+ ```
101
+
102
+ ## Sessions
103
+
104
+ Use a named session to isolate work:
105
+
106
+ ```bash
107
+ pwcli --session todo open https://demo.playwright.dev/todomvc
108
+ pwcli --session todo snapshot
109
+ ```
110
+
111
+ Or set an environment variable once:
112
+
113
+ ```bash
114
+ export PLAYWRIGHT_CLI_SESSION=todo
115
+ pwcli open https://demo.playwright.dev/todomvc
116
+ ```
@@ -0,0 +1,95 @@
1
+ # Playwright CLI Workflows
2
+
3
+ Use the wrapper script and snapshot often.
4
+ Assume `PWCLI` is set and `pwcli` is an alias for `"$PWCLI"`.
5
+ In this repo, run commands from `output/playwright/<label>/` to keep artifacts contained.
6
+
7
+ ## Standard interaction loop
8
+
9
+ ```bash
10
+ pwcli open https://example.com
11
+ pwcli snapshot
12
+ pwcli click e3
13
+ pwcli snapshot
14
+ ```
15
+
16
+ ## Form submission
17
+
18
+ ```bash
19
+ pwcli open https://example.com/form --headed
20
+ pwcli snapshot
21
+ pwcli fill e1 "user@example.com"
22
+ pwcli fill e2 "password123"
23
+ pwcli click e3
24
+ pwcli snapshot
25
+ pwcli screenshot
26
+ ```
27
+
28
+ ## Data extraction
29
+
30
+ ```bash
31
+ pwcli open https://example.com
32
+ pwcli snapshot
33
+ pwcli eval "document.title"
34
+ pwcli eval "el => el.textContent" e12
35
+ ```
36
+
37
+ ## Debugging and inspection
38
+
39
+ Capture console messages and network activity after reproducing an issue:
40
+
41
+ ```bash
42
+ pwcli console warning
43
+ pwcli network
44
+ ```
45
+
46
+ Record a trace around a suspicious flow:
47
+
48
+ ```bash
49
+ pwcli tracing-start
50
+ # reproduce the issue
51
+ pwcli tracing-stop
52
+ pwcli screenshot
53
+ ```
54
+
55
+ ## Sessions
56
+
57
+ Use sessions to isolate work across projects:
58
+
59
+ ```bash
60
+ pwcli --session marketing open https://example.com
61
+ pwcli --session marketing snapshot
62
+ pwcli --session checkout open https://example.com/checkout
63
+ ```
64
+
65
+ Or set the session once:
66
+
67
+ ```bash
68
+ export PLAYWRIGHT_CLI_SESSION=checkout
69
+ pwcli open https://example.com/checkout
70
+ ```
71
+
72
+ ## Configuration file
73
+
74
+ By default, the CLI reads `playwright-cli.json` from the current directory. Use `--config` to point at a specific file.
75
+
76
+ Minimal example:
77
+
78
+ ```json
79
+ {
80
+ "browser": {
81
+ "launchOptions": {
82
+ "headless": false
83
+ },
84
+ "contextOptions": {
85
+ "viewport": { "width": 1280, "height": 720 }
86
+ }
87
+ }
88
+ }
89
+ ```
90
+
91
+ ## Troubleshooting
92
+
93
+ - If an element ref fails, run `pwcli snapshot` again and retry.
94
+ - If the page looks wrong, re-open with `--headed` and resize the window.
95
+ - If a flow depends on prior state, use a named `--session`.
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ if ! command -v npx >/dev/null 2>&1; then
5
+ echo "Error: npx is required but not found on PATH." >&2
6
+ exit 1
7
+ fi
8
+
9
+ has_session_flag="false"
10
+ for arg in "$@"; do
11
+ case "$arg" in
12
+ --session|--session=*)
13
+ has_session_flag="true"
14
+ break
15
+ ;;
16
+ esac
17
+ done
18
+
19
+ cmd=(npx --yes --package @playwright/cli playwright-cli)
20
+ if [[ "${has_session_flag}" != "true" && -n "${PLAYWRIGHT_CLI_SESSION:-}" ]]; then
21
+ cmd+=(--session "${PLAYWRIGHT_CLI_SESSION}")
22
+ fi
23
+ cmd+=("$@")
24
+
25
+ exec "${cmd[@]}"
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: release-publish
3
+ description: Publish npm packages with Trusted Publishing (OIDC), provenance, Changesets, and pack-smoke tests. Never store `NPM_TOKEN` in CI secrets; never `npm unpublish`.
4
+ triggers: [synapta release, npm publish, provenance, OIDC, trusted publishing, Changesets]
5
+ network: allowlist
6
+ tools: [Bash, Read, Edit]
7
+ source:
8
+ origin: authored-by-synapta
9
+ reason: "skills.rest source returned 403 at adoption time; aggregator sites generally low-quality."
10
+ citation_patterns:
11
+ - "npm Trusted Publishing (https://docs.npmjs.com/trusted-publishers)"
12
+ - "npm provenance (https://docs.npmjs.com/generating-provenance-statements)"
13
+ - "Changesets (https://github.com/changesets/changesets)"
14
+ - "SLSA (https://slsa.dev)"
15
+ ---
16
+
17
+ # Release & Publish
18
+
19
+ Publish to npm from CI only, via Trusted Publishing (OIDC). 2FA enforced on the publishing org. Provenance on every release. SBOM attached to GitHub Releases.
20
+
21
+ ## Mandatory rules
22
+
23
+ 1. **No `NPM_TOKEN` in CI secrets**. Use Trusted Publishing — GitHub Actions ↔ npm via OIDC. If the org / package isn't on Trusted Publishing yet, do that first.
24
+ 2. **`publishConfig.provenance: true`** in every publishable `package.json`.
25
+ 3. **2FA enforced** on the publishing org for both account and `publish` actions.
26
+ 4. **Never `npm unpublish`** for a public release. Deprecate (`npm deprecate`) and publish a new patch.
27
+ 5. **Smoke after pack**: install the `.tgz` in a clean tempdir before publish. If the smoke fails, the publish doesn't run.
28
+
29
+ ## Process (Synapta canonical flow)
30
+
31
+ 1. `pnpm changeset` — record changes (semver + summary).
32
+ 2. `pnpm changeset version` — bumps versions + writes CHANGELOG entries.
33
+ 3. Open PR, merge to `main`.
34
+ 4. `release.yml` workflow runs on `main`:
35
+ - lint + typecheck + test + build
36
+ - `pnpm pack` each publishable package
37
+ - smoke: clean tempdir, `npm i ./pkg-*.tgz`, run the package's CLI/`--version`
38
+ - security scans (Trivy, gitleaks, semgrep, osv-scanner)
39
+ - **OIDC publish**: `npm publish --provenance`
40
+ - post-publish: `npx <pkg>@<tag> --version` in fresh tempdir
41
+ - attach CycloneDX SBOM + provenance statement to GitHub Release
42
+
43
+ ## `package.json` required fields for publishable packages
44
+
45
+ ```jsonc
46
+ {
47
+ "name": "@scope/pkg",
48
+ "version": "0.1.0",
49
+ "type": "module",
50
+ "exports": { ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js" } },
51
+ "files": ["dist", "README.md", "LICENSE"],
52
+ "types": "./dist/index.d.ts",
53
+ "engines": { "node": ">=22" },
54
+ "publishConfig": { "access": "public", "provenance": true }
55
+ }
56
+ ```
57
+
58
+ ## Tags
59
+
60
+ | Tag | Source branch | Purpose |
61
+ |---|---|---|
62
+ | `next` | every merge to `main` | bleeding-edge, integration testing |
63
+ | `beta` | release candidate | external testers |
64
+ | `latest` | tagged release | stable, default `npm install` |
65
+
66
+ ## Failure modes
67
+
68
+ - **Provenance build fails** → workflow must abort before publish; provenance is not optional
69
+ - **Smoke install fails on Windows/Linux/macOS** → fix the cause; do not "skip on $OS"
70
+ - **Publish succeeds but verify fails** → open an incident, do not retry blindly; might be a registry cache issue
71
+ - **Deprecate after publish** → use `npm deprecate '<pkg>@<version>' '<reason>'`; never `unpublish`
72
+
73
+ ## Rollback
74
+
75
+ There is no "unship" for npm. Options, in order of preference:
76
+ 1. Publish a patch (`x.y.z+1`) that reverts the breaking change.
77
+ 2. `npm deprecate` the bad version pointing at the patch.
78
+ 3. If a secret was published: rotate the secret first; deprecate the version with a note; consider `unpublish` only within the 72-hour window AND if downstream impact is zero. This requires coordination with npm support for popular packages.
79
+
80
+ ## Anti-patterns
81
+
82
+ - Long-lived publish tokens stored as secrets
83
+ - Publishing from a developer laptop "just this once"
84
+ - Skipping the post-pack smoke "to save 30 seconds"
85
+ - Using `npm version` (manual) instead of Changesets in a monorepo
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: repo-bootstrap
3
+ synapta_original_name: agent-rules
4
+ triggers: [synapta new, synapta repo init, AGENTS.md, scaffold project, .claude overlay, .codex overlay]
5
+ network: allowlist
6
+ source:
7
+ origin: https://github.com/netresearch/agent-rules-skill
8
+ path: skills/agent-rules
9
+ commit: 9d1c57d1a131
10
+ license: MIT AND CC-BY-SA-4.0 (Netresearch DTT GmbH)
11
+ adapted: light-touch
12
+ description: "Use when creating or updating AGENTS.md files, .github/copilot-instructions.md, or other AI agent rule files, onboarding AI agents to a project, standardizing agent documentation, or when anyone mentions AGENTS.md, agent rules, project onboarding, or codebase documentation for AI agents."
13
+ license: "(MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.0"
14
+ compatibility: "Requires bash 4.3+, jq 1.5+, git 2.0+."
15
+ metadata:
16
+ author: Netresearch DTT GmbH
17
+ version: "3.9.1"
18
+ repository: https://github.com/netresearch/agent-rules-skill
19
+ allowed-tools: Bash(git:*) Bash(jq:*) Bash(grep:*) Bash(find:*) Bash(bash:*) Read Glob Grep
20
+ ---
21
+
22
+ # AGENTS.md Generator Skill
23
+
24
+ Generate and maintain AGENTS.md files following the [agents.md convention](https://agents.md/). AGENTS.md is FOR AGENTS, not humans.
25
+
26
+ ## When to Use
27
+
28
+ - Creating or updating AGENTS.md for new/existing projects
29
+ - Standardizing agent documentation across repositories
30
+ - Checking if AGENTS.md files are current with recent code changes
31
+ - Onboarding AI agents to an unfamiliar codebase
32
+
33
+ ## Scripts
34
+
35
+ | Script | Purpose |
36
+ |--------|---------|
37
+ | `scripts/generate-agents.sh PATH` | Generate AGENTS.md files |
38
+ | `scripts/validate-structure.sh PATH` | Validate structure compliance |
39
+ | `scripts/check-freshness.sh PATH` | Check if files are outdated |
40
+ | `scripts/verify-content.sh PATH` | Verify documented files/commands match codebase |
41
+ | `scripts/verify-commands.sh PATH` | Verify documented commands execute |
42
+ | `scripts/detect-project.sh PATH` | Detect language, version, build tools |
43
+ | `scripts/detect-scopes.sh PATH` | Identify directories needing scoped files |
44
+ | `scripts/extract-commands.sh PATH` | Extract commands from build configs |
45
+ | `scripts/extract-ci-rules.sh PATH` | Extract CI quality gates and version matrix |
46
+ | `scripts/extract-architecture-rules.sh PATH` | Extract module boundaries |
47
+ | `scripts/extract-adrs.sh PATH` | Extract architectural decision records |
48
+ | `scripts/extract-github-rulesets.sh PATH` | Extract GitHub rulesets and merge rules |
49
+
50
+ See `references/scripts-guide.md` for full options.
51
+
52
+ ## Workflow
53
+
54
+ 1. **Detect**: `detect-project.sh` + `detect-scopes.sh` to identify stacks and subsystems
55
+ 2. **Extract**: `extract-commands.sh`, `extract-ci-rules.sh`, etc. to gather facts
56
+ 3. **Generate**: `generate-agents.sh` with `--style=thin` (default) or `--verbose`
57
+ 4. **Verify**: `verify-content.sh` + `verify-commands.sh` -- MANDATORY before done
58
+
59
+ Use `--update` to preserve human-curated content outside `<!-- GENERATED -->` markers.
60
+
61
+ ## Core Principles
62
+
63
+ - **Structured over Prose** -- tables parse faster than paragraphs
64
+ - **Never Fabricate** -- only document what exists; verify every command and path
65
+ - **Pointer Principle** -- point to files, don't duplicate content
66
+ - **Auto Symlinks** -- CLAUDE.md/GEMINI.md symlinks by default (see [`ai-tool-compatibility.md`](references/ai-tool-compatibility.md))
67
+
68
+ ## References
69
+
70
+ | File | Contents |
71
+ |------|----------|
72
+ | [`verification-guide.md`](references/verification-guide.md) | Verification steps, design principles |
73
+ | [`scripts-guide.md`](references/scripts-guide.md) | Script options, validation checklist |
74
+ | [`ai-tool-compatibility.md`](references/ai-tool-compatibility.md) | 16-agent compatibility matrix |
75
+ | [`output-structure.md`](references/output-structure.md) | Root/scoped sections |
76
+ | [`git-hooks-setup.md`](references/git-hooks-setup.md) | Hook framework detection and setup |
77
+ | [`examples/`](references/examples/) | Complete examples |
78
+ | [`ai-contribution-guidelines.md`](references/ai-contribution-guidelines.md) | "3 Cs" framework for AI contributions (Comprehension, Context, Continuity) |
79
+ | [`directory-coverage.md`](references/directory-coverage.md) | Full coverage rationale for scoped AGENTS.md files |
80
+
81
+ ## Templates
82
+
83
+ Root: `assets/root-thin.md` (default), `root-verbose.md`. Scoped: `assets/scoped/` -- `backend-go.md`, `backend-php.md`, `python-modern.md`, `typo3.md`, `symfony.md`, `skill-repo.md`, `cli.md`, `frontend-typescript.md`, `oro.md`.
84
+
85
+ ## Supported Projects
86
+
87
+ Go, PHP (Composer/Laravel/Symfony/TYPO3/Oro), TypeScript (React/Next/Vue/Node), Python (pip/poetry/ruff/mypy), Skill repos, Hybrid (multi-stack with auto-scoping).
88
+
89
+ ## See Also
90
+
91
+ - [`agent-harness-skill`](https://github.com/netresearch/agent-harness-skill) — broader agent-readiness harness (CI verification, enforcement). Invokes this skill when AGENTS.md is missing.
92
+ - [`skill-repo-skill`](https://github.com/netresearch/skill-repo-skill) — skill-repo structure (plugin.json, split licensing, release workflows).
@@ -0,0 +1,89 @@
1
+ # Example GitHub Actions workflow for validating AGENTS.md files
2
+ # Copy this to your repository's .github/workflows/ directory
3
+ #
4
+ # This workflow runs on:
5
+ # - Push/PR to any AGENTS.md file
6
+ # - Manual dispatch
7
+ #
8
+ # Customize the validation steps to match your project's setup.
9
+
10
+ name: Validate AGENTS.md
11
+
12
+ on:
13
+ push:
14
+ paths:
15
+ - 'AGENTS.md'
16
+ - '**/AGENTS.md'
17
+ pull_request:
18
+ paths:
19
+ - 'AGENTS.md'
20
+ - '**/AGENTS.md'
21
+ workflow_dispatch:
22
+
23
+ jobs:
24
+ validate:
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+
29
+ - name: Check AGENTS.md exists
30
+ run: |
31
+ if [ ! -f "AGENTS.md" ]; then
32
+ echo "ERROR: AGENTS.md not found in repository root"
33
+ exit 1
34
+ fi
35
+ echo "AGENTS.md found"
36
+
37
+ - name: Validate structure
38
+ run: |
39
+ # Check for required sections (customize this list for your needs)
40
+ required_sections=(
41
+ "## Overview"
42
+ "## Commands"
43
+ )
44
+
45
+ for section in "${required_sections[@]}"; do
46
+ if ! grep -qi "^$section" AGENTS.md; then
47
+ echo "WARNING: Missing section: $section"
48
+ fi
49
+ done
50
+ echo "Structure validation complete"
51
+
52
+ - name: Check for unresolved placeholders
53
+ run: |
54
+ # Fail if {{PLACEHOLDER}} patterns exist
55
+ if grep -E '\{\{[A-Z][A-Z0-9_]*\}\}' AGENTS.md; then
56
+ echo "ERROR: Found unresolved placeholders"
57
+ exit 1
58
+ fi
59
+ echo "No unresolved placeholders"
60
+
61
+ - name: Check for stale content
62
+ run: |
63
+ # Error if unresolved template placeholders exist
64
+ if grep -qE '\{\{[A-Z_]+\}\}' AGENTS.md; then
65
+ echo "ERROR: Found unresolved template placeholders - regenerate AGENTS.md"
66
+ exit 1
67
+ fi
68
+
69
+ # Check freshness (optional - customize days threshold)
70
+ if grep -q "Last updated:" AGENTS.md; then
71
+ last_updated=$(grep "Last updated:" AGENTS.md | grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2}' | head -1)
72
+ if [ -n "$last_updated" ]; then
73
+ days_old=$(( ($(date +%s) - $(date -d "$last_updated" +%s)) / 86400 ))
74
+ if [ "$days_old" -gt 90 ]; then
75
+ echo "WARNING: AGENTS.md is $days_old days old - consider updating"
76
+ fi
77
+ fi
78
+ fi
79
+ echo "Freshness check complete"
80
+
81
+ # Optional: Verify documented commands work
82
+ # Uncomment and customize for your project
83
+ # - name: Verify commands
84
+ # run: |
85
+ # # Example: check that npm scripts exist
86
+ # if [ -f "package.json" ]; then
87
+ # # Extract commands from AGENTS.md and verify they exist
88
+ # echo "Verifying npm commands..."
89
+ # fi
@@ -0,0 +1,141 @@
1
+ <!-- FOR AI AGENTS - Human readability is a side effect, not a goal -->
2
+ <!-- Managed by agent: keep sections and order; edit content, not structure -->
3
+ <!-- Last updated: {{TIMESTAMP}} | Last verified: {{VERIFIED_TIMESTAMP}} -->
4
+
5
+ # AGENTS.md
6
+
7
+ **Precedence:** the **closest `AGENTS.md`** to the files you're changing wins. Root holds global defaults only.
8
+
9
+ ## Commands{{VERIFIED_STATUS}}
10
+ > Source: {{COMMAND_SOURCE}} — CI-sourced commands are most reliable
11
+
12
+ <!-- AGENTS-GENERATED:START commands -->
13
+ | Task | Command | ~Time |
14
+ |------|---------|-------|
15
+ | Typecheck | {{TYPECHECK_CMD}} | {{TYPECHECK_TIME}} |
16
+ | Lint | {{LINT_CMD}} | {{LINT_TIME}} |
17
+ | Format | {{FORMAT_CMD}} | {{FORMAT_TIME}} |
18
+ | Test (single) | {{TEST_SINGLE_CMD}} | ~2s |
19
+ | Test (all) | {{TEST_CMD}} | {{TEST_TIME}} |
20
+ | Build | {{BUILD_CMD}} | {{BUILD_TIME}} |
21
+ <!-- AGENTS-GENERATED:END commands -->
22
+
23
+ > If commands fail, verify against Makefile/package.json/composer.json or ask user to update.
24
+
25
+ ## Response Style
26
+ - Answer first, elaborate only if needed. No sycophantic openers ("Great question!", "Absolutely!").
27
+ - For yes/no or status questions, lead with the answer.
28
+ - Skip preamble. Match response length to task complexity.
29
+
30
+ ## Workflow
31
+ 1. **Before coding**: Read nearest `AGENTS.md` + check Golden Samples for the area you're touching
32
+ 2. **After each change**: Run the smallest relevant check (lint → typecheck → single test)
33
+ 3. **Before committing**: Run full test suite if changes affect >2 files or touch shared code
34
+ 4. **Before claiming done**: Run verification and **show output as evidence** — never say "try again", "should work now", "tested", "verified", or "all green" without pasted command output in the same turn
35
+
36
+ ## File Map
37
+ <!-- AGENTS-GENERATED:START filemap -->
38
+ ```
39
+ {{FILE_MAP}}
40
+ ```
41
+ <!-- AGENTS-GENERATED:END filemap -->
42
+
43
+ ## Golden Samples (follow these patterns)
44
+ <!-- AGENTS-GENERATED:START golden-samples -->
45
+ | For | Reference | Key patterns |
46
+ |-----|-----------|--------------|
47
+ {{GOLDEN_SAMPLES}}
48
+ <!-- AGENTS-GENERATED:END golden-samples -->
49
+
50
+ ## Utilities (check before creating new)
51
+ <!-- AGENTS-GENERATED:START utilities -->
52
+ | Need | Use | Location |
53
+ |------|-----|----------|
54
+ {{UTILITIES_LIST}}
55
+ <!-- AGENTS-GENERATED:END utilities -->
56
+
57
+ ## Heuristics (quick decisions)
58
+ <!-- AGENTS-GENERATED:START heuristics -->
59
+ | When | Do |
60
+ |------|-----|
61
+ {{HEURISTICS}}
62
+ | Adding dependency | Ask first - we minimize deps |
63
+ | Unsure about pattern | Check Golden Samples above |
64
+ <!-- AGENTS-GENERATED:END heuristics -->
65
+
66
+ ## Repository Settings
67
+ <!-- AGENTS-GENERATED:START repo-settings -->
68
+ {{REPO_SETTINGS}}
69
+ <!-- AGENTS-GENERATED:END repo-settings -->
70
+
71
+ <!-- AGENTS-GENERATED:START ci-rules -->
72
+ {{CI_RULES_SECTION}}
73
+ <!-- AGENTS-GENERATED:END ci-rules -->
74
+
75
+ ## Key Decisions
76
+ <!-- AGENTS-GENERATED:START key-decisions -->
77
+ {{KEY_DECISIONS}}
78
+ <!-- AGENTS-GENERATED:END key-decisions -->
79
+
80
+ ## Boundaries
81
+
82
+ ### Always Do
83
+ - Run pre-commit checks before committing
84
+ - Add tests for new code paths
85
+ - Use conventional commit format: `type(scope): subject`
86
+ - Use **atomic commits** (one logical change per commit); preserve signatures, keep bisection useful
87
+ - **Show test output as evidence before claiming work is complete** — never say "try again", "should work now", "tested", "verified", or "all green" without pasted command output
88
+ - Before any edit, verify `pwd` resolves inside the intended repo worktree — not `.bare/`, not `~/.claude/skills/…`, not `~/.claude/plugins/cache/…` (those are read-only caches that get clobbered on update)
89
+ - For upstream dependency fixes: run **full** test suite, not just affected tests
90
+ - Force-push only with `--force-with-lease`
91
+ {{LANGUAGE_CONVENTIONS}}
92
+
93
+ ### Ask First
94
+ - Adding new dependencies
95
+ - Modifying CI/CD configuration
96
+ - Changing public API signatures
97
+ - Running full e2e test suites
98
+ - Repo-wide refactoring or rewrites
99
+ - Operations that touch >3 repos (produce a dry-run plan first)
100
+
101
+ ### Never Do
102
+ - Commit secrets, credentials, or sensitive data
103
+ - Modify vendor/, node_modules/, or generated files
104
+ - Push directly to main/master branch — open a PR
105
+ - Merge a PR before all review threads are resolved
106
+ - Squash commits during merge or rebase unless the user explicitly asked
107
+ - Edit installed skill/plugin cache paths (`~/.claude/skills/`, `~/.claude/plugins/cache/`, `**/.bare/**`) — always the source worktree
108
+ - Reply to review comments with bare "Addressed" or "Fixed" — cite the resolving commit SHA
109
+ - Delete migration files or schema changes
110
+ - Use `secrets: inherit` in reusable GitHub Actions workflows (pass secrets explicitly)
111
+ {{LANGUAGE_SPECIFIC_NEVER}}
112
+
113
+ ## Contributing (for AI agents)
114
+ - **Comprehension**: Understand the problem before submitting code. Read the linked issue, understand *why* the change is needed, not just *what* to change.
115
+ - **Context**: Every PR must explain the trade-offs considered and link to the issue it addresses. Disclose AI assistance if the project requires it.
116
+ - **Continuity**: Respond to review feedback. Drive-by PRs without follow-up will be closed.
117
+
118
+ <!-- AGENTS-GENERATED:START module-boundaries -->
119
+ {{MODULE_BOUNDARIES}}
120
+ <!-- AGENTS-GENERATED:END module-boundaries -->
121
+
122
+ ## Codebase State
123
+ <!-- AGENTS-GENERATED:START codebase-state -->
124
+ {{CODEBASE_STATE}}
125
+ <!-- AGENTS-GENERATED:END codebase-state -->
126
+
127
+ ## Terminology
128
+ | Term | Means |
129
+ |------|-------|
130
+ {{TERMINOLOGY}}
131
+
132
+ ## Scoped AGENTS.md (MUST read when working in these directories)
133
+ <!-- AGENTS-GENERATED:START scope-index -->
134
+ {{SCOPE_INDEX}}
135
+ <!-- AGENTS-GENERATED:END scope-index -->
136
+
137
+ > **Agents**: When you read or edit files in a listed directory, you **must** load its AGENTS.md first. It contains directory-specific conventions that override this root file.
138
+
139
+ ## When instructions conflict
140
+ The nearest `AGENTS.md` wins. Explicit user prompts override files.
141
+ {{LANGUAGE_SPECIFIC_CONFLICT_RESOLUTION}}