@openhands/extensions 0.0.1-alpha → 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 (347) hide show
  1. package/.agents/skills/custom-codereview-guide.md +25 -0
  2. package/.github/pull_request_template.md +38 -0
  3. package/.github/release.yml +14 -0
  4. package/.github/workflows/check-extensions.yml +72 -0
  5. package/.github/workflows/npm-publish.yml +89 -0
  6. package/.github/workflows/pr.yml +30 -0
  7. package/.github/workflows/release.yml +24 -0
  8. package/.github/workflows/tests.yml +25 -0
  9. package/.github/workflows/vulnerability-scan.yml +87 -0
  10. package/.release-please-manifest.json +3 -0
  11. package/AGENTS.md +132 -0
  12. package/README.md +10 -0
  13. package/analysis_results.md +162 -0
  14. package/marketplaces/large-codebase.json +66 -0
  15. package/marketplaces/openhands-extensions.json +682 -0
  16. package/package.json +4 -10
  17. package/plugins/README.md +30 -0
  18. package/plugins/city-weather/.plugin/plugin.json +13 -0
  19. package/plugins/city-weather/README.md +145 -0
  20. package/plugins/city-weather/commands/now.md +56 -0
  21. package/plugins/cobol-modernization/.plugin/plugin.json +19 -0
  22. package/plugins/cobol-modernization/README.md +201 -0
  23. package/plugins/cobol-modernization/references/troubleshooting.md +18 -0
  24. package/plugins/cobol-modernization/skills/build-setup/SKILL.md +78 -0
  25. package/plugins/cobol-modernization/skills/build-setup/scripts/install-gnucobol.sh +32 -0
  26. package/plugins/cobol-modernization/skills/cobol-modernization-overview/SKILL.md +113 -0
  27. package/plugins/cobol-modernization/skills/mainfraime-removal/SKILL.md +62 -0
  28. package/plugins/cobol-modernization/skills/mainfraime-removal/references/cics-transformation-examples.md +45 -0
  29. package/plugins/cobol-modernization/skills/mainframe-planning/SKILL.md +78 -0
  30. package/plugins/cobol-modernization/skills/to-java-migration/SKILL.md +59 -0
  31. package/plugins/cobol-modernization/skills/to-java-migration/references/cobol-to-java-example.md +58 -0
  32. package/plugins/cobol-modernization/skills/to-java-migration/references/datatype-mappings.md +19 -0
  33. package/plugins/issue-duplicate-checker/.plugin/plugin.json +13 -0
  34. package/plugins/issue-duplicate-checker/README.md +51 -0
  35. package/plugins/issue-duplicate-checker/action.yml +349 -0
  36. package/plugins/issue-duplicate-checker/scripts/auto_close_duplicate_issues.py +569 -0
  37. package/plugins/issue-duplicate-checker/scripts/issue_duplicate_check_openhands.py +681 -0
  38. package/plugins/issue-duplicate-checker/scripts/post_duplicate_notice.js +220 -0
  39. package/plugins/issue-duplicate-checker/scripts/remove_duplicate_candidate_label.js +27 -0
  40. package/plugins/magic-test/.plugin/plugin.json +13 -0
  41. package/plugins/magic-test/skills/magic-word/SKILL.md +33 -0
  42. package/plugins/migration-scoring/.plugin/plugin.json +19 -0
  43. package/plugins/migration-scoring/README.md +244 -0
  44. package/plugins/migration-scoring/skills/migration-mapping/SKILL.md +72 -0
  45. package/plugins/migration-scoring/skills/migration-report/SKILL.md +118 -0
  46. package/plugins/migration-scoring/skills/migration-scoring-overview/SKILL.md +126 -0
  47. package/plugins/migration-scoring/skills/score-quality/SKILL.md +54 -0
  48. package/plugins/migration-scoring/skills/score-quality/references/scoring-criteria.md +30 -0
  49. package/plugins/migration-scoring/skills/score-style/SKILL.md +106 -0
  50. package/plugins/onboarding/.plugin/plugin.json +20 -0
  51. package/plugins/onboarding/README.md +30 -0
  52. package/plugins/onboarding/references/criteria.md +144 -0
  53. package/plugins/onboarding/skills/agent-readiness-report/README.md +23 -0
  54. package/plugins/onboarding/skills/agent-readiness-report/SKILL.md +122 -0
  55. package/plugins/onboarding/skills/agent-readiness-report/scripts/scan_agent_instructions.sh +88 -0
  56. package/plugins/onboarding/skills/agent-readiness-report/scripts/scan_build_env.sh +114 -0
  57. package/plugins/onboarding/skills/agent-readiness-report/scripts/scan_feedback_loops.sh +133 -0
  58. package/plugins/onboarding/skills/agent-readiness-report/scripts/scan_policy.sh +113 -0
  59. package/plugins/onboarding/skills/agent-readiness-report/scripts/scan_workflows.sh +127 -0
  60. package/plugins/onboarding/skills/improve-agent-readiness/README.md +19 -0
  61. package/plugins/onboarding/skills/improve-agent-readiness/SKILL.md +167 -0
  62. package/plugins/onboarding/skills/setup-agents-md/README.md +15 -0
  63. package/plugins/onboarding/skills/setup-agents-md/SKILL.md +150 -0
  64. package/plugins/onboarding/skills/setup-openhands/README.md +20 -0
  65. package/plugins/onboarding/skills/setup-openhands/SKILL.md +56 -0
  66. package/plugins/onboarding/skills/setup-pr-review/README.md +23 -0
  67. package/plugins/onboarding/skills/setup-pr-review/SKILL.md +72 -0
  68. package/plugins/openhands/.plugin/plugin.json +13 -0
  69. package/plugins/openhands/README.md +52 -0
  70. package/plugins/openhands/SKILL.md +61 -0
  71. package/plugins/openhands/commands/create.md +55 -0
  72. package/plugins/openhands/commands/openhands-cloud.md +8 -0
  73. package/plugins/openhands/scripts/run.sh +69 -0
  74. package/plugins/pr-review/.plugin/plugin.json +13 -0
  75. package/plugins/pr-review/README.md +393 -0
  76. package/plugins/pr-review/action.yml +298 -0
  77. package/plugins/pr-review/scripts/agent_script.py +1282 -0
  78. package/plugins/pr-review/scripts/evaluate_review.py +655 -0
  79. package/plugins/pr-review/scripts/prompt.py +260 -0
  80. package/plugins/pr-review/workflows/pr-review-by-openhands.yml +51 -0
  81. package/plugins/pr-review/workflows/pr-review-evaluation.yml +85 -0
  82. package/plugins/qa-changes/.plugin/plugin.json +11 -0
  83. package/plugins/qa-changes/README.md +185 -0
  84. package/plugins/qa-changes/action.yml +181 -0
  85. package/plugins/qa-changes/scripts/agent_script.py +406 -0
  86. package/plugins/qa-changes/scripts/evaluate_qa_changes.py +385 -0
  87. package/plugins/qa-changes/scripts/prompt.py +174 -0
  88. package/plugins/qa-changes/workflows/qa-changes-by-openhands.yml +50 -0
  89. package/plugins/qa-changes/workflows/qa-changes-evaluation.yml +85 -0
  90. package/plugins/release-notes/.plugin/plugin.json +19 -0
  91. package/plugins/release-notes/README.md +283 -0
  92. package/plugins/release-notes/SKILL.md +83 -0
  93. package/plugins/release-notes/action.yml +117 -0
  94. package/plugins/release-notes/commands/release-notes.md +8 -0
  95. package/plugins/release-notes/scripts/agent_script.py +292 -0
  96. package/plugins/release-notes/scripts/generate_release_notes.py +733 -0
  97. package/plugins/release-notes/scripts/prompt.py +90 -0
  98. package/plugins/release-notes/scripts/validate_release_notes.py +328 -0
  99. package/plugins/release-notes/workflows/release-notes.yml +76 -0
  100. package/plugins/vulnerability-remediation/.plugin/plugin.json +19 -0
  101. package/plugins/vulnerability-remediation/README.md +217 -0
  102. package/plugins/vulnerability-remediation/action.yml +187 -0
  103. package/plugins/vulnerability-remediation/scripts/scan_and_remediate.py +561 -0
  104. package/plugins/vulnerability-remediation/workflows/vulnerability-scan.yml +87 -0
  105. package/pyproject.toml +12 -0
  106. package/release-please-config.json +16 -0
  107. package/scripts/sync_extensions.py +494 -0
  108. package/scripts/sync_openhands_sdk_skill.py +264 -0
  109. package/skills/README.md +159 -0
  110. package/skills/add-javadoc/.plugin/plugin.json +18 -0
  111. package/skills/add-javadoc/README.md +40 -0
  112. package/skills/add-javadoc/SKILL.md +35 -0
  113. package/skills/add-javadoc/references/example.md +32 -0
  114. package/skills/add-skill/.plugin/plugin.json +18 -0
  115. package/skills/add-skill/README.md +67 -0
  116. package/skills/add-skill/SKILL.md +47 -0
  117. package/skills/add-skill/scripts/fetch_skill.py +259 -0
  118. package/skills/agent-creator/.plugin/plugin.json +20 -0
  119. package/skills/agent-creator/README.md +104 -0
  120. package/skills/agent-creator/SKILL.md +190 -0
  121. package/skills/agent-creator/commands/agent-creator.md +8 -0
  122. package/skills/agent-creator/references/fallback.md +117 -0
  123. package/skills/agent-memory/.plugin/plugin.json +18 -0
  124. package/skills/agent-memory/README.md +35 -0
  125. package/skills/agent-memory/SKILL.md +30 -0
  126. package/skills/agent-memory/commands/remember.md +8 -0
  127. package/skills/agent-sdk-builder/.plugin/plugin.json +18 -0
  128. package/skills/agent-sdk-builder/README.md +40 -0
  129. package/skills/agent-sdk-builder/SKILL.md +37 -0
  130. package/skills/agent-sdk-builder/commands/agent-builder.md +8 -0
  131. package/skills/azure-devops/.plugin/plugin.json +18 -0
  132. package/skills/azure-devops/README.md +55 -0
  133. package/skills/azure-devops/SKILL.md +50 -0
  134. package/skills/bitbucket/.plugin/plugin.json +17 -0
  135. package/skills/bitbucket/README.md +50 -0
  136. package/skills/bitbucket/SKILL.md +45 -0
  137. package/skills/code-review/.plugin/plugin.json +19 -0
  138. package/skills/code-review/README.md +18 -0
  139. package/skills/code-review/SKILL.md +208 -0
  140. package/skills/code-review/commands/codereview-roasted.md +8 -0
  141. package/skills/code-review/commands/codereview.md +8 -0
  142. package/skills/code-review/references/risk-evaluation.md +41 -0
  143. package/skills/code-review/references/supply-chain-security.md +31 -0
  144. package/skills/code-simplifier/.plugin/plugin.json +21 -0
  145. package/skills/code-simplifier/README.md +30 -0
  146. package/skills/code-simplifier/SKILL.md +91 -0
  147. package/skills/code-simplifier/commands/simplify.md +8 -0
  148. package/skills/code-simplifier/references/code-quality-review.md +86 -0
  149. package/skills/code-simplifier/references/code-reuse-review.md +63 -0
  150. package/skills/code-simplifier/references/efficiency-review.md +81 -0
  151. package/skills/datadog/.plugin/plugin.json +19 -0
  152. package/skills/datadog/README.md +100 -0
  153. package/skills/datadog/SKILL.md +95 -0
  154. package/skills/deno/.plugin/plugin.json +18 -0
  155. package/skills/deno/README.md +5 -0
  156. package/skills/deno/SKILL.md +99 -0
  157. package/skills/deno/references/README.md +6 -0
  158. package/skills/discord/.plugin/plugin.json +18 -0
  159. package/skills/discord/README.md +31 -0
  160. package/skills/discord/SKILL.md +109 -0
  161. package/skills/discord/__init__.py +0 -0
  162. package/skills/discord/references/REFERENCE.md +78 -0
  163. package/skills/discord/scripts/__init__.py +0 -0
  164. package/skills/discord/scripts/_http.py +127 -0
  165. package/skills/discord/scripts/post_webhook.py +106 -0
  166. package/skills/discord/scripts/send_message.py +102 -0
  167. package/skills/docker/.plugin/plugin.json +17 -0
  168. package/skills/docker/README.md +34 -0
  169. package/skills/docker/SKILL.md +29 -0
  170. package/skills/evidence-based-citations/.plugin/plugin.json +20 -0
  171. package/skills/evidence-based-citations/README.md +31 -0
  172. package/skills/evidence-based-citations/SKILL.md +59 -0
  173. package/skills/flarglebargle/.plugin/plugin.json +16 -0
  174. package/skills/flarglebargle/README.md +14 -0
  175. package/skills/flarglebargle/SKILL.md +9 -0
  176. package/skills/frontend-design/.plugin/plugin.json +21 -0
  177. package/skills/frontend-design/LICENSE.txt +177 -0
  178. package/skills/frontend-design/README.md +42 -0
  179. package/skills/frontend-design/SKILL.md +42 -0
  180. package/skills/github/.plugin/plugin.json +19 -0
  181. package/skills/github/README.md +42 -0
  182. package/skills/github/SKILL.md +106 -0
  183. package/skills/github-pr-review/.plugin/plugin.json +18 -0
  184. package/skills/github-pr-review/README.md +145 -0
  185. package/skills/github-pr-review/SKILL.md +148 -0
  186. package/skills/github-pr-review/commands/github-pr-review.md +8 -0
  187. package/skills/github-pr-reviewer/.plugin/plugin.json +20 -0
  188. package/skills/github-pr-reviewer/README.md +34 -0
  189. package/skills/github-pr-reviewer/SKILL.md +89 -0
  190. package/skills/github-pr-reviewer/commands/pr-reviewer:setup.md +8 -0
  191. package/skills/github-repo-monitor/.plugin/plugin.json +22 -0
  192. package/skills/github-repo-monitor/README.md +70 -0
  193. package/skills/github-repo-monitor/SKILL.md +316 -0
  194. package/skills/github-repo-monitor/commands/github-monitor:poll.md +8 -0
  195. package/skills/github-repo-monitor/references/github-api.md +241 -0
  196. package/skills/github-repo-monitor/references/state-schema.md +160 -0
  197. package/skills/github-repo-monitor/scripts/main.py +915 -0
  198. package/skills/github-repo-monitor/tests/test_main.py +400 -0
  199. package/skills/gitlab/.plugin/plugin.json +17 -0
  200. package/skills/gitlab/README.md +37 -0
  201. package/skills/gitlab/SKILL.md +32 -0
  202. package/skills/incident-retrospective/.plugin/plugin.json +21 -0
  203. package/skills/incident-retrospective/README.md +34 -0
  204. package/skills/incident-retrospective/SKILL.md +98 -0
  205. package/skills/incident-retrospective/commands/incident-retro:setup.md +8 -0
  206. package/skills/iterate/.plugin/plugin.json +13 -0
  207. package/skills/iterate/README.md +25 -0
  208. package/skills/iterate/SKILL.md +399 -0
  209. package/skills/iterate/commands/babysit.md +8 -0
  210. package/skills/iterate/commands/iterate.md +8 -0
  211. package/skills/iterate/commands/verify.md +8 -0
  212. package/skills/iterate/references/heuristics.md +58 -0
  213. package/skills/iterate/references/verification.md +96 -0
  214. package/skills/jupyter/.plugin/plugin.json +18 -0
  215. package/skills/jupyter/README.md +55 -0
  216. package/skills/jupyter/SKILL.md +50 -0
  217. package/skills/kubernetes/.plugin/plugin.json +18 -0
  218. package/skills/kubernetes/README.md +53 -0
  219. package/skills/kubernetes/SKILL.md +48 -0
  220. package/skills/learn-from-code-review/.plugin/plugin.json +19 -0
  221. package/skills/learn-from-code-review/README.md +64 -0
  222. package/skills/learn-from-code-review/SKILL.md +186 -0
  223. package/skills/learn-from-code-review/commands/learn-from-reviews.md +8 -0
  224. package/skills/linear/.plugin/plugin.json +19 -0
  225. package/skills/linear/README.md +58 -0
  226. package/skills/linear/SKILL.md +213 -0
  227. package/skills/linear-triage/.plugin/plugin.json +21 -0
  228. package/skills/linear-triage/README.md +34 -0
  229. package/skills/linear-triage/SKILL.md +91 -0
  230. package/skills/linear-triage/commands/linear-triage:setup.md +8 -0
  231. package/skills/notion/.plugin/plugin.json +17 -0
  232. package/skills/notion/README.md +114 -0
  233. package/skills/notion/SKILL.md +109 -0
  234. package/skills/npm/.plugin/plugin.json +17 -0
  235. package/skills/npm/README.md +14 -0
  236. package/skills/npm/SKILL.md +9 -0
  237. package/skills/openhands-api/.plugin/plugin.json +22 -0
  238. package/skills/openhands-api/README.md +48 -0
  239. package/skills/openhands-api/SKILL.md +399 -0
  240. package/skills/openhands-api/references/README.md +33 -0
  241. package/skills/openhands-api/references/TROUBLESHOOTING.md +81 -0
  242. package/skills/openhands-api/references/example_prompt.md +12 -0
  243. package/skills/openhands-api/scripts/openhands_api.py +606 -0
  244. package/skills/openhands-api/scripts/openhands_api.ts +252 -0
  245. package/skills/openhands-automation/.plugin/plugin.json +19 -0
  246. package/skills/openhands-automation/README.md +89 -0
  247. package/skills/openhands-automation/SKILL.md +875 -0
  248. package/skills/openhands-automation/commands/automation:create.md +8 -0
  249. package/skills/openhands-automation/references/ab-testing.md +185 -0
  250. package/skills/openhands-automation/references/custom-automation.md +644 -0
  251. package/skills/openhands-sdk/.plugin/plugin.json +20 -0
  252. package/skills/openhands-sdk/README.md +22 -0
  253. package/skills/openhands-sdk/SKILL.md +229 -0
  254. package/skills/openhands-sdk/commands/sdk.md +8 -0
  255. package/skills/pdflatex/.plugin/plugin.json +18 -0
  256. package/skills/pdflatex/README.md +39 -0
  257. package/skills/pdflatex/SKILL.md +34 -0
  258. package/skills/prd/.plugin/plugin.json +19 -0
  259. package/skills/prd/README.md +28 -0
  260. package/skills/prd/SKILL.md +237 -0
  261. package/skills/prd/commands/prd.md +8 -0
  262. package/skills/qa-changes/README.md +18 -0
  263. package/skills/qa-changes/SKILL.md +229 -0
  264. package/skills/qa-changes/commands/qa-changes.md +8 -0
  265. package/skills/release-notes/README.md +24 -0
  266. package/skills/release-notes/SKILL.md +19 -0
  267. package/skills/release-notes/commands/release-notes.md +8 -0
  268. package/skills/research-brief/.plugin/plugin.json +20 -0
  269. package/skills/research-brief/README.md +34 -0
  270. package/skills/research-brief/SKILL.md +99 -0
  271. package/skills/research-brief/commands/research-brief:setup.md +8 -0
  272. package/skills/security/.plugin/plugin.json +18 -0
  273. package/skills/security/README.md +38 -0
  274. package/skills/security/SKILL.md +33 -0
  275. package/skills/skill-creator/.plugin/plugin.json +17 -0
  276. package/skills/skill-creator/LICENSE.txt +202 -0
  277. package/skills/skill-creator/README.md +182 -0
  278. package/skills/skill-creator/SKILL.md +545 -0
  279. package/skills/skill-creator/references/output-patterns.md +82 -0
  280. package/skills/skill-creator/references/workflows.md +28 -0
  281. package/skills/skill-creator/scripts/init_skill.py +303 -0
  282. package/skills/skill-creator/scripts/quick_validate.py +95 -0
  283. package/skills/slack-channel-monitor/.plugin/plugin.json +21 -0
  284. package/skills/slack-channel-monitor/README.md +91 -0
  285. package/skills/slack-channel-monitor/SKILL.md +276 -0
  286. package/skills/slack-channel-monitor/commands/slack-monitor:poll.md +8 -0
  287. package/skills/slack-channel-monitor/references/slack-api.md +207 -0
  288. package/skills/slack-channel-monitor/references/state-schema.md +180 -0
  289. package/skills/slack-channel-monitor/scripts/main.py +962 -0
  290. package/skills/slack-standup-digest/.plugin/plugin.json +21 -0
  291. package/skills/slack-standup-digest/README.md +34 -0
  292. package/skills/slack-standup-digest/SKILL.md +92 -0
  293. package/skills/slack-standup-digest/commands/standup-digest:setup.md +8 -0
  294. package/skills/spark-version-upgrade/.plugin/plugin.json +20 -0
  295. package/skills/spark-version-upgrade/README.md +54 -0
  296. package/skills/spark-version-upgrade/SKILL.md +233 -0
  297. package/skills/ssh/.plugin/plugin.json +18 -0
  298. package/skills/ssh/README.md +140 -0
  299. package/skills/ssh/SKILL.md +135 -0
  300. package/skills/swift-linux/.plugin/plugin.json +17 -0
  301. package/skills/swift-linux/README.md +86 -0
  302. package/skills/swift-linux/SKILL.md +81 -0
  303. package/skills/theme-factory/.plugin/plugin.json +19 -0
  304. package/skills/theme-factory/LICENSE.txt +202 -0
  305. package/skills/theme-factory/README.md +58 -0
  306. package/skills/theme-factory/SKILL.md +59 -0
  307. package/skills/theme-factory/theme-showcase.pdf +0 -0
  308. package/skills/theme-factory/themes/arctic-frost.md +19 -0
  309. package/skills/theme-factory/themes/botanical-garden.md +19 -0
  310. package/skills/theme-factory/themes/desert-rose.md +19 -0
  311. package/skills/theme-factory/themes/forest-canopy.md +19 -0
  312. package/skills/theme-factory/themes/golden-hour.md +19 -0
  313. package/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  314. package/skills/theme-factory/themes/modern-minimalist.md +19 -0
  315. package/skills/theme-factory/themes/ocean-depths.md +19 -0
  316. package/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  317. package/skills/theme-factory/themes/tech-innovation.md +19 -0
  318. package/skills/uv/.plugin/plugin.json +18 -0
  319. package/skills/uv/README.md +5 -0
  320. package/skills/uv/SKILL.md +95 -0
  321. package/skills/uv/references/README.md +5 -0
  322. package/skills/vercel/.plugin/plugin.json +18 -0
  323. package/skills/vercel/README.md +108 -0
  324. package/skills/vercel/SKILL.md +103 -0
  325. package/tests/test_add_skill_installs_to_agents_dir.py +42 -0
  326. package/tests/test_catalogs.py +109 -0
  327. package/tests/test_code_review_risk_evaluation.py +94 -0
  328. package/tests/test_issue_duplicate_checker.py +240 -0
  329. package/tests/test_openhands_api_python.py +152 -0
  330. package/tests/test_plugin_manifest.py +83 -0
  331. package/tests/test_pr_review_diff_payload.py +202 -0
  332. package/tests/test_pr_review_feedback.py +263 -0
  333. package/tests/test_pr_review_prompt.py +152 -0
  334. package/tests/test_pr_review_review_context.py +253 -0
  335. package/tests/test_qa_changes.py +232 -0
  336. package/tests/test_qa_changes_evaluation.py +259 -0
  337. package/tests/test_release_notes_generator.py +990 -0
  338. package/tests/test_sdk_loading.py +150 -0
  339. package/tests/test_skill_plugin_loading.py +149 -0
  340. package/tests/test_skills_have_readme.py +66 -0
  341. package/tests/test_sync_extensions.py +292 -0
  342. package/tests/test_workflow_sync.py +46 -0
  343. package/utils/analysis/README.md +7 -0
  344. package/utils/analysis/laminar_signals/README.md +211 -0
  345. package/utils/analysis/laminar_signals/analyze.py +780 -0
  346. package/utils/analysis/laminar_signals/templates/default.j2 +49 -0
  347. package/utils/analysis/laminar_signals/templates/pr_review.j2 +61 -0
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: migration-report
3
+ description: Generate a comprehensive migration report summarizing quality scores and providing recommendations. Use after scoring a migration project.
4
+ license: MIT
5
+ compatibility: Requires migration_score.json and style_score.json files
6
+ triggers:
7
+ - migration report
8
+ - migration summary
9
+ - quality report
10
+ ---
11
+
12
+ Generate a comprehensive migration report that summarizes scores and provides actionable insights.
13
+
14
+ **Prerequisites**: Migration quality scores and style scores must exist (see `migration-score-quality` and `migration-score-style` skills).
15
+
16
+ ## Report Structure
17
+
18
+ ### 1. Executive Summary
19
+
20
+ - Overall migration health (High/Medium/Low confidence)
21
+ - Key statistics: total files, average scores, score distribution
22
+ - One-paragraph assessment for stakeholders
23
+
24
+ ### 2. Score Overview
25
+
26
+ #### Coverage Statistics
27
+ - Average coverage score
28
+ - Files with coverage < 3 (needs attention)
29
+ - Files with coverage = 5 (complete)
30
+
31
+ #### Correctness Statistics
32
+ - Average correctness score
33
+ - Files with correctness < 3 (needs attention)
34
+ - Files with correctness = 5 (verified)
35
+
36
+ #### Style Statistics
37
+ - Average style score per attribute
38
+ - Common style issues identified
39
+
40
+ ### 3. Risk Assessment
41
+
42
+ Categorize files into:
43
+ - **Green**: Coverage ≥ 4, Correctness ≥ 4, Style ≥ 4
44
+ - **Yellow**: Any score between 3-4
45
+ - **Red**: Any score < 3
46
+
47
+ ### 4. Notable Findings
48
+
49
+ #### Strengths
50
+ - What was migrated well
51
+ - Good patterns to replicate
52
+
53
+ #### Weaknesses
54
+ - Common issues across files
55
+ - Patterns to avoid
56
+
57
+ ### 5. Recommendations
58
+
59
+ Prioritized action items:
60
+ 1. **Critical** — Files with scores < 3
61
+ 2. **Important** — Files with scores 3-4
62
+ 3. **Nice to have** — Style improvements for green files
63
+
64
+ ### 6. Detailed Scores
65
+
66
+ Include the raw scores for reference (or link to score files).
67
+
68
+ ## Output Format
69
+
70
+ Generate the report as a Markdown file:
71
+
72
+ ```markdown
73
+ # Migration Quality Report
74
+
75
+ **Generated**: 2024-01-15
76
+ **Project**: Customer Management System
77
+ **Source**: COBOL (45 files)
78
+ **Target**: Java (62 files)
79
+
80
+ ## Executive Summary
81
+
82
+ Migration is at **MEDIUM confidence** with average coverage of 4.2/5 and
83
+ correctness of 4.0/5. Three files require immediate attention due to
84
+ incomplete business logic migration.
85
+
86
+ ## Score Overview
87
+
88
+ ### Coverage
89
+ - Average: 4.2/5
90
+ - Complete (5): 28 files (62%)
91
+ - Needs attention (<3): 3 files (7%)
92
+
93
+ ...
94
+ ```
95
+
96
+ ## Tone and Audience
97
+
98
+ - Write for technical stakeholders (architects, tech leads)
99
+ - Be specific about issues (cite file names, line numbers if relevant)
100
+ - Provide actionable recommendations, not vague suggestions
101
+ - Acknowledge good work, not just problems
102
+
103
+ ## Data Sources
104
+
105
+ Read scores from:
106
+ - `migration_score.json` — Coverage and correctness scores
107
+ - `style_score.json` — Style evaluation scores
108
+ - `migration_mapping.json` — File mapping (for counts)
109
+
110
+ ## Example Recommendations
111
+
112
+ **Good:**
113
+ > "CALC001.java has coverage 2/5 because batch processing logic in
114
+ > CALC001.cbl lines 150-200 was not migrated. Implement the
115
+ > `processBatch()` method to match COBOL paragraph PROCESS-BATCH."
116
+
117
+ **Bad:**
118
+ > "Some files need more work."
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: migration-scoring
3
+ description: Evaluate code migration quality with coverage, correctness, and style scoring. Generates executive reports with actionable recommendations.
4
+ license: MIT
5
+ compatibility: Requires completed migration with source and target code, Python 3.13 with uv
6
+ triggers:
7
+ - migration scoring
8
+ - migration quality
9
+ - migration evaluation
10
+ - score migration
11
+ ---
12
+
13
+ Comprehensive quality evaluation for code migration projects.
14
+
15
+ ## Overview
16
+
17
+ This plugin evaluates completed migrations through multiple lenses:
18
+
19
+ 1. **Mapping** — Document source-to-target file relationships
20
+ 2. **Quality Scoring** — Measure coverage and correctness
21
+ 3. **Style Scoring** — Evaluate code quality and conventions
22
+ 4. **Reporting** — Generate executive summary with recommendations
23
+
24
+ ## Prerequisites
25
+
26
+ - Completed migration with both source and target code present
27
+ - Python 3.13 with `uv`
28
+ - LLM API key (Anthropic or OpenAI)
29
+ - Optional: Custom style rubric file
30
+
31
+ ## Quick Start
32
+
33
+ ```bash
34
+ export LLM_API_KEY="your-api-key"
35
+ export LLM_MODEL="anthropic/claude-3-5-sonnet-20241022"
36
+
37
+ uv run python -m lc_sdk_examples.migration_scoring \
38
+ --src-path /path/to/migration/project \
39
+ --rubric-path /path/to/style_rubric.txt
40
+ ```
41
+
42
+ ## Workflow Phases
43
+
44
+ ### Phase 1: Migration Mapping
45
+
46
+ See [../migration-mapping/SKILL.md](../migration-mapping/SKILL.md)
47
+
48
+ Creates a source→target file mapping:
49
+ - Identifies which target files implement each source file
50
+ - Supports many-to-many relationships
51
+ - Flags unmigrated source files
52
+
53
+ **Output:** `migration_mapping.json`
54
+
55
+ ```json
56
+ {
57
+ "CALC001.cbl": ["InvoiceCalculator.java", "TaxCalculator.java"],
58
+ "CUST002.cbl": ["CustomerService.java"]
59
+ }
60
+ ```
61
+
62
+ ### Phase 2: Quality Scoring
63
+
64
+ See [../score-quality/SKILL.md](../score-quality/SKILL.md)
65
+
66
+ Scores each source file on:
67
+ - **Coverage (1-5)**: How much functionality was migrated
68
+ - **Correctness (1-5)**: How accurately behavior was preserved
69
+
70
+ **Output:** `migration_score.json`
71
+
72
+ ```json
73
+ {
74
+ "CALC001.cbl": {
75
+ "coverage": 4,
76
+ "correctness": 5,
77
+ "justification": "All calculation logic migrated..."
78
+ }
79
+ }
80
+ ```
81
+
82
+ ### Phase 3: Style Scoring
83
+
84
+ See [../score-style/SKILL.md](../score-style/SKILL.md)
85
+
86
+ Evaluates target code against style guidelines:
87
+ - Naming conventions
88
+ - Code organization
89
+ - Error handling
90
+ - Documentation
91
+ - Idiomaticity
92
+
93
+ **Output:** `style_score.json`
94
+
95
+ ### Phase 4: Executive Report
96
+
97
+ See [../migration-report/SKILL.md](../migration-report/SKILL.md)
98
+
99
+ Generates a comprehensive report:
100
+ - Overall health assessment
101
+ - Score statistics and distribution
102
+ - Risk categorization (Green/Yellow/Red)
103
+ - Prioritized recommendations
104
+
105
+ **Output:** `final_report.md`
106
+
107
+ ## Output Structure
108
+
109
+ ```
110
+ your-project/
111
+ ├── .lc-sdk/
112
+ │ ├── migration_mapping.json
113
+ │ ├── migration_score.json
114
+ │ ├── style_score.json
115
+ │ └── final_report.md
116
+ ```
117
+
118
+ ## Scoring Criteria
119
+
120
+ See [../score-quality/references/scoring-criteria.md](../score-quality/references/scoring-criteria.md) for the 1-5 scoring scales.
121
+
122
+ ### Risk Categories
123
+
124
+ - **Green**: All scores ≥ 4
125
+ - **Yellow**: Any score 3-4
126
+ - **Red**: Any score < 3
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: score-quality
3
+ description: Score code migration quality based on coverage and correctness. Evaluates how well target code represents source functionality.
4
+ license: MIT
5
+ compatibility: Requires completed migration with source and target code
6
+ triggers:
7
+ - migration quality
8
+ - migration score
9
+ - coverage score
10
+ - correctness score
11
+ ---
12
+
13
+ Evaluate migration quality by scoring coverage and correctness for each source-target file pair.
14
+
15
+ **Prerequisite**: A migration mapping file must exist (see `migration-mapping` skill).
16
+
17
+ See [references/scoring-criteria.md](references/scoring-criteria.md) for the 1-5 scoring scales.
18
+
19
+ ## Output Format
20
+
21
+ Save scores as a JSON file:
22
+
23
+ ```json
24
+ {
25
+ "source_file_1.cbl": {
26
+ "coverage": 4,
27
+ "correctness": 5,
28
+ "justification": "All calculation logic migrated. Tax rounding matches COBOL behavior."
29
+ }
30
+ }
31
+ ```
32
+
33
+ ## Evaluation Process
34
+
35
+ For each source file and its mapped target files:
36
+
37
+ 1. **Identify key functionality** in the source
38
+ - Business logic, data operations, control flow, error handling
39
+
40
+ 2. **Check coverage** in the target
41
+ - Is each function/paragraph represented?
42
+ - Are all data fields and code paths covered?
43
+
44
+ 3. **Verify correctness**
45
+ - Do calculations produce the same results?
46
+ - Are edge cases handled the same way?
47
+
48
+ 4. **Document justification**
49
+ - Specific functionality present/missing
50
+ - Known discrepancies
51
+
52
+ ## Incremental Scoring
53
+
54
+ If a score file already exists, update it with new scores rather than replacing it entirely.
@@ -0,0 +1,30 @@
1
+ # Migration Quality Scoring Criteria
2
+
3
+ ## Coverage Scale (1-5)
4
+
5
+ | Score | Description |
6
+ |-------|-------------|
7
+ | 1 | Very low coverage — most functionality missing |
8
+ | 2 | Low coverage — significant functionality missing |
9
+ | 3 | Moderate coverage — some functionality missing |
10
+ | 4 | High coverage — minor functionality missing |
11
+ | 5 | Very high coverage — all functionality present |
12
+
13
+ ## Correctness Scale (1-5)
14
+
15
+ | Score | Description |
16
+ |-------|-------------|
17
+ | 1 | Very low correctness — many inaccuracies |
18
+ | 2 | Low correctness — significant inaccuracies |
19
+ | 3 | Moderate correctness — some inaccuracies |
20
+ | 4 | High correctness — minor inaccuracies |
21
+ | 5 | Very high correctness — accurate representation |
22
+
23
+ ## Common Issues to Flag
24
+
25
+ - Missing error handling
26
+ - Hardcoded values that were configurable
27
+ - Lost precision in numeric conversions
28
+ - Missing validation rules
29
+ - Incomplete data transformations
30
+ - UI logic that wasn't migrated (acceptable if documented)
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: score-style
3
+ description: Score migrated code against style guidelines and best practices. Evaluates code quality independent of functional correctness.
4
+ license: MIT
5
+ compatibility: Requires target code to evaluate
6
+ triggers:
7
+ - style score
8
+ - code quality score
9
+ - style evaluation
10
+ ---
11
+
12
+ Evaluate migrated code against style guidelines and best practices.
13
+
14
+ This skill scores code quality aspects that are independent of functional correctness — focusing on readability, maintainability, and adherence to conventions.
15
+
16
+ ## Default Scoring Criteria
17
+
18
+ Unless a custom rubric is provided, score on these attributes (1-5 scale):
19
+
20
+ ### Naming Conventions (1-5)
21
+ - 1: Inconsistent or meaningless names
22
+ - 3: Mostly follows conventions, some issues
23
+ - 5: Clear, consistent, idiomatic names
24
+
25
+ ### Code Organization (1-5)
26
+ - 1: Monolithic, hard to navigate
27
+ - 3: Some structure, could be cleaner
28
+ - 5: Well-organized, logical structure
29
+
30
+ ### Error Handling (1-5)
31
+ - 1: Missing or swallowed exceptions
32
+ - 3: Basic error handling present
33
+ - 5: Comprehensive, appropriate error handling
34
+
35
+ ### Documentation (1-5)
36
+ - 1: No documentation
37
+ - 3: Some documentation, inconsistent
38
+ - 5: Thorough, helpful documentation
39
+
40
+ ### Idiomaticity (1-5)
41
+ - 1: Non-idiomatic, smells like translated code
42
+ - 3: Mostly idiomatic, some foreign patterns
43
+ - 5: Fully idiomatic, natural code
44
+
45
+ ## Output Format
46
+
47
+ Save scores as a JSON file:
48
+
49
+ ```json
50
+ {
51
+ "target_file_a.java": {
52
+ "naming_conventions": 4,
53
+ "code_organization": 3,
54
+ "error_handling": 5,
55
+ "documentation": 4,
56
+ "idiomaticity": 4,
57
+ "justification": "Good naming and error handling. Some methods could be extracted for better organization."
58
+ }
59
+ }
60
+ ```
61
+
62
+ ## Custom Rubric
63
+
64
+ If a custom rubric is provided, use its attributes and scoring criteria instead of the defaults. The rubric should define:
65
+ - Attribute names
66
+ - Score meanings for each level (1-5)
67
+ - Examples of good/bad code for each attribute
68
+
69
+ ## Evaluation Guidelines
70
+
71
+ ### What to Look For
72
+
73
+ **Positive indicators:**
74
+ - Consistent naming (camelCase for Java, snake_case for Python)
75
+ - Appropriate class/method sizes
76
+ - Single responsibility principle followed
77
+ - Meaningful comments (not obvious ones)
78
+ - Standard library usage over custom implementations
79
+ - Defensive programming practices
80
+
81
+ **Negative indicators:**
82
+ - Literal translations (COBOL-style Java)
83
+ - God classes or methods
84
+ - Magic numbers
85
+ - Excessive comments or no comments
86
+ - Reinvented wheels
87
+ - Swallowed exceptions
88
+ - Hardcoded values
89
+
90
+ ### Language-Specific Considerations
91
+
92
+ **Java:**
93
+ - Streams vs. for loops (both acceptable, but be consistent)
94
+ - Optional vs. null checks
95
+ - Record types for data classes
96
+ - Builder pattern for complex objects
97
+
98
+ **Python:**
99
+ - Type hints
100
+ - List comprehensions
101
+ - Context managers
102
+ - Pythonic idioms
103
+
104
+ ## Incremental Scoring
105
+
106
+ If a score file already exists, update it with new scores rather than replacing it entirely.
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "onboarding",
3
+ "version": "1.0.0",
4
+ "description": "Assess repository agent-readiness across five pillars, propose high-impact fixes, and generate repo-specific AGENTS.md files",
5
+ "author": {
6
+ "name": "OpenHands",
7
+ "email": "contact@all-hands.dev"
8
+ },
9
+ "homepage": "https://github.com/OpenHands/extensions",
10
+ "repository": "https://github.com/OpenHands/extensions",
11
+ "license": "MIT",
12
+ "keywords": [
13
+ "onboarding",
14
+ "readiness",
15
+ "agents-md",
16
+ "agent-readiness",
17
+ "assessment",
18
+ "ai-readiness"
19
+ ]
20
+ }
@@ -0,0 +1,30 @@
1
+ # Onboarding Plugin
2
+
3
+ Get a repository ready for OpenHands (and other AI agents) to start being productive. This plugin bundles the skills and documentation needed to take a codebase from zero to agent-ready.
4
+
5
+ ## Quick Start
6
+
7
+ Run the `setup-openhands` skill on any repository. It walks through everything needed in one pass: generates an AGENTS.md, creates setup and pre-commit scripts, and adds a PR review workflow.
8
+
9
+ ## Going Deeper
10
+
11
+ Once the basics are in place, you can harden your repo's agent readiness:
12
+
13
+ 1. **`agent-readiness-report`** — evaluates the repo across five pillars and produces a scored report
14
+ 2. **`improve-agent-readiness`** — reads that report and proposes the highest-impact fixes, then implements them on request
15
+
16
+ ## Skills
17
+
18
+ | Skill | Description |
19
+ |-------|-------------|
20
+ | [setup-openhands](skills/setup-openhands/) | One-pass setup: AGENTS.md, scripts, and PR review workflow |
21
+ | [agent-readiness-report](skills/agent-readiness-report/) | Evaluate a repo's agent readiness across five pillars |
22
+ | [improve-agent-readiness](skills/improve-agent-readiness/) | Propose and implement fixes from a readiness report |
23
+ | [setup-agents-md](skills/setup-agents-md/) | Generate a repo-specific AGENTS.md |
24
+ | [setup-pr-review](skills/setup-pr-review/) | Add automated AI code review to a repo |
25
+
26
+ The last two skills (`setup-agents-md` and `setup-pr-review`) are called by `setup-openhands` — you typically won't need to run them directly.
27
+
28
+ ## Shared References
29
+
30
+ The `agent-readiness-report` and `improve-agent-readiness` skills share the same evaluation criteria. The canonical file lives at `references/criteria.md` at the plugin root; each skill symlinks to it.
@@ -0,0 +1,144 @@
1
+ # Agent Readiness Criteria
2
+
3
+ Features that make a codebase ready for AI-assisted development, organized into
4
+ five pillars. Derived from cluster analysis of 123 repositories, but written to
5
+ be tool-agnostic. Every feature answers one question: *if this is missing, what
6
+ goes wrong for the agent?*
7
+
8
+ ---
9
+
10
+ ## Pillar 1 · Agent Instructions
11
+
12
+ How the repo tells AI agents what to do, what to avoid, and how the codebase
13
+ works. This is the highest-signal pillar — it's the difference between an agent
14
+ that understands the project and one that's guessing.
15
+
16
+ | # | Feature | What to look for | Evidence |
17
+ |---|---------|------------------|----------|
18
+ | 1 | **Agent instruction file** | A dedicated file telling agents how to work in this repo — conventions, banned patterns, common commands | `AGENTS.md`, `CLAUDE.md`, `COPILOT.md`, `CONVENTIONS.md` at root |
19
+ | 2 | **AI IDE configuration** | Settings or rules for AI-powered editors/IDEs | `.cursor/rules/`, `.cursorrules`, `.github/copilot-instructions.md`, `.github/instructions/`, `.claude/settings.json` |
20
+ | 3 | **Multi-model support** | Instructions that work across different AI models/tools, not locked to one vendor | 2+ distinct agent config types from features 1–2 present in same repo |
21
+ | 4 | **Agent skills or capabilities** | Packaged, reusable abilities the agent can invoke | `.claude/skills/`, `.factory/skills/`, `skill.md` files, tool definition files |
22
+ | 5 | **Tool server configuration** | Config for agent tool protocols (lets agents use external tools) | `.mcp.json`, `mcp.config.js`, tool server manifests |
23
+ | 6 | **Agent prompt library** | Pre-built prompts for common tasks in this repo | `.github/prompts/`, `prompts/` directory, prompt template files |
24
+ | 7 | **Component-level agent guidance** | Different parts of the codebase have their own agent instructions | `AGENTS.md` or instruction files in subdirectories (e.g. `frontend/AGENTS.md`, `api/CLAUDE.md`) |
25
+ | 8 | **README with build/run/test** | README includes the commands to build, run, and test the project | `README.md` containing code blocks with build/install/test commands |
26
+ | 9 | **Contributing guide** | How to contribute — code style, PR process, commit conventions | `CONTRIBUTING.md`, `docs/contributing.md`, contributing section in README |
27
+ | 10 | **Architecture documentation** | High-level overview of how the system is structured and why | `ARCHITECTURE.md`, `docs/architecture/`, Mermaid/PlantUML diagrams, `doc/design/` |
28
+ | 11 | **API documentation** | Reference docs for the project's interfaces | `openapi.yaml`, generated HTML docs, `doc.go` files, Swagger UI, `api-docs/` |
29
+ | 12 | **Inline code documentation** | Doc comments, docstrings — agents read these to understand intent | JSDoc `/** */` blocks, Python docstrings, GoDoc comments, RDoc `#` blocks, Rust `///` |
30
+ | 13 | **Runnable examples** | Working example code the agent can study and imitate | `examples/` directory, `_examples/`, example apps with their own READMEs |
31
+ | 14 | **Changelog** | History of what changed and how entries should be written | `CHANGELOG.md`, `CHANGES.md`, `HISTORY.md`, release notes in GitHub Releases |
32
+ | 15 | **Environment variable documentation** | Template or docs for required env vars | `.env.example`, `.env.template`, env var table in README or docs |
33
+ | 16 | **Documentation site or directory** | Organized docs beyond the README | `docs/` directory, Docusaurus/Sphinx/MkDocs/VitePress config, published doc site |
34
+ | 17 | **Decision records** | Documented reasoning behind past architectural choices | `doc/adr/`, `decisions/`, `rfcs/`, numbered markdown decision files |
35
+ | 18 | **Module-level READMEs** | Individual packages/modules have their own READMEs | `packages/*/README.md`, `libs/*/README.md`, per-crate/per-module READMEs |
36
+
37
+ ---
38
+
39
+ ## Pillar 2 · Feedback Loops
40
+
41
+ How quickly and clearly the agent learns whether its changes are correct. Fast,
42
+ clear feedback is the difference between an agent that converges on a solution
43
+ and one that spirals.
44
+
45
+ | # | Feature | What to look for | Evidence |
46
+ |---|---------|------------------|----------|
47
+ | 19 | **Linter** | Static analysis that catches bugs and style issues | `.eslintrc.*`, `ruff.toml`, `.golangci.yml`, `clippy.toml`, `pylintrc`, lint config in `pyproject.toml` |
48
+ | 20 | **Formatter** | Auto-formatter that enforces consistent style | `.prettierrc`, `rustfmt.toml`, `[tool.black]` in pyproject.toml, `gofmt`/`goimports` in CI |
49
+ | 21 | **Type checking** | Static type system or type checker | `tsconfig.json` with `strict`, `mypy.ini`, `[tool.mypy]`, `py.typed` marker, Go (inherent) |
50
+ | 22 | **Pre-commit hooks** | Checks that run before commit — catches issues before CI | `.pre-commit-config.yaml`, `.husky/`, `lefthook.yml`, `lint-staged` config |
51
+ | 23 | **Unit tests** | Tests for individual components | `*_test.go`, `*_test.py`, `*.spec.ts`, `test/`, `__tests__/`, test runner config |
52
+ | 24 | **Integration tests** | Tests that verify components work together | `test/integration/`, `tests/e2e/`, API test suites, test files with service dependencies |
53
+ | 25 | **End-to-end tests** | Full system/browser tests | Playwright config, Cypress config, Selenium tests, `e2e/` directory |
54
+ | 26 | **Test coverage measurement** | Coverage tracking so the agent knows if new code is tested | `.codecov.yml`, `coverageThreshold` in jest config, `--cov` in pytest, `cover` profile in Go |
55
+ | 27 | **CI pipeline** | Automated checks on every push or PR | `.github/workflows/ci.yml`, `.circleci/config.yml`, `.gitlab-ci.yml`, `Jenkinsfile` |
56
+ | 28 | **Fast CI feedback** | CI completes quickly enough for agent iteration | CI workflow with documented expected duration, parallel jobs, test splitting |
57
+ | 29 | **Test run documentation** | Agent knows exactly how to run which tests | Test commands in README, AGENTS.md, CONTRIBUTING.md, or Makefile help target |
58
+ | 30 | **Config/schema validation** | YAML, JSON, config files validated automatically | `yamllint` config, JSON schema `$schema` refs, `actionlint` in CI, `taplo` for TOML |
59
+ | 31 | **Snapshot or golden-file tests** | Tests that detect unexpected output changes | `__snapshots__/` directories, `.snap` files, `testdata/` golden files, VCR cassettes |
60
+ | 32 | **Benchmark suite** | Performance tests the agent can run to check for regressions | `bench/`, `benchmarks/`, `*_bench_test.go`, pytest-benchmark, Criterion.rs |
61
+ | 33 | **Warnings-as-errors** | Compiler/runtime warnings treated as failures | `-Werror`, `warningsAsErrors` in build config, `filterwarnings = error` in pytest |
62
+ | 34 | **Spell/typo checking** | Automated spelling checks in CI or hooks | `.cspell.json`, `codespell` in pre-commit, `typos.toml`, spell check CI step |
63
+
64
+ ---
65
+
66
+ ## Pillar 3 · Workflows & Automation
67
+
68
+ The processes that support agent-driven development — how work is structured,
69
+ tracked, and shipped.
70
+
71
+ | # | Feature | What to look for | Evidence |
72
+ |---|---------|------------------|----------|
73
+ | 35 | **Issue templates** | Structured templates for bug reports, feature requests | `.github/ISSUE_TEMPLATE/` with `bug_report.md`, `feature_request.md`, `config.yml` |
74
+ | 36 | **PR template** | Template that guides PR descriptions | `.github/pull_request_template.md`, PR template with checklist items |
75
+ | 37 | **Dependency update automation** | Automated PRs for dependency updates | `.github/dependabot.yml`, `renovate.json`, `.renovaterc`, Renovate preset configs |
76
+ | 38 | **Release automation** | Automated release pipeline (build, tag, publish) | Release workflow in CI, `semantic-release` config, GoReleaser config, `release-please` |
77
+ | 39 | **Branch protection** | Protected main branch with required checks | Branch protection rules (inferred from merge queue config, required status checks in CI) |
78
+ | 40 | **Merge automation** | Merge queue, auto-merge, or merge bot | `merge_group` trigger in CI, Mergify config, auto-merge labels, `gh pr merge --auto` |
79
+ | 41 | **Task runner** | Single entry point for common commands | `Makefile`, `Justfile`, `Taskfile.yml`, `package.json` scripts section, `Rakefile` |
80
+ | 42 | **Structured change tracking** | Changesets, conventional commits, or similar discipline | `.changeset/` directory, `commitlint` config, conventional commit enforcement in CI |
81
+ | 43 | **CI concurrency control** | Cancel-in-progress, concurrency groups to avoid CI pile-up | `concurrency:` blocks in GitHub Actions, `cancel-in-progress: true` |
82
+ | 44 | **Automated release notes** | Changelog/release notes generated from commits or PRs | `release-please` config, `auto-changelog`, `git-cliff`, `conventional-changelog` |
83
+ | 45 | **Stale issue/PR management** | Automation to close or label stale items | `.github/workflows/stale.yml`, `stale` bot config, issue lifecycle labels |
84
+ | 46 | **Label automation** | Automatic PR/issue labeling based on paths or content | `.github/labeler.yml`, label-sync config, auto-label workflows |
85
+ | 47 | **Multi-platform CI** | CI matrix covering multiple OS, arch, or runtime versions | `matrix:` in CI with `os: [ubuntu, macos, windows]` or multiple language versions |
86
+ | 48 | **Deployment automation** | Automated deployment pipeline | Deploy workflow triggered on merge/tag, staging + production environments in CI |
87
+ | 49 | **Automated code review checks** | Bot-driven review checks beyond CI | Danger.js config, review bot config, required review assignments, CODEOWNERS + required reviews |
88
+
89
+ ---
90
+
91
+ ## Pillar 4 · Policy & Governance
92
+
93
+ Rules, ownership, and constraints the agent must know about and respect.
94
+
95
+ | # | Feature | What to look for | Evidence |
96
+ |---|---------|------------------|----------|
97
+ | 50 | **Comprehensive .gitignore** | Covers secrets, build artifacts, IDE files, agent artifacts | `.gitignore` with entries for `.env`, `node_modules/`, build dirs, `.cursor/`, `.claude/` |
98
+ | 51 | **License** | Clear license at root | `LICENSE`, `MIT-LICENSE`, `COPYING`, `LICENSE.md` |
99
+ | 52 | **Code ownership** | File/directory ownership mapping | `CODEOWNERS`, `.github/CODEOWNERS`, docs describing area owners or maintainer teams |
100
+ | 53 | **Security policy** | How to report vulnerabilities | `SECURITY.md`, `.github/security.md`, security reporting instructions |
101
+ | 54 | **Code of conduct** | Community standards | `CODE_OF_CONDUCT.md`, conduct link in contributing guide |
102
+ | 55 | **AI usage policy** | Documented guidelines for AI/agent contributions | AI policy in AGENTS.md, CONTRIBUTING.md, or standalone doc; agent boundary definitions |
103
+ | 56 | **Secrets management** | Secrets handled via environment/vault, not hardcoded | References to `${{ secrets.* }}` in CI, vault config, `.env.example` without values, `git-secrets` |
104
+ | 57 | **Security scanning** | Automated vulnerability scanning in CI | `.github/workflows/codeql.yml`, Snyk config, `gosec` in CI, Trivy, Dependabot security alerts |
105
+ | 58 | **Git attributes** | Line endings, diff drivers, LFS, linguist overrides | `.gitattributes` with `text=auto`, `linguist-generated`, LFS tracking patterns |
106
+ | 59 | **Contributor agreement** | DCO sign-off or CLA process | DCO bot config, `Signed-off-by` requirement in contributing guide, CLA-assistant config |
107
+ | 60 | **Governance model** | Documented maintainer roles, decision-making process | `GOVERNANCE.md`, `MAINTAINERS.md`, governance section in docs, team/role descriptions |
108
+ | 61 | **CI workflow validation** | CI config itself is linted/validated | `actionlint` step in CI, `circleci config validate`, CI config schema validation |
109
+ | 62 | **Environment separation** | Distinct configs for dev/test/prod | `.env.test`, `.env.production`, environment-specific config directories, config per deploy target |
110
+
111
+ ---
112
+
113
+ ## Pillar 5 · Build & Dev Environment
114
+
115
+ Can the agent actually build, run, and iterate on the project? Reproducibility
116
+ and speed matter — an agent that can't build the project can't do anything.
117
+
118
+ | # | Feature | What to look for | Evidence |
119
+ |---|---------|------------------|----------|
120
+ | 63 | **Dependency lockfile** | Pinned dependency versions for reproducible installs | `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`, `uv.lock`, `Cargo.lock`, `go.sum`, `Gemfile.lock`, `poetry.lock` |
121
+ | 64 | **Single-command build** | One documented command to build the entire project | `make build`, `npm run build`, `cargo build` documented in README or agent file |
122
+ | 65 | **Single-command dev setup** | One command to bootstrap a working dev environment | `bin/setup`, `make dev`, `scripts/bootstrap.sh`, `just setup` |
123
+ | 66 | **Dev container** | Containerized dev environment definition | `.devcontainer/devcontainer.json`, `devcontainer.json` at root |
124
+ | 67 | **Containerized services** | Docker-based local development stack | `Dockerfile`, `docker-compose.yml`, `compose.yaml` with dev services |
125
+ | 68 | **Reproducible environment** | Declarative, reproducible dev environment | `flake.nix`, `shell.nix`, `devbox.json`, hermetic build definitions |
126
+ | 69 | **Tool version pinning** | Runtime/tool versions pinned to a file | `.tool-versions`, `mise.toml`, `.node-version`, `.python-version`, `.ruby-version`, `rust-toolchain.toml` |
127
+ | 70 | **Monorepo orchestration** | Tooling for multi-package repositories | Workspace config in `package.json`, `pnpm-workspace.yaml`, Cargo workspace, Go multi-module, Nx/Turborepo/Bazel config |
128
+ | 71 | **Build caching** | Caching for faster rebuilds | CI cache steps (`actions/cache`), Turborepo remote cache, ccache/sccache config, layer caching in Docker |
129
+ | 72 | **Cross-platform support** | Builds on multiple OS/arch | CI matrix with multiple OS entries, cross-compilation configs, multi-arch Docker builds |
130
+ | 73 | **Cloud dev environment** | Cloud-based workspace configuration | `.devcontainer/` with Codespaces features, `.gitpod.yml`, cloud workspace config |
131
+ | 74 | **Package manager configuration** | Custom registry, auth, resolution settings | `.npmrc`, `pip.conf`, `.cargo/config.toml`, registry overrides, resolution overrides |
132
+
133
+ ---
134
+
135
+ ## Summary
136
+
137
+ | Pillar | Features | What it answers |
138
+ |--------|----------|-----------------|
139
+ | Agent Instructions | 18 | Does the agent know what to do? |
140
+ | Feedback Loops | 16 | Does the agent know if it's right? |
141
+ | Workflows & Automation | 15 | Does the process support agent work? |
142
+ | Policy & Governance | 13 | Does the agent know the rules? |
143
+ | Build & Dev Environment | 12 | Can the agent build and run the project? |
144
+ | **Total** | **74** | |
@@ -0,0 +1,23 @@
1
+ # Agent Readiness Report
2
+
3
+ Evaluate how well a repository supports autonomous AI-assisted development.
4
+
5
+ ## Triggers
6
+
7
+ This skill is activated by the following keywords:
8
+
9
+ - `agent-readiness-report`
10
+
11
+ ## What This Does
12
+
13
+ Assesses a codebase across five pillars that determine whether an AI agent can work effectively in a repository. Produces a structured report identifying what's present, what's missing, and which pillars are strongest and weakest.
14
+
15
+ The five pillars are:
16
+
17
+ - **Agent Instructions** — does the agent know what to do?
18
+ - **Feedback Loops** — does the agent know if it's right?
19
+ - **Workflows & Automation** — does the process support agent work?
20
+ - **Policy & Governance** — does the agent know the rules?
21
+ - **Build & Dev Environment** — can the agent build and run the project?
22
+
23
+ Once you have a report, use `improve-agent-readiness` to turn the gaps into concrete fixes.