@jakkrichm/create-nexus-devflow 2.0.0 → 2.0.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 (394) hide show
  1. package/README.md +96 -50
  2. package/package.json +1 -1
  3. package/template/.agents/skills/20-spec/SKILL.md +136 -136
  4. package/template/.agents/skills/30-plan/SKILL.md +206 -206
  5. package/template/.agents/skills/40-implement/SKILL.md +152 -152
  6. package/template/.agents/skills/50-verify/SKILL.md +174 -174
  7. package/template/.agents/skills/60-report/SKILL.md +168 -168
  8. package/template/.agents/skills/70-release/SKILL.md +141 -141
  9. package/template/.agents/skills/9arm-skills/README.md +51 -51
  10. package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +86 -86
  11. package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +79 -79
  12. package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +71 -71
  13. package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +72 -72
  14. package/template/.agents/skills/agent/SKILL.md +164 -164
  15. package/template/.agents/skills/api-and-interface-design/SKILL.md +294 -294
  16. package/template/.agents/skills/app-builder/SKILL.md +75 -75
  17. package/template/.agents/skills/app-builder/agent-coordination.md +71 -71
  18. package/template/.agents/skills/app-builder/feature-building.md +53 -53
  19. package/template/.agents/skills/app-builder/project-detection.md +34 -34
  20. package/template/.agents/skills/app-builder/scaffolding.md +118 -118
  21. package/template/.agents/skills/app-builder/tech-stack.md +40 -40
  22. package/template/.agents/skills/app-builder/templates/SKILL.md +39 -39
  23. package/template/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
  24. package/template/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
  25. package/template/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
  26. package/template/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
  27. package/template/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
  28. package/template/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
  29. package/template/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
  30. package/template/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
  31. package/template/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
  32. package/template/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
  33. package/template/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
  34. package/template/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
  35. package/template/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
  36. package/template/.agents/skills/architecture/SKILL.md +55 -55
  37. package/template/.agents/skills/architecture/context-discovery.md +43 -43
  38. package/template/.agents/skills/architecture/examples.md +94 -94
  39. package/template/.agents/skills/architecture/pattern-selection.md +68 -68
  40. package/template/.agents/skills/architecture/patterns-reference.md +50 -50
  41. package/template/.agents/skills/architecture/trade-off-analysis.md +77 -77
  42. package/template/.agents/skills/bash-linux/SKILL.md +199 -199
  43. package/template/.agents/skills/behavioral-modes/SKILL.md +242 -242
  44. package/template/.agents/skills/brainstorm/SKILL.md +157 -157
  45. package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +302 -302
  46. package/template/.agents/skills/changelog/SKILL.md +108 -108
  47. package/template/.agents/skills/check-for-updates/SKILL.md +116 -116
  48. package/template/.agents/skills/ci-cd-and-automation/SKILL.md +390 -390
  49. package/template/.agents/skills/code-review-and-quality/SKILL.md +392 -392
  50. package/template/.agents/skills/code-simplification/SKILL.md +331 -331
  51. package/template/.agents/skills/commit/SKILL.md +62 -62
  52. package/template/.agents/skills/competitor-analysis/SKILL.md +66 -66
  53. package/template/.agents/skills/context-engineering/SKILL.md +290 -290
  54. package/template/.agents/skills/database-design/SKILL.md +52 -52
  55. package/template/.agents/skills/database-design/database-selection.md +43 -43
  56. package/template/.agents/skills/database-design/indexing.md +39 -39
  57. package/template/.agents/skills/database-design/migrations.md +48 -48
  58. package/template/.agents/skills/database-design/optimization.md +36 -36
  59. package/template/.agents/skills/database-design/orm-selection.md +30 -30
  60. package/template/.agents/skills/database-design/schema-design.md +56 -56
  61. package/template/.agents/skills/database-design/scripts/schema_validator.py +172 -172
  62. package/template/.agents/skills/debug/SKILL.md +116 -116
  63. package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +298 -298
  64. package/template/.agents/skills/deploy/SKILL.md +90 -90
  65. package/template/.agents/skills/deployment-procedures/SKILL.md +241 -241
  66. package/template/.agents/skills/deprecation-and-migration/SKILL.md +206 -206
  67. package/template/.agents/skills/devflow-concept-intake/SKILL.md +150 -150
  68. package/template/.agents/skills/devflow-concept-intake/agents/openai.yaml +4 -4
  69. package/template/.agents/skills/devflow-concept-intake/references/adoption-proposal-template.md +60 -60
  70. package/template/.agents/skills/devflow-concept-intake/references/concept-report-template.md +47 -47
  71. package/template/.agents/skills/devflow-concept-intake/references/upstream-tracking-template.md +51 -51
  72. package/template/.agents/skills/devflow-wiki/SKILL.md +75 -75
  73. package/template/.agents/skills/documentation-and-adrs/SKILL.md +278 -278
  74. package/template/.agents/skills/english-to-thai-translator/SKILL.md +125 -125
  75. package/template/.agents/skills/followup/SKILL.md +78 -78
  76. package/template/.agents/skills/frontend-ui-engineering/SKILL.md +326 -326
  77. package/template/.agents/skills/frontend-ui-engineering/accessibility-checklist.md +159 -159
  78. package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +300 -300
  79. package/template/.agents/skills/goal/SKILL.md +132 -132
  80. package/template/.agents/skills/help/SKILL.md +242 -242
  81. package/template/.agents/skills/human-review-decisions/SKILL.md +74 -74
  82. package/template/.agents/skills/i18n-localization/SKILL.md +154 -154
  83. package/template/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -241
  84. package/template/.agents/skills/idea-refine/SKILL.md +178 -178
  85. package/template/.agents/skills/idea-refine/examples.md +238 -238
  86. package/template/.agents/skills/idea-refine/frameworks.md +99 -99
  87. package/template/.agents/skills/idea-refine/refinement-criteria.md +113 -113
  88. package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +15 -15
  89. package/template/.agents/skills/incremental-implementation/SKILL.md +248 -248
  90. package/template/.agents/skills/insight/SKILL.md +130 -130
  91. package/template/.agents/skills/insight-capture/SKILL.md +84 -84
  92. package/template/.agents/skills/intelligent-routing/SKILL.md +171 -171
  93. package/template/.agents/skills/issue-triage/SKILL.md +106 -106
  94. package/template/.agents/skills/lint-and-validate/SKILL.md +45 -45
  95. package/template/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -184
  96. package/template/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -173
  97. package/template/.agents/skills/mcp-builder/SKILL.md +176 -176
  98. package/template/.agents/skills/md2html/SKILL.md +154 -154
  99. package/template/.agents/skills/md2html/components.md +505 -505
  100. package/template/.agents/skills/md2html/template.html +1152 -1152
  101. package/template/.agents/skills/merge/SKILL.md +75 -75
  102. package/template/.agents/skills/mobile-design/SKILL.md +394 -394
  103. package/template/.agents/skills/mobile-design/decision-trees.md +516 -516
  104. package/template/.agents/skills/mobile-design/mobile-backend.md +491 -491
  105. package/template/.agents/skills/mobile-design/mobile-color-system.md +420 -420
  106. package/template/.agents/skills/mobile-design/mobile-debugging.md +122 -122
  107. package/template/.agents/skills/mobile-design/mobile-design-thinking.md +357 -357
  108. package/template/.agents/skills/mobile-design/mobile-navigation.md +458 -458
  109. package/template/.agents/skills/mobile-design/mobile-performance.md +767 -767
  110. package/template/.agents/skills/mobile-design/mobile-testing.md +356 -356
  111. package/template/.agents/skills/mobile-design/mobile-typography.md +433 -433
  112. package/template/.agents/skills/mobile-design/platform-android.md +666 -666
  113. package/template/.agents/skills/mobile-design/platform-ios.md +561 -561
  114. package/template/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -670
  115. package/template/.agents/skills/mobile-design/touch-psychology.md +537 -537
  116. package/template/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -312
  117. package/template/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
  118. package/template/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
  119. package/template/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
  120. package/template/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
  121. package/template/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
  122. package/template/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
  123. package/template/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
  124. package/template/.agents/skills/nextjs-react-expert/SKILL.md +286 -286
  125. package/template/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
  126. package/template/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
  127. package/template/.agents/skills/nodejs-best-practices/SKILL.md +333 -333
  128. package/template/.agents/skills/obsidian-bases/SKILL.md +506 -506
  129. package/template/.agents/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -173
  130. package/template/.agents/skills/obsidian-cli/SKILL.md +115 -115
  131. package/template/.agents/skills/obsidian-clipper-template-creator/SKILL.md +73 -73
  132. package/template/.agents/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -51
  133. package/template/.agents/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -48
  134. package/template/.agents/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -79
  135. package/template/.agents/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -44
  136. package/template/.agents/skills/obsidian-clipper-template-creator/references/filters.md +51 -51
  137. package/template/.agents/skills/obsidian-clipper-template-creator/references/json-schema.md +77 -77
  138. package/template/.agents/skills/obsidian-clipper-template-creator/references/logic.md +67 -67
  139. package/template/.agents/skills/obsidian-clipper-template-creator/references/variables.md +64 -64
  140. package/template/.agents/skills/obsidian-markdown/SKILL.md +205 -205
  141. package/template/.agents/skills/obsidian-markdown/references/CALLOUTS.md +58 -58
  142. package/template/.agents/skills/obsidian-markdown/references/EMBEDS.md +63 -63
  143. package/template/.agents/skills/obsidian-markdown/references/PROPERTIES.md +61 -61
  144. package/template/.agents/skills/package-json-generator/SKILL.md +60 -60
  145. package/template/.agents/skills/package-json-generator/scripts/generate.js +120 -120
  146. package/template/.agents/skills/package-json-generator/scripts/run.sh +19 -19
  147. package/template/.agents/skills/parallel-agents/SKILL.md +144 -144
  148. package/template/.agents/skills/performance-optimization/SKILL.md +299 -299
  149. package/template/.agents/skills/performance-optimization/performance-checklist.md +113 -113
  150. package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +239 -239
  151. package/template/.agents/skills/powershell-windows/SKILL.md +167 -167
  152. package/template/.agents/skills/pr/SKILL.md +92 -92
  153. package/template/.agents/skills/pr-review/SKILL.md +142 -142
  154. package/template/.agents/skills/pr-review-analysis/SKILL.md +89 -89
  155. package/template/.agents/skills/prd/SKILL.md +112 -112
  156. package/template/.agents/skills/preview/SKILL.md +116 -116
  157. package/template/.agents/skills/preview-local-check/SKILL.md +59 -59
  158. package/template/.agents/skills/prompt-addons/SKILL.md +99 -99
  159. package/template/.agents/skills/prp-dev-fastapi/SKILL.md +114 -114
  160. package/template/.agents/skills/prp-dev-multiplatform/SKILL.md +36 -36
  161. package/template/.agents/skills/prp-dev-odoo/SKILL.md +71 -71
  162. package/template/.agents/skills/prp-dev-php/SKILL.md +63 -63
  163. package/template/.agents/skills/prp-sa-ba/SKILL.md +52 -52
  164. package/template/.agents/skills/python-patterns/SKILL.md +441 -441
  165. package/template/.agents/skills/red-team-tactics/SKILL.md +199 -199
  166. package/template/.agents/skills/release-git-operations/SKILL.md +97 -97
  167. package/template/.agents/skills/research/SKILL.md +127 -127
  168. package/template/.agents/skills/review/SKILL.md +55 -55
  169. package/template/.agents/skills/review-followup-routing/SKILL.md +98 -98
  170. package/template/.agents/skills/roadmap-strategy/SKILL.md +97 -97
  171. package/template/.agents/skills/security-and-hardening/SKILL.md +349 -349
  172. package/template/.agents/skills/security-and-hardening/security-checklist.md +134 -134
  173. package/template/.agents/skills/security-review/SKILL.md +164 -164
  174. package/template/.agents/skills/seo-fundamentals/SKILL.md +129 -129
  175. package/template/.agents/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
  176. package/template/.agents/skills/server-management/SKILL.md +161 -161
  177. package/template/.agents/skills/shipping-and-launch/SKILL.md +311 -311
  178. package/template/.agents/skills/silent-failure-audit/SKILL.md +73 -73
  179. package/template/.agents/skills/simplify/SKILL.md +74 -74
  180. package/template/.agents/skills/skill-development/SKILL.md +86 -86
  181. package/template/.agents/skills/spec-driven-development/SKILL.md +207 -207
  182. package/template/.agents/skills/spec-orchestration/SKILL.md +91 -91
  183. package/template/.agents/skills/specialist-agent-routing/SKILL.md +107 -107
  184. package/template/.agents/skills/tailwind-patterns/SKILL.md +269 -269
  185. package/template/.agents/skills/test/SKILL.md +77 -77
  186. package/template/.agents/skills/test-driven-development/SKILL.md +422 -422
  187. package/template/.agents/skills/test-driven-development/testing-patterns.md +236 -236
  188. package/template/.agents/skills/test-execution-and-coverage/SKILL.md +56 -56
  189. package/template/.agents/skills/type-design/SKILL.md +84 -84
  190. package/template/.agents/skills/ui-ux-pro-max/SKILL.md +75 -75
  191. package/template/.agents/skills/using-agent-skills/SKILL.md +171 -171
  192. package/template/.agents/skills/verification-orchestration/SKILL.md +68 -68
  193. package/template/.agents/skills/vulnerability-scanner/SKILL.md +276 -276
  194. package/template/.agents/skills/vulnerability-scanner/checklists.md +121 -121
  195. package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
  196. package/template/.agents/skills/wiki/SKILL.md +148 -148
  197. package/template/.agents/skills/workflow-documentation-sync/SKILL.md +87 -87
  198. package/template/.claude/skills/20-spec/SKILL.md +136 -136
  199. package/template/.claude/skills/30-plan/SKILL.md +206 -206
  200. package/template/.claude/skills/40-implement/SKILL.md +152 -152
  201. package/template/.claude/skills/50-verify/SKILL.md +174 -174
  202. package/template/.claude/skills/60-report/SKILL.md +168 -168
  203. package/template/.claude/skills/70-release/SKILL.md +141 -141
  204. package/template/.claude/skills/9arm-skills/README.md +51 -51
  205. package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +86 -86
  206. package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +79 -79
  207. package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +71 -71
  208. package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +72 -72
  209. package/template/.claude/skills/agent/SKILL.md +164 -164
  210. package/template/.claude/skills/api-and-interface-design/SKILL.md +294 -294
  211. package/template/.claude/skills/app-builder/SKILL.md +75 -75
  212. package/template/.claude/skills/app-builder/agent-coordination.md +71 -71
  213. package/template/.claude/skills/app-builder/feature-building.md +53 -53
  214. package/template/.claude/skills/app-builder/project-detection.md +34 -34
  215. package/template/.claude/skills/app-builder/scaffolding.md +118 -118
  216. package/template/.claude/skills/app-builder/tech-stack.md +40 -40
  217. package/template/.claude/skills/app-builder/templates/SKILL.md +39 -39
  218. package/template/.claude/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
  219. package/template/.claude/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
  220. package/template/.claude/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
  221. package/template/.claude/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
  222. package/template/.claude/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
  223. package/template/.claude/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
  224. package/template/.claude/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
  225. package/template/.claude/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
  226. package/template/.claude/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
  227. package/template/.claude/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
  228. package/template/.claude/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
  229. package/template/.claude/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
  230. package/template/.claude/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
  231. package/template/.claude/skills/architecture/SKILL.md +55 -55
  232. package/template/.claude/skills/architecture/context-discovery.md +43 -43
  233. package/template/.claude/skills/architecture/examples.md +94 -94
  234. package/template/.claude/skills/architecture/pattern-selection.md +68 -68
  235. package/template/.claude/skills/architecture/patterns-reference.md +50 -50
  236. package/template/.claude/skills/architecture/trade-off-analysis.md +77 -77
  237. package/template/.claude/skills/bash-linux/SKILL.md +199 -199
  238. package/template/.claude/skills/behavioral-modes/SKILL.md +242 -242
  239. package/template/.claude/skills/brainstorm/SKILL.md +157 -157
  240. package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +302 -302
  241. package/template/.claude/skills/changelog/SKILL.md +108 -108
  242. package/template/.claude/skills/check-for-updates/SKILL.md +116 -116
  243. package/template/.claude/skills/ci-cd-and-automation/SKILL.md +390 -390
  244. package/template/.claude/skills/code-review-and-quality/SKILL.md +392 -392
  245. package/template/.claude/skills/code-simplification/SKILL.md +331 -331
  246. package/template/.claude/skills/commit/SKILL.md +62 -62
  247. package/template/.claude/skills/competitor-analysis/SKILL.md +66 -66
  248. package/template/.claude/skills/context-engineering/SKILL.md +290 -290
  249. package/template/.claude/skills/database-design/SKILL.md +52 -52
  250. package/template/.claude/skills/database-design/database-selection.md +43 -43
  251. package/template/.claude/skills/database-design/indexing.md +39 -39
  252. package/template/.claude/skills/database-design/migrations.md +48 -48
  253. package/template/.claude/skills/database-design/optimization.md +36 -36
  254. package/template/.claude/skills/database-design/orm-selection.md +30 -30
  255. package/template/.claude/skills/database-design/schema-design.md +56 -56
  256. package/template/.claude/skills/database-design/scripts/schema_validator.py +172 -172
  257. package/template/.claude/skills/debug/SKILL.md +116 -116
  258. package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +298 -298
  259. package/template/.claude/skills/deploy/SKILL.md +90 -90
  260. package/template/.claude/skills/deployment-procedures/SKILL.md +241 -241
  261. package/template/.claude/skills/deprecation-and-migration/SKILL.md +206 -206
  262. package/template/.claude/skills/devflow-concept-intake/SKILL.md +150 -150
  263. package/template/.claude/skills/devflow-concept-intake/agents/openai.yaml +4 -4
  264. package/template/.claude/skills/devflow-concept-intake/references/adoption-proposal-template.md +60 -60
  265. package/template/.claude/skills/devflow-concept-intake/references/concept-report-template.md +47 -47
  266. package/template/.claude/skills/devflow-concept-intake/references/upstream-tracking-template.md +51 -51
  267. package/template/.claude/skills/devflow-wiki/SKILL.md +75 -75
  268. package/template/.claude/skills/documentation-and-adrs/SKILL.md +278 -278
  269. package/template/.claude/skills/english-to-thai-translator/SKILL.md +125 -125
  270. package/template/.claude/skills/followup/SKILL.md +78 -78
  271. package/template/.claude/skills/frontend-ui-engineering/SKILL.md +326 -326
  272. package/template/.claude/skills/frontend-ui-engineering/accessibility-checklist.md +159 -159
  273. package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +300 -300
  274. package/template/.claude/skills/goal/SKILL.md +132 -132
  275. package/template/.claude/skills/help/SKILL.md +242 -242
  276. package/template/.claude/skills/human-review-decisions/SKILL.md +74 -74
  277. package/template/.claude/skills/i18n-localization/SKILL.md +154 -154
  278. package/template/.claude/skills/i18n-localization/scripts/i18n_checker.py +241 -241
  279. package/template/.claude/skills/idea-refine/SKILL.md +178 -178
  280. package/template/.claude/skills/idea-refine/examples.md +238 -238
  281. package/template/.claude/skills/idea-refine/frameworks.md +99 -99
  282. package/template/.claude/skills/idea-refine/refinement-criteria.md +113 -113
  283. package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +15 -15
  284. package/template/.claude/skills/incremental-implementation/SKILL.md +248 -248
  285. package/template/.claude/skills/insight/SKILL.md +130 -130
  286. package/template/.claude/skills/insight-capture/SKILL.md +84 -84
  287. package/template/.claude/skills/intelligent-routing/SKILL.md +171 -171
  288. package/template/.claude/skills/issue-triage/SKILL.md +106 -106
  289. package/template/.claude/skills/lint-and-validate/SKILL.md +45 -45
  290. package/template/.claude/skills/lint-and-validate/scripts/lint_runner.py +184 -184
  291. package/template/.claude/skills/lint-and-validate/scripts/type_coverage.py +173 -173
  292. package/template/.claude/skills/mcp-builder/SKILL.md +176 -176
  293. package/template/.claude/skills/md2html/SKILL.md +154 -154
  294. package/template/.claude/skills/md2html/components.md +505 -505
  295. package/template/.claude/skills/md2html/template.html +1152 -1152
  296. package/template/.claude/skills/merge/SKILL.md +75 -75
  297. package/template/.claude/skills/mobile-design/SKILL.md +394 -394
  298. package/template/.claude/skills/mobile-design/decision-trees.md +516 -516
  299. package/template/.claude/skills/mobile-design/mobile-backend.md +491 -491
  300. package/template/.claude/skills/mobile-design/mobile-color-system.md +420 -420
  301. package/template/.claude/skills/mobile-design/mobile-debugging.md +122 -122
  302. package/template/.claude/skills/mobile-design/mobile-design-thinking.md +357 -357
  303. package/template/.claude/skills/mobile-design/mobile-navigation.md +458 -458
  304. package/template/.claude/skills/mobile-design/mobile-performance.md +767 -767
  305. package/template/.claude/skills/mobile-design/mobile-testing.md +356 -356
  306. package/template/.claude/skills/mobile-design/mobile-typography.md +433 -433
  307. package/template/.claude/skills/mobile-design/platform-android.md +666 -666
  308. package/template/.claude/skills/mobile-design/platform-ios.md +561 -561
  309. package/template/.claude/skills/mobile-design/scripts/mobile_audit.py +670 -670
  310. package/template/.claude/skills/mobile-design/touch-psychology.md +537 -537
  311. package/template/.claude/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -312
  312. package/template/.claude/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
  313. package/template/.claude/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
  314. package/template/.claude/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
  315. package/template/.claude/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
  316. package/template/.claude/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
  317. package/template/.claude/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
  318. package/template/.claude/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
  319. package/template/.claude/skills/nextjs-react-expert/SKILL.md +286 -286
  320. package/template/.claude/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
  321. package/template/.claude/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
  322. package/template/.claude/skills/nodejs-best-practices/SKILL.md +333 -333
  323. package/template/.claude/skills/obsidian-bases/SKILL.md +506 -506
  324. package/template/.claude/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -173
  325. package/template/.claude/skills/obsidian-cli/SKILL.md +115 -115
  326. package/template/.claude/skills/obsidian-clipper-template-creator/SKILL.md +73 -73
  327. package/template/.claude/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -51
  328. package/template/.claude/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -48
  329. package/template/.claude/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -79
  330. package/template/.claude/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -44
  331. package/template/.claude/skills/obsidian-clipper-template-creator/references/filters.md +51 -51
  332. package/template/.claude/skills/obsidian-clipper-template-creator/references/json-schema.md +77 -77
  333. package/template/.claude/skills/obsidian-clipper-template-creator/references/logic.md +67 -67
  334. package/template/.claude/skills/obsidian-clipper-template-creator/references/variables.md +64 -64
  335. package/template/.claude/skills/obsidian-markdown/SKILL.md +205 -205
  336. package/template/.claude/skills/obsidian-markdown/references/CALLOUTS.md +58 -58
  337. package/template/.claude/skills/obsidian-markdown/references/EMBEDS.md +63 -63
  338. package/template/.claude/skills/obsidian-markdown/references/PROPERTIES.md +61 -61
  339. package/template/.claude/skills/package-json-generator/SKILL.md +60 -60
  340. package/template/.claude/skills/package-json-generator/scripts/generate.js +120 -120
  341. package/template/.claude/skills/package-json-generator/scripts/run.sh +19 -19
  342. package/template/.claude/skills/parallel-agents/SKILL.md +144 -144
  343. package/template/.claude/skills/performance-optimization/SKILL.md +299 -299
  344. package/template/.claude/skills/performance-optimization/performance-checklist.md +113 -113
  345. package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +239 -239
  346. package/template/.claude/skills/powershell-windows/SKILL.md +167 -167
  347. package/template/.claude/skills/pr/SKILL.md +92 -92
  348. package/template/.claude/skills/pr-review/SKILL.md +142 -142
  349. package/template/.claude/skills/pr-review-analysis/SKILL.md +89 -89
  350. package/template/.claude/skills/prd/SKILL.md +112 -112
  351. package/template/.claude/skills/preview/SKILL.md +116 -116
  352. package/template/.claude/skills/preview-local-check/SKILL.md +59 -59
  353. package/template/.claude/skills/prompt-addons/SKILL.md +99 -99
  354. package/template/.claude/skills/prp-dev-fastapi/SKILL.md +114 -114
  355. package/template/.claude/skills/prp-dev-multiplatform/SKILL.md +36 -36
  356. package/template/.claude/skills/prp-dev-odoo/SKILL.md +71 -71
  357. package/template/.claude/skills/prp-dev-php/SKILL.md +63 -63
  358. package/template/.claude/skills/prp-sa-ba/SKILL.md +52 -52
  359. package/template/.claude/skills/python-patterns/SKILL.md +441 -441
  360. package/template/.claude/skills/red-team-tactics/SKILL.md +199 -199
  361. package/template/.claude/skills/release-git-operations/SKILL.md +97 -97
  362. package/template/.claude/skills/research/SKILL.md +127 -127
  363. package/template/.claude/skills/review/SKILL.md +55 -55
  364. package/template/.claude/skills/review-followup-routing/SKILL.md +98 -98
  365. package/template/.claude/skills/roadmap-strategy/SKILL.md +97 -97
  366. package/template/.claude/skills/security-and-hardening/SKILL.md +349 -349
  367. package/template/.claude/skills/security-and-hardening/security-checklist.md +134 -134
  368. package/template/.claude/skills/security-review/SKILL.md +164 -164
  369. package/template/.claude/skills/seo-fundamentals/SKILL.md +129 -129
  370. package/template/.claude/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
  371. package/template/.claude/skills/server-management/SKILL.md +161 -161
  372. package/template/.claude/skills/shipping-and-launch/SKILL.md +311 -311
  373. package/template/.claude/skills/silent-failure-audit/SKILL.md +73 -73
  374. package/template/.claude/skills/simplify/SKILL.md +74 -74
  375. package/template/.claude/skills/skill-development/SKILL.md +86 -86
  376. package/template/.claude/skills/spec-driven-development/SKILL.md +207 -207
  377. package/template/.claude/skills/spec-orchestration/SKILL.md +91 -91
  378. package/template/.claude/skills/specialist-agent-routing/SKILL.md +107 -107
  379. package/template/.claude/skills/tailwind-patterns/SKILL.md +269 -269
  380. package/template/.claude/skills/test/SKILL.md +77 -77
  381. package/template/.claude/skills/test-driven-development/SKILL.md +422 -422
  382. package/template/.claude/skills/test-driven-development/testing-patterns.md +236 -236
  383. package/template/.claude/skills/test-execution-and-coverage/SKILL.md +56 -56
  384. package/template/.claude/skills/type-design/SKILL.md +84 -84
  385. package/template/.claude/skills/ui-ux-pro-max/SKILL.md +75 -75
  386. package/template/.claude/skills/using-agent-skills/SKILL.md +171 -171
  387. package/template/.claude/skills/verification-orchestration/SKILL.md +68 -68
  388. package/template/.claude/skills/vulnerability-scanner/SKILL.md +276 -276
  389. package/template/.claude/skills/vulnerability-scanner/checklists.md +121 -121
  390. package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
  391. package/template/.claude/skills/wiki/SKILL.md +148 -148
  392. package/template/.claude/skills/workflow-documentation-sync/SKILL.md +87 -87
  393. package/template/.nexus/nexus-devflow.json +1 -1
  394. package/template/LICENSE +21 -21
