@rosetears/aili-pi 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/THIRD_PARTY_NOTICES.md +64 -0
  4. package/extensions/index.ts +6 -0
  5. package/install.sh +5 -0
  6. package/manifests/adapter-evidence.json +45 -0
  7. package/manifests/capabilities.json +124 -0
  8. package/manifests/live-verification.json +26 -0
  9. package/manifests/provenance.json +71 -0
  10. package/manifests/roles.json +474 -0
  11. package/manifests/sbom.json +7797 -0
  12. package/manifests/skill-compatibility.json +8100 -0
  13. package/manifests/subagent-provenance.json +37 -0
  14. package/package.json +91 -0
  15. package/prompts/build.md +8 -0
  16. package/prompts/define.md +8 -0
  17. package/prompts/ideate.md +8 -0
  18. package/prompts/local-review.md +8 -0
  19. package/prompts/ship.md +8 -0
  20. package/roles/agent-evaluator.md +47 -0
  21. package/roles/ai-regression-scout.md +47 -0
  22. package/roles/browser-qa-runner.md +47 -0
  23. package/roles/code-reviewer.md +47 -0
  24. package/roles/code-scout.md +47 -0
  25. package/roles/convergence-reviewer.md +55 -0
  26. package/roles/doc-researcher.md +47 -0
  27. package/roles/e2e-artifact-runner.md +47 -0
  28. package/roles/implementer.md +47 -0
  29. package/roles/opensource-sanitizer.md +47 -0
  30. package/roles/plan-auditor.md +47 -0
  31. package/roles/pr-test-analyzer.md +47 -0
  32. package/roles/security-auditor.md +47 -0
  33. package/roles/silent-failure-reviewer.md +47 -0
  34. package/roles/spec-miner.md +47 -0
  35. package/roles/test-coverage-reviewer.md +47 -0
  36. package/roles/test-engineer.md +48 -0
  37. package/roles/web-performance-auditor.md +47 -0
  38. package/roles/web-researcher.md +47 -0
  39. package/scripts/apply-adapter-evidence.ts +73 -0
  40. package/scripts/bootstrap.sh +180 -0
  41. package/scripts/generate-provenance.ts +143 -0
  42. package/scripts/local-package-e2e.ts +51 -0
  43. package/scripts/sync-roles.ts +213 -0
  44. package/scripts/sync-skills.ts +356 -0
  45. package/scripts/validate-runtime.ts +11 -0
  46. package/skills/academic-paper-review/SKILL.md +81 -0
  47. package/skills/agents-md-initialization/SKILL.md +121 -0
  48. package/skills/agents-md-initialization/references/agents-template.md +83 -0
  49. package/skills/agents-md-initialization/references/agents_md.py +215 -0
  50. package/skills/ai-regression-scout/SKILL.md +24 -0
  51. package/skills/aili-delivery-flow/SKILL.md +125 -0
  52. package/skills/aili-delivery-flow/references/artifact-contracts.md +138 -0
  53. package/skills/aili-delivery-flow/references/backend-routing.md +40 -0
  54. package/skills/aili-delivery-flow/references/build-execution-loop.md +113 -0
  55. package/skills/aili-delivery-flow/references/build-goal-mode.md +3 -0
  56. package/skills/aili-delivery-flow/references/direct-vs-delegated-work.md +38 -0
  57. package/skills/aili-delivery-flow/references/implementation-packages.md +54 -0
  58. package/skills/aili-delivery-flow/references/lifecycle.md +127 -0
  59. package/skills/aili-delivery-flow/references/protocols/acceptance-test-plan.md +18 -0
  60. package/skills/aili-delivery-flow/references/protocols/alignment-questionnaire.md +10 -0
  61. package/skills/aili-delivery-flow/references/protocols/closeout-report.md +101 -0
  62. package/skills/aili-delivery-flow/references/protocols/compact-evidence-pack.md +46 -0
  63. package/skills/aili-delivery-flow/references/protocols/idea-brief.md +10 -0
  64. package/skills/aili-delivery-flow/references/protocols/implementation-package.md +53 -0
  65. package/skills/aili-delivery-flow/references/protocols/research-evidence-pack.md +19 -0
  66. package/skills/aili-delivery-flow/references/protocols/review-report.md +7 -0
  67. package/skills/aili-delivery-flow/references/protocols/spec-draft.md +12 -0
  68. package/skills/aili-delivery-flow/references/protocols/subagent-result.md +60 -0
  69. package/skills/aili-delivery-flow/references/protocols/subagent-task-packet.md +29 -0
  70. package/skills/aili-delivery-flow/references/protocols/worktree-context.md +109 -0
  71. package/skills/aili-delivery-flow/references/questionnaire-policy.md +62 -0
  72. package/skills/aili-delivery-flow/references/review-repair-loop.md +16 -0
  73. package/skills/aili-delivery-flow/references/test-document-policy.md +35 -0
  74. package/skills/android-native-dev/SKILL.md +722 -0
  75. package/skills/android-native-dev/references/accessibility.md +209 -0
  76. package/skills/android-native-dev/references/adaptive-screens.md +231 -0
  77. package/skills/android-native-dev/references/design-style-guide.md +365 -0
  78. package/skills/android-native-dev/references/functional-requirements.md +229 -0
  79. package/skills/android-native-dev/references/motion-system.md +203 -0
  80. package/skills/android-native-dev/references/performance-stability.md +223 -0
  81. package/skills/android-native-dev/references/privacy-security.md +244 -0
  82. package/skills/android-native-dev/references/testing.md +554 -0
  83. package/skills/android-native-dev/references/visual-design.md +246 -0
  84. package/skills/api-and-interface-design/SKILL.md +318 -0
  85. package/skills/browser-qa/SKILL.md +32 -0
  86. package/skills/browser-testing-with-devtools/SKILL.md +323 -0
  87. package/skills/build-failure-repair/SKILL.md +49 -0
  88. package/skills/chart-visualization/SKILL.md +73 -0
  89. package/skills/ci-cd-and-automation/SKILL.md +353 -0
  90. package/skills/code-review-and-quality/SKILL.md +375 -0
  91. package/skills/code-review-quality-gates/SKILL.md +132 -0
  92. package/skills/code-simplification/SKILL.md +371 -0
  93. package/skills/comment-accuracy-review/SKILL.md +37 -0
  94. package/skills/consulting-analysis/SKILL.md +69 -0
  95. package/skills/context-engineering/SKILL.md +375 -0
  96. package/skills/coverage-review/SKILL.md +24 -0
  97. package/skills/data-analysis/SKILL.md +74 -0
  98. package/skills/deprecation-and-migration/SKILL.md +222 -0
  99. package/skills/documentation-and-adrs/SKILL.md +330 -0
  100. package/skills/e2e-artifact-handling/SKILL.md +30 -0
  101. package/skills/evidence-scoped-retrospective/SKILL.md +156 -0
  102. package/skills/explain-by-allegory/SKILL.md +99 -0
  103. package/skills/flutter-dev/SKILL.md +162 -0
  104. package/skills/flutter-dev/references/animations.md +497 -0
  105. package/skills/flutter-dev/references/bloc-state.md +281 -0
  106. package/skills/flutter-dev/references/forms.md +656 -0
  107. package/skills/flutter-dev/references/gorouter-navigation.md +257 -0
  108. package/skills/flutter-dev/references/localization.md +510 -0
  109. package/skills/flutter-dev/references/networking.md +566 -0
  110. package/skills/flutter-dev/references/performance.md +305 -0
  111. package/skills/flutter-dev/references/platform-specific.md +417 -0
  112. package/skills/flutter-dev/references/project-structure.md +273 -0
  113. package/skills/flutter-dev/references/riverpod-state.md +232 -0
  114. package/skills/flutter-dev/references/testing.md +364 -0
  115. package/skills/flutter-dev/references/widget-patterns.md +233 -0
  116. package/skills/frontend-dev/SKILL.md +468 -0
  117. package/skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  118. package/skills/frontend-dev/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  119. package/skills/frontend-dev/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  120. package/skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt +93 -0
  121. package/skills/frontend-dev/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  122. package/skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt +93 -0
  123. package/skills/frontend-dev/canvas-fonts/Boldonse-Regular.ttf +0 -0
  124. package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  125. package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  126. package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  127. package/skills/frontend-dev/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  128. package/skills/frontend-dev/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  129. package/skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  130. package/skills/frontend-dev/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  131. package/skills/frontend-dev/canvas-fonts/DMMono-OFL.txt +93 -0
  132. package/skills/frontend-dev/canvas-fonts/DMMono-Regular.ttf +0 -0
  133. package/skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt +94 -0
  134. package/skills/frontend-dev/canvas-fonts/EricaOne-Regular.ttf +0 -0
  135. package/skills/frontend-dev/canvas-fonts/GeistMono-Bold.ttf +0 -0
  136. package/skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt +93 -0
  137. package/skills/frontend-dev/canvas-fonts/GeistMono-Regular.ttf +0 -0
  138. package/skills/frontend-dev/canvas-fonts/Gloock-OFL.txt +93 -0
  139. package/skills/frontend-dev/canvas-fonts/Gloock-Regular.ttf +0 -0
  140. package/skills/frontend-dev/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  141. package/skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  142. package/skills/frontend-dev/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  143. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  144. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  145. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  146. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  147. package/skills/frontend-dev/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  148. package/skills/frontend-dev/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  149. package/skills/frontend-dev/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  150. package/skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  151. package/skills/frontend-dev/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  152. package/skills/frontend-dev/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  153. package/skills/frontend-dev/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  154. package/skills/frontend-dev/canvas-fonts/Italiana-OFL.txt +93 -0
  155. package/skills/frontend-dev/canvas-fonts/Italiana-Regular.ttf +0 -0
  156. package/skills/frontend-dev/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  157. package/skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  158. package/skills/frontend-dev/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  159. package/skills/frontend-dev/canvas-fonts/Jura-Light.ttf +0 -0
  160. package/skills/frontend-dev/canvas-fonts/Jura-Medium.ttf +0 -0
  161. package/skills/frontend-dev/canvas-fonts/Jura-OFL.txt +93 -0
  162. package/skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  163. package/skills/frontend-dev/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  164. package/skills/frontend-dev/canvas-fonts/Lora-Bold.ttf +0 -0
  165. package/skills/frontend-dev/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  166. package/skills/frontend-dev/canvas-fonts/Lora-Italic.ttf +0 -0
  167. package/skills/frontend-dev/canvas-fonts/Lora-OFL.txt +93 -0
  168. package/skills/frontend-dev/canvas-fonts/Lora-Regular.ttf +0 -0
  169. package/skills/frontend-dev/canvas-fonts/NationalPark-Bold.ttf +0 -0
  170. package/skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt +93 -0
  171. package/skills/frontend-dev/canvas-fonts/NationalPark-Regular.ttf +0 -0
  172. package/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  173. package/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  174. package/skills/frontend-dev/canvas-fonts/Outfit-Bold.ttf +0 -0
  175. package/skills/frontend-dev/canvas-fonts/Outfit-OFL.txt +93 -0
  176. package/skills/frontend-dev/canvas-fonts/Outfit-Regular.ttf +0 -0
  177. package/skills/frontend-dev/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  178. package/skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt +93 -0
  179. package/skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt +93 -0
  180. package/skills/frontend-dev/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  181. package/skills/frontend-dev/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  182. package/skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt +93 -0
  183. package/skills/frontend-dev/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  184. package/skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt +93 -0
  185. package/skills/frontend-dev/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  186. package/skills/frontend-dev/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  187. package/skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt +93 -0
  188. package/skills/frontend-dev/canvas-fonts/Tektur-Medium.ttf +0 -0
  189. package/skills/frontend-dev/canvas-fonts/Tektur-OFL.txt +93 -0
  190. package/skills/frontend-dev/canvas-fonts/Tektur-Regular.ttf +0 -0
  191. package/skills/frontend-dev/canvas-fonts/WorkSans-Bold.ttf +0 -0
  192. package/skills/frontend-dev/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  193. package/skills/frontend-dev/canvas-fonts/WorkSans-Italic.ttf +0 -0
  194. package/skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt +93 -0
  195. package/skills/frontend-dev/canvas-fonts/WorkSans-Regular.ttf +0 -0
  196. package/skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt +93 -0
  197. package/skills/frontend-dev/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  198. package/skills/frontend-dev/references/asset-prompt-guide.md +43 -0
  199. package/skills/frontend-dev/references/env-setup.md +33 -0
  200. package/skills/frontend-dev/references/minimax-cli-reference.md +133 -0
  201. package/skills/frontend-dev/references/minimax-image-guide.md +65 -0
  202. package/skills/frontend-dev/references/minimax-music-guide.md +216 -0
  203. package/skills/frontend-dev/references/minimax-tts-guide.md +78 -0
  204. package/skills/frontend-dev/references/minimax-video-guide.md +82 -0
  205. package/skills/frontend-dev/references/minimax-voice-catalog.md +685 -0
  206. package/skills/frontend-dev/references/motion-recipes.md +407 -0
  207. package/skills/frontend-dev/references/troubleshooting.md +85 -0
  208. package/skills/frontend-dev/scripts/minimax_image.py +137 -0
  209. package/skills/frontend-dev/scripts/minimax_music.py +157 -0
  210. package/skills/frontend-dev/scripts/minimax_tts.py +127 -0
  211. package/skills/frontend-dev/scripts/minimax_video.py +187 -0
  212. package/skills/frontend-dev/templates/generator_template.js +223 -0
  213. package/skills/frontend-dev/templates/viewer.html +599 -0
  214. package/skills/frontend-ui-engineering/SKILL.md +367 -0
  215. package/skills/fullstack-dev/SKILL.md +819 -0
  216. package/skills/fullstack-dev/references/api-design.md +444 -0
  217. package/skills/fullstack-dev/references/auth-flow.md +165 -0
  218. package/skills/fullstack-dev/references/db-schema.md +706 -0
  219. package/skills/fullstack-dev/references/django-best-practices.md +466 -0
  220. package/skills/fullstack-dev/references/environment-management.md +78 -0
  221. package/skills/fullstack-dev/references/release-checklist.md +278 -0
  222. package/skills/fullstack-dev/references/technology-selection.md +254 -0
  223. package/skills/fullstack-dev/references/testing-strategy.md +404 -0
  224. package/skills/git-workflow-and-versioning/SKILL.md +446 -0
  225. package/skills/github-evidence-triage/SKILL.md +115 -0
  226. package/skills/harness-evolution/SKILL.md +59 -0
  227. package/skills/harness-evolution/references/activation-matrix.md +13 -0
  228. package/skills/harness-evolution/references/approval-policy.md +20 -0
  229. package/skills/harness-evolution/references/change-report-template.md +33 -0
  230. package/skills/harness-evolution/references/component-taxonomy.md +19 -0
  231. package/skills/harness-evolution/references/verdict-policy.md +13 -0
  232. package/skills/harness-issue-triage/SKILL.md +72 -0
  233. package/skills/harness-issue-triage/references/component-diagnosis.md +25 -0
  234. package/skills/harness-issue-triage/references/triage-report-template.md +34 -0
  235. package/skills/harness-optimization-audit/SKILL.md +125 -0
  236. package/skills/idea-refine/SKILL.md +191 -0
  237. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE +21 -0
  238. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md +9 -0
  239. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/SKILL.upstream.md +178 -0
  240. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/examples.md +238 -0
  241. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/frameworks.md +99 -0
  242. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/refinement-criteria.md +113 -0
  243. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/scripts/idea-refine.upstream.sh +15 -0
  244. package/skills/incremental-implementation/SKILL.md +252 -0
  245. package/skills/ios-application-dev/SKILL.md +212 -0
  246. package/skills/ios-application-dev/references/accessibility.md +259 -0
  247. package/skills/ios-application-dev/references/graphics-animation.md +350 -0
  248. package/skills/ios-application-dev/references/layout-system.md +199 -0
  249. package/skills/ios-application-dev/references/metal-shader.md +178 -0
  250. package/skills/ios-application-dev/references/navigation-patterns.md +175 -0
  251. package/skills/ios-application-dev/references/swift-coding-standards.md +757 -0
  252. package/skills/ios-application-dev/references/swiftui-design-guidelines.md +1167 -0
  253. package/skills/ios-application-dev/references/system-integration.md +401 -0
  254. package/skills/ios-application-dev/references/uikit-components.md +297 -0
  255. package/skills/local-review-gate/SKILL.md +207 -0
  256. package/skills/local-review-gate/references/addyosmani-code-review-rubric.md +33 -0
  257. package/skills/local-review-gate/references/codex-github-compatibility.md +26 -0
  258. package/skills/local-review-gate/references/ecc-code-review-adaptation.md +40 -0
  259. package/skills/local-review-gate/references/graphify-local-review.md +33 -0
  260. package/skills/local-review-gate/references/orchestration-adaptation.md +51 -0
  261. package/skills/local-review-gate/references/review-repair-lane-adaptation.md +46 -0
  262. package/skills/local-review-gate/references/upstream-provenance.md +61 -0
  263. package/skills/mature-project-pattern-research/SKILL.md +155 -0
  264. package/skills/mature-project-pattern-research/references/research-rubric.md +45 -0
  265. package/skills/minimax-docx/LICENSE +21 -0
  266. package/skills/minimax-docx/SKILL.md +273 -0
  267. package/skills/minimax-docx/assets/styles/academic_styles.xml +250 -0
  268. package/skills/minimax-docx/assets/styles/corporate_styles.xml +284 -0
  269. package/skills/minimax-docx/assets/styles/default_styles.xml +449 -0
  270. package/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd +470 -0
  271. package/skills/minimax-docx/assets/xsd/business-rules.xsd +130 -0
  272. package/skills/minimax-docx/assets/xsd/common-types.xsd +159 -0
  273. package/skills/minimax-docx/assets/xsd/wml-subset.xsd +589 -0
  274. package/skills/minimax-docx/references/cjk_typography.md +357 -0
  275. package/skills/minimax-docx/references/cjk_university_template_guide.md +184 -0
  276. package/skills/minimax-docx/references/comments_guide.md +191 -0
  277. package/skills/minimax-docx/references/design_good_bad_examples.md +829 -0
  278. package/skills/minimax-docx/references/design_principles.md +819 -0
  279. package/skills/minimax-docx/references/openxml_element_order.md +308 -0
  280. package/skills/minimax-docx/references/openxml_encyclopedia_part1.md +4061 -0
  281. package/skills/minimax-docx/references/openxml_encyclopedia_part2.md +2820 -0
  282. package/skills/minimax-docx/references/openxml_encyclopedia_part3.md +3381 -0
  283. package/skills/minimax-docx/references/openxml_namespaces.md +82 -0
  284. package/skills/minimax-docx/references/openxml_units.md +72 -0
  285. package/skills/minimax-docx/references/scenario_a_create.md +284 -0
  286. package/skills/minimax-docx/references/scenario_b_edit_content.md +295 -0
  287. package/skills/minimax-docx/references/scenario_c_apply_template.md +456 -0
  288. package/skills/minimax-docx/references/track_changes_guide.md +200 -0
  289. package/skills/minimax-docx/references/troubleshooting.md +506 -0
  290. package/skills/minimax-docx/references/typography_guide.md +294 -0
  291. package/skills/minimax-docx/references/xsd_validation_guide.md +158 -0
  292. package/skills/minimax-docx/scripts/doc_to_docx.sh +40 -0
  293. package/skills/minimax-docx/scripts/docx_preview.sh +37 -0
  294. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
  295. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
  296. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
  297. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
  298. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
  299. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
  300. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
  301. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
  302. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
  303. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
  304. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
  305. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
  306. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
  307. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
  308. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
  309. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
  310. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
  311. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
  312. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
  313. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
  314. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
  315. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
  316. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
  317. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
  318. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
  319. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
  320. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
  321. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
  322. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
  323. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
  324. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
  325. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
  326. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
  327. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
  328. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
  329. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
  330. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
  331. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
  332. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
  333. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
  334. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
  335. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
  336. package/skills/minimax-docx/scripts/env_check.sh +196 -0
  337. package/skills/minimax-docx/scripts/setup.ps1 +274 -0
  338. package/skills/minimax-docx/scripts/setup.sh +504 -0
  339. package/skills/minimax-pdf/README.md +222 -0
  340. package/skills/minimax-pdf/SKILL.md +218 -0
  341. package/skills/minimax-pdf/design/design.md +381 -0
  342. package/skills/minimax-pdf/scripts/cover.py +1579 -0
  343. package/skills/minimax-pdf/scripts/fill_inspect.py +200 -0
  344. package/skills/minimax-pdf/scripts/fill_write.py +242 -0
  345. package/skills/minimax-pdf/scripts/make.sh +491 -0
  346. package/skills/minimax-pdf/scripts/merge.py +112 -0
  347. package/skills/minimax-pdf/scripts/palette.py +521 -0
  348. package/skills/minimax-pdf/scripts/reformat_parse.py +374 -0
  349. package/skills/minimax-pdf/scripts/render_body.py +1052 -0
  350. package/skills/minimax-pdf/scripts/render_cover.js +111 -0
  351. package/skills/minimax-xlsx/SKILL.md +156 -0
  352. package/skills/minimax-xlsx/references/create.md +691 -0
  353. package/skills/minimax-xlsx/references/edit.md +684 -0
  354. package/skills/minimax-xlsx/references/fix.md +37 -0
  355. package/skills/minimax-xlsx/references/format.md +768 -0
  356. package/skills/minimax-xlsx/references/ooxml-cheatsheet.md +231 -0
  357. package/skills/minimax-xlsx/references/read-analyze.md +97 -0
  358. package/skills/minimax-xlsx/references/validate.md +772 -0
  359. package/skills/minimax-xlsx/scripts/formula_check.py +422 -0
  360. package/skills/minimax-xlsx/scripts/libreoffice_recalc.py +248 -0
  361. package/skills/minimax-xlsx/scripts/shared_strings_builder.py +163 -0
  362. package/skills/minimax-xlsx/scripts/style_audit.py +575 -0
  363. package/skills/minimax-xlsx/scripts/xlsx_add_column.py +395 -0
  364. package/skills/minimax-xlsx/scripts/xlsx_insert_row.py +274 -0
  365. package/skills/minimax-xlsx/scripts/xlsx_pack.py +87 -0
  366. package/skills/minimax-xlsx/scripts/xlsx_reader.py +362 -0
  367. package/skills/minimax-xlsx/scripts/xlsx_shift_rows.py +396 -0
  368. package/skills/minimax-xlsx/scripts/xlsx_unpack.py +130 -0
  369. package/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml +9 -0
  370. package/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels +6 -0
  371. package/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
  372. package/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
  373. package/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml +160 -0
  374. package/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml +30 -0
  375. package/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
  376. package/skills/newsletter-generation/SKILL.md +71 -0
  377. package/skills/oss-release-readiness/SKILL.md +47 -0
  378. package/skills/parallel-subagent-dispatch/SKILL.md +58 -0
  379. package/skills/performance-optimization/SKILL.md +364 -0
  380. package/skills/planning-and-task-breakdown/SKILL.md +290 -0
  381. package/skills/pptx-generator/SKILL.md +275 -0
  382. package/skills/pptx-generator/references/design-system.md +392 -0
  383. package/skills/pptx-generator/references/editing.md +162 -0
  384. package/skills/pptx-generator/references/pitfalls.md +112 -0
  385. package/skills/pptx-generator/references/pptxgenjs.md +420 -0
  386. package/skills/pptx-generator/references/slide-types.md +413 -0
  387. package/skills/pr-test-analysis/SKILL.md +24 -0
  388. package/skills/react-native-dev/SKILL.md +180 -0
  389. package/skills/react-native-dev/references/animations.md +254 -0
  390. package/skills/react-native-dev/references/components.md +124 -0
  391. package/skills/react-native-dev/references/engineering.md +527 -0
  392. package/skills/react-native-dev/references/forms.md +300 -0
  393. package/skills/react-native-dev/references/native-capabilities.md +163 -0
  394. package/skills/react-native-dev/references/navigation.md +271 -0
  395. package/skills/react-native-dev/references/networking.md +346 -0
  396. package/skills/react-native-dev/references/performance.md +215 -0
  397. package/skills/react-native-dev/references/state-management.md +230 -0
  398. package/skills/react-native-dev/references/styling.md +117 -0
  399. package/skills/react-native-dev/references/testing.md +341 -0
  400. package/skills/requirements-grilling/SKILL.md +447 -0
  401. package/skills/requirements-grilling/references/ADR-FORMAT.md +46 -0
  402. package/skills/requirements-grilling/references/CONTEXT-FORMAT.md +41 -0
  403. package/skills/requirements-grilling/references/INTERVIEW-PACKET-FORMAT.md +62 -0
  404. package/skills/requirements-grilling/references/MIT-LICENSE-MATT-POCOCK.md +25 -0
  405. package/skills/requirements-grilling/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE +21 -0
  406. package/skills/requirements-grilling/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md +9 -0
  407. package/skills/requirements-grilling/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/interview-me/SKILL.upstream.md +225 -0
  408. package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/LICENSE +21 -0
  409. package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/NOTICE.md +12 -0
  410. package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/batch-grill-me/SKILL.upstream.md +15 -0
  411. package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/grill-me/SKILL.upstream.md +7 -0
  412. package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/grilling/SKILL.upstream.md +12 -0
  413. package/skills/review-pipeline/SKILL.md +38 -0
  414. package/skills/rose-memory/SKILL.md +210 -0
  415. package/skills/rose-memory/references/README.md +48 -0
  416. package/skills/rose-memory/references/memory_cli.py +2384 -0
  417. package/skills/rose-memory/references/schema.sql +315 -0
  418. package/skills/security-and-hardening/SKILL.md +369 -0
  419. package/skills/session-handoff/SKILL.md +88 -0
  420. package/skills/session-handoff/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/LICENSE +21 -0
  421. package/skills/session-handoff/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/NOTICE.md +9 -0
  422. package/skills/session-handoff/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/handoff/SKILL.upstream.md +16 -0
  423. package/skills/session-handoff/scripts/session_handoff.py +764 -0
  424. package/skills/shader-dev/SKILL.md +316 -0
  425. package/skills/shader-dev/reference/ambient-occlusion.md +382 -0
  426. package/skills/shader-dev/reference/analytic-ray-tracing.md +651 -0
  427. package/skills/shader-dev/reference/anti-aliasing.md +71 -0
  428. package/skills/shader-dev/reference/atmospheric-scattering.md +571 -0
  429. package/skills/shader-dev/reference/camera-effects.md +80 -0
  430. package/skills/shader-dev/reference/cellular-automata.md +635 -0
  431. package/skills/shader-dev/reference/color-palette.md +481 -0
  432. package/skills/shader-dev/reference/csg-boolean-operations.md +466 -0
  433. package/skills/shader-dev/reference/domain-repetition.md +436 -0
  434. package/skills/shader-dev/reference/domain-warping.md +419 -0
  435. package/skills/shader-dev/reference/fluid-simulation.md +425 -0
  436. package/skills/shader-dev/reference/fractal-rendering.md +525 -0
  437. package/skills/shader-dev/reference/lighting-model.md +639 -0
  438. package/skills/shader-dev/reference/matrix-transform.md +535 -0
  439. package/skills/shader-dev/reference/multipass-buffer.md +571 -0
  440. package/skills/shader-dev/reference/normal-estimation.md +418 -0
  441. package/skills/shader-dev/reference/particle-system.md +589 -0
  442. package/skills/shader-dev/reference/path-tracing-gi.md +602 -0
  443. package/skills/shader-dev/reference/polar-uv-manipulation.md +521 -0
  444. package/skills/shader-dev/reference/post-processing.md +375 -0
  445. package/skills/shader-dev/reference/procedural-2d-pattern.md +439 -0
  446. package/skills/shader-dev/reference/procedural-noise.md +551 -0
  447. package/skills/shader-dev/reference/ray-marching.md +396 -0
  448. package/skills/shader-dev/reference/sdf-2d.md +724 -0
  449. package/skills/shader-dev/reference/sdf-3d.md +805 -0
  450. package/skills/shader-dev/reference/sdf-tricks.md +63 -0
  451. package/skills/shader-dev/reference/shadow-techniques.md +476 -0
  452. package/skills/shader-dev/reference/simulation-physics.md +644 -0
  453. package/skills/shader-dev/reference/sound-synthesis.md +578 -0
  454. package/skills/shader-dev/reference/terrain-rendering.md +839 -0
  455. package/skills/shader-dev/reference/texture-mapping-advanced.md +87 -0
  456. package/skills/shader-dev/reference/texture-sampling.md +553 -0
  457. package/skills/shader-dev/reference/volumetric-rendering.md +608 -0
  458. package/skills/shader-dev/reference/voronoi-cellular-noise.md +486 -0
  459. package/skills/shader-dev/reference/voxel-rendering.md +701 -0
  460. package/skills/shader-dev/reference/water-ocean.md +445 -0
  461. package/skills/shader-dev/reference/webgl-pitfalls.md +41 -0
  462. package/skills/shader-dev/techniques/ambient-occlusion.md +364 -0
  463. package/skills/shader-dev/techniques/analytic-ray-tracing.md +542 -0
  464. package/skills/shader-dev/techniques/anti-aliasing.md +124 -0
  465. package/skills/shader-dev/techniques/atmospheric-scattering.md +522 -0
  466. package/skills/shader-dev/techniques/camera-effects.md +115 -0
  467. package/skills/shader-dev/techniques/cellular-automata.md +531 -0
  468. package/skills/shader-dev/techniques/color-palette.md +380 -0
  469. package/skills/shader-dev/techniques/csg-boolean-operations.md +491 -0
  470. package/skills/shader-dev/techniques/domain-repetition.md +333 -0
  471. package/skills/shader-dev/techniques/domain-warping.md +414 -0
  472. package/skills/shader-dev/techniques/fluid-simulation.md +1175 -0
  473. package/skills/shader-dev/techniques/fractal-rendering.md +436 -0
  474. package/skills/shader-dev/techniques/lighting-model.md +527 -0
  475. package/skills/shader-dev/techniques/matrix-transform.md +455 -0
  476. package/skills/shader-dev/techniques/multipass-buffer.md +922 -0
  477. package/skills/shader-dev/techniques/normal-estimation.md +318 -0
  478. package/skills/shader-dev/techniques/particle-system.md +1203 -0
  479. package/skills/shader-dev/techniques/path-tracing-gi.md +623 -0
  480. package/skills/shader-dev/techniques/polar-uv-manipulation.md +373 -0
  481. package/skills/shader-dev/techniques/post-processing.md +788 -0
  482. package/skills/shader-dev/techniques/procedural-2d-pattern.md +346 -0
  483. package/skills/shader-dev/techniques/procedural-noise.md +554 -0
  484. package/skills/shader-dev/techniques/ray-marching.md +467 -0
  485. package/skills/shader-dev/techniques/sdf-2d.md +631 -0
  486. package/skills/shader-dev/techniques/sdf-3d.md +589 -0
  487. package/skills/shader-dev/techniques/sdf-tricks.md +100 -0
  488. package/skills/shader-dev/techniques/shadow-techniques.md +776 -0
  489. package/skills/shader-dev/techniques/simulation-physics.md +1542 -0
  490. package/skills/shader-dev/techniques/sound-synthesis.md +490 -0
  491. package/skills/shader-dev/techniques/terrain-rendering.md +408 -0
  492. package/skills/shader-dev/techniques/texture-mapping-advanced.md +121 -0
  493. package/skills/shader-dev/techniques/texture-sampling.md +382 -0
  494. package/skills/shader-dev/techniques/volumetric-rendering.md +375 -0
  495. package/skills/shader-dev/techniques/voronoi-cellular-noise.md +458 -0
  496. package/skills/shader-dev/techniques/voxel-rendering.md +985 -0
  497. package/skills/shader-dev/techniques/water-ocean.md +490 -0
  498. package/skills/shader-dev/techniques/webgl-pitfalls.md +170 -0
  499. package/skills/shipping-and-launch/SKILL.md +334 -0
  500. package/skills/silent-failure-hunting/SKILL.md +24 -0
  501. package/skills/source-driven-development/SKILL.md +223 -0
  502. package/skills/spec-driven-development/SKILL.md +235 -0
  503. package/skills/spec-driven-development/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE +21 -0
  504. package/skills/spec-driven-development/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md +9 -0
  505. package/skills/spec-driven-development/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/spec-driven-development/SKILL.upstream.md +206 -0
  506. package/skills/strategy-stress-test/SKILL.md +185 -0
  507. package/skills/systematic-literature-review/SKILL.md +77 -0
  508. package/skills/test-document-generator/SKILL.md +152 -0
  509. package/skills/test-document-generator/references/test-document-template.md +45 -0
  510. package/skills/test-driven-development/SKILL.md +399 -0
  511. package/skills/write-skills/GLOSSARY.md +113 -0
  512. package/skills/write-skills/SKILL.md +133 -0
  513. package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/LICENSE +21 -0
  514. package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/NOTICE.md +9 -0
  515. package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/writing-great-skills/GLOSSARY.md +201 -0
  516. package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/writing-great-skills/SKILL.upstream.md +83 -0
  517. package/src/runtime/child-guard.ts +70 -0
  518. package/src/runtime/conflicts.ts +25 -0
  519. package/src/runtime/contracts.ts +9 -0
  520. package/src/runtime/doctor.ts +134 -0
  521. package/src/runtime/global-resources.ts +152 -0
  522. package/src/runtime/index.ts +23 -0
  523. package/src/runtime/lifecycle.ts +19 -0
  524. package/src/runtime/native-integrations.ts +44 -0
  525. package/src/runtime/path-boundaries.ts +69 -0
  526. package/src/runtime/registry.ts +213 -0
  527. package/src/runtime/roles.ts +64 -0
  528. package/src/runtime/rose-context.ts +24 -0
  529. package/src/runtime/subagents.ts +426 -0
  530. package/templates/APPEND_SYSTEM.md +12 -0
  531. package/upstream/aili-workflows.lock.json +3226 -0
