projecta-rrr 1.7.0 → 1.9.1

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 (323) hide show
  1. package/README.md +264 -13
  2. package/agents/rrr-planner.md +179 -0
  3. package/bin/install.js +394 -59
  4. package/commands/rrr/execute-phase.md +103 -22
  5. package/commands/rrr/execute-plan.md +92 -11
  6. package/commands/rrr/help.md +216 -12
  7. package/commands/rrr/install-skill.md +187 -0
  8. package/commands/rrr/list-skills.md +110 -0
  9. package/commands/rrr/mvp.md +63 -0
  10. package/commands/rrr/overnight.md +126 -0
  11. package/commands/rrr/search-skills.md +125 -0
  12. package/package.json +13 -4
  13. package/rrr/lib/load-skills.js +277 -0
  14. package/rrr/references/frontend-impact-detection.md +146 -0
  15. package/rrr/skills/community/README.md +74 -0
  16. package/rrr/skills/projecta/chrome-visual-check/SKILL.md +216 -0
  17. package/rrr/skills/projecta/cloudflare-r2/SKILL.md +109 -0
  18. package/rrr/skills/projecta/mcp-stack/SKILL.md +142 -0
  19. package/rrr/skills/projecta/nextjs-typescript/SKILL.md +142 -0
  20. package/rrr/skills/projecta/shadcn-ui/SKILL.md +123 -0
  21. package/rrr/skills/projecta/testing-vitest-playwright/SKILL.md +101 -0
  22. package/rrr/skills/projecta/visual-proof/SKILL.md +255 -0
  23. package/rrr/skills/upstream/anthropic/algorithmic-art/LICENSE.txt +202 -0
  24. package/rrr/skills/upstream/anthropic/algorithmic-art/SKILL.md +405 -0
  25. package/rrr/skills/upstream/anthropic/algorithmic-art/VENDORED_FROM.md +6 -0
  26. package/rrr/skills/upstream/anthropic/algorithmic-art/templates/generator_template.js +223 -0
  27. package/rrr/skills/upstream/anthropic/algorithmic-art/templates/viewer.html +599 -0
  28. package/rrr/skills/upstream/anthropic/brand-guidelines/LICENSE.txt +202 -0
  29. package/rrr/skills/upstream/anthropic/brand-guidelines/SKILL.md +73 -0
  30. package/rrr/skills/upstream/anthropic/brand-guidelines/VENDORED_FROM.md +6 -0
  31. package/rrr/skills/upstream/anthropic/canvas-design/LICENSE.txt +202 -0
  32. package/rrr/skills/upstream/anthropic/canvas-design/SKILL.md +130 -0
  33. package/rrr/skills/upstream/anthropic/canvas-design/VENDORED_FROM.md +6 -0
  34. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  35. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  36. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  37. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  38. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  39. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  40. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  41. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  42. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  43. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  44. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  45. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  46. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  47. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  48. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  49. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  50. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  51. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  52. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  53. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  54. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  55. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  56. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  57. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  58. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  59. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  60. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  61. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  62. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  63. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  64. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  65. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  66. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  67. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  68. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  69. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  70. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  71. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  72. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  73. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  74. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  75. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  76. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  77. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  78. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  79. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  80. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  81. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  82. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  83. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  84. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  85. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  86. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  87. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  88. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  89. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  90. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  91. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  92. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  93. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  94. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  95. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  96. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  97. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  98. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  99. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  100. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  101. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  102. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  103. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  104. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  105. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  106. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  107. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  108. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  109. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  110. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  111. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  112. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  113. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  114. package/rrr/skills/upstream/anthropic/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  115. package/rrr/skills/upstream/anthropic/doc-coauthoring/SKILL.md +375 -0
  116. package/rrr/skills/upstream/anthropic/doc-coauthoring/VENDORED_FROM.md +6 -0
  117. package/rrr/skills/upstream/anthropic/docx/LICENSE.txt +30 -0
  118. package/rrr/skills/upstream/anthropic/docx/SKILL.md +197 -0
  119. package/rrr/skills/upstream/anthropic/docx/VENDORED_FROM.md +6 -0
  120. package/rrr/skills/upstream/anthropic/docx/docx-js.md +350 -0
  121. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  122. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  123. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  124. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  125. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  126. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  127. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  128. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  129. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  130. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  131. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  132. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  133. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  134. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  135. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  136. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  137. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  138. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  139. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  140. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  141. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  142. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  143. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  144. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  145. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  146. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  147. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  148. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  149. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  150. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  151. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  152. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/mce/mc.xsd +75 -0
  153. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  154. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  155. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  156. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  157. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  158. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  159. package/rrr/skills/upstream/anthropic/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  160. package/rrr/skills/upstream/anthropic/docx/ooxml/scripts/pack.py +159 -0
  161. package/rrr/skills/upstream/anthropic/docx/ooxml/scripts/unpack.py +29 -0
  162. package/rrr/skills/upstream/anthropic/docx/ooxml/scripts/validate.py +69 -0
  163. package/rrr/skills/upstream/anthropic/docx/ooxml/scripts/validation/__init__.py +15 -0
  164. package/rrr/skills/upstream/anthropic/docx/ooxml/scripts/validation/base.py +951 -0
  165. package/rrr/skills/upstream/anthropic/docx/ooxml/scripts/validation/docx.py +274 -0
  166. package/rrr/skills/upstream/anthropic/docx/ooxml/scripts/validation/pptx.py +315 -0
  167. package/rrr/skills/upstream/anthropic/docx/ooxml/scripts/validation/redlining.py +279 -0
  168. package/rrr/skills/upstream/anthropic/docx/ooxml.md +610 -0
  169. package/rrr/skills/upstream/anthropic/docx/scripts/__init__.py +1 -0
  170. package/rrr/skills/upstream/anthropic/docx/scripts/document.py +1276 -0
  171. package/rrr/skills/upstream/anthropic/docx/scripts/templates/comments.xml +3 -0
  172. package/rrr/skills/upstream/anthropic/docx/scripts/templates/commentsExtended.xml +3 -0
  173. package/rrr/skills/upstream/anthropic/docx/scripts/templates/commentsExtensible.xml +3 -0
  174. package/rrr/skills/upstream/anthropic/docx/scripts/templates/commentsIds.xml +3 -0
  175. package/rrr/skills/upstream/anthropic/docx/scripts/templates/people.xml +3 -0
  176. package/rrr/skills/upstream/anthropic/docx/scripts/utilities.py +374 -0
  177. package/rrr/skills/upstream/anthropic/frontend-design/LICENSE.txt +177 -0
  178. package/rrr/skills/upstream/anthropic/frontend-design/SKILL.md +42 -0
  179. package/rrr/skills/upstream/anthropic/frontend-design/VENDORED_FROM.md +6 -0
  180. package/rrr/skills/upstream/anthropic/internal-comms/LICENSE.txt +202 -0
  181. package/rrr/skills/upstream/anthropic/internal-comms/SKILL.md +32 -0
  182. package/rrr/skills/upstream/anthropic/internal-comms/VENDORED_FROM.md +6 -0
  183. package/rrr/skills/upstream/anthropic/internal-comms/examples/3p-updates.md +47 -0
  184. package/rrr/skills/upstream/anthropic/internal-comms/examples/company-newsletter.md +65 -0
  185. package/rrr/skills/upstream/anthropic/internal-comms/examples/faq-answers.md +30 -0
  186. package/rrr/skills/upstream/anthropic/internal-comms/examples/general-comms.md +16 -0
  187. package/rrr/skills/upstream/anthropic/mcp-builder/LICENSE.txt +202 -0
  188. package/rrr/skills/upstream/anthropic/mcp-builder/SKILL.md +236 -0
  189. package/rrr/skills/upstream/anthropic/mcp-builder/VENDORED_FROM.md +6 -0
  190. package/rrr/skills/upstream/anthropic/mcp-builder/reference/evaluation.md +602 -0
  191. package/rrr/skills/upstream/anthropic/mcp-builder/reference/mcp_best_practices.md +249 -0
  192. package/rrr/skills/upstream/anthropic/mcp-builder/reference/node_mcp_server.md +970 -0
  193. package/rrr/skills/upstream/anthropic/mcp-builder/reference/python_mcp_server.md +719 -0
  194. package/rrr/skills/upstream/anthropic/mcp-builder/scripts/connections.py +151 -0
  195. package/rrr/skills/upstream/anthropic/mcp-builder/scripts/evaluation.py +373 -0
  196. package/rrr/skills/upstream/anthropic/mcp-builder/scripts/example_evaluation.xml +22 -0
  197. package/rrr/skills/upstream/anthropic/mcp-builder/scripts/requirements.txt +2 -0
  198. package/rrr/skills/upstream/anthropic/pdf/LICENSE.txt +30 -0
  199. package/rrr/skills/upstream/anthropic/pdf/SKILL.md +294 -0
  200. package/rrr/skills/upstream/anthropic/pdf/VENDORED_FROM.md +6 -0
  201. package/rrr/skills/upstream/anthropic/pdf/forms.md +205 -0
  202. package/rrr/skills/upstream/anthropic/pdf/reference.md +612 -0
  203. package/rrr/skills/upstream/anthropic/pdf/scripts/check_bounding_boxes.py +70 -0
  204. package/rrr/skills/upstream/anthropic/pdf/scripts/check_bounding_boxes_test.py +226 -0
  205. package/rrr/skills/upstream/anthropic/pdf/scripts/check_fillable_fields.py +12 -0
  206. package/rrr/skills/upstream/anthropic/pdf/scripts/convert_pdf_to_images.py +35 -0
  207. package/rrr/skills/upstream/anthropic/pdf/scripts/create_validation_image.py +41 -0
  208. package/rrr/skills/upstream/anthropic/pdf/scripts/extract_form_field_info.py +152 -0
  209. package/rrr/skills/upstream/anthropic/pdf/scripts/fill_fillable_fields.py +114 -0
  210. package/rrr/skills/upstream/anthropic/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  211. package/rrr/skills/upstream/anthropic/pptx/LICENSE.txt +30 -0
  212. package/rrr/skills/upstream/anthropic/pptx/SKILL.md +484 -0
  213. package/rrr/skills/upstream/anthropic/pptx/VENDORED_FROM.md +6 -0
  214. package/rrr/skills/upstream/anthropic/pptx/html2pptx.md +625 -0
  215. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  216. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  217. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  218. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  219. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  220. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  221. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  222. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  223. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  224. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  225. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  226. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  227. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  228. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  229. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  230. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  231. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  232. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  233. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  234. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  235. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  236. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  237. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  238. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  239. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  240. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  241. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  242. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  243. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  244. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  245. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  246. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  247. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  248. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  249. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  250. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  251. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  252. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  253. package/rrr/skills/upstream/anthropic/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  254. package/rrr/skills/upstream/anthropic/pptx/ooxml/scripts/pack.py +159 -0
  255. package/rrr/skills/upstream/anthropic/pptx/ooxml/scripts/unpack.py +29 -0
  256. package/rrr/skills/upstream/anthropic/pptx/ooxml/scripts/validate.py +69 -0
  257. package/rrr/skills/upstream/anthropic/pptx/ooxml/scripts/validation/__init__.py +15 -0
  258. package/rrr/skills/upstream/anthropic/pptx/ooxml/scripts/validation/base.py +951 -0
  259. package/rrr/skills/upstream/anthropic/pptx/ooxml/scripts/validation/docx.py +274 -0
  260. package/rrr/skills/upstream/anthropic/pptx/ooxml/scripts/validation/pptx.py +315 -0
  261. package/rrr/skills/upstream/anthropic/pptx/ooxml/scripts/validation/redlining.py +279 -0
  262. package/rrr/skills/upstream/anthropic/pptx/ooxml.md +427 -0
  263. package/rrr/skills/upstream/anthropic/pptx/scripts/html2pptx.js +979 -0
  264. package/rrr/skills/upstream/anthropic/pptx/scripts/inventory.py +1020 -0
  265. package/rrr/skills/upstream/anthropic/pptx/scripts/rearrange.py +231 -0
  266. package/rrr/skills/upstream/anthropic/pptx/scripts/replace.py +385 -0
  267. package/rrr/skills/upstream/anthropic/pptx/scripts/thumbnail.py +450 -0
  268. package/rrr/skills/upstream/anthropic/skill-creator/LICENSE.txt +202 -0
  269. package/rrr/skills/upstream/anthropic/skill-creator/SKILL.md +356 -0
  270. package/rrr/skills/upstream/anthropic/skill-creator/VENDORED_FROM.md +6 -0
  271. package/rrr/skills/upstream/anthropic/skill-creator/references/output-patterns.md +82 -0
  272. package/rrr/skills/upstream/anthropic/skill-creator/references/workflows.md +28 -0
  273. package/rrr/skills/upstream/anthropic/skill-creator/scripts/init_skill.py +303 -0
  274. package/rrr/skills/upstream/anthropic/skill-creator/scripts/package_skill.py +110 -0
  275. package/rrr/skills/upstream/anthropic/skill-creator/scripts/quick_validate.py +95 -0
  276. package/rrr/skills/upstream/anthropic/slack-gif-creator/LICENSE.txt +202 -0
  277. package/rrr/skills/upstream/anthropic/slack-gif-creator/SKILL.md +254 -0
  278. package/rrr/skills/upstream/anthropic/slack-gif-creator/VENDORED_FROM.md +6 -0
  279. package/rrr/skills/upstream/anthropic/slack-gif-creator/core/easing.py +234 -0
  280. package/rrr/skills/upstream/anthropic/slack-gif-creator/core/frame_composer.py +176 -0
  281. package/rrr/skills/upstream/anthropic/slack-gif-creator/core/gif_builder.py +269 -0
  282. package/rrr/skills/upstream/anthropic/slack-gif-creator/core/validators.py +136 -0
  283. package/rrr/skills/upstream/anthropic/slack-gif-creator/requirements.txt +4 -0
  284. package/rrr/skills/upstream/anthropic/theme-factory/LICENSE.txt +202 -0
  285. package/rrr/skills/upstream/anthropic/theme-factory/SKILL.md +59 -0
  286. package/rrr/skills/upstream/anthropic/theme-factory/VENDORED_FROM.md +6 -0
  287. package/rrr/skills/upstream/anthropic/theme-factory/theme-showcase.pdf +0 -0
  288. package/rrr/skills/upstream/anthropic/theme-factory/themes/arctic-frost.md +19 -0
  289. package/rrr/skills/upstream/anthropic/theme-factory/themes/botanical-garden.md +19 -0
  290. package/rrr/skills/upstream/anthropic/theme-factory/themes/desert-rose.md +19 -0
  291. package/rrr/skills/upstream/anthropic/theme-factory/themes/forest-canopy.md +19 -0
  292. package/rrr/skills/upstream/anthropic/theme-factory/themes/golden-hour.md +19 -0
  293. package/rrr/skills/upstream/anthropic/theme-factory/themes/midnight-galaxy.md +19 -0
  294. package/rrr/skills/upstream/anthropic/theme-factory/themes/modern-minimalist.md +19 -0
  295. package/rrr/skills/upstream/anthropic/theme-factory/themes/ocean-depths.md +19 -0
  296. package/rrr/skills/upstream/anthropic/theme-factory/themes/sunset-boulevard.md +19 -0
  297. package/rrr/skills/upstream/anthropic/theme-factory/themes/tech-innovation.md +19 -0
  298. package/rrr/skills/upstream/anthropic/web-artifacts-builder/LICENSE.txt +202 -0
  299. package/rrr/skills/upstream/anthropic/web-artifacts-builder/SKILL.md +74 -0
  300. package/rrr/skills/upstream/anthropic/web-artifacts-builder/VENDORED_FROM.md +6 -0
  301. package/rrr/skills/upstream/anthropic/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  302. package/rrr/skills/upstream/anthropic/web-artifacts-builder/scripts/init-artifact.sh +322 -0
  303. package/rrr/skills/upstream/anthropic/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  304. package/rrr/skills/upstream/anthropic/webapp-testing/LICENSE.txt +202 -0
  305. package/rrr/skills/upstream/anthropic/webapp-testing/SKILL.md +96 -0
  306. package/rrr/skills/upstream/anthropic/webapp-testing/VENDORED_FROM.md +6 -0
  307. package/rrr/skills/upstream/anthropic/webapp-testing/examples/console_logging.py +35 -0
  308. package/rrr/skills/upstream/anthropic/webapp-testing/examples/element_discovery.py +40 -0
  309. package/rrr/skills/upstream/anthropic/webapp-testing/examples/static_html_automation.py +33 -0
  310. package/rrr/skills/upstream/anthropic/webapp-testing/scripts/with_server.py +106 -0
  311. package/rrr/skills/upstream/anthropic/xlsx/LICENSE.txt +30 -0
  312. package/rrr/skills/upstream/anthropic/xlsx/SKILL.md +289 -0
  313. package/rrr/skills/upstream/anthropic/xlsx/VENDORED_FROM.md +6 -0
  314. package/rrr/skills/upstream/anthropic/xlsx/recalc.py +178 -0
  315. package/scripts/browser-uat.sh +616 -0
  316. package/scripts/chrome-visual-check.sh +287 -0
  317. package/scripts/pushpa-mode.sh +126 -13
  318. package/scripts/vendor-community-skills.sh +201 -0
  319. package/scripts/vendor-droid-tings-skills.sh +301 -0
  320. package/scripts/vendor-skills.sh +66 -0
  321. package/scripts/vendor-vercel-skills.sh +221 -0
  322. package/scripts/verify-plan.sh +202 -0
  323. package/scripts/visual-proof.sh +235 -34