@@ -1,51 +1,51 @@
1
- # Obsidian Web Clipper Filters
2
-
3
- **Official Docs:** [help.obsidian.md/web-clipper/filters](https://help.obsidian.md/web-clipper/filters)
4
-
5
- Use filters to format variables: `{{variable|filter}}`.
6
-
7
- ## Text Formatting
8
- - `markdown`: Convert HTML to Markdown.
9
- - `strip_tags`: Remove HTML tags.
10
- - `trim`: Remove whitespace.
11
- - `upper`: Convert to uppercase.
12
- - `lower`: Convert to lowercase.
13
- - `title`: Title Case.
14
- - `capitalize`: Capitalize first letter.
15
- - `camel`: CamelCase.
16
- - `kebab`: kebab-case.
17
- - `snake`: snake_case.
18
- - `pascal`: PascalCase.
19
- - `replace:"old","new"`: Replace text.
20
- - `safe_name`: Make safe for filenames.
21
- - `blockquote`: Format as blockquote.
22
- - `link`: Create markdown link.
23
- - `wikilink`: Create [[wikilink]].
24
- - `list`: Format array as list.
25
- - `table`: Format array as table.
26
- - `callout`: Format as callout block.
27
-
28
- ## Dates
29
- - `date:"format"`: Format date (e.g., `YYYY-MM-DD`).
30
- - `date_modify:"+1 day"`: Modify date.
31
- - `duration`: Format duration.
32
-
33
- ## Numbers
34
- - `calc`: Perform calculations.
35
- - `length`: Get length of string/array.
36
- - `round`: Round numbers.
37
-
38
- ## HTML Processing
39
- - `remove_html`: Remove HTML tags.
40
- - `remove_attr`: Remove attributes.
41
- - `strip_attr`: Strip specific attributes.
42
-
43
- ## Arrays and Objects
44
- - `map`: Transform array items (e.g., `map:item =>> item.text`).
45
- - `join:"separator"`: Join array items.
46
- - `split:"separator"`: Split string into array.
47
- - `first`: First item.
48
- - `last`: Last item.
49
- - `slice:start,end`: Slice array.
50
- - `unique`: Unique items.
51
- - `template:"format"`: Format items using a template string.
1
+ # Obsidian Web Clipper Filters
2
+
3
+ **Official Docs:** [help.obsidian.md/web-clipper/filters](https://help.obsidian.md/web-clipper/filters)
4
+
5
+ Use filters to format variables: `{{variable|filter}}`.
6
+
7
+ ## Text Formatting
8
+ - `markdown`: Convert HTML to Markdown.
9
+ - `strip_tags`: Remove HTML tags.
10
+ - `trim`: Remove whitespace.
11
+ - `upper`: Convert to uppercase.
12
+ - `lower`: Convert to lowercase.
13
+ - `title`: Title Case.
14
+ - `capitalize`: Capitalize first letter.
15
+ - `camel`: CamelCase.
16
+ - `kebab`: kebab-case.
17
+ - `snake`: snake_case.
18
+ - `pascal`: PascalCase.
19
+ - `replace:"old","new"`: Replace text.
20
+ - `safe_name`: Make safe for filenames.
21
+ - `blockquote`: Format as blockquote.
22
+ - `link`: Create markdown link.
23
+ - `wikilink`: Create [[wikilink]].
24
+ - `list`: Format array as list.
25
+ - `table`: Format array as table.
26
+ - `callout`: Format as callout block.
27
+
28
+ ## Dates
29
+ - `date:"format"`: Format date (e.g., `YYYY-MM-DD`).
30
+ - `date_modify:"+1 day"`: Modify date.
31
+ - `duration`: Format duration.
32
+
33
+ ## Numbers
34
+ - `calc`: Perform calculations.
35
+ - `length`: Get length of string/array.
36
+ - `round`: Round numbers.
37
+
38
+ ## HTML Processing
39
+ - `remove_html`: Remove HTML tags.
40
+ - `remove_attr`: Remove attributes.
41
+ - `strip_attr`: Strip specific attributes.
42
+
43
+ ## Arrays and Objects
44
+ - `map`: Transform array items (e.g., `map:item =>> item.text`).
45
+ - `join:"separator"`: Join array items.
46
+ - `split:"separator"`: Split string into array.
47
+ - `first`: First item.
48
+ - `last`: Last item.
49
+ - `slice:start,end`: Slice array.
50
+ - `unique`: Unique items.
51
+ - `template:"format"`: Format items using a template string.
@@ -1,77 +1,77 @@
1
- # Obsidian Web Clipper JSON Schema
2
-
3
- The Obsidian Web Clipper imports templates via JSON files.
4
-
5
- ## Root Structure
6
-
7
- ```json
8
- {
9
- "schemaVersion": "0.1.0",
10
- "name": "Template Name",
11
- "behavior": "create",
12
- "noteContentFormat": "Markdown content here...",
13
- "properties": [],
14
- "triggers": [],
15
- "noteNameFormat": "{{title}}",
16
- "path": "Inbox/"
17
- }
18
- ```
19
-
20
- ### Fields
21
-
22
- * **`schemaVersion`**: Always "0.1.0".
23
- * **`name`**: The display name of the template in the Clipper.
24
- * **`behavior`**: How the note is created.
25
- * `create`: Create a new note.
26
- * `append-specific`: Append to a specific note (requires `path` to be a full file path).
27
- * `append-daily`: Append to the daily note.
28
- * **`noteContentFormat`**: The body of the note.
29
- * Use `\n` for newlines.
30
- * Can use all variables (e.g., `{{content}}`, `{{selection}}`).
31
- * Supports **template logic** (conditionals, loops, variable assignment) as documented in [logic.md](logic.md).
32
- * **`noteNameFormat`**: The filename pattern (e.g., `{{date}} - {{title}}`).
33
- * **`path`**: The location to save the note.
34
- * For `create` behavior: The *folder* to save the note in (e.g., `Clippings/` or `Recipes/`).
35
- * For `append-specific` behavior: The *full file path* of the note to append to (e.g., `Databases/Recipes.md`).
36
- * **`triggers`**: Array of strings to automatically select this template.
37
- * **URL Patterns**: `["https://www.youtube.com/watch"]` (Simple string or Regex).
38
- * **Schema Types**: `["schema:Recipe"]` (Triggers if the page contains this Schema.org type).
39
-
40
- ## Properties
41
-
42
- The `properties` array defines the YAML frontmatter of the note.
43
-
44
- ```json
45
- "properties": [
46
- {
47
- "name": "category",
48
- "value": "Recipes",
49
- "type": "text"
50
- },
51
- {
52
- "name": "published",
53
- "value": "{{published}}",
54
- "type": "datetime"
55
- }
56
- ]
57
- ```
58
-
59
- ### Property Types
60
-
61
- * **`text`**: Simple text string.
62
- * **`multitext`**: List of text strings (for tags/aliases).
63
- * **`number`**: Numeric value.
64
- * **`checkbox`**: Boolean true/false.
65
- * **`date`**: Date string (YYYY-MM-DD).
66
- * **`datetime`**: Date and time string.
67
-
68
- ### Property Object Structure
69
-
70
- * **`name`**: The key in the YAML frontmatter.
71
- * **`value`**: The value to populate. Can contain variables and the same **template logic** (conditionals, loops, variable assignment) as `noteContentFormat`; see [logic.md](logic.md).
72
- * **`type`**: One of the types listed above.
73
-
74
- ## Template validation
75
-
76
- The Clipper template editor checks template syntax.
77
- Invalid logic in `noteContentFormat` or property `value` fields will be reported in the editor; use valid syntax as described in the [Logic](https://help.obsidian.md/web-clipper/logic) documentation.
1
+ # Obsidian Web Clipper JSON Schema
2
+
3
+ The Obsidian Web Clipper imports templates via JSON files.
4
+
5
+ ## Root Structure
6
+
7
+ ```json
8
+ {
9
+ "schemaVersion": "0.1.0",
10
+ "name": "Template Name",
11
+ "behavior": "create",
12
+ "noteContentFormat": "Markdown content here...",
13
+ "properties": [],
14
+ "triggers": [],
15
+ "noteNameFormat": "{{title}}",
16
+ "path": "Inbox/"
17
+ }
18
+ ```
19
+
20
+ ### Fields
21
+
22
+ * **`schemaVersion`**: Always "0.1.0".
23
+ * **`name`**: The display name of the template in the Clipper.
24
+ * **`behavior`**: How the note is created.
25
+ * `create`: Create a new note.
26
+ * `append-specific`: Append to a specific note (requires `path` to be a full file path).
27
+ * `append-daily`: Append to the daily note.
28
+ * **`noteContentFormat`**: The body of the note.
29
+ * Use `\n` for newlines.
30
+ * Can use all variables (e.g., `{{content}}`, `{{selection}}`).
31
+ * Supports **template logic** (conditionals, loops, variable assignment) as documented in [logic.md](logic.md).
32
+ * **`noteNameFormat`**: The filename pattern (e.g., `{{date}} - {{title}}`).
33
+ * **`path`**: The location to save the note.
34
+ * For `create` behavior: The *folder* to save the note in (e.g., `Clippings/` or `Recipes/`).
35
+ * For `append-specific` behavior: The *full file path* of the note to append to (e.g., `Databases/Recipes.md`).
36
+ * **`triggers`**: Array of strings to automatically select this template.
37
+ * **URL Patterns**: `["https://www.youtube.com/watch"]` (Simple string or Regex).
38
+ * **Schema Types**: `["schema:Recipe"]` (Triggers if the page contains this Schema.org type).
39
+
40
+ ## Properties
41
+
42
+ The `properties` array defines the YAML frontmatter of the note.
43
+
44
+ ```json
45
+ "properties": [
46
+ {
47
+ "name": "category",
48
+ "value": "Recipes",
49
+ "type": "text"
50
+ },
51
+ {
52
+ "name": "published",
53
+ "value": "{{published}}",
54
+ "type": "datetime"
55
+ }
56
+ ]
57
+ ```
58
+
59
+ ### Property Types
60
+
61
+ * **`text`**: Simple text string.
62
+ * **`multitext`**: List of text strings (for tags/aliases).
63
+ * **`number`**: Numeric value.
64
+ * **`checkbox`**: Boolean true/false.
65
+ * **`date`**: Date string (YYYY-MM-DD).
66
+ * **`datetime`**: Date and time string.
67
+
68
+ ### Property Object Structure
69
+
70
+ * **`name`**: The key in the YAML frontmatter.
71
+ * **`value`**: The value to populate. Can contain variables and the same **template logic** (conditionals, loops, variable assignment) as `noteContentFormat`; see [logic.md](logic.md).
72
+ * **`type`**: One of the types listed above.
73
+
74
+ ## Template validation
75
+
76
+ The Clipper template editor checks template syntax.
77
+ Invalid logic in `noteContentFormat` or property `value` fields will be reported in the editor; use valid syntax as described in the [Logic](https://help.obsidian.md/web-clipper/logic) documentation.
@@ -1,67 +1,67 @@
1
- # Obsidian Web Clipper Template Logic
2
-
3
- **Official docs:** [Logic - Obsidian Help](https://help.obsidian.md/web-clipper/logic)
4
-
5
- As of **Obsidian Web Clipper 1.0.0**, templates support logic in `noteContentFormat` and in property `value` fields: conditionals, loops, variable assignment, and fallbacks. This page describes how each works. For authoritative syntax and delimiters, use the official documentation link above.
6
-
7
- ---
8
-
9
- ## When to use logic
10
-
11
- - **Conditionals:** Show optional sections only when data exists (e.g. nutrition block only if `{{schema:Recipe:nutrition}}` is present).
12
- - **Variable assignment:** Assign a value once and reuse it in the template to avoid repeating long expressions.
13
- - **Fallbacks:** Provide a default when a variable is empty so the note still looks correct.
14
- - **Loops:** Iterate over arrays (ingredients, steps, tags) to format each item; combine with filters for list/table output.
15
-
16
- Keep simple templates simple; add logic only when it improves the result or avoids broken output for missing data.
17
-
18
- ---
19
-
20
- ## Conditionals
21
-
22
- Conditionals include or exclude blocks based on whether a value exists or meets a condition.
23
-
24
- - **Comparison operators:** Compare two values (e.g. equals, not equals, greater than, less than). Exact operators are defined in the official Logic page.
25
- - **Logical operators:** Combine or negate conditions (e.g. and, or, not; or symbol forms like `&&`, `||`, `!`). Use these to build compound conditions.
26
- - **Truthiness:** Values are evaluated in a JavaScript-like way for conditions. Empty strings, empty arrays, and missing variables are typically falsy; non-empty values are truthy. See the official docs for the full rules.
27
- - **Typical use:** Wrap optional sections (e.g. author, nutrition, image) in a conditional so they only render when the variable has a value.
28
-
29
- ---
30
-
31
- ## Assign a variable
32
-
33
- You can assign a variable once and reuse it in the same template. Use this to avoid repeating long variable or filter chains (e.g. the same schema path or selector used in multiple places). The assigned variable is available for the rest of the template in that scope. Exact syntax (e.g. assignment block format and scope) is in the official Logic documentation.
34
-
35
- ---
36
-
37
- ## Fallbacks
38
-
39
- Fallbacks supply a default when a variable is empty.
40
-
41
- - **Default when missing:** Provide a fallback value so the template still produces readable output when the primary variable is empty.
42
- - **Chaining fallbacks:** You can chain multiple fallbacks (e.g. try variable A, then B, then a literal default). The first non-empty value is used.
43
- - **With filters:** Fallbacks can be used together with filters. The evaluation order (variable → fallback → filter, or other) is defined in the official docs under "With filters" and "Evaluation order."
44
-
45
- ---
46
-
47
- ## Loops
48
-
49
- Loops iterate over array values (e.g. ingredients, instructions, tags).
50
-
51
- - **Loop sources:** The array to iterate over—typically a variable that returns a list (e.g. `{{schema:Recipe:recipeIngredient}}`, `{{schema:Recipe:recipeInstructions}}`).
52
- - **Loop variables:** Inside the loop you get a variable for the current item; you may also get an index or other loop metadata. Names and behavior are described in the official "Loop variables" and "Accessing array items by index" sections.
53
- - **Accessing array items by index:** When you need the nth item of an array outside a loop, or need the current index inside a loop, the syntax is defined in the official documentation.
54
- - **Nested loops:** Loops can be nested when you have arrays of structured data (e.g. steps each with sub-steps).
55
- - **Combine logic:** Loops and conditionals can be combined (e.g. loop over items and show a subsection only when a field exists, or conditionally include a loop).
56
-
57
- ---
58
-
59
- ## Evaluation order and combining logic
60
-
61
- The order in which variables, filters, fallbacks, conditionals, and loops are evaluated is defined in the official documentation. When you combine logic (e.g. conditionals inside loops, or variables used in both conditionals and output), follow the official "Evaluation order" and "Combine logic" sections so behavior matches expectations.
62
-
63
- ---
64
-
65
- ## Template validation
66
-
67
- The Obsidian Web Clipper template editor **validates template syntax**. Invalid logic (e.g. malformed conditionals or loops) will be reported in the editor. When generating templates, use only logic constructs and syntax described on the official Logic page so that the template passes validation.
1
+ # Obsidian Web Clipper Template Logic
2
+
3
+ **Official docs:** [Logic - Obsidian Help](https://help.obsidian.md/web-clipper/logic)
4
+
5
+ As of **Obsidian Web Clipper 1.0.0**, templates support logic in `noteContentFormat` and in property `value` fields: conditionals, loops, variable assignment, and fallbacks. This page describes how each works. For authoritative syntax and delimiters, use the official documentation link above.
6
+
7
+ ---
8
+
9
+ ## When to use logic
10
+
11
+ - **Conditionals:** Show optional sections only when data exists (e.g. nutrition block only if `{{schema:Recipe:nutrition}}` is present).
12
+ - **Variable assignment:** Assign a value once and reuse it in the template to avoid repeating long expressions.
13
+ - **Fallbacks:** Provide a default when a variable is empty so the note still looks correct.
14
+ - **Loops:** Iterate over arrays (ingredients, steps, tags) to format each item; combine with filters for list/table output.
15
+
16
+ Keep simple templates simple; add logic only when it improves the result or avoids broken output for missing data.
17
+
18
+ ---
19
+
20
+ ## Conditionals
21
+
22
+ Conditionals include or exclude blocks based on whether a value exists or meets a condition.
23
+
24
+ - **Comparison operators:** Compare two values (e.g. equals, not equals, greater than, less than). Exact operators are defined in the official Logic page.
25
+ - **Logical operators:** Combine or negate conditions (e.g. and, or, not; or symbol forms like `&&`, `||`, `!`). Use these to build compound conditions.
26
+ - **Truthiness:** Values are evaluated in a JavaScript-like way for conditions. Empty strings, empty arrays, and missing variables are typically falsy; non-empty values are truthy. See the official docs for the full rules.
27
+ - **Typical use:** Wrap optional sections (e.g. author, nutrition, image) in a conditional so they only render when the variable has a value.
28
+
29
+ ---
30
+
31
+ ## Assign a variable
32
+
33
+ You can assign a variable once and reuse it in the same template. Use this to avoid repeating long variable or filter chains (e.g. the same schema path or selector used in multiple places). The assigned variable is available for the rest of the template in that scope. Exact syntax (e.g. assignment block format and scope) is in the official Logic documentation.
34
+
35
+ ---
36
+
37
+ ## Fallbacks
38
+
39
+ Fallbacks supply a default when a variable is empty.
40
+
41
+ - **Default when missing:** Provide a fallback value so the template still produces readable output when the primary variable is empty.
42
+ - **Chaining fallbacks:** You can chain multiple fallbacks (e.g. try variable A, then B, then a literal default). The first non-empty value is used.
43
+ - **With filters:** Fallbacks can be used together with filters. The evaluation order (variable → fallback → filter, or other) is defined in the official docs under "With filters" and "Evaluation order."
44
+
45
+ ---
46
+
47
+ ## Loops
48
+
49
+ Loops iterate over array values (e.g. ingredients, instructions, tags).
50
+
51
+ - **Loop sources:** The array to iterate over—typically a variable that returns a list (e.g. `{{schema:Recipe:recipeIngredient}}`, `{{schema:Recipe:recipeInstructions}}`).
52
+ - **Loop variables:** Inside the loop you get a variable for the current item; you may also get an index or other loop metadata. Names and behavior are described in the official "Loop variables" and "Accessing array items by index" sections.
53
+ - **Accessing array items by index:** When you need the nth item of an array outside a loop, or need the current index inside a loop, the syntax is defined in the official documentation.
54
+ - **Nested loops:** Loops can be nested when you have arrays of structured data (e.g. steps each with sub-steps).
55
+ - **Combine logic:** Loops and conditionals can be combined (e.g. loop over items and show a subsection only when a field exists, or conditionally include a loop).
56
+
57
+ ---
58
+
59
+ ## Evaluation order and combining logic
60
+
61
+ The order in which variables, filters, fallbacks, conditionals, and loops are evaluated is defined in the official documentation. When you combine logic (e.g. conditionals inside loops, or variables used in both conditionals and output), follow the official "Evaluation order" and "Combine logic" sections so behavior matches expectations.
62
+
63
+ ---
64
+
65
+ ## Template validation
66
+
67
+ The Obsidian Web Clipper template editor **validates template syntax**. Invalid logic (e.g. malformed conditionals or loops) will be reported in the editor. When generating templates, use only logic constructs and syntax described on the official Logic page so that the template passes validation.
@@ -1,64 +1,64 @@
1
- # Obsidian Web Clipper Variables
2
-
3
- **Official Docs:** [help.obsidian.md/web-clipper/variables](https://help.obsidian.md/web-clipper/variables)
4
-
5
- ## Preset Variables
6
- Automatically extracted from the page.
7
-
8
- - `{{content}}`: Main article content (markdown).
9
- - `{{contentHtml}}`: Main article content (HTML).
10
- - `{{title}}`: Page title.
11
- - `{{url}}`: Page URL.
12
- - `{{author}}`: Author name.
13
- - `{{date}}`: Current date.
14
- - `{{published}}`: Publication date (if detected).
15
- - `{{site}}`: Site name.
16
- - `{{description}}`: Meta description.
17
- - `{{highlights}}`: Highlighted text (if any).
18
- - `{{selection}}`: Selected text.
19
- - `{{fullHtml}}`: Full page HTML.
20
- - `{{favicon}}`: Favicon URL.
21
- - `{{image}}`: Social share image URL.
22
- - `{{words}}`: Word count.
23
- - `{{domain}}`: Domain name.
24
-
25
- ## Prompt Variables (AI)
26
- Use `{{"Your prompt here"}}` to ask the AI Interpreter to extract or summarize info.
27
- *Requires Interpreter to be enabled.*
28
-
29
- Examples:
30
- - `{{"Summarize in 3 bullet points"}}`
31
- - `{{"Extract the ingredients list"}}`
32
- - `{{"Translate to English"}}`
33
-
34
- ## Selector Variables
35
- Extract content using CSS selectors.
36
- Syntax: `{{selector:css-selector}}` or `{{selector:css-selector?attribute}}`
37
-
38
- Examples:
39
- - `{{selector:h1}}`: Text of H1 tag.
40
- - `{{selector:img.hero?src}}`: Source of image with class 'hero'.
41
- - `{{selector:.author}}`: Text of element with class 'author'.
42
- - `{{selectorHtml:body|markdown}}`: Full HTML converted to markdown.
43
-
44
- ## Meta Variables
45
- Extract data from meta tags.
46
- Syntax: `{{meta:name}}` or `{{meta:property}}`
47
-
48
- Examples:
49
- - `{{meta:description}}`
50
- - `{{meta:og:title}}`
51
-
52
- ## Schema.org Variables
53
- Extract structured data.
54
- Syntax: `{{schema:Property}}` or `{{schema:@Type:Property}}`
55
-
56
- Examples:
57
- - `{{schema:Recipe:recipeIngredient}}`
58
- - `{{schema:author.name}}`
59
- - `{{schema:Article:headline}}`
60
-
61
- ## Fallbacks
62
- When a variable is empty, you can supply a default value (fallback).
63
- Fallbacks can be chained (try variable A, then B, then a literal default) and used with filters.
64
- For syntax and evaluation order, see [logic.md](logic.md).
1
+ # Obsidian Web Clipper Variables
2
+
3
+ **Official Docs:** [help.obsidian.md/web-clipper/variables](https://help.obsidian.md/web-clipper/variables)
4
+
5
+ ## Preset Variables
6
+ Automatically extracted from the page.
7
+
8
+ - `{{content}}`: Main article content (markdown).
9
+ - `{{contentHtml}}`: Main article content (HTML).
10
+ - `{{title}}`: Page title.
11
+ - `{{url}}`: Page URL.
12
+ - `{{author}}`: Author name.
13
+ - `{{date}}`: Current date.
14
+ - `{{published}}`: Publication date (if detected).
15
+ - `{{site}}`: Site name.
16
+ - `{{description}}`: Meta description.
17
+ - `{{highlights}}`: Highlighted text (if any).
18
+ - `{{selection}}`: Selected text.
19
+ - `{{fullHtml}}`: Full page HTML.
20
+ - `{{favicon}}`: Favicon URL.
21
+ - `{{image}}`: Social share image URL.
22
+ - `{{words}}`: Word count.
23
+ - `{{domain}}`: Domain name.
24
+
25
+ ## Prompt Variables (AI)
26
+ Use `{{"Your prompt here"}}` to ask the AI Interpreter to extract or summarize info.
27
+ *Requires Interpreter to be enabled.*
28
+
29
+ Examples:
30
+ - `{{"Summarize in 3 bullet points"}}`
31
+ - `{{"Extract the ingredients list"}}`
32
+ - `{{"Translate to English"}}`
33
+
34
+ ## Selector Variables
35
+ Extract content using CSS selectors.
36
+ Syntax: `{{selector:css-selector}}` or `{{selector:css-selector?attribute}}`
37
+
38
+ Examples:
39
+ - `{{selector:h1}}`: Text of H1 tag.
40
+ - `{{selector:img.hero?src}}`: Source of image with class 'hero'.
41
+ - `{{selector:.author}}`: Text of element with class 'author'.
42
+ - `{{selectorHtml:body|markdown}}`: Full HTML converted to markdown.
43
+
44
+ ## Meta Variables
45
+ Extract data from meta tags.
46
+ Syntax: `{{meta:name}}` or `{{meta:property}}`
47
+
48
+ Examples:
49
+ - `{{meta:description}}`
50
+ - `{{meta:og:title}}`
51
+
52
+ ## Schema.org Variables
53
+ Extract structured data.
54
+ Syntax: `{{schema:Property}}` or `{{schema:@Type:Property}}`
55
+
56
+ Examples:
57
+ - `{{schema:Recipe:recipeIngredient}}`
58
+ - `{{schema:author.name}}`
59
+ - `{{schema:Article:headline}}`
60
+
61
+ ## Fallbacks
62
+ When a variable is empty, you can supply a default value (fallback).
63
+ Fallbacks can be chained (try variable A, then B, then a literal default) and used with filters.
64
+ For syntax and evaluation order, see [logic.md](logic.md).