@@ -0,0 +1,447 @@
1
+ ---
2
+ name: requirements-grilling
3
+ description: Clarify a concrete requirements decision, create one bounded static interview packet, or run an explicitly user-invoked frontier batch over a plan, decision, or idea; trigger on explicit grill/interview/refinement intent or a named material ambiguity, not on ordinary planning, implementation, research, test-plan, report-style review, or BUILD work.
4
+ ---
5
+
6
+ # Requirements Grilling
7
+
8
+ ## Purpose
9
+
10
+ Use this skill to resolve the smallest set of material requirements decisions needed by the canonical DEFINE or ordinary clarification loop, including an explicitly user-invoked frontier batch when the user wants every currently dependency-ready decision in one round.
11
+
12
+ The input can be an OpenSpec change directory, a custom plan, a user-pasted paragraph, an issue, a ticket, or one or more custom files. The output should preserve the user's intent, clarify unknowns through interview questions, and persist refined content only to the agreed target files.
13
+
14
+ `requirements-grilling` is the canonical capability name. Old terms such as `change-interviewer`, “interview packet”, and “change interview”, plus upstream phrases such as `grill-me` and `batch-grill-me`, are compatibility trigger phrases only; they route to this same flow and must not create a second user-facing skill, command, or artifact contract.
15
+
16
+ ## Provenance
17
+
18
+ This skill is the AILI adaptation of upstream Matt Pocock skills `grill-me`, `grilling`, `batch-grill-me`, and `domain-modeling`, copied/adapted under the upstream MIT License. It combines their questioning, decision-frontier, and domain-modeling disciplines with AILI/OpenSpec artifact placement, `interview.md` compatibility, `context.md` Language handling, `adr.md` gating, answer ingestion, and readiness states. Upstream `batch-grill-me` is pinned as in-progress provenance; its user-invoked boundary is retained, while its direct subagent-dispatch instruction is replaced by ROSE-owned proactive trigger-gated evidence routing.
19
+
20
+ Upstream-originated reference formats are preserved by name in this skill's `references/` directory:
21
+
22
+ - `references/CONTEXT-FORMAT.md`
23
+ - `references/ADR-FORMAT.md`
24
+ - `references/INTERVIEW-PACKET-FORMAT.md`
25
+ - `references/MIT-LICENSE-MATT-POCOCK.md`
26
+ - `references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/grill-me/SKILL.upstream.md`
27
+ - `references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/grilling/SKILL.upstream.md`
28
+ - `references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/batch-grill-me/SKILL.upstream.md`
29
+
30
+ ## Interview Packet Language
31
+
32
+ Interview packets are user-facing thinking artifacts. In chat, write them in Simplified Chinese by default for readability and decision traceability.
33
+
34
+ Keep these items in English or original form:
35
+
36
+ - file paths
37
+ - command names
38
+ - code symbols
39
+ - API names
40
+ - config keys
41
+ - OpenSpec requirement headers
42
+ - exact source terms
43
+
44
+ Before persisting an interview packet to the repository, follow the repository's document language convention or ask the user. If no English-only convention exists, persisting the Chinese packet is allowed.
45
+
46
+ ## When to Use
47
+
48
+ Use this skill when the user explicitly asks to refine, grill, interview, batch-grill, or write back requirements; when the user wants their decisions about a plan, decision, or idea elicited interactively; or when one named ambiguity can change scope, design, tasks, acceptance, verification, risk, terminology, or implementation safety.
49
+
50
+ This skill owns clarification and `interview.md` only. Local facts are inspected directly from the relevant repository owners. If one official-source, prior-art, test-plan, or other process need remains, return that named need to ROSE; do not invoke another skill.
51
+
52
+ ### Canonical loop contract
53
+
54
+ - **Primary owner:** ROSE/`aili-delivery-flow` owns mode, approvals, progress, and verification; this skill is one bounded clarification adapter.
55
+ - **Near miss:** a clear spec, a test-plan request, implementation, general research, plan review, or completion check does not trigger this skill merely because requirements exist.
56
+ - **Question budget:** ask one decision-changing question by default; use one bounded static Packet Mode artifact only when several known independent blockers are cheaper to answer together; use Frontier Batch Mode only when the user explicitly asks for batch grilling or the complete current frontier, never merely because blocker count is high.
57
+ - **Stop:** persist and reread the accepted answer/packet once, then return `complete`, `need-user`, `need-evidence`, `material-delta`, `blocked`, or `Unverified` to ROSE.
58
+ - **Precedence:** lifecycle approval and verification rules win. This skill creates no scheme, packet, research-summary, or proposal approval and never auto-chains stress-test, test-plan, planning, TDD, review, or security work.
59
+
60
+ Realistic trigger prompts:
61
+
62
+ - "Interview me and turn this rough idea into tasks/design/acceptance criteria."
63
+ - "Use this custom plan as input and ask what is missing before writing it back."
64
+ - "Refine `docs/change.md` with questions first; do not guess requirements."
65
+ - "Complete this OpenSpec change package after interviewing me."
66
+ - "Grill this requirement / interview packet before write-back or BUILD readiness."
67
+ - "Batch-grill this plan; ask every material decision whose prerequisites are already settled, then recompute the next round from my answers."
68
+ - "I filled `interview.md`; check whether the answers are clear enough to write back."
69
+ - Any old `change-interviewer` or interview-packet request; these are compatibility phrases for this same bounded loop.
70
+
71
+ ## When Not to Use
72
+
73
+ Do not use this skill for:
74
+
75
+ - implementing the change after requirements are clear
76
+ - broad product brainstorming with no intent to produce a change package
77
+ - report-style plan, design, spec, review, or completion-claim stress-testing that asks the agent to inspect and report loopholes without interviewing the user's decisions; return that separate intent to ROSE
78
+ - initializing project-level agent rules or OpenCode setup docs
79
+ - rewriting a document without grilling, interviewing, or preserving author intent
80
+ - OpenSpec validation only, with no requirements refinement needed
81
+
82
+ Non-trigger prompt:
83
+
84
+ - "Implement task 3 from the accepted plan." Return to the canonical ordinary/BUILD implementation owner; do not add TDD unless its narrow trigger is present.
85
+
86
+ ## Inputs and Target
87
+
88
+ First identify the source and persistence target.
89
+
90
+ Possible sources:
91
+
92
+ - OpenSpec: `openspec/changes/<change-id>/`
93
+ - custom plan or task file
94
+ - issue, ticket, PR description, pasted user text, or meeting notes
95
+ - custom files named by the user
96
+
97
+ Possible targets:
98
+
99
+ - the same source files
100
+ - a new or existing change document such as `proposal.md`, `design.md`, `tasks.md`, or `acceptance.md`
101
+ - OpenSpec files under `openspec/changes/<change-id>/`
102
+ - temporary chat preview, only when the user explicitly asks for it; it is not a readiness source until persisted to an agreed file
103
+
104
+ Only OpenSpec change directories have deterministic no-question file output. For every non-OpenSpec source, including a single source document with an obvious sibling path, ask one concise placement question before writing.
105
+
106
+ ## Output Placement Contract
107
+
108
+ When Packet Mode is selected, it defaults to persistent artifact output; a focused unresolved-answer follow-up defaults to chat-first interaction with AI write-back.
109
+
110
+ ### Quick Reference Flow
111
+
112
+ ```text
113
+ targeted evidence -> one question, explicit frontier round, or bounded static packet -> direct consistency check -> persist -> reread once -> return outcome to ROSE
114
+ ```
115
+
116
+ When a packet is warranted, generate it, run the direct consistency checklist in this skill, persist it, reread it once, then summarize the path. Do not print the full packet in chat unless the user requests a preview or persistence is blocked. A chat preview is not a readiness artifact.
117
+
118
+ After the initial packet exists, do not require the user to manually edit `interview.md` by default. When unresolved OpenSpec readiness questions remain, ask one decision-changing blocking question in chat, offer evidence-backed short options plus custom input, write the user's accepted answer, accepted default, explicit waiver, or named `UNVERIFIED` state into `interview.md`, then re-read the file from disk before classifying answers or claiming readiness. A waiver or accepted `UNVERIFIED` state records the answer but cannot clear decision-shaping research or replace final test-plan acceptance. Direct user edits to `interview.md` remain a supported fallback, but disk content must be re-read and reconciled before use.
119
+
120
+ Frontier Batch Mode is different from a static interview packet. It asks the complete current dependency-ready frontier in one interactive round, accepts partial answers, persists and re-reads the round, then recomputes the next frontier. It never turns a static generic questionnaire into a batch and never groups permission or approval questions.
121
+
122
+ OpenSpec change output is the only deterministic no-question placement. For every non-OpenSpec source, ask where to place the output before writing; chat preview is an explicit temporary fallback only, and the gate remains `BLOCKED_FOR_CLARIFICATION` until the packet or follow-up round is persisted to an agreed file or explicitly waived.
123
+
124
+ 🔴 STOP before writing when placement is not deterministic: for any non-OpenSpec source, missing workspace access, ambiguous target, existing target ownership conflict, or user-pasted text with no path, ask the placement question and wait. Do not choose a path silently.
125
+
126
+ Target path resolution:
127
+
128
+ 1. If the source is an OpenSpec change directory, write `openspec/changes/<change-id>/interview.md` without asking.
129
+ 2. If the source is non-OpenSpec, ask where to place the output before writing, even when the source is a single document:
130
+ - A. create a sibling Markdown file beside the main source file;
131
+ - B. create a sibling folder beside the source directory;
132
+ - C. append a new section to the existing spec/design document;
133
+ - D. preview in chat first, then choose a file target before readiness or write-back.
134
+ 3. If the user pasted only free-form text and no source path exists, ask whether to:
135
+ - A. create a new file in a user-specified location;
136
+ - B. append to an existing spec/document;
137
+ - C. preview in chat first, then choose a file target before readiness or write-back.
138
+ 4. If the user explicitly says "print in chat", "do not create files", or "chat only", provide only a temporary preview marked `BLOCKED_FOR_CLARIFICATION` and `UNVERIFIED`. Do not call the packet `READY` from chat-only content. For formal work, do not create/reuse/update OpenSpec, satisfy readiness, record acceptance, or start BUILD until the user later explicitly permits writeback.
139
+
140
+ Use this concise placement question for non-OpenSpec sources:
141
+
142
+ ```text
143
+ 这个非 OpenSpec 输出需要先确认落点,你选一个:
144
+ A. 生成在源文件同级:<path>
145
+ B. 在源目录同级新建文件夹:<path>
146
+ C. 追加到现有 spec / design 文档末尾
147
+ D. 先在对话框预览;之后仍需选择 A/B/C 写回文件,才能进入 READY / BUILD
148
+ ```
149
+
150
+ Chat response after persistence should include only:
151
+
152
+ - generated file path
153
+ - source files reviewed
154
+ - number of questions
155
+ - unresolved `Open Question` / `Unverified` count
156
+ - requirements-grilling readiness state: `READY`, `BLOCKED`, `WAIVED`, or `UNVERIFIED`
157
+ - suggested next action
158
+
159
+ ## Interview Modes
160
+
161
+ Choose the mode from user invocation, interaction need, and known material blockers rather than change size:
162
+
163
+ - If current evidence resolves the material decisions, record the resolved decision and do not manufacture a question or packet.
164
+ - If one blocker remains or one answer determines the next question, use Interactive Mode and ask one question at a time.
165
+ - Use Frontier Batch Mode only when the user explicitly requests batch grilling, “批量拷问”, or every currently answerable decision together. Build a decision tree, ask the complete current frontier in one numbered round, wait for the user's answers, persist and re-read them, and recompute. Never infer this mode from blocker count.
166
+ - Use Packet Mode only when several already-known independent blockers are cheaper to answer as one static durable questionnaire, especially for asynchronous/direct-file completion. Include only those blockers in dependency order; do not instantiate a generic coverage form or call it a dynamic frontier.
167
+ - Persist accepted answers in `interview.md` for OpenSpec sources or the agreed non-OpenSpec target, then re-read once before classification, readiness, or write-back.
168
+ - Add a follow-up only when a supplied answer remains materially ambiguous, contradictory, incomplete, untestable, or evidence-conflicting. Default to one focused follow-up; use another bounded packet only when several newly exposed independent blockers are cheaper together.
169
+
170
+ Pinned Addy `interview-me` 内容是 `references/upstream/` 下的 inert reference data,不是第二个 interviewer。其 hypothesis-with-guess 和 confidence-update 纪律只薄适配到 Interactive Mode 与 unresolved follow-up:先给简短当前假设,对一个 material question 附 evidence-backed guess 或显式 uncertainty,等待回答,再更新未知项。置信度百分比只用于诊断,绝不等于 `READY`、approval、waiver、acceptance 或 BUILD authorization。接受的答案仍须写入并重读 `interview.md` 或约定目标后再分类。
171
+
172
+ Pinned Matt `grill-me`, `grilling`, and in-progress `batch-grill-me` content is also inert reference data, not additional runnable skills or commands. `grill-me` contributes the user-invoked wrapper boundary, `grilling` contributes the default one-question loop, and `batch-grill-me` contributes the explicit frontier-round model. Local AILI rules keep one canonical capability and one artifact contract.
173
+
174
+ Interactive chat answers must still be persisted. After a material answer is accepted, append or merge the question, answer, classification, and write-back target into `interview.md` for OpenSpec sources or the agreed non-OpenSpec target, then re-read that artifact from disk before claiming readiness. If persistence is blocked, report `BLOCKED_FOR_CLARIFICATION` and the exact file target still needed.
175
+
176
+ In Packet Mode, do not interrupt the packet with chat-style single-question turns unless a blocking target or persistence decision is missing.
177
+
178
+ ## Grilling Discipline
179
+
180
+ The upstream `grilling` discipline contributes three active constraints: ask dependency-ordered questions one at a time in Interactive Mode, inspect available evidence instead of asking the user for discoverable facts, and do not act until the user confirms shared understanding. Its broad “every aspect” wording is provenance only; the material-question threshold in this skill controls current behavior.
181
+
182
+ AILI adaptations:
183
+
184
+ - In Interactive Mode, ask one material question at a time and wait.
185
+ - In Packet Mode, include only the known independent blockers in `interview.md` and preserve dependency order. After the packet exists, ask a focused follow-up only under the unresolved-answer conditions above, write the accepted outcome to the artifact, and re-read it from disk.
186
+ - For each question, explain why it matters, name the affected artifact/test/risk/decision, provide an evidence-backed recommended answer when available (or explicit uncertainty), state the tradeoff, offer short selectable options plus a custom-answer option, include an answer slot, and name the write-back target.
187
+ - If the answer can be discovered from code, docs, specs, tests, configs, or official sources, inspect those sources instead of asking.
188
+ - If no evidence-backed default exists, use `Open Question` or `Unverified`; do not present a model guess as a recommendation.
189
+
190
+ ## Frontier Batch Discipline
191
+
192
+ Frontier Batch Mode is an explicit user interaction mode, not an automatic optimization and not a second skill.
193
+
194
+ - Resolve change identity and non-OpenSpec placement first. Keep permission, approval, destructive, external-access, dependency, schema/auth/security, commit/push/merge/release, and exact-operation questions separate and single. A batch answer never grants or implies authority.
195
+ - Model only the accepted material scope as a decision tree. The frontier is the complete set of material user decisions whose prerequisite decisions and required evidence are settled. Ask that frontier in one numbered packet; if only one decision is ready, ask one question.
196
+ - A question whose answer depends on another question still open in this round belongs to a later round. Do not assume the prerequisite merely to enlarge the current packet.
197
+ - Every frontier question still passes the material-question threshold and includes why it matters, affected target, evidence-backed recommendation or explicit uncertainty, trade-off, concise options plus custom input, and write-back target. Do not add generic coverage questions.
198
+ - Finding facts remains the agent's job. ROSE inspects directly by default. This skill may return `need-evidence` with the blocked dependency but never dispatches; only downstream questions wait. If ROSE separately justifies a Task, it uses a fresh single-use context under existing limits and never resumes an old `task_id`.
199
+ - Accept partial answers. Persist confirmed answers and named dispositions in the same `interview.md` or agreed target, re-read disk, keep unanswered or invalid answers unresolved, and recompute the frontier before the next round.
200
+ - Finish only when the frontier is empty and the user explicitly confirms shared understanding. This does not itself establish `READY`, final test-plan acceptance, BUILD authorization, or operation approval.
201
+
202
+ ## Domain-Modeling Discipline
203
+
204
+ Apply domain-modeling as an active discipline, not as passive glossary lookup.
205
+
206
+ For the current material decision only:
207
+
208
+ - challenge conflicts with existing glossary terms, artifact names, lifecycle terms, source-of-truth ownership, readiness states, or code/docs language
209
+ - sharpen fuzzy or overloaded terms into project-specific canonical language
210
+ - inspect the happy path, failure or boundary scenario that can change the answer; do not enumerate every generic scenario class
211
+ - cross-reference current code, docs, specs, tests, configs, and approved source evidence before accepting domain claims
212
+ - update the change-local `context.md` `## Language` section only when project-specific terms or conflicts are discovered and resolved
213
+ - keep `context.md` Language glossary-like: tight definitions, `_Avoid_` alternatives, and project-specific terms only
214
+ - keep implementation decisions, trade-offs, scratchpad notes, generic programming terms, and architecture rationale out of Language; use `design.md`, `adr.md`, tasks, specs, or `drift-log.md` as appropriate
215
+
216
+ Use `references/CONTEXT-FORMAT.md` for Language structure. For OpenSpec changes, `context.md` remains beside `interview.md` unless a future accepted change says otherwise.
217
+
218
+ ## ADR Handling
219
+
220
+ Offer an ADR sparingly and only when all three are true:
221
+
222
+ 1. The decision is hard to reverse.
223
+ 2. The decision would be surprising without context.
224
+ 3. The decision is the result of a real trade-off.
225
+
226
+ Use `references/ADR-FORMAT.md` for structure. ADRs for an OpenSpec change live as `openspec/changes/<change-id>/adr.md` beside `interview.md` unless a future accepted change says otherwise.
227
+
228
+ Keep ADRs short. The value is recording the decision and why; status, options, and consequences are optional when useful. Use `Status: Proposed` unless the user or accepted change authority explicitly confirms the decision as accepted.
229
+
230
+ ## Non-Negotiables
231
+
232
+ - Do not fill in requirements, design, or acceptance criteria by guessing.
233
+ - Ask or include questions according to the selected interview mode; record unresolved items as `Open Question:`.
234
+ - Treat files as the source of truth: chat questions and answers are temporary until written to `interview.md` or the agreed target and re-read from disk.
235
+ - Preserve existing author content and structure whenever possible.
236
+ - If restructuring is necessary, keep original text under `## Appendix: Original Draft` in the same file.
237
+ - Never record unconfirmed information as fact. Use `Assumption:` only when the user has accepted it as a working assumption.
238
+ - Keep source-specific formats intact, especially OpenSpec requirement headers and scenarios.
239
+ - Keep `/ideate`, `/define`, `/build`, and `/ship` as the only public top-level delivery commands; do not add `/grill`, `/grill-me`, or `/interview`.
240
+ - Do not register `batch-grill-me` as a second skill or add `/batch-grill-me`; explicit batch phrases route to Frontier Batch Mode in this canonical skill.
241
+ - Keep the artifact name `interview.md`; do not create `grill.md`, `grilling.md`, or `requirements-grilling.md` for the same OpenSpec clarification flow.
242
+
243
+ ## Anti-Patterns / Blacklist
244
+
245
+ - Do not treat chat-only questioning, dry-run output, or a preview as the final requirements artifact.
246
+ - Do not mark `READY` until material chat answers have been persisted to `interview.md` or the agreed target and re-read from disk.
247
+ - Do not confirm broad-label requirements such as “security”, “idempotency”, “quota”, or “audit” without concrete behavior, boundaries, source-of-truth, and testable acceptance.
248
+ - Do not create parallel artifacts such as `grill.md`, `grilling.md`, or `requirements-grilling.md` for an OpenSpec clarification flow.
249
+ - Do not write back to unagreed files, and do not overwrite existing user-authored material when a merge is possible.
250
+ - Do not invent requirements or recommended defaults when repo/docs/official evidence can answer the question.
251
+ - Do not infer Frontier Batch Mode from blocker count, label a static packet as a dynamic frontier, mix approval/permission questions into a frontier round, or treat batch answers as authorization.
252
+ - Do not copy upstream `batch-grill-me`'s direct subagent instruction into this skill. Return `need-evidence`; ROSE alone decides whether direct inspection or a fresh Task is justified.
253
+
254
+ ## Phase A: Source Grounding
255
+
256
+ Before generating questions:
257
+
258
+ 1. Read the user-provided source text or files.
259
+ 2. If the source is an OpenSpec change directory, read the current target plus only the proposal, design, task, context, ADR, or spec sections that own or directly constrain the candidate decision. Do not inventory every artifact by default.
260
+ 3. If the source is a plan, issue, ticket, PR description, or custom file, identify existing sections, task markers, requirements, acceptance criteria, and unresolved assumptions.
261
+ 4. Inspect only the local code/docs/specs/tests/config needed to answer the candidate question. If one missing source class can change the decision, return that exact evidence need and its downstream question dependencies to ROSE; do not dispatch or start another research workflow here. In Frontier Batch Mode, unrelated dependency-ready questions remain eligible for the current round.
262
+ 5. Record only evidence used by the candidate decision, separating Observed Fact, External Source, Inference, Assumption, Open Question, and Unverified.
263
+ 6. Refine only domain terms, boundaries, owners, or contradictions that can change that decision.
264
+
265
+ Do not ask the user for information that can be reliably discovered from current code, docs, specs, tests, configs, or official sources.
266
+
267
+ Use only the one source class needed for a material question. If that evidence remains missing, return `need-evidence` and keep dependent readiness blocked. A completed packet is not BUILD authority; explicit final `test-plan.md` acceptance remains the sole lifecycle-level pre-BUILD user approval for formal work.
268
+
269
+ Potential gaps when the current source or request makes them material; this is not a mandatory checklist:
270
+
271
+ - unclear goal, user, or success criteria
272
+ - missing in-scope and out-of-scope boundary
273
+ - incomplete happy path, failure path, retry, rollback, or migration flow
274
+ - undefined interfaces, API shapes, events, auth, errors, or versioning
275
+ - unclear data model, ownership, lifecycle, validation, or constraints
276
+ - fuzzy, conflicting, or overloaded domain terms
277
+ - missing architecture decisions, trade-offs, dependencies, or alternatives
278
+ - missing security, privacy, reliability, performance, or observability requirements
279
+ - acceptance criteria that are not executable or verifiable
280
+
281
+ Do not write a material answer as accepted content until the selected question, frontier round, or bounded static packet is resolved. If the user explicitly says to write with current information, unresolved items may be recorded as `Open Question`, explicitly `WAIVED`, or named `UNVERIFIED`, but unresolved decision-shaping research remains blocking and cannot be presented for coherent final acceptance or BUILD readiness. Never mark the requirements-grilling gate `READY` from unresolved material ambiguity.
282
+
283
+ ## Readiness States
284
+
285
+ Report the requirements-grilling gate with exactly one state whenever a packet or frontier round is persisted, chat or direct-file answers are ingested, a focused follow-up is appended, or write-back / BUILD readiness is discussed:
286
+
287
+ - `READY`: material questions are answered, answers are coherent with evidence, domain language is not contradictory, every material policy has concrete behavior/boundaries, and acceptance/testability is sufficient for implementation.
288
+ - `BLOCKED`: material ambiguity, contradiction, incomplete answer, evidence conflict, unsupported default, out-of-scope answer, fuzzy domain term, source-of-truth conflict, or untestable acceptance remains. Use `BLOCKED_FOR_CLARIFICATION` as the detailed reason when the next action is another grilling round.
289
+ - `WAIVED`: the user explicitly waived a named question despite the missing information; this records disposition only and cannot clear decision-shaping research or final test-plan acceptance.
290
+ - `UNVERIFIED`: the user explicitly accepted named unresolved or unverifiable items as `UNVERIFIED`; do not describe those items as confirmed or use the state to clear a material research/readiness gate.
291
+
292
+ ## Phase B: Ask or Draft
293
+
294
+ Choose exactly one current question shape:
295
+
296
+ - Interactive Mode: ask the single next dependency-ordered material question and persist its answer.
297
+ - Frontier Batch Mode: after explicit user invocation, ask the complete current dependency-ready frontier in one numbered round, persist and re-read supplied answers, then recompute before another round.
298
+ - Packet Mode: generate a static Markdown interview packet only when several already-known independent material blockers meet the Packet Mode threshold.
299
+
300
+ Do not silently convert one mode into another. A static packet is not a frontier round, and a high blocker count does not activate Frontier Batch Mode.
301
+
302
+ Default behavior:
303
+
304
+ - For OpenSpec sources, write `openspec/changes/<change-id>/interview.md` without asking.
305
+ - For every non-OpenSpec source, including a single source document, ask for placement before writing.
306
+ - Use chat-only output only when the user explicitly asks for it or selects chat-only in the placement question.
307
+
308
+ Packet Mode produces a draft artifact. Frontier Batch Mode produces one draft numbered round. Do not present or persist either before Phase C. Use `references/INTERVIEW-PACKET-FORMAT.md` only for the static Packet Mode artifact and omit sections that have no selected material decision.
309
+
310
+ The static packet contains one row per selected blocker, not a full requirements-coverage matrix. A frontier round contains one numbered question per currently dependency-ready material decision and withholds downstream decisions until a later round. Each shape records the decision, material impact, exact evidence, status, question or disposition, and write-back target. Goal/scope, permissions, failure behavior, data/state/API contracts, compatibility, terminology, security, performance, observability, and testability are candidate topics only when the current source or request makes one material.
311
+
312
+ For every selected blocker, choose one status only:
313
+
314
+ - `Confirmed by evidence`: current repo/docs/specs/tests/configs/official docs answer it with exact behavior, boundary, a source-of-truth anchor such as code/test/config/docs or an explicit owner, and a testable acceptance/verification signal; cite the evidence. A term, heading, checklist label, or broad phrase alone is not evidence that the dimension is confirmed.
315
+ - `Not applicable`: the selected candidate does not apply; give a short reason.
316
+ - `Needs question`: a decision-changing user answer is required; add or link a question.
317
+ - `Open Question`: still unresolved and must not be written as fact.
318
+ - `Unverified`: retained only as a named unverified item, preferably after user acceptance.
319
+
320
+ Material question threshold:
321
+
322
+ - Ask only if the answer can change scope, design, tasks, acceptance criteria, tests, risk handling, rollout, terminology, domain model, or implementation safety.
323
+ - Each question must include why asked, affected artifact/decision, evidence-backed recommended default when available, consequences/trade-offs, answer slot, and write-back target.
324
+ - Each question must offer concise selectable options and a custom answer. Never force a listed option when user-provided text can resolve the decision.
325
+ - If a candidate question is generic or would not change implementation readiness, omit it or convert it to a non-blocking note.
326
+ - If the answer is discoverable from current repository files, tests, configs, specs, docs, or official sources, gather and cite evidence instead of asking.
327
+ - If no evidence-backed default exists, mark the default as `Open Question` or `Unverified`; do not present a guess as a recommendation.
328
+ - If a source only names a material topic but does not define behavior, boundary, failure handling, owner/source-of-truth, or acceptance criteria, treat it as `Needs question` or `Open Question`, not `Confirmed by evidence`.
329
+ - Slogan-level phrases such as “安全策略”, “违规内容”, “重复处理”, “幂等”, “回滚”, “失败处理”, “权限”, “quota”, “view 策略”, “清理策略”, “日志”, or “audit” require follow-up when they affect implementation or tests and no concrete policy is cited.
330
+
331
+ In Packet Mode, treat these as material-question candidates when mentioned. Include a question immediately only when the topic is material and the cited source does not already define the concrete behavior, boundary, source-of-truth anchor, and acceptance signal:
332
+
333
+ - multi-tenancy: isolation model, tenant identifiers, cross-tenant controls, migrations
334
+ - offline/background sync: conflict resolution, retry/backoff, reconciliation
335
+ - security/privacy/compliance: data retention, audit logs, encryption, PII handling
336
+ - backend/product semantics: duplicate writes, overwrite versus reject versus versioning, retry counting, quota counting, deletion access, scrub/cleanup failure visibility, snapshot/view isolation, response headers, and log/audit redaction
337
+ - UI/UX: empty/loading/error states, permission-denied copy, accessibility, i18n
338
+ - agent workflow changes: primary/subagent boundaries, skill routing, verification, memory, and no nested orchestration
339
+ - terminology or artifact-name changes: old/new names, compatibility aliases, user-visible vs invisible routing, and artifact contract boundaries
340
+
341
+ If the user says `先这样`, `按目前信息写回`, or equivalent, stop asking only after classifying unresolved material items. Proceed with write-back only when unresolved items are recorded as `Open Question`, explicitly `WAIVED`, or accepted as named `UNVERIFIED`; do not write unresolved material answers as facts or report `READY` until clarified.
342
+
343
+ ## Phase C: Direct Consistency Check
344
+
345
+ After generating the selected question, frontier round, or static packet, inspect it once directly. Do not invoke an independent stress-test or review lane merely because a question artifact exists.
346
+
347
+ 🔴 STOP before presentation or persistence if direct inspection finds an omitted dependency-ready material question, a prematurely included dependent question, unsupported default, non-executable acceptance criterion, fuzzy domain term, ADR misuse, or unmarked `Open Question` / `Unverified` item. Repair in scope or report the blocker.
348
+
349
+ Check:
350
+
351
+ - Does every included question pass the material-question threshold, and is any known material blocker omitted?
352
+ - Which question asks the user for information that should be discovered from code/docs instead?
353
+ - Which recommended default lacks evidence?
354
+ - Which user answer would lead to a completely different design?
355
+ - Which acceptance criteria affected by these decisions are not executable?
356
+ - Which rows were marked `Confirmed by evidence` from keyword presence, broad headings, or checklist labels instead of exact requirements?
357
+ - Which named risk, behavior, term, boundary, or ADR condition directly affected by these decisions remains unspecified or conflicting?
358
+ - Which assumptions must be marked `Open Question` or `Unverified`?
359
+ - In Frontier Batch Mode, which question depends on another open question or missing fact and therefore belongs to a later round?
360
+ - Which identity, placement, permission, approval, or exact-operation question was incorrectly batched and must be asked separately?
361
+
362
+ Apply fixes to the selected question shape before sending it to the user.
363
+
364
+ After Phase C, persist the final static packet according to the Output Placement Contract. For an interactive or frontier round, ask the approved question shape, then persist accepted question/answer/classification trails before reporting readiness or computing another frontier. Only then present a concise chat summary.
365
+
366
+ ## Phase D: Ingest User Answers
367
+
368
+ After the user answers in chat or directly edits the interview packet:
369
+
370
+ 1. Re-read the artifact from disk first; compatibility marker: Re-read the filled packet from disk. Conversation summaries and chat-only answers are stale until confirmed against the saved artifact. If answers were collected in chat, write them to the agreed artifact first, then re-read from disk before classification or readiness. If the user edited the file directly, treat the on-disk content as the fallback source of truth after re-reading and reconciling material changes.
371
+ 2. Classify every material answer as one of: `confirmed`, `ambiguous`, `contradictory`, `incomplete`, `untestable`, `evidence-conflicting`, `out-of-scope`, or `Unverified`.
372
+ - Answers that repeat broad labels such as “做安全策略”, “按幂等处理”, “正常回滚”, “走 quota”, “写 audit”, or “按现有逻辑” without concrete behavior, boundary, source-of-truth, and testable acceptance remain `incomplete` or `untestable`. A named waiver or `UNVERIFIED` disposition may preserve the gap but cannot turn it into concrete accepted behavior.
373
+ 3. Convert only `confirmed` answers into accepted Decisions, Requirements, Design notes, Tasks, Acceptance criteria, Verification commands, Language updates, or ADR proposals. Record explicit waivers and user-accepted `Unverified` items only as named limitations; they cannot clear decision-shaping research or supply missing acceptance behavior.
374
+ 4. Keep unanswered, ambiguous, contradictory, incomplete, untestable, evidence-conflicting, out-of-scope, or terminology-conflicting answers out of factual write-back.
375
+ 5. Choose the next interaction from the active mode. Interactive Mode and static Packet Mode default to one focused follow-up for the next dependency-ordered material blocker; use another bounded static packet only when several newly exposed independent blockers are cheaper together. Frontier Batch Mode instead recomputes and asks the complete next dependency-ready frontier; an ambiguous answer remains an unresolved frontier item and does not unlock its dependents. Every follow-up still includes why it blocks, affected artifact/decision, recommended default if evidence supports one, consequences/trade-offs, answer slot, and write-back target.
376
+ 6. Persist the follow-up in the same `interview.md` artifact for OpenSpec sources; do not create `grill.md`, `requirements-grilling.md`, or a parallel artifact.
377
+ 7. Keep unverifiable external claims as `Unverified` only when named and explicitly accepted by the user; otherwise classify them as blocking or `Open Question`. If the claim could change scope, architecture, dependency, public contract, permissions, acceptance, or verification strategy, it remains blocking even when named and accepted as `Unverified`.
378
+ 8. Do not silently resolve conflicts or treat a filled answer slot as confirmation when the answer remains unclear.
379
+ 9. Record only the affected answer classification, evidence, write-back target, and readiness state; add domain-language or ADR fields only when that decision touches them.
380
+ 10. Run the Phase C direct consistency check after answer classification; do not auto-chain another process skill.
381
+ 11. In Frontier Batch Mode, accept partial answers, preserve every unanswered or invalid frontier item as unresolved, and recompute the next frontier only from persisted/re-read confirmed answers and current evidence. Do not ask a downstream question whose prerequisite remains unresolved.
382
+ 12. When the frontier becomes empty, restate the shared understanding and require explicit user confirmation before acting. Keep readiness, final test-plan acceptance, and every permission/operation approval separate.
383
+
384
+ After answer ingestion, classify every confirmed correction, new requirement, artifact/design/task/test change, accepted finding, or implementation feedback into exactly one exhaustive delta class:
385
+
386
+ - `covered`: the current accepted artifacts and tests already cover it; link the evidence and do not duplicate writeback.
387
+ - `material-question`: one unresolved decision can change scope, contract, tasks, acceptance, risk handling, or implemented behavior; ask one focused question and do not guess.
388
+ - `material-delta`: confirmed material change; write and re-read only the owning artifacts and direct dependents, read OpenSpec status/instructions when those dependencies require it, run lifecycle-selected strict validation, and stale prior test-plan acceptance when acceptance or required verification changes.
389
+ - `ordinary-steering`: presentation/process guidance that changes no material dimension; apply without reopening acceptance.
390
+ - `Unverified`: evidence is missing or cannot currently establish the class; name the gap and block any dependent claim/action.
391
+
392
+ Do not ask whether to save a material delta. Do not guess change identity, expand permission, bypass high-risk/operation approval, continue BUILD, or use old acceptance after acceptance/verification changed. If material writeback leaves the acceptance contract unchanged, preserve acceptance only with explicit comparison evidence.
393
+
394
+ If the direct consistency check finds material ambiguity, contradiction, incompleteness, untestable acceptance, evidence conflict, terminology conflict, out-of-scope expansion, or unresolved decision-shaping research, report readiness as `BLOCKED` / `BLOCKED_FOR_CLARIFICATION`, persist or present the focused follow-up according to the placement contract, and do not write affected content as accepted fact. Waiver or accepted-`UNVERIFIED` may record a named non-material limitation but cannot clear a material research/readiness blocker.
395
+
396
+ If the user explicitly says to proceed despite named unresolved items, record whether the gate is `WAIVED` or `UNVERIFIED`, list the accepted items, and keep the risk visible in write-back and completion reports. Do not call it `READY`.
397
+
398
+ ## Phase E: Write Back
399
+
400
+ Write only to the agreed target files.
401
+
402
+ 🔴 STOP before write-back when the target file is not explicitly agreed, the requirements-grilling gate is `BLOCKED`, answers conflict, existing content would need replacement instead of merge, a confirmed answer would change scope/design/tasks beyond the agreed package, Language would absorb an implementation decision, or an ADR would be created without passing the ADR gate. Ask or report the conflict instead of overwriting.
403
+
404
+ BUILD readiness rule: applicable answers must be coherent, with no unresolved material decision or decision-shaping evidence gap. Overall formal readiness is owned by `aili-delivery-flow` and additionally requires its applicable artifacts/validation and explicit final `test-plan.md` acceptance. This skill neither grants nor duplicates that gate.
405
+
406
+ General write-back rules:
407
+
408
+ - Merge rather than overwrite.
409
+ - Preserve headings, IDs, task markers, and existing conventions.
410
+ - Put details closest to the file that owns them: proposal for why/scope, design for decisions/trade-offs, tasks for execution, specs or acceptance docs for testable behavior, `context.md` Language for resolved project-specific terms, and `adr.md` for gated hard-to-reverse trade-offs.
411
+ - Add traceability where useful: requirement -> design decision -> task -> verification.
412
+
413
+ For OpenSpec targets:
414
+
415
+ - Preserve required delta headers when present: `## ADDED Requirements`, `## MODIFIED Requirements`, `## REMOVED Requirements`, `## RENAMED Requirements`.
416
+ - Preserve `### Requirement:` and `#### Scenario:` structure.
417
+ - Keep at least one scenario per requirement when adding requirements.
418
+ - Keep `interview.md`, `context.md`, and `adr.md` beside the change artifacts unless a future accepted change changes placement.
419
+
420
+ For custom plans or documents:
421
+
422
+ - Preserve the user's plan sections and task ordering.
423
+ - Add missing acceptance criteria and verification commands near the tasks they prove.
424
+ - Keep unconfirmed details in `Open Questions` instead of turning them into commitments.
425
+
426
+ ## Validation
427
+
428
+ After write-back:
429
+
430
+ 1. Inspect the diff to confirm the target files changed as intended and unrelated files were not modified.
431
+ 2. Run only the claim-matched validation selected by the lifecycle/ordinary-task owner; OpenSpec material writeback normally requires strict change validation.
432
+ 3. If no executable check is selected, validate by reading the edited files and checking that unresolved items are labeled.
433
+ 4. Report what was verified and what remains unverified.
434
+
435
+ For OpenSpec material writeback, read current status/instructions only for affected dependencies, reread each changed artifact once, and run the validation selected by the lifecycle owner. File presence or transient chat/UI state is not readiness evidence.
436
+
437
+ ## Completion Report
438
+
439
+ Report:
440
+
441
+ - Source reviewed
442
+ - Interview mode used and Frontier Batch rounds completed, when applicable
443
+ - Questions asked and key answers incorporated
444
+ - Files changed
445
+ - Requirements-grilling readiness state: `READY`, `BLOCKED`, `WAIVED`, or `UNVERIFIED`
446
+ - Open questions left unresolved
447
+ - Validation command or inspection result
@@ -0,0 +1,46 @@
1
+ # ADR-FORMAT.md
2
+
3
+ Provenance: copied/adapted for AILI requirements-grilling from upstream Matt Pocock `domain-modeling/ADR-FORMAT.md` behavior under the upstream MIT License.
4
+
5
+ Use this reference when `requirements-grilling` offers or updates an ADR.
6
+
7
+ ## Minimal ADR Shape
8
+
9
+ ```markdown
10
+ # ADR: <short decision title>
11
+
12
+ Status: Proposed
13
+
14
+ ## Decision
15
+
16
+ <What decision is being made?>
17
+
18
+ ## Why
19
+
20
+ <Why is this decision needed, and why now?>
21
+
22
+ ## Options Considered
23
+
24
+ - <Option A>: <trade-off>
25
+ - <Option B>: <trade-off>
26
+
27
+ ## Consequences
28
+
29
+ - <Consequence or risk>
30
+ ```
31
+
32
+ ## Rules
33
+
34
+ - ADRs can be short.
35
+ - The value is recording the decision and why.
36
+ - Status, options, and consequences are optional when they are not useful.
37
+ - Offer an ADR only when all three are true:
38
+ 1. The decision is hard to reverse.
39
+ 2. The decision would be surprising without context.
40
+ 3. The decision is the result of a real trade-off.
41
+ - Keep `Status: Proposed` unless the user or accepted change authority explicitly confirms the decision as accepted.
42
+
43
+ ## AILI Adaptation
44
+
45
+ - ADRs for an OpenSpec change live as `openspec/changes/<change-id>/adr.md` beside `interview.md` unless a future accepted change says otherwise.
46
+ - Use `context.md` Language only for tight term definitions; put the rationale and trade-off in `adr.md` when the ADR gate passes.
@@ -0,0 +1,41 @@
1
+ # CONTEXT-FORMAT.md
2
+
3
+ Provenance: copied/adapted for AILI requirements-grilling from upstream Matt Pocock `domain-modeling/CONTEXT-FORMAT.md` behavior under the upstream MIT License.
4
+
5
+ Use this reference when `requirements-grilling` updates the change-local `context.md` Language section.
6
+
7
+ ## Structure
8
+
9
+ ```markdown
10
+ # {Context Name}
11
+
12
+ Short description of what this context describes.
13
+
14
+ ## Language
15
+
16
+ **Term Name**:
17
+ Tight, project-specific definition.
18
+ _Avoid_: Ambiguous or rejected alternatives.
19
+ ```
20
+
21
+ ## Rules
22
+
23
+ - Be opinionated.
24
+ - Keep definitions tight.
25
+ - Record project-specific terms only.
26
+ - Group terms when natural.
27
+ - Include `_Avoid_` alternatives when they prevent future ambiguity.
28
+ - Do not store implementation decisions, scratchpad notes, generic programming terms, or architecture rationale in Language.
29
+ - Use ADRs, design docs, specs, or tasks for decisions and trade-offs.
30
+
31
+ ## AILI Adaptation
32
+
33
+ - For OpenSpec changes, `context.md` remains beside `interview.md`.
34
+ - Update Language only when project-specific terms or terminology conflicts are discovered and resolved.
35
+ - Do not update Language merely because a grilling round ran.
36
+
37
+ ## Single and Multi-Context Notes
38
+
39
+ - A single change-local context is enough when one OpenSpec change owns the terminology.
40
+ - Multiple contexts are useful only when independent domains would make one glossary misleading.
41
+ - If multiple contexts exist, keep each term in the context that owns the term's meaning.
@@ -0,0 +1,62 @@
1
+ # INTERVIEW-PACKET-FORMAT.md
2
+
3
+ Use this compact reference only when several known independent material blockers make one bounded `interview.md` packet cheaper than separate questions. Include one row per selected blocker and omit empty optional fields; never expand it into a generic coverage form.
4
+
5
+ ```markdown
6
+ # 需求拷问包:<change-name>
7
+
8
+ ## 1. 资料来源与证据
9
+
10
+ | 来源 | 已检查内容 | 观察到的事实 | 置信度 | 备注 |
11
+ |---|---|---|---|---|
12
+ | `<path>` | 现有实现 / 文档 / 测试 | ... | high / medium / low | ... |
13
+
14
+ ## 2. 当前决策上下文
15
+
16
+ - 本轮需要解决的材料性决策:
17
+ - 为什么这些决策现在阻塞:
18
+ - 已确认且直接相关的约束:
19
+
20
+ ## 3. 材料性决策与状态
21
+
22
+ 状态只能使用:`Confirmed by evidence`、`Not applicable`、`Needs question`、`Open Question`、`Unverified`。
23
+
24
+ `Confirmed by evidence` 只能用于证据已经给出当前决策需要的具体行为、边界、source-of-truth 或明确 owner,以及适用的可测试验收信号。只出现“安全策略 / 幂等 / 回滚 / quota / audit / 清理策略”等词,不算 confirmed。
25
+
26
+ | 决策 | 为什么会改变 scope / design / tasks / acceptance / verification / risk / terminology / safety | 状态 | 精确证据 / 原因 | 关联问题 | 写回目标 |
27
+ |---|---|---|---|---|---|
28
+ | <具体决策> | ... | ... | `<path>:<line>` / 用户决定 | Q1 / N/A | `proposal.md` / `design.md` / specs / `tasks.md` / `test-plan.md` |
29
+
30
+ ## 4. 需要你填写的问题
31
+
32
+ | ID | 问题 | 为什么要问 | 影响的 artifact / decision | 有证据支撑的推荐默认答案 | 后果 / 取舍 | 你的填写 | 写回位置 |
33
+ |---|---|---|---|---|---|---|---|
34
+ | Q1 | ... | ... | scope / design / tasks / acceptance / tests / risk / implementation safety | ...(证据:`<path>`) | 选 A 会...;选 B 会... | | `proposal.md` |
35
+
36
+ 只包含已知材料性 blocker。若某个 blocker 是设计漏洞、证据缺口、反例、术语或领域边界问题,把它直接写入对应决策行和问题行,不另建全量检查章节。
37
+
38
+ ## 5. 填写说明
39
+
40
+ - 可以直接在“你的填写”列里写答案。
41
+ - 如果在聊天里回答,模型也必须把问题、答案、分类和写回位置同步写回本文件或约定目标;聊天记录本身不是最终 source of truth。
42
+ - 不确定的地方写“不确定”即可。
43
+ - 接受推荐默认答案时,写“同意默认”。
44
+ - 不进入本次 scope 的内容,写“本次不做”。
45
+ - 未填写内容不会被写成事实,只会保留为 `Open Question`。
46
+ - 无证据支撑但暂时保留的内容会标为 `Unverified`。
47
+ - 只写“按安全策略”“按幂等”“走 quota”“正常回滚”“写 audit”这类泛化答案,不会被当成已确认;需要补充当前决策所需的具体行为、边界、source-of-truth 和可测试验收标准,或在答案吸收记录 / readiness report 里明确标为 waived / accepted `UNVERIFIED`。注意:`WAIVED` 是 readiness/answer disposition,不是决策状态。
48
+ - 如果填写内容仍有材料性歧义、互相矛盾、不可测试、与证据冲突、术语冲突或超出 scope,只追问受影响的下一项决策,不启动通用新一轮。
49
+
50
+ ## 6. 后续写回映射
51
+
52
+ | 用户答案 | 将写回到 | 写回方式 | 写回前门禁 |
53
+ |---|---|---|---|
54
+ | Q1 | `proposal.md` | scope / non-goal | confirmed / waived / accepted `UNVERIFIED` |
55
+
56
+ ## 7. 答案吸收记录
57
+
58
+ _用户填写后由模型补充。_
59
+
60
+ | 问题 | 用户答案 | 分类 | 形成的决策 | 已写回位置 | 剩余不确定 / 追问 |
61
+ |---|---|---|---|---|---|
62
+ ```
@@ -0,0 +1,25 @@
1
+ # MIT-LICENSE-MATT-POCOCK.md
2
+
3
+ Provenance: copied from the upstream Matt Pocock `skills` repository license for `requirements-grilling` upstream-derived material.
4
+
5
+ MIT License
6
+
7
+ Copyright (c) 2026 Matt Pocock
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.