package/README.md CHANGED
@@ -84,6 +84,57 @@ That's it. Verify with `/rrr:help` inside your Claude Code interface.
84
84
  >
85
85
  > This resolves "Unknown skill: rrr:help" errors.
86
86
 
87
+ ### Where to Run Commands
88
+
89
+ | Environment | What to run | Notes |
90
+ |-------------|-------------|-------|
91
+ | **Inside Claude Code** | `/rrr:*` slash commands | Interactive planning/execution |
92
+ | **Outside Claude Code** | `bash scripts/pushpa-mode.sh` | Unattended overnight runs |
93
+ | **npm scripts** | `npm run pushpa`, `npm run e2e` | Convenience wrappers |
94
+
95
+ **After installing from inside Claude Code:** Exit and restart `claude` to load new commands.
96
+
97
+ **Pushpa Mode (overnight):** Always run in a separate terminal window for true unattended execution. The script detects if running inside Claude Code and prompts you to confirm or exit.
98
+
99
+ ### Quick Start by Scenario
100
+
101
+ | Your situation | Command to run |
102
+ |----------------|----------------|
103
+ | **Empty folder** (greenfield) | `/rrr:new-project` — bootstraps Next.js/TS + full planning |
104
+ | **Existing repo** (brownfield) | `/rrr:map-codebase` (optional) → `/rrr:new-project` |
105
+ | **Already initialized** (has `.planning/STATE.md`) | `/rrr:progress` |
106
+ | **Not sure which?** | `/rrr:mvp` — detects state and routes you |
107
+
108
+ **MVP Definition of Done at Projecta:** local demo runs + tests pass.
109
+
110
+ ### Pushpa Mode (Overnight Autopilot)
111
+
112
+ Run phases unattended while you sleep. **Best run in a normal terminal** (outside Claude Code):
113
+
114
+ ```bash
115
+ bash scripts/pushpa-mode.sh
116
+ # or
117
+ npm run pushpa
118
+ ```
119
+
120
+ > **Where to run:** A system terminal or VS Code integrated terminal works great. Running inside the Claude interactive session can trigger approval prompts. The script detects this and prompts you to confirm or exit.
121
+
122
+ **Quick guidance:** `/rrr:overnight` — checks prerequisites and gives exact instructions.
123
+
124
+ **Outputs:**
125
+ - Report: `.planning/PUSHPA_REPORT.md`
126
+ - Logs: `.planning/logs/pushpa_*.log`
127
+ - Artifacts: `.planning/artifacts/playwright/`
128
+
129
+ **Optional:** Add to your project's `package.json`:
130
+ ```json
131
+ {
132
+ "scripts": {
133
+ "pushpa": "bash scripts/pushpa-mode.sh"
134
+ }
135
+ }
136
+ ```
137
+
87
138
  ### Staying Updated
