@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.
- package/README.md +96 -50
- package/package.json +1 -1
- package/template/.agents/skills/20-spec/SKILL.md +136 -136
- package/template/.agents/skills/30-plan/SKILL.md +206 -206
- package/template/.agents/skills/40-implement/SKILL.md +152 -152
- package/template/.agents/skills/50-verify/SKILL.md +174 -174
- package/template/.agents/skills/60-report/SKILL.md +168 -168
- package/template/.agents/skills/70-release/SKILL.md +141 -141
- package/template/.agents/skills/9arm-skills/README.md +51 -51
- package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +86 -86
- package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +79 -79
- package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +71 -71
- package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +72 -72
- package/template/.agents/skills/agent/SKILL.md +164 -164
- package/template/.agents/skills/api-and-interface-design/SKILL.md +294 -294
- package/template/.agents/skills/app-builder/SKILL.md +75 -75
- package/template/.agents/skills/app-builder/agent-coordination.md +71 -71
- package/template/.agents/skills/app-builder/feature-building.md +53 -53
- package/template/.agents/skills/app-builder/project-detection.md +34 -34
- package/template/.agents/skills/app-builder/scaffolding.md +118 -118
- package/template/.agents/skills/app-builder/tech-stack.md +40 -40
- package/template/.agents/skills/app-builder/templates/SKILL.md +39 -39
- package/template/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/template/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/template/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/template/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/template/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/template/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/template/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/template/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
- package/template/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
- package/template/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
- package/template/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
- package/template/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/template/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
- package/template/.agents/skills/architecture/SKILL.md +55 -55
- package/template/.agents/skills/architecture/context-discovery.md +43 -43
- package/template/.agents/skills/architecture/examples.md +94 -94
- package/template/.agents/skills/architecture/pattern-selection.md +68 -68
- package/template/.agents/skills/architecture/patterns-reference.md +50 -50
- package/template/.agents/skills/architecture/trade-off-analysis.md +77 -77
- package/template/.agents/skills/bash-linux/SKILL.md +199 -199
- package/template/.agents/skills/behavioral-modes/SKILL.md +242 -242
- package/template/.agents/skills/brainstorm/SKILL.md +157 -157
- package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +302 -302
- package/template/.agents/skills/changelog/SKILL.md +108 -108
- package/template/.agents/skills/check-for-updates/SKILL.md +116 -116
- package/template/.agents/skills/ci-cd-and-automation/SKILL.md +390 -390
- package/template/.agents/skills/code-review-and-quality/SKILL.md +392 -392
- package/template/.agents/skills/code-simplification/SKILL.md +331 -331
- package/template/.agents/skills/commit/SKILL.md +62 -62
- package/template/.agents/skills/competitor-analysis/SKILL.md +66 -66
- package/template/.agents/skills/context-engineering/SKILL.md +290 -290
- package/template/.agents/skills/database-design/SKILL.md +52 -52
- package/template/.agents/skills/database-design/database-selection.md +43 -43
- package/template/.agents/skills/database-design/indexing.md +39 -39
- package/template/.agents/skills/database-design/migrations.md +48 -48
- package/template/.agents/skills/database-design/optimization.md +36 -36
- package/template/.agents/skills/database-design/orm-selection.md +30 -30
- package/template/.agents/skills/database-design/schema-design.md +56 -56
- package/template/.agents/skills/database-design/scripts/schema_validator.py +172 -172
- package/template/.agents/skills/debug/SKILL.md +116 -116
- package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +298 -298
- package/template/.agents/skills/deploy/SKILL.md +90 -90
- package/template/.agents/skills/deployment-procedures/SKILL.md +241 -241
- package/template/.agents/skills/deprecation-and-migration/SKILL.md +206 -206
- package/template/.agents/skills/devflow-concept-intake/SKILL.md +150 -150
- package/template/.agents/skills/devflow-concept-intake/agents/openai.yaml +4 -4
- package/template/.agents/skills/devflow-concept-intake/references/adoption-proposal-template.md +60 -60
- package/template/.agents/skills/devflow-concept-intake/references/concept-report-template.md +47 -47
- package/template/.agents/skills/devflow-concept-intake/references/upstream-tracking-template.md +51 -51
- package/template/.agents/skills/devflow-wiki/SKILL.md +75 -75
- package/template/.agents/skills/documentation-and-adrs/SKILL.md +278 -278
- package/template/.agents/skills/english-to-thai-translator/SKILL.md +125 -125
- package/template/.agents/skills/followup/SKILL.md +78 -78
- package/template/.agents/skills/frontend-ui-engineering/SKILL.md +326 -326
- package/template/.agents/skills/frontend-ui-engineering/accessibility-checklist.md +159 -159
- package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +300 -300
- package/template/.agents/skills/goal/SKILL.md +132 -132
- package/template/.agents/skills/help/SKILL.md +242 -242
- package/template/.agents/skills/human-review-decisions/SKILL.md +74 -74
- package/template/.agents/skills/i18n-localization/SKILL.md +154 -154
- package/template/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -241
- package/template/.agents/skills/idea-refine/SKILL.md +178 -178
- package/template/.agents/skills/idea-refine/examples.md +238 -238
- package/template/.agents/skills/idea-refine/frameworks.md +99 -99
- package/template/.agents/skills/idea-refine/refinement-criteria.md +113 -113
- package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +15 -15
- package/template/.agents/skills/incremental-implementation/SKILL.md +248 -248
- package/template/.agents/skills/insight/SKILL.md +130 -130
- package/template/.agents/skills/insight-capture/SKILL.md +84 -84
- package/template/.agents/skills/intelligent-routing/SKILL.md +171 -171
- package/template/.agents/skills/issue-triage/SKILL.md +106 -106
- package/template/.agents/skills/lint-and-validate/SKILL.md +45 -45
- package/template/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -184
- package/template/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -173
- package/template/.agents/skills/mcp-builder/SKILL.md +176 -176
- package/template/.agents/skills/md2html/SKILL.md +154 -154
- package/template/.agents/skills/md2html/components.md +505 -505
- package/template/.agents/skills/md2html/template.html +1152 -1152
- package/template/.agents/skills/merge/SKILL.md +75 -75
- package/template/.agents/skills/mobile-design/SKILL.md +394 -394
- package/template/.agents/skills/mobile-design/decision-trees.md +516 -516
- package/template/.agents/skills/mobile-design/mobile-backend.md +491 -491
- package/template/.agents/skills/mobile-design/mobile-color-system.md +420 -420
- package/template/.agents/skills/mobile-design/mobile-debugging.md +122 -122
- package/template/.agents/skills/mobile-design/mobile-design-thinking.md +357 -357
- package/template/.agents/skills/mobile-design/mobile-navigation.md +458 -458
- package/template/.agents/skills/mobile-design/mobile-performance.md +767 -767
- package/template/.agents/skills/mobile-design/mobile-testing.md +356 -356
- package/template/.agents/skills/mobile-design/mobile-typography.md +433 -433
- package/template/.agents/skills/mobile-design/platform-android.md +666 -666
- package/template/.agents/skills/mobile-design/platform-ios.md +561 -561
- package/template/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -670
- package/template/.agents/skills/mobile-design/touch-psychology.md +537 -537
- package/template/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -312
- package/template/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
- package/template/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
- package/template/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
- package/template/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
- package/template/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
- package/template/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
- package/template/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
- package/template/.agents/skills/nextjs-react-expert/SKILL.md +286 -286
- package/template/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
- package/template/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
- package/template/.agents/skills/nodejs-best-practices/SKILL.md +333 -333
- package/template/.agents/skills/obsidian-bases/SKILL.md +506 -506
- package/template/.agents/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -173
- package/template/.agents/skills/obsidian-cli/SKILL.md +115 -115
- package/template/.agents/skills/obsidian-clipper-template-creator/SKILL.md +73 -73
- package/template/.agents/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -51
- package/template/.agents/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -48
- package/template/.agents/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -79
- package/template/.agents/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -44
- package/template/.agents/skills/obsidian-clipper-template-creator/references/filters.md +51 -51
- package/template/.agents/skills/obsidian-clipper-template-creator/references/json-schema.md +77 -77
- package/template/.agents/skills/obsidian-clipper-template-creator/references/logic.md +67 -67
- package/template/.agents/skills/obsidian-clipper-template-creator/references/variables.md +64 -64
- package/template/.agents/skills/obsidian-markdown/SKILL.md +205 -205
- package/template/.agents/skills/obsidian-markdown/references/CALLOUTS.md +58 -58
- package/template/.agents/skills/obsidian-markdown/references/EMBEDS.md +63 -63
- package/template/.agents/skills/obsidian-markdown/references/PROPERTIES.md +61 -61
- package/template/.agents/skills/package-json-generator/SKILL.md +60 -60
- package/template/.agents/skills/package-json-generator/scripts/generate.js +120 -120
- package/template/.agents/skills/package-json-generator/scripts/run.sh +19 -19
- package/template/.agents/skills/parallel-agents/SKILL.md +144 -144
- package/template/.agents/skills/performance-optimization/SKILL.md +299 -299
- package/template/.agents/skills/performance-optimization/performance-checklist.md +113 -113
- package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +239 -239
- package/template/.agents/skills/powershell-windows/SKILL.md +167 -167
- package/template/.agents/skills/pr/SKILL.md +92 -92
- package/template/.agents/skills/pr-review/SKILL.md +142 -142
- package/template/.agents/skills/pr-review-analysis/SKILL.md +89 -89
- package/template/.agents/skills/prd/SKILL.md +112 -112
- package/template/.agents/skills/preview/SKILL.md +116 -116
- package/template/.agents/skills/preview-local-check/SKILL.md +59 -59
- package/template/.agents/skills/prompt-addons/SKILL.md +99 -99
- package/template/.agents/skills/prp-dev-fastapi/SKILL.md +114 -114
- package/template/.agents/skills/prp-dev-multiplatform/SKILL.md +36 -36
- package/template/.agents/skills/prp-dev-odoo/SKILL.md +71 -71
- package/template/.agents/skills/prp-dev-php/SKILL.md +63 -63
- package/template/.agents/skills/prp-sa-ba/SKILL.md +52 -52
- package/template/.agents/skills/python-patterns/SKILL.md +441 -441
- package/template/.agents/skills/red-team-tactics/SKILL.md +199 -199
- package/template/.agents/skills/release-git-operations/SKILL.md +97 -97
- package/template/.agents/skills/research/SKILL.md +127 -127
- package/template/.agents/skills/review/SKILL.md +55 -55
- package/template/.agents/skills/review-followup-routing/SKILL.md +98 -98
- package/template/.agents/skills/roadmap-strategy/SKILL.md +97 -97
- package/template/.agents/skills/security-and-hardening/SKILL.md +349 -349
- package/template/.agents/skills/security-and-hardening/security-checklist.md +134 -134
- package/template/.agents/skills/security-review/SKILL.md +164 -164
- package/template/.agents/skills/seo-fundamentals/SKILL.md +129 -129
- package/template/.agents/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
- package/template/.agents/skills/server-management/SKILL.md +161 -161
- package/template/.agents/skills/shipping-and-launch/SKILL.md +311 -311
- package/template/.agents/skills/silent-failure-audit/SKILL.md +73 -73
- package/template/.agents/skills/simplify/SKILL.md +74 -74
- package/template/.agents/skills/skill-development/SKILL.md +86 -86
- package/template/.agents/skills/spec-driven-development/SKILL.md +207 -207
- package/template/.agents/skills/spec-orchestration/SKILL.md +91 -91
- package/template/.agents/skills/specialist-agent-routing/SKILL.md +107 -107
- package/template/.agents/skills/tailwind-patterns/SKILL.md +269 -269
- package/template/.agents/skills/test/SKILL.md +77 -77
- package/template/.agents/skills/test-driven-development/SKILL.md +422 -422
- package/template/.agents/skills/test-driven-development/testing-patterns.md +236 -236
- package/template/.agents/skills/test-execution-and-coverage/SKILL.md +56 -56
- package/template/.agents/skills/type-design/SKILL.md +84 -84
- package/template/.agents/skills/ui-ux-pro-max/SKILL.md +75 -75
- package/template/.agents/skills/using-agent-skills/SKILL.md +171 -171
- package/template/.agents/skills/verification-orchestration/SKILL.md +68 -68
- package/template/.agents/skills/vulnerability-scanner/SKILL.md +276 -276
- package/template/.agents/skills/vulnerability-scanner/checklists.md +121 -121
- package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
- package/template/.agents/skills/wiki/SKILL.md +148 -148
- package/template/.agents/skills/workflow-documentation-sync/SKILL.md +87 -87
- package/template/.claude/skills/20-spec/SKILL.md +136 -136
- package/template/.claude/skills/30-plan/SKILL.md +206 -206
- package/template/.claude/skills/40-implement/SKILL.md +152 -152
- package/template/.claude/skills/50-verify/SKILL.md +174 -174
- package/template/.claude/skills/60-report/SKILL.md +168 -168
- package/template/.claude/skills/70-release/SKILL.md +141 -141
- package/template/.claude/skills/9arm-skills/README.md +51 -51
- package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +86 -86
- package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +79 -79
- package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +71 -71
- package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +72 -72
- package/template/.claude/skills/agent/SKILL.md +164 -164
- package/template/.claude/skills/api-and-interface-design/SKILL.md +294 -294
- package/template/.claude/skills/app-builder/SKILL.md +75 -75
- package/template/.claude/skills/app-builder/agent-coordination.md +71 -71
- package/template/.claude/skills/app-builder/feature-building.md +53 -53
- package/template/.claude/skills/app-builder/project-detection.md +34 -34
- package/template/.claude/skills/app-builder/scaffolding.md +118 -118
- package/template/.claude/skills/app-builder/tech-stack.md +40 -40
- package/template/.claude/skills/app-builder/templates/SKILL.md +39 -39
- package/template/.claude/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/template/.claude/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/template/.claude/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/template/.claude/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/template/.claude/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/template/.claude/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/template/.claude/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/template/.claude/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
- package/template/.claude/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
- package/template/.claude/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
- package/template/.claude/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
- package/template/.claude/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/template/.claude/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
- package/template/.claude/skills/architecture/SKILL.md +55 -55
- package/template/.claude/skills/architecture/context-discovery.md +43 -43
- package/template/.claude/skills/architecture/examples.md +94 -94
- package/template/.claude/skills/architecture/pattern-selection.md +68 -68
- package/template/.claude/skills/architecture/patterns-reference.md +50 -50
- package/template/.claude/skills/architecture/trade-off-analysis.md +77 -77
- package/template/.claude/skills/bash-linux/SKILL.md +199 -199
- package/template/.claude/skills/behavioral-modes/SKILL.md +242 -242
- package/template/.claude/skills/brainstorm/SKILL.md +157 -157
- package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +302 -302
- package/template/.claude/skills/changelog/SKILL.md +108 -108
- package/template/.claude/skills/check-for-updates/SKILL.md +116 -116
- package/template/.claude/skills/ci-cd-and-automation/SKILL.md +390 -390
- package/template/.claude/skills/code-review-and-quality/SKILL.md +392 -392
- package/template/.claude/skills/code-simplification/SKILL.md +331 -331
- package/template/.claude/skills/commit/SKILL.md +62 -62
- package/template/.claude/skills/competitor-analysis/SKILL.md +66 -66
- package/template/.claude/skills/context-engineering/SKILL.md +290 -290
- package/template/.claude/skills/database-design/SKILL.md +52 -52
- package/template/.claude/skills/database-design/database-selection.md +43 -43
- package/template/.claude/skills/database-design/indexing.md +39 -39
- package/template/.claude/skills/database-design/migrations.md +48 -48
- package/template/.claude/skills/database-design/optimization.md +36 -36
- package/template/.claude/skills/database-design/orm-selection.md +30 -30
- package/template/.claude/skills/database-design/schema-design.md +56 -56
- package/template/.claude/skills/database-design/scripts/schema_validator.py +172 -172
- package/template/.claude/skills/debug/SKILL.md +116 -116
- package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +298 -298
- package/template/.claude/skills/deploy/SKILL.md +90 -90
- package/template/.claude/skills/deployment-procedures/SKILL.md +241 -241
- package/template/.claude/skills/deprecation-and-migration/SKILL.md +206 -206
- package/template/.claude/skills/devflow-concept-intake/SKILL.md +150 -150
- package/template/.claude/skills/devflow-concept-intake/agents/openai.yaml +4 -4
- package/template/.claude/skills/devflow-concept-intake/references/adoption-proposal-template.md +60 -60
- package/template/.claude/skills/devflow-concept-intake/references/concept-report-template.md +47 -47
- package/template/.claude/skills/devflow-concept-intake/references/upstream-tracking-template.md +51 -51
- package/template/.claude/skills/devflow-wiki/SKILL.md +75 -75
- package/template/.claude/skills/documentation-and-adrs/SKILL.md +278 -278
- package/template/.claude/skills/english-to-thai-translator/SKILL.md +125 -125
- package/template/.claude/skills/followup/SKILL.md +78 -78
- package/template/.claude/skills/frontend-ui-engineering/SKILL.md +326 -326
- package/template/.claude/skills/frontend-ui-engineering/accessibility-checklist.md +159 -159
- package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +300 -300
- package/template/.claude/skills/goal/SKILL.md +132 -132
- package/template/.claude/skills/help/SKILL.md +242 -242
- package/template/.claude/skills/human-review-decisions/SKILL.md +74 -74
- package/template/.claude/skills/i18n-localization/SKILL.md +154 -154
- package/template/.claude/skills/i18n-localization/scripts/i18n_checker.py +241 -241
- package/template/.claude/skills/idea-refine/SKILL.md +178 -178
- package/template/.claude/skills/idea-refine/examples.md +238 -238
- package/template/.claude/skills/idea-refine/frameworks.md +99 -99
- package/template/.claude/skills/idea-refine/refinement-criteria.md +113 -113
- package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +15 -15
- package/template/.claude/skills/incremental-implementation/SKILL.md +248 -248
- package/template/.claude/skills/insight/SKILL.md +130 -130
- package/template/.claude/skills/insight-capture/SKILL.md +84 -84
- package/template/.claude/skills/intelligent-routing/SKILL.md +171 -171
- package/template/.claude/skills/issue-triage/SKILL.md +106 -106
- package/template/.claude/skills/lint-and-validate/SKILL.md +45 -45
- package/template/.claude/skills/lint-and-validate/scripts/lint_runner.py +184 -184
- package/template/.claude/skills/lint-and-validate/scripts/type_coverage.py +173 -173
- package/template/.claude/skills/mcp-builder/SKILL.md +176 -176
- package/template/.claude/skills/md2html/SKILL.md +154 -154
- package/template/.claude/skills/md2html/components.md +505 -505
- package/template/.claude/skills/md2html/template.html +1152 -1152
- package/template/.claude/skills/merge/SKILL.md +75 -75
- package/template/.claude/skills/mobile-design/SKILL.md +394 -394
- package/template/.claude/skills/mobile-design/decision-trees.md +516 -516
- package/template/.claude/skills/mobile-design/mobile-backend.md +491 -491
- package/template/.claude/skills/mobile-design/mobile-color-system.md +420 -420
- package/template/.claude/skills/mobile-design/mobile-debugging.md +122 -122
- package/template/.claude/skills/mobile-design/mobile-design-thinking.md +357 -357
- package/template/.claude/skills/mobile-design/mobile-navigation.md +458 -458
- package/template/.claude/skills/mobile-design/mobile-performance.md +767 -767
- package/template/.claude/skills/mobile-design/mobile-testing.md +356 -356
- package/template/.claude/skills/mobile-design/mobile-typography.md +433 -433
- package/template/.claude/skills/mobile-design/platform-android.md +666 -666
- package/template/.claude/skills/mobile-design/platform-ios.md +561 -561
- package/template/.claude/skills/mobile-design/scripts/mobile_audit.py +670 -670
- package/template/.claude/skills/mobile-design/touch-psychology.md +537 -537
- package/template/.claude/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -312
- package/template/.claude/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
- package/template/.claude/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
- package/template/.claude/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
- package/template/.claude/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
- package/template/.claude/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
- package/template/.claude/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
- package/template/.claude/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
- package/template/.claude/skills/nextjs-react-expert/SKILL.md +286 -286
- package/template/.claude/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
- package/template/.claude/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
- package/template/.claude/skills/nodejs-best-practices/SKILL.md +333 -333
- package/template/.claude/skills/obsidian-bases/SKILL.md +506 -506
- package/template/.claude/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -173
- package/template/.claude/skills/obsidian-cli/SKILL.md +115 -115
- package/template/.claude/skills/obsidian-clipper-template-creator/SKILL.md +73 -73
- package/template/.claude/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -51
- package/template/.claude/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -48
- package/template/.claude/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -79
- package/template/.claude/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -44
- package/template/.claude/skills/obsidian-clipper-template-creator/references/filters.md +51 -51
- package/template/.claude/skills/obsidian-clipper-template-creator/references/json-schema.md +77 -77
- package/template/.claude/skills/obsidian-clipper-template-creator/references/logic.md +67 -67
- package/template/.claude/skills/obsidian-clipper-template-creator/references/variables.md +64 -64
- package/template/.claude/skills/obsidian-markdown/SKILL.md +205 -205
- package/template/.claude/skills/obsidian-markdown/references/CALLOUTS.md +58 -58
- package/template/.claude/skills/obsidian-markdown/references/EMBEDS.md +63 -63
- package/template/.claude/skills/obsidian-markdown/references/PROPERTIES.md +61 -61
- package/template/.claude/skills/package-json-generator/SKILL.md +60 -60
- package/template/.claude/skills/package-json-generator/scripts/generate.js +120 -120
- package/template/.claude/skills/package-json-generator/scripts/run.sh +19 -19
- package/template/.claude/skills/parallel-agents/SKILL.md +144 -144
- package/template/.claude/skills/performance-optimization/SKILL.md +299 -299
- package/template/.claude/skills/performance-optimization/performance-checklist.md +113 -113
- package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +239 -239
- package/template/.claude/skills/powershell-windows/SKILL.md +167 -167
- package/template/.claude/skills/pr/SKILL.md +92 -92
- package/template/.claude/skills/pr-review/SKILL.md +142 -142
- package/template/.claude/skills/pr-review-analysis/SKILL.md +89 -89
- package/template/.claude/skills/prd/SKILL.md +112 -112
- package/template/.claude/skills/preview/SKILL.md +116 -116
- package/template/.claude/skills/preview-local-check/SKILL.md +59 -59
- package/template/.claude/skills/prompt-addons/SKILL.md +99 -99
- package/template/.claude/skills/prp-dev-fastapi/SKILL.md +114 -114
- package/template/.claude/skills/prp-dev-multiplatform/SKILL.md +36 -36
- package/template/.claude/skills/prp-dev-odoo/SKILL.md +71 -71
- package/template/.claude/skills/prp-dev-php/SKILL.md +63 -63
- package/template/.claude/skills/prp-sa-ba/SKILL.md +52 -52
- package/template/.claude/skills/python-patterns/SKILL.md +441 -441
- package/template/.claude/skills/red-team-tactics/SKILL.md +199 -199
- package/template/.claude/skills/release-git-operations/SKILL.md +97 -97
- package/template/.claude/skills/research/SKILL.md +127 -127
- package/template/.claude/skills/review/SKILL.md +55 -55
- package/template/.claude/skills/review-followup-routing/SKILL.md +98 -98
- package/template/.claude/skills/roadmap-strategy/SKILL.md +97 -97
- package/template/.claude/skills/security-and-hardening/SKILL.md +349 -349
- package/template/.claude/skills/security-and-hardening/security-checklist.md +134 -134
- package/template/.claude/skills/security-review/SKILL.md +164 -164
- package/template/.claude/skills/seo-fundamentals/SKILL.md +129 -129
- package/template/.claude/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
- package/template/.claude/skills/server-management/SKILL.md +161 -161
- package/template/.claude/skills/shipping-and-launch/SKILL.md +311 -311
- package/template/.claude/skills/silent-failure-audit/SKILL.md +73 -73
- package/template/.claude/skills/simplify/SKILL.md +74 -74
- package/template/.claude/skills/skill-development/SKILL.md +86 -86
- package/template/.claude/skills/spec-driven-development/SKILL.md +207 -207
- package/template/.claude/skills/spec-orchestration/SKILL.md +91 -91
- package/template/.claude/skills/specialist-agent-routing/SKILL.md +107 -107
- package/template/.claude/skills/tailwind-patterns/SKILL.md +269 -269
- package/template/.claude/skills/test/SKILL.md +77 -77
- package/template/.claude/skills/test-driven-development/SKILL.md +422 -422
- package/template/.claude/skills/test-driven-development/testing-patterns.md +236 -236
- package/template/.claude/skills/test-execution-and-coverage/SKILL.md +56 -56
- package/template/.claude/skills/type-design/SKILL.md +84 -84
- package/template/.claude/skills/ui-ux-pro-max/SKILL.md +75 -75
- package/template/.claude/skills/using-agent-skills/SKILL.md +171 -171
- package/template/.claude/skills/verification-orchestration/SKILL.md +68 -68
- package/template/.claude/skills/vulnerability-scanner/SKILL.md +276 -276
- package/template/.claude/skills/vulnerability-scanner/checklists.md +121 -121
- package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
- package/template/.claude/skills/wiki/SKILL.md +148 -148
- package/template/.claude/skills/workflow-documentation-sync/SKILL.md +87 -87
- package/template/.nexus/nexus-devflow.json +1 -1
- package/template/LICENSE +21 -21
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: obsidian-clipper-template-creator
|
|
3
|
-
description: Guide for creating templates for the Obsidian Web Clipper. Use when you want to create a new clipping template, understand available variables, or format clipped content.
|
|
4
|
-
risk: safe
|
|
5
|
-
source: community
|
|
6
|
-
date_added: "2026-02-27"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Obsidian Web Clipper Template Creator
|
|
10
|
-
|
|
11
|
-
This skill helps you create importable JSON templates for the Obsidian Web Clipper.
|
|
12
|
-
|
|
13
|
-
## Workflow
|
|
14
|
-
|
|
15
|
-
1. **Identify User Intent:** specific site (YouTube), specific type (Recipe), or general clipping?
|
|
16
|
-
2. **Check Existing Bases:** The user likely has a "Base" schema defined in `Bases/`.
|
|
17
|
-
- **Action:** Read `Bases/*.base` to find a matching category (e.g., `Recipes.base`).
|
|
18
|
-
- **Action:** Use the properties defined in the Base to structure the Clipper template properties.
|
|
19
|
-
- See [references/bases-workflow.md](references/bases-workflow.md) for details.
|
|
20
|
-
3. **Fetch & Analyze Reference URL:** Validate variables against a real page.
|
|
21
|
-
- **Action:** Ask the user for a sample URL of the content they want to clip (if not provided).
|
|
22
|
-
- **Action (REQUIRED):** Use **WebFetch** to retrieve page content; if WebFetch is not available, use a browser DOM snapshot. See [references/analysis-workflow.md](references/analysis-workflow.md).
|
|
23
|
-
- **Action:** Analyze the HTML for Schema.org JSON, Meta tags, and CSS selectors.
|
|
24
|
-
- **Action (REQUIRED):** Verify each selector against the fetched content. Do not guess selectors.
|
|
25
|
-
- See [references/analysis-workflow.md](references/analysis-workflow.md) for analysis techniques.
|
|
26
|
-
4. **Draft the JSON:** Create a valid JSON object following the schema.
|
|
27
|
-
- See [references/json-schema.md](references/json-schema.md).
|
|
28
|
-
5. **Consider template logic:** Use conditionals for optional blocks (e.g. show nutrition only if present), loops for list data, variable assignment to avoid repeating expressions, and fallbacks for missing variables. Use logic only when it improves the template; keep simple templates simple. See [references/logic.md](references/logic.md).
|
|
29
|
-
6. **Verify Variables:** Ensure the chosen variables (Preset, Schema, Selector) exist in your analysis.
|
|
30
|
-
- **Action (REQUIRED):** If a selector cannot be verified from the fetched content, state that explicitly and ask for another URL.
|
|
31
|
-
- See [references/variables.md](references/variables.md).
|
|
32
|
-
|
|
33
|
-
## Selector Verification Rules
|
|
34
|
-
|
|
35
|
-
- **Always verify selectors** against live page content before responding.
|
|
36
|
-
- **Never guess selectors.** If the DOM cannot be accessed or the element is missing, ask for another URL or a screenshot.
|
|
37
|
-
- **Prefer stable selectors** (data attributes, semantic roles, unique IDs) over fragile class chains.
|
|
38
|
-
- **Document the target element** in your reasoning (e.g., "About sidebar paragraph") to reduce mismatch.
|
|
39
|
-
|
|
40
|
-
## Output Format
|
|
41
|
-
|
|
42
|
-
**ALWAYS** output the final result as a JSON code block that the user can copy and import.
|
|
43
|
-
|
|
44
|
-
The Clipper template editor validates template syntax.
|
|
45
|
-
If you use template logic (conditionals, loops, variable assignment), ensure it follows the syntax in [references/logic.md](references/logic.md) and the official [Logic](https://help.obsidian.md/web-clipper/logic) docs so the template passes validation.
|
|
46
|
-
|
|
47
|
-
```json
|
|
48
|
-
{
|
|
49
|
-
"schemaVersion": "0.1.0",
|
|
50
|
-
"name": "My Template",
|
|
51
|
-
...
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Resources
|
|
56
|
-
|
|
57
|
-
- [references/variables.md](references/variables.md) - Available data variables.
|
|
58
|
-
- [references/filters.md](references/filters.md) - Formatting filters.
|
|
59
|
-
- [references/json-schema.md](references/json-schema.md) - JSON structure documentation.
|
|
60
|
-
- [references/logic.md](references/logic.md) - Template logic.
|
|
61
|
-
- [references/bases-workflow.md](references/bases-workflow.md) - How to map Bases to Templates.
|
|
62
|
-
- [references/analysis-workflow.md](references/analysis-workflow.md) - How to validate page data.
|
|
63
|
-
|
|
64
|
-
### Official Documentation
|
|
65
|
-
|
|
66
|
-
- [Variables](https://help.obsidian.md/web-clipper/variables)
|
|
67
|
-
- [Filters](https://help.obsidian.md/web-clipper/filters)
|
|
68
|
-
- [Logic](https://help.obsidian.md/web-clipper/logic)
|
|
69
|
-
- [Templates](https://help.obsidian.md/web-clipper/templates)
|
|
70
|
-
|
|
71
|
-
## Examples
|
|
72
|
-
|
|
73
|
-
See [assets/](assets/) for JSON examples.
|
|
1
|
+
---
|
|
2
|
+
name: obsidian-clipper-template-creator
|
|
3
|
+
description: Guide for creating templates for the Obsidian Web Clipper. Use when you want to create a new clipping template, understand available variables, or format clipped content.
|
|
4
|
+
risk: safe
|
|
5
|
+
source: community
|
|
6
|
+
date_added: "2026-02-27"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Obsidian Web Clipper Template Creator
|
|
10
|
+
|
|
11
|
+
This skill helps you create importable JSON templates for the Obsidian Web Clipper.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. **Identify User Intent:** specific site (YouTube), specific type (Recipe), or general clipping?
|
|
16
|
+
2. **Check Existing Bases:** The user likely has a "Base" schema defined in `Bases/`.
|
|
17
|
+
- **Action:** Read `Bases/*.base` to find a matching category (e.g., `Recipes.base`).
|
|
18
|
+
- **Action:** Use the properties defined in the Base to structure the Clipper template properties.
|
|
19
|
+
- See [references/bases-workflow.md](references/bases-workflow.md) for details.
|
|
20
|
+
3. **Fetch & Analyze Reference URL:** Validate variables against a real page.
|
|
21
|
+
- **Action:** Ask the user for a sample URL of the content they want to clip (if not provided).
|
|
22
|
+
- **Action (REQUIRED):** Use **WebFetch** to retrieve page content; if WebFetch is not available, use a browser DOM snapshot. See [references/analysis-workflow.md](references/analysis-workflow.md).
|
|
23
|
+
- **Action:** Analyze the HTML for Schema.org JSON, Meta tags, and CSS selectors.
|
|
24
|
+
- **Action (REQUIRED):** Verify each selector against the fetched content. Do not guess selectors.
|
|
25
|
+
- See [references/analysis-workflow.md](references/analysis-workflow.md) for analysis techniques.
|
|
26
|
+
4. **Draft the JSON:** Create a valid JSON object following the schema.
|
|
27
|
+
- See [references/json-schema.md](references/json-schema.md).
|
|
28
|
+
5. **Consider template logic:** Use conditionals for optional blocks (e.g. show nutrition only if present), loops for list data, variable assignment to avoid repeating expressions, and fallbacks for missing variables. Use logic only when it improves the template; keep simple templates simple. See [references/logic.md](references/logic.md).
|
|
29
|
+
6. **Verify Variables:** Ensure the chosen variables (Preset, Schema, Selector) exist in your analysis.
|
|
30
|
+
- **Action (REQUIRED):** If a selector cannot be verified from the fetched content, state that explicitly and ask for another URL.
|
|
31
|
+
- See [references/variables.md](references/variables.md).
|
|
32
|
+
|
|
33
|
+
## Selector Verification Rules
|
|
34
|
+
|
|
35
|
+
- **Always verify selectors** against live page content before responding.
|
|
36
|
+
- **Never guess selectors.** If the DOM cannot be accessed or the element is missing, ask for another URL or a screenshot.
|
|
37
|
+
- **Prefer stable selectors** (data attributes, semantic roles, unique IDs) over fragile class chains.
|
|
38
|
+
- **Document the target element** in your reasoning (e.g., "About sidebar paragraph") to reduce mismatch.
|
|
39
|
+
|
|
40
|
+
## Output Format
|
|
41
|
+
|
|
42
|
+
**ALWAYS** output the final result as a JSON code block that the user can copy and import.
|
|
43
|
+
|
|
44
|
+
The Clipper template editor validates template syntax.
|
|
45
|
+
If you use template logic (conditionals, loops, variable assignment), ensure it follows the syntax in [references/logic.md](references/logic.md) and the official [Logic](https://help.obsidian.md/web-clipper/logic) docs so the template passes validation.
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"schemaVersion": "0.1.0",
|
|
50
|
+
"name": "My Template",
|
|
51
|
+
...
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Resources
|
|
56
|
+
|
|
57
|
+
- [references/variables.md](references/variables.md) - Available data variables.
|
|
58
|
+
- [references/filters.md](references/filters.md) - Formatting filters.
|
|
59
|
+
- [references/json-schema.md](references/json-schema.md) - JSON structure documentation.
|
|
60
|
+
- [references/logic.md](references/logic.md) - Template logic.
|
|
61
|
+
- [references/bases-workflow.md](references/bases-workflow.md) - How to map Bases to Templates.
|
|
62
|
+
- [references/analysis-workflow.md](references/analysis-workflow.md) - How to validate page data.
|
|
63
|
+
|
|
64
|
+
### Official Documentation
|
|
65
|
+
|
|
66
|
+
- [Variables](https://help.obsidian.md/web-clipper/variables)
|
|
67
|
+
- [Filters](https://help.obsidian.md/web-clipper/filters)
|
|
68
|
+
- [Logic](https://help.obsidian.md/web-clipper/logic)
|
|
69
|
+
- [Templates](https://help.obsidian.md/web-clipper/templates)
|
|
70
|
+
|
|
71
|
+
## Examples
|
|
72
|
+
|
|
73
|
+
See [assets/](assets/) for JSON examples.
|
package/template/.agents/skills/obsidian-clipper-template-creator/assets/clipping-template.json
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "0.1.0",
|
|
3
|
-
"name": "General Clipping",
|
|
4
|
-
"behavior": "create",
|
|
5
|
-
"noteContentFormat": "{{content}}",
|
|
6
|
-
"properties": [
|
|
7
|
-
{
|
|
8
|
-
"name": "categories",
|
|
9
|
-
"value": "[[Clippings]]",
|
|
10
|
-
"type": "multitext"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"name": "author",
|
|
14
|
-
"value": "[[{{author}}]]",
|
|
15
|
-
"type": "multitext"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"name": "source",
|
|
19
|
-
"value": "{{url}}",
|
|
20
|
-
"type": "text"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"name": "via",
|
|
24
|
-
"value": "",
|
|
25
|
-
"type": "text"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"name": "published",
|
|
29
|
-
"value": "{{published}}",
|
|
30
|
-
"type": "datetime"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"name": "created",
|
|
34
|
-
"value": "{{date}}",
|
|
35
|
-
"type": "datetime"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"name": "topics",
|
|
39
|
-
"value": "",
|
|
40
|
-
"type": "multitext"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"name": "description",
|
|
44
|
-
"value": "{{description}}",
|
|
45
|
-
"type": "text"
|
|
46
|
-
}
|
|
47
|
-
],
|
|
48
|
-
"triggers": [],
|
|
49
|
-
"noteNameFormat": "{{title}}",
|
|
50
|
-
"path": "Clippings/"
|
|
51
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "0.1.0",
|
|
3
|
+
"name": "General Clipping",
|
|
4
|
+
"behavior": "create",
|
|
5
|
+
"noteContentFormat": "{{content}}",
|
|
6
|
+
"properties": [
|
|
7
|
+
{
|
|
8
|
+
"name": "categories",
|
|
9
|
+
"value": "[[Clippings]]",
|
|
10
|
+
"type": "multitext"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "author",
|
|
14
|
+
"value": "[[{{author}}]]",
|
|
15
|
+
"type": "multitext"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "source",
|
|
19
|
+
"value": "{{url}}",
|
|
20
|
+
"type": "text"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "via",
|
|
24
|
+
"value": "",
|
|
25
|
+
"type": "text"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "published",
|
|
29
|
+
"value": "{{published}}",
|
|
30
|
+
"type": "datetime"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "created",
|
|
34
|
+
"value": "{{date}}",
|
|
35
|
+
"type": "datetime"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "topics",
|
|
39
|
+
"value": "",
|
|
40
|
+
"type": "multitext"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "description",
|
|
44
|
+
"value": "{{description}}",
|
|
45
|
+
"type": "text"
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"triggers": [],
|
|
49
|
+
"noteNameFormat": "{{title}}",
|
|
50
|
+
"path": "Clippings/"
|
|
51
|
+
}
|
package/template/.agents/skills/obsidian-clipper-template-creator/assets/recipe-template.json
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "0.1.0",
|
|
3
|
-
"name": "Recipe",
|
|
4
|
-
"behavior": "create",
|
|
5
|
-
"noteContentFormat": "![{{schema:Recipe:image|first}}]\n\n## Description\n{{schema:Recipe:description}}\n\n## Ingredients\n{{schema:Recipe:recipeIngredient|list}}\n\n## Instructions\n{{schema:Recipe:recipeInstructions|map:step =>> step.text|list}}\n\n## Nutrition\n- Calories: {{schema:Recipe:nutrition.calories}}",
|
|
6
|
-
"properties": [
|
|
7
|
-
{
|
|
8
|
-
"name": "categories",
|
|
9
|
-
"value": "[[Recipes]]",
|
|
10
|
-
"type": "multitext"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"name": "author",
|
|
14
|
-
"value": "[[{{schema:Recipe:author.name}}]]",
|
|
15
|
-
"type": "text"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"name": "source",
|
|
19
|
-
"value": "{{url}}",
|
|
20
|
-
"type": "text"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"name": "ingredients",
|
|
24
|
-
"value": "{{schema:Recipe:recipeIngredient}}",
|
|
25
|
-
"type": "multitext"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"name": "cuisine",
|
|
29
|
-
"value": "{{schema:Recipe:recipeCuisine}}",
|
|
30
|
-
"type": "text"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"name": "rating",
|
|
34
|
-
"value": "",
|
|
35
|
-
"type": "number"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"name": "type",
|
|
39
|
-
"value": "Recipe",
|
|
40
|
-
"type": "text"
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
"triggers": [
|
|
44
|
-
"schema:Recipe"
|
|
45
|
-
],
|
|
46
|
-
"noteNameFormat": "{{schema:Recipe:name}}",
|
|
47
|
-
"path": "Recipes/"
|
|
48
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "0.1.0",
|
|
3
|
+
"name": "Recipe",
|
|
4
|
+
"behavior": "create",
|
|
5
|
+
"noteContentFormat": "![{{schema:Recipe:image|first}}]\n\n## Description\n{{schema:Recipe:description}}\n\n## Ingredients\n{{schema:Recipe:recipeIngredient|list}}\n\n## Instructions\n{{schema:Recipe:recipeInstructions|map:step =>> step.text|list}}\n\n## Nutrition\n- Calories: {{schema:Recipe:nutrition.calories}}",
|
|
6
|
+
"properties": [
|
|
7
|
+
{
|
|
8
|
+
"name": "categories",
|
|
9
|
+
"value": "[[Recipes]]",
|
|
10
|
+
"type": "multitext"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "author",
|
|
14
|
+
"value": "[[{{schema:Recipe:author.name}}]]",
|
|
15
|
+
"type": "text"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "source",
|
|
19
|
+
"value": "{{url}}",
|
|
20
|
+
"type": "text"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "ingredients",
|
|
24
|
+
"value": "{{schema:Recipe:recipeIngredient}}",
|
|
25
|
+
"type": "multitext"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "cuisine",
|
|
29
|
+
"value": "{{schema:Recipe:recipeCuisine}}",
|
|
30
|
+
"type": "text"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "rating",
|
|
34
|
+
"value": "",
|
|
35
|
+
"type": "number"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "type",
|
|
39
|
+
"value": "Recipe",
|
|
40
|
+
"type": "text"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"triggers": [
|
|
44
|
+
"schema:Recipe"
|
|
45
|
+
],
|
|
46
|
+
"noteNameFormat": "{{schema:Recipe:name}}",
|
|
47
|
+
"path": "Recipes/"
|
|
48
|
+
}
|
package/template/.agents/skills/obsidian-clipper-template-creator/references/analysis-workflow.md
CHANGED
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
# Analysis Workflow: Validating Variables
|
|
2
|
-
|
|
3
|
-
To ensure your template works correctly, you must validate that the target page actually contains the data you want to extract.
|
|
4
|
-
|
|
5
|
-
## 1. Fetch the Page
|
|
6
|
-
|
|
7
|
-
Use the `WebFetch` tool or a browser DOM snapshot to retrieve the content of a representative URL provided by the user.
|
|
8
|
-
|
|
9
|
-
```text
|
|
10
|
-
WebFetch(url="https://example.com/recipe/chocolate-cake")
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## 2. Analyze the Output
|
|
14
|
-
|
|
15
|
-
### Check for Schema.org (Recommended)
|
|
16
|
-
|
|
17
|
-
Look for `<script type="application/ld+json">`. This contains structured data which is the most reliable way to extract info.
|
|
18
|
-
|
|
19
|
-
**Example Found in HTML:**
|
|
20
|
-
|
|
21
|
-
```html
|
|
22
|
-
<script type="application/ld+json">
|
|
23
|
-
{
|
|
24
|
-
"@context": "https://schema.org/",
|
|
25
|
-
"@type": "Recipe",
|
|
26
|
-
"name": "Chocolate Cake",
|
|
27
|
-
"author": {
|
|
28
|
-
"@type": "Person",
|
|
29
|
-
"name": "John Doe"
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
**Conclusion:**
|
|
35
|
-
|
|
36
|
-
- `{{schema:Recipe:name}}` is valid.
|
|
37
|
-
- `{{schema:Recipe:author.name}}` is valid.
|
|
38
|
-
- **Tip:** You can use `schema:Recipe` in the `triggers` array to automatically select this template for any page with this schema.
|
|
39
|
-
|
|
40
|
-
### Check for Meta Tags
|
|
41
|
-
|
|
42
|
-
Look for `<meta>` tags in the `<head>` section.
|
|
43
|
-
|
|
44
|
-
**Example Found in HTML:**
|
|
45
|
-
|
|
46
|
-
```html
|
|
47
|
-
<meta property="og:title" content="The Best Chocolate Cake" />
|
|
48
|
-
<meta name="description" content="A rich, moist chocolate cake recipe." />
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**Conclusion:**
|
|
52
|
-
|
|
53
|
-
- `{{meta:og:title}}` is valid.
|
|
54
|
-
- `{{meta:description}}` is valid.
|
|
55
|
-
|
|
56
|
-
### Check for CSS Selectors (Verified)
|
|
57
|
-
|
|
58
|
-
If Schema and Meta tags are missing, look for HTML structure (classes and IDs) to use with `{{selector:...}}`.
|
|
59
|
-
Selectors must be verified against the fetched HTML or DOM snapshot. Do not guess selectors.
|
|
60
|
-
|
|
61
|
-
**Example Found in HTML:**
|
|
62
|
-
|
|
63
|
-
```html
|
|
64
|
-
<div class="article-body">
|
|
65
|
-
<h1 id="main-title">Chocolate Cake</h1>
|
|
66
|
-
<span class="author-name">By John Doe</span>
|
|
67
|
-
</div>
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**Conclusion:**
|
|
71
|
-
|
|
72
|
-
- `{{selector:h1#main-title}}` or `{{selector:h1}}` can extract the title.
|
|
73
|
-
- `{{selector:.author-name}}` can extract the author.
|
|
74
|
-
|
|
75
|
-
## 3. Verify Against Base
|
|
76
|
-
|
|
77
|
-
Compare the available data from your analysis with the properties required by the user's Base (see [bases-workflow.md](bases-workflow.md)).
|
|
78
|
-
|
|
79
|
-
- If the Base requires `ingredients` but the page has no Schema or clear list structure, warn the user that this field might need manual entry or a prompt variable.
|
|
1
|
+
# Analysis Workflow: Validating Variables
|
|
2
|
+
|
|
3
|
+
To ensure your template works correctly, you must validate that the target page actually contains the data you want to extract.
|
|
4
|
+
|
|
5
|
+
## 1. Fetch the Page
|
|
6
|
+
|
|
7
|
+
Use the `WebFetch` tool or a browser DOM snapshot to retrieve the content of a representative URL provided by the user.
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
WebFetch(url="https://example.com/recipe/chocolate-cake")
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 2. Analyze the Output
|
|
14
|
+
|
|
15
|
+
### Check for Schema.org (Recommended)
|
|
16
|
+
|
|
17
|
+
Look for `<script type="application/ld+json">`. This contains structured data which is the most reliable way to extract info.
|
|
18
|
+
|
|
19
|
+
**Example Found in HTML:**
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<script type="application/ld+json">
|
|
23
|
+
{
|
|
24
|
+
"@context": "https://schema.org/",
|
|
25
|
+
"@type": "Recipe",
|
|
26
|
+
"name": "Chocolate Cake",
|
|
27
|
+
"author": {
|
|
28
|
+
"@type": "Person",
|
|
29
|
+
"name": "John Doe"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Conclusion:**
|
|
35
|
+
|
|
36
|
+
- `{{schema:Recipe:name}}` is valid.
|
|
37
|
+
- `{{schema:Recipe:author.name}}` is valid.
|
|
38
|
+
- **Tip:** You can use `schema:Recipe` in the `triggers` array to automatically select this template for any page with this schema.
|
|
39
|
+
|
|
40
|
+
### Check for Meta Tags
|
|
41
|
+
|
|
42
|
+
Look for `<meta>` tags in the `<head>` section.
|
|
43
|
+
|
|
44
|
+
**Example Found in HTML:**
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<meta property="og:title" content="The Best Chocolate Cake" />
|
|
48
|
+
<meta name="description" content="A rich, moist chocolate cake recipe." />
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Conclusion:**
|
|
52
|
+
|
|
53
|
+
- `{{meta:og:title}}` is valid.
|
|
54
|
+
- `{{meta:description}}` is valid.
|
|
55
|
+
|
|
56
|
+
### Check for CSS Selectors (Verified)
|
|
57
|
+
|
|
58
|
+
If Schema and Meta tags are missing, look for HTML structure (classes and IDs) to use with `{{selector:...}}`.
|
|
59
|
+
Selectors must be verified against the fetched HTML or DOM snapshot. Do not guess selectors.
|
|
60
|
+
|
|
61
|
+
**Example Found in HTML:**
|
|
62
|
+
|
|
63
|
+
```html
|
|
64
|
+
<div class="article-body">
|
|
65
|
+
<h1 id="main-title">Chocolate Cake</h1>
|
|
66
|
+
<span class="author-name">By John Doe</span>
|
|
67
|
+
</div>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Conclusion:**
|
|
71
|
+
|
|
72
|
+
- `{{selector:h1#main-title}}` or `{{selector:h1}}` can extract the title.
|
|
73
|
+
- `{{selector:.author-name}}` can extract the author.
|
|
74
|
+
|
|
75
|
+
## 3. Verify Against Base
|
|
76
|
+
|
|
77
|
+
Compare the available data from your analysis with the properties required by the user's Base (see [bases-workflow.md](bases-workflow.md)).
|
|
78
|
+
|
|
79
|
+
- If the Base requires `ingredients` but the page has no Schema or clear list structure, warn the user that this field might need manual entry or a prompt variable.
|
package/template/.agents/skills/obsidian-clipper-template-creator/references/bases-workflow.md
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
# Working with Obsidian Bases
|
|
2
|
-
|
|
3
|
-
The user maintains "Bases" in `Bases/*.base` which define the schema and properties for different types of notes (e.g., Recipes, Clippings, People).
|
|
4
|
-
|
|
5
|
-
## Workflow
|
|
6
|
-
|
|
7
|
-
1. **Identify the Category:** Determine the type of content the user wants to clip (e.g., a Recipe, a News Article, a YouTube video).
|
|
8
|
-
2. **Find the Base:** Search `Bases/` for a matching `.base` file.
|
|
9
|
-
* Example: For a recipe, look for `Bases/Recipes.base`.
|
|
10
|
-
* Example: For a generic article, look for `Bases/Clippings.base`.
|
|
11
|
-
3. **Read the Base:** Read the content of the `.base` file to understand the required properties.
|
|
12
|
-
|
|
13
|
-
## Interpreting .base Files
|
|
14
|
-
|
|
15
|
-
Base files use a YAML-like structure. Look for the `properties` section.
|
|
16
|
-
|
|
17
|
-
```yaml
|
|
18
|
-
properties:
|
|
19
|
-
file.name:
|
|
20
|
-
displayName: name
|
|
21
|
-
note.author:
|
|
22
|
-
displayName: author
|
|
23
|
-
note.type:
|
|
24
|
-
displayName: type
|
|
25
|
-
note.ingredients:
|
|
26
|
-
displayName: ingredients
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
* `note.X` corresponds to a property name `X` in the frontmatter.
|
|
30
|
-
* `displayName` helps understand the intent, but the property key (e.g., `author`, `type`, `ingredients`) is what matters for the template.
|
|
31
|
-
|
|
32
|
-
## Mapping to Clipper Properties
|
|
33
|
-
|
|
34
|
-
When creating the JSON for the Web Clipper, map the Base properties to the `properties` array in the JSON.
|
|
35
|
-
|
|
36
|
-
| Base Property | Clipper JSON Property Name | Value Strategy |
|
|
37
|
-
| :--- | :--- | :--- |
|
|
38
|
-
| `note.author` | `author` | `{{author}}` or `{{schema:author.name}}` |
|
|
39
|
-
| `note.source` | `source` | `{{url}}` |
|
|
40
|
-
| `note.published` | `published` | `{{published}}` |
|
|
41
|
-
| `note.ingredients` | `ingredients` | `{{schema:Recipe:recipeIngredient}}` |
|
|
42
|
-
| `note.type` | `type` | Constant (e.g., `Recipe`) or empty |
|
|
43
|
-
|
|
44
|
-
**Crucial Step:** Ask the user which properties should be automatically filled, which should be hardcoded (e.g., `type: Recipe`), and which should be left empty for manual entry.
|
|
1
|
+
# Working with Obsidian Bases
|
|
2
|
+
|
|
3
|
+
The user maintains "Bases" in `Bases/*.base` which define the schema and properties for different types of notes (e.g., Recipes, Clippings, People).
|
|
4
|
+
|
|
5
|
+
## Workflow
|
|
6
|
+
|
|
7
|
+
1. **Identify the Category:** Determine the type of content the user wants to clip (e.g., a Recipe, a News Article, a YouTube video).
|
|
8
|
+
2. **Find the Base:** Search `Bases/` for a matching `.base` file.
|
|
9
|
+
* Example: For a recipe, look for `Bases/Recipes.base`.
|
|
10
|
+
* Example: For a generic article, look for `Bases/Clippings.base`.
|
|
11
|
+
3. **Read the Base:** Read the content of the `.base` file to understand the required properties.
|
|
12
|
+
|
|
13
|
+
## Interpreting .base Files
|
|
14
|
+
|
|
15
|
+
Base files use a YAML-like structure. Look for the `properties` section.
|
|
16
|
+
|
|
17
|
+
```yaml
|
|
18
|
+
properties:
|
|
19
|
+
file.name:
|
|
20
|
+
displayName: name
|
|
21
|
+
note.author:
|
|
22
|
+
displayName: author
|
|
23
|
+
note.type:
|
|
24
|
+
displayName: type
|
|
25
|
+
note.ingredients:
|
|
26
|
+
displayName: ingredients
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
* `note.X` corresponds to a property name `X` in the frontmatter.
|
|
30
|
+
* `displayName` helps understand the intent, but the property key (e.g., `author`, `type`, `ingredients`) is what matters for the template.
|
|
31
|
+
|
|
32
|
+
## Mapping to Clipper Properties
|
|
33
|
+
|
|
34
|
+
When creating the JSON for the Web Clipper, map the Base properties to the `properties` array in the JSON.
|
|
35
|
+
|
|
36
|
+
| Base Property | Clipper JSON Property Name | Value Strategy |
|
|
37
|
+
| :--- | :--- | :--- |
|
|
38
|
+
| `note.author` | `author` | `{{author}}` or `{{schema:author.name}}` |
|
|
39
|
+
| `note.source` | `source` | `{{url}}` |
|
|
40
|
+
| `note.published` | `published` | `{{published}}` |
|
|
41
|
+
| `note.ingredients` | `ingredients` | `{{schema:Recipe:recipeIngredient}}` |
|
|
42
|
+
| `note.type` | `type` | Constant (e.g., `Recipe`) or empty |
|
|
43
|
+
|
|
44
|
+
**Crucial Step:** Ask the user which properties should be automatically filled, which should be hardcoded (e.g., `type: Recipe`), and which should be left empty for manual entry.
|