88
139
 
89
140
  RRR evolves fast. Check for updates periodically:
@@ -332,17 +383,80 @@ Pushpa Mode will skip these phases and record them in the report for manual foll
332
383
  - Running inside Claude Code works but can trigger approval prompts ("Do you want to proceed?").
333
384
  - The script detects if it's running inside Claude Code and prompts: `Continue running Pushpa Mode inside Claude Code? (y/N)` — default is **No**. Press Enter to exit with instructions to run externally.
334
385
 
335
- ### Visual Proof (Automated UX Verification)
386
+ ### Verification Ladder
387
+
388
+ RRR uses a deterministic verification ladder with **mandatory two-step verification** for frontend-impacting plans:
389
+
390
+ **Plan Classification:**
391
+ - **frontend_impact: true** — plans touching frontend files, UI keywords, API routes used by UI, FE integration
392
+ - **frontend_impact: false** — plans with no user-visible impact (scripts, migrations, pure utilities)
393
+
394
+ **Verification by Frontend Impact:**
395
+
396
+ | frontend_impact | unit_tests | playwright | browser_uat |
397
+ |-----------------|------------|------------|-------------|
398
+ | true | Yes | Yes | Yes (agent-browse or claude --chrome) |
399
+ | false | Yes | No | No |
400
+
401
+ **Two-Step Visual Verification (frontend_impact: true):**
402
+ 1. **Step 1: Playwright** — Automated headless E2E tests
403
+ 2. **Step 2: Browser UAT** — Natural language browser automation via agent-browse (preferred) or `claude --chrome` (fallback)
404
+
405
+ **Browser UAT Tool Selection:**
406
+ - **ANTHROPIC_API_KEY set + agent-browse plugin:** Uses agent-browse (natural language browser automation via Stagehand)
407
+ - **ANTHROPIC_API_KEY not set + interactive:** Falls back to `claude --chrome`
408
+ - **Pushpa/CI without ANTHROPIC_API_KEY:** Skipped (no automated browser available)
409
+
410
+ **Installing agent-browse plugin (in Claude Code):**
411
+ ```bash
412
+ /plugin marketplace add browserbase/agent-browse
413
+ /plugin install agent-browse@browserbase
414
+ ```
415
+
416
+ Both steps run even when Playwright passes — we want visual/UI confirmation.
417
+
418
+ The planner automatically classifies plans and adds `verification:` frontmatter:
419
+ ```yaml
420
+ verification:
421
+ surface: ui_affecting
422
+ frontend_impact: true
423
+ required_steps:
424
+ - unit_tests
425
+ - playwright
426
+ - browser_uat
427
+ ```
428
+
429
+ ### Visual Proof (Mandatory Two-Step Verification)
336
430
 
337
- RRR includes automated visual proof via Playwright tests and UX telemetry capture.
431
+ RRR includes automated visual proof via Playwright tests and browser UAT verification.
338
432
 
339
433
  **What it captures:**
340
434
  - Playwright test results (pass/fail)
435
+ - Browser UAT confirmations (page renders, interactions, layout)
341
436
  - Console errors and warnings
342
437
  - Page errors (uncaught exceptions)
343
438
  - Network failures (4xx, 5xx, failed requests)
344
439
  - Screenshots, traces, and videos (on failure)
345
440
 
441
+ **Artifacts location:**
442
+ ```
443
+ .planning/
444
+ ├── VISUAL_PROOF.md # Append-only run log (both steps)
445
+ └── artifacts/
446
+ ├── playwright/
447
+ │ ├── report/ # HTML report (index.html)
448
+ │ │ └── index.html
449
+ │ └── test-results/ # Per-test artifacts
450
+ │ ├── screenshot.png # Captured on failure
451
+ │ ├── trace.zip # Recorded trace
452
+ │ └── video.webm # Recorded video
453
+ └── browser-uat/
454
+ └── {run_id}/ # Browser UAT artifacts
455
+ ├── uat.log # Execution log
456
+ ├── screenshot-*.png # Captured screenshots
457
+ └── chrome-notes.md # Claude chrome notes (fallback mode)
458
+ ```
459
+
346
460
  **Modes** (configured in `.planning/config.json`):
347
461
 
348
462
  | Mode | Behavior |
@@ -352,25 +466,61 @@ RRR includes automated visual proof via Playwright tests and UX telemetry captur
352
466
  | `hybrid` | Headless first, prompt for interactive fallback on eligible failures |
353
467
  | `interactive_only` | Skip Playwright, show manual UAT checklist |
354
468
 
355
- **Artifacts location:**
356
- - Report: `.planning/artifacts/playwright/report/`
357
- - Test results: `.planning/artifacts/playwright/test-results/`
358
- - UX telemetry: `.planning/artifacts/ux-telemetry/`
359
- - Run log: `.planning/VISUAL_PROOF.md` (append-only)
469
+ **Browser UAT Gating** (in `.planning/config.json`):
470
+ ```json
471
+ {
472
+ "visual_proof": {
473
+ "uat_gate": "non_blocking" // or "blocking"
474
+ }
475
+ }
476
+ ```
477
+ - `non_blocking` (default): UAT failures logged but don't block execution
478
+ - `blocking`: UAT failures exit with code 1 (for strict enforcement)
360
479
 
361
480
  **Commands:**
362
481
  ```bash
363
- npm run e2e # Run Playwright tests
482
+ # Playwright
483
+ npm run e2e # Run Playwright tests (headless)
364
484
  npm run e2e:headed # Run with browser visible
365
- npm run e2e:ui # Playwright UI mode
485
+ npm run e2e:ui # Playwright UI mode (interactive)
366
486
  npm run visual:open # Open last HTML report
367
- bash scripts/visual-proof.sh # Full visual proof runner
487
+
488
+ # Visual Proof (two-step for frontend_impact: true)
489
+ bash scripts/visual-proof.sh # Playwright only
490
+ bash scripts/visual-proof.sh --chrome # Playwright + browser UAT (REQUIRED for FE)
491
+ bash scripts/visual-proof.sh --pushpa # Pushpa mode (headless)
492
+
493
+ # Browser UAT directly
494
+ FRONTEND_IMPACT=true bash scripts/browser-uat.sh # Run browser UAT step
495
+ ```
496
+
497
+ **Browser UAT Tool Selection:**
498
+ - **agent-browse** (preferred): Requires `ANTHROPIC_API_KEY` and [browserbase/agent-browse](https://github.com/browserbase/agent-browse) plugin. Uses Stagehand for natural language browser automation.
499
+ - **claude --chrome** (fallback): Interactive mode only. Falls back when no API key set.
500
+ - **Skipped**: In Pushpa/CI without `ANTHROPIC_API_KEY` (no automated browser available).
501
+
502
+ **Installing agent-browse (in Claude Code):**
503
+ ```bash
504
+ /plugin marketplace add browserbase/agent-browse
505
+ /plugin install agent-browse@browserbase
506
+ ```
507
+
508
+ **Interactive verification (UI_AFFECTING plans only):**
509
+ ```bash
510
+ npx playwright test --ui # Playwright UI mode for exploratory testing
511
+ npx playwright test --headed # See tests execute in browser
512
+ FRONTEND_IMPACT=true bash scripts/browser-uat.sh # Browser UAT check
368
513
  ```
369
514
 
370
515
  **Integration:**
371
- - Runs automatically after `/rrr:execute-phase` (if e2e tests exist)
372
- - Runs in Pushpa Mode (headless only, never interactive)
373
- - Results logged to `.planning/VISUAL_PROOF.md`
516
+ - **Per-plan:** Runs automatically after `/rrr:execute-plan` when `frontend_impact: true` (Playwright + Browser UAT)
517
+ - **Per-phase:** Runs automatically after `/rrr:execute-phase` (aggregates all plans)
518
+ - **Pushpa Mode:** Headless Playwright + agent-browse (if `ANTHROPIC_API_KEY` set); no interactive fallback
519
+ - **Backend-only plans** (`frontend_impact: false`): Unit tests only, visual steps skipped
520
+ - Results logged to `.planning/VISUAL_PROOF.md` (append-only)
521
+
522
+ **VISUAL_PROOF.md format:**
523
+ Each run appends an entry with datetime, plan/phase ID, surface type, commands run, pass/fail status, console errors, and artifact paths.
374
524
 
375
525
  **UX Telemetry Fixture:**
376
526
 
@@ -571,6 +721,8 @@ You're never locked in. The system adapts.
571
721
  |---------|--------------|
572
722
  | `/rrr:progress` | Where am I? What's next? |
573
723
  | `/rrr:help` | Show all commands and usage guide |
724
+ | `/rrr:mvp` | Smart router: detects state, tells you exactly what to run |
725
+ | `/rrr:overnight` | Pushpa Mode guidance: preflight checks + run instructions |
574
726
 
575
727
  ### Verification
576
728
 
@@ -615,6 +767,105 @@ You're never locked in. The system adapts.
615
767
  | `/rrr:check-todos` | List pending todos |
616
768
  | `/rrr:debug [desc]` | Systematic debugging with persistent state |
617
769
 
770
+ ### Skills
771
+
772
+ | Command | What it does |
773
+ |---------|--------------|
774
+ | `/rrr:list-skills` | Show all available skills (vendored + community) |
775
+ | `/rrr:install-skill [url]` | Install a skill from GitHub or skillsmp.com |
776
+ | `/rrr:search-skills [query]` | Search for skills on skillsmp.com |
777
+
778
+ ---
779
+
780
+ ## Skills System
781
+
782
+ Skills are context packages that load into Claude during plan execution. They enforce coding conventions, tool choices, and best practices.
783
+
784
+ ### How Skills Work
785
+
786
+ 1. **Planning** — Planner infers which skills are needed based on phase content
787
+ 2. **Execution** — Skills load into executor context (fresh per plan)
788
+ 3. **Enforcement** — Claude follows skill rules during implementation
789
+
790
+ Skills are loaded dynamically per plan. No skill accumulation across plans — keeps context clean.
791
+
792
+ ### Vendored Skills
793
+
794
+ Ships with RRR:
795
+
796
+ **Projecta Skills (default stack):**
797
+ - `projecta.nextjs-typescript` ⭐ — Next.js App Router + TypeScript conventions (loads automatically)
798
+ - `projecta.testing` — Vitest + Playwright (NEVER Jest/Cypress)
799
+ - `projecta.visual-proof` — Visual proof artifact capture
800
+ - `projecta.shadcn-ui` — shadcn/ui components (NEVER Material UI/Chakra)
801
+ - `projecta.cloudflare-r2` — Cloudflare R2 storage conventions
802
+ - `projecta.mcp-stack` — MCP server integrations
803
+
804
+ **Anthropic Skills (vendored from upstream):**
805
+ - `anthropic.pdf` — PDF document handling
806
+ - `anthropic.xlsx` — Excel spreadsheet handling
807
+ - `anthropic.webapp-testing` — Web application testing
808
+ - And 13 more...
809
+
810
+ ### Using Skills in Plans
811
+
812
+ Skills are auto-inferred from plan content, but you can declare them explicitly:
813
+
814
+ ```yaml
815
+ ---
816
+ phase: 04-auth
817
+ plan: 01
818
+ skills:
819
+ - projecta.testing
820
+ - projecta.visual-proof
821
+ - anthropic.webapp-testing
822
+ ---
823
+ ```
824
+
825
+ **Default skill:** `projecta.nextjs-typescript` loads automatically for ALL plans. Add `skills_mode: minimal` to skip it (rare, for non-standard stacks).
826
+
827
+ **Limits:** Max 10 skills per plan, max 1000 total lines.
828
+
829
+ ### Community Skills
830
+
831
+ Install skills from GitHub or skillsmp.com:
832
+
833
+ ```
834
+ /rrr:install-skill https://github.com/user/repo/blob/main/SKILL.md
835
+ /rrr:search-skills react patterns
836
+ ```
837
+
838
+ Community skills install to `.claude/skills/community/`.
839
+
840
+ ### Vendoring Skills (Maintainers)
841
+
842
+ RRR uses vendoring scripts to pull skills from external repositories into the `rrr/skills/` directory:
843
+
844
+ **Anthropic upstream skills** (`scripts/vendor-skills.sh`):
845
+ Vendors official Anthropic skills into `rrr/skills/upstream/anthropic/`.
846
+
847
+ **Vercel Agent Skills** (`scripts/vendor-vercel-skills.sh`):
848
+ Vendors curated React/Next.js best practices from [vercel-labs/agent-skills](https://github.com/vercel-labs/agent-skills). Small and included in npm package.
849
+
850
+ **droid-tings Skills** (`scripts/vendor-droid-tings-skills.sh`):
851
+ Vendors AI/ML focused skills from [ovachiever/droid-tings](https://github.com/ovachiever/droid-tings). Large (~40MB), **not included in npm** to keep package lean. Vendor on-demand when needed.
852
+
853
+ ```bash
854
+ # Vendor Anthropic skills (maintainer use)
855
+ bash scripts/vendor-skills.sh
856
+
857
+ # Vendor Vercel skills (small, recommended for frontend)
858
+ bash scripts/vendor-vercel-skills.sh
859
+
860
+ # Vendor droid-tings skills (large, use allowlist)
861
+ bash scripts/vendor-droid-tings-skills.sh --list # List available
862
+ DROID_TINGS_ALLOWLIST="axolotl,unsloth" bash scripts/vendor-droid-tings-skills.sh # Specific skills
863
+ ```
864
+
865
+ **npm Package Policy:**
866
+ - `projecta/*`, `upstream/*`, `community/vercel/*` — included in npm
867
+ - `community/droid-tings/*` — excluded (40MB), vendor locally if needed
868
+
618
869
  ---
619
870
 
620
871
  ## Troubleshooting
@@ -392,6 +392,16 @@ depends_on: [] # Plan IDs this plan requires
392
392
  files_modified: [] # Files this plan touches
393
393
  autonomous: true # false if plan has checkpoints
394
394
  user_setup: [] # Human-required setup (omit if empty)
395
+ skills: [] # Skills to load (auto-inferred if empty)
396
+ skills_mode: normal # "normal" (default) or "minimal" (skip default skill)
397
+
398
+ verification:
399
+ surface: ui_affecting # ui_affecting | backend_only (REQUIRED)
400
+ frontend_impact: true # true | false (REQUIRED - enables two-step visual verification)
401
+ required_steps: # Steps executor MUST run (auto-derived from surface)
402
+ - unit_tests
403
+ - playwright
404
+ - chrome_visual_check # Two-step: automated Playwright + claude --chrome
395
405
 
396
406
  must_haves:
397
407
  truths: [] # Observable behaviors
@@ -457,10 +467,179 @@ After completion, create `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md`
457
467
  | `files_modified` | Yes | Files this plan touches |
458
468
  | `autonomous` | Yes | `true` if no checkpoints, `false` if has checkpoints |
459
469
  | `user_setup` | No | Human-required setup items |
470
+ | `skills` | No | Skills to load for execution (auto-inferred if empty) |
471
+ | `skills_mode` | No | `normal` (default) or `minimal` (skip default skill) |
472
+ | `verification.frontend_impact` | Yes | `true` enables two-step visual verification (Playwright + chrome) |
460
473
  | `must_haves` | Yes | Goal-backward verification criteria |
461
474
 
462
475
  **Wave is pre-computed:** Wave numbers are assigned during planning. Execute-phase reads `wave` directly from frontmatter and groups plans by wave number.
463
476
 
477
+ ## Skills Inference
478
+
479
+ Skills load into executor context at plan execution time. **Default skill** (`projecta.nextjs-typescript`) loads automatically for ALL plans to ensure consistent stack conventions.
480
+
481
+ **Inference rules** - when phase content mentions these patterns, include the skill:
482
+
483
+ | Pattern Keywords | Skill |
484
+ |------------------|-------|
485
+ | test, vitest, playwright, e2e, unit test | `projecta.testing-vitest-playwright` |
486
+ | visual, screenshot, artifact, proof | `projecta.visual-proof` |
487
+ | R2, storage, S3, bucket, upload, cloudflare | `projecta.cloudflare-r2` |
488
+ | PDF, document, pdf | `anthropic.pdf` |
489
+ | spreadsheet, xlsx, excel | `anthropic.xlsx` |
490
+ | MCP, Neon, Stripe, PostHog | `projecta.mcp-stack` |
491
+ | shadcn, tailwind, button, card, dialog, ui component | `projecta.shadcn-ui` |
492
+ | webapp, web app, browser test | `anthropic.webapp-testing` |
493
+
494
+ **UI/UX Auto-Tagging** - when plan touches UI/UX work, ALWAYS include BOTH skills:
495
+
496
+ Trigger keywords: `ui`, `ux`, `flow`, `form`, `modal`, `layout`, `preview`, `editor`, `dashboard`, `component`, `page`, `screen`, `view`, `button`, `input`, `navigation`, `menu`, `sidebar`, `header`, `footer`
497
+
498
+ Trigger file paths (if `files_modified` contains any of these patterns):
499
+ - `src/app/**` or `app/**` (Next.js pages/layouts)
500
+ - `src/components/**` or `components/**`
501
+ - `src/pages/**` or `pages/**`
502
+ - Any `.tsx` file with "page", "layout", "component" in name
503
+
504
+ When ANY trigger matches, add to frontmatter (deduplicated):
505
+ ```yaml
506
+ skills:
507
+ - projecta.testing-vitest-playwright
508
+ - projecta.visual-proof
509
+ ```
510
+
511
+ **Important:** Do not duplicate skills in the list. If already explicitly declared, skip.
512
+
513
+ ## Verification Classification (MANDATORY)
514
+
515
+ Every plan MUST include `verification:` frontmatter. The planner determines `surface` based on classification rules, then derives `required_steps` automatically.
516
+
517
+ ### Classification Rules
518
+
519
+ **UI_AFFECTING** - plan touches user-visible behavior:
520
+
521
+ 1. **File path patterns** (if `files_modified` matches ANY):
522
+ - `src/app/**` or `app/**` (Next.js pages/layouts)
523
+ - `src/components/**` or `components/**`
524
+ - `src/pages/**` or `pages/**`
525
+ - `*.tsx` (React components)
526
+ - `*.css`, `*.scss`, `tailwind.config.*`
527
+ - `src/styles/**`
528
+
529
+ 2. **Keyword triggers** (in objective, task names, or file content):
530
+ - UI terms: `ui`, `ux`, `form`, `modal`, `dialog`, `button`, `input`, `layout`
531
+ - Flow terms: `flow`, `wizard`, `stepper`, `navigation`, `menu`, `sidebar`
532
+ - Visual terms: `preview`, `editor`, `dashboard`, `chart`, `graph`, `animation`
533
+ - Page terms: `page`, `screen`, `view`, `component`, `header`, `footer`
534
+
535
+ 3. **API routes used by UI** (patterns in files_modified):
536
+ - `src/app/api/**` routes that serve UI data
537
+ - `pages/api/**` routes called from frontend
538
+
539
+ 4. **Schema/types affecting UI** (if plan mentions):
540
+ - Types used in components
541
+ - Zod schemas for forms
542
+ - API response types rendered in UI
543
+
544
+ 5. **Integration mentions**:
545
+ - "frontend", "client-side", "browser", "user-facing"
546
+ - "render", "display", "show", "visible"
547
+
548
+ 6. **Backend changes affecting FE integration**:
549
+ - API routes consumed by FE (app/api, pages/api)
550
+ - Contracts/DTOs used by FE
551
+ - Schema changes affecting UI types
552
+ - Auth/session flow changes
553
+ - CORS, cookies, redirects
554
+ - Webhooks displayed in UI
555
+ - Keywords: "integration", "wiring", "connect frontend", "hook up", "end-to-end"
556
+
557
+ **Reference:** @~/.claude/rrr/references/frontend-impact-detection.md
558
+
559
+ **BACKEND_ONLY** - plan has NO user-visible impact:
560
+
561
+ 1. **File path patterns** (ONLY these, no UI files):
562
+ - `src/lib/**` (pure utilities, no UI)
563
+ - `src/server/**` (server-only code)
564
+ - `scripts/**` (CLI/build scripts)
565
+ - `*.config.*` (configuration files)
566
+ - Database migrations, seeds
567
+
568
+ 2. **Keyword indicators**:
569
+ - "migration", "seed", "script", "cli", "cron", "job"
570
+ - "refactor internals", "optimize query", "add logging"
571
+ - No UI/visual keywords present
572
+
573
+ 3. **Explicit backend work**:
574
+ - Database schema changes (not affecting UI types)
575
+ - Server-side utilities
576
+ - Build/deploy configuration
577
+
578
+ ### Required Steps by Surface
579
+
580
+ **UI_AFFECTING plans:**
581
+ ```yaml
582
+ verification:
583
+ surface: ui_affecting
584
+ frontend_impact: true
585
+ required_steps:
586
+ - unit_tests
587
+ - playwright
588
+ - chrome_visual_check
589
+ ```
590
+
591
+ **BACKEND_ONLY plans:**
592
+ ```yaml
593
+ verification:
594
+ surface: backend_only
595
+ frontend_impact: false
596
+ required_steps:
597
+ - unit_tests
598
+ ```
599
+
600
+ ### Classification Decision Tree
601
+
602
+ ```
603
+ START
604
+
605
+ ├─ Does files_modified contain ANY .tsx file?
606
+ │ └─ YES → UI_AFFECTING
607
+
608
+ ├─ Does files_modified contain src/app/**, src/components/**, src/pages/**?
609
+ │ └─ YES → UI_AFFECTING
610
+
611
+ ├─ Does objective/tasks mention UI keywords?
612
+ │ └─ YES → UI_AFFECTING
613
+
614
+ ├─ Is this an API route? Check if called from UI
615
+ │ ├─ Called from frontend → UI_AFFECTING
616
+ │ └─ Backend-only (cron, webhook) → BACKEND_ONLY
617
+
618
+ └─ None of the above → BACKEND_ONLY
619
+ ```
620
+
621
+ ### When in Doubt
622
+
623
+ If classification is ambiguous, default to **UI_AFFECTING**. False positives (extra visual checks) are preferable to false negatives (missing UI verification).
624
+
625
+ **Explicit declaration** (when known):
626
+ ```yaml
627
+ skills:
628
+ - projecta.testing
629
+ - projecta.visual-proof
630
+ - anthropic.webapp-testing
631
+ ```
632
+
633
+ **Skip default skill** (rare, for non-standard stacks):
634
+ ```yaml
635
+ skills_mode: minimal
636
+ ```
637
+
638
+ **Limits:**
639
+ - Max 10 skills per plan
640
+ - Max 1000 total lines
641
+ - Skills exceeding limits are skipped with warning
642
+
464
643
  ## Context Section Rules
465
644
 
466
645
  Only include prior plan SUMMARY references if genuinely needed: