[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CV2PAH94Z5KH6BK7RY5YKA":3,"skill-same:01M6CV2PAH94Z5KH6BK7RY5YKA":96},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":59},"01M6CV2PAH94Z5KH6BK7RY5YKA","obsidian-clipper-template-creator",null,"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.","Sam-06060\u002Fjarvis-assistant","Sam-06060","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F208600848?v=4","01M6CRKT7C7FXD21V6HXF293S0","Samson Frank Ganta","01M6CRKTBEKYFD8YX5Z1GT99EE",6,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31],"obsidian","template creator","obsidian clipper template creator","template","safe","web","create","content","templates","format","guide","use","community","2026-11-10 10:12:30",false,"---\nname: obsidian-clipper-template-creator\ndescription: 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.\nrisk: safe\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Obsidian Web Clipper Template Creator\n\nThis skill helps you create importable JSON templates for the Obsidian Web Clipper.\n\n## When to Use\n\n- You need to create or refine an importable Obsidian Web Clipper template.\n- You want to map a site's real DOM, schema data, and selectors into a valid clipping template.\n- You need selector verification and template logic guidance before handing the JSON to the user.\n\n## Workflow\n\n1. **Identify User Intent:** specific site (YouTube), specific type (Recipe), or general clipping?\n2. **Check Existing Bases:** The user likely has a \"Base\" schema defined in `Bases\u002F`.\n    - **Action:** Read `Bases\u002F*.base` to find a matching category (e.g., `Recipes.base`).\n    - **Action:** Use the properties defined in the Base to structure the Clipper template properties.\n    - See [references\u002Fbases-workflow.md](references\u002Fbases-workflow.md) for details.\n3. **Fetch & Analyze Reference URL:** Validate variables against a real page.\n    - **Action:** Ask the user for a sample URL of the content they want to clip (if not provided).\n    - **Action (REQUIRED):** Use **WebFetch** to retrieve page content; if WebFetch is not available, use a browser DOM snapshot. See [references\u002Fanalysis-workflow.md](references\u002Fanalysis-workflow.md).\n    - **Action:** Analyze the HTML for Schema.org JSON, Meta tags, and CSS selectors.\n    - **Action (REQUIRED):** Verify each selector against the fetched content. Do not guess selectors.\n    - See [references\u002Fanalysis-workflow.md](references\u002Fanalysis-workflow.md) for analysis techniques.\n4. **Draft the JSON:** Create a valid JSON object following the schema.\n    - See [references\u002Fjson-schema.md](references\u002Fjson-schema.md).\n5. **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\u002Flogic.md](references\u002Flogic.md).\n6. **Verify Variables:** Ensure the chosen variables (Preset, Schema, Selector) exist in your analysis.\n    - **Action (REQUIRED):** If a selector cannot be verified from the fetched content, state that explicitly and ask for another URL.\n    - See [references\u002Fvariables.md](references\u002Fvariables.md).\n\n## Selector Verification Rules\n\n- **Always verify selectors** against live page content before responding.\n- **Never guess selectors.** If the DOM cannot be accessed or the element is missing, ask for another URL or a screenshot.\n- **Prefer stable selectors** (data attributes, semantic roles, unique IDs) over fragile class chains.\n- **Document the target element** in your reasoning (e.g., \"About sidebar paragraph\") to reduce mismatch.\n\n## Output Format\n\n**ALWAYS** output the final result as a JSON code block that the user can copy and import.\n\nThe Clipper template editor validates template syntax.\nIf you use template logic (conditionals, loops, variable assignment), ensure it follows the syntax in [references\u002Flogic.md](references\u002Flogic.md) and the official [Logic](https:\u002F\u002Fhelp.obsidian.md\u002Fweb-clipper\u002Flogic) docs so the template passes validation.\n\n```json\n{\n  \"schemaVersion\": \"0.1.0\",\n  \"name\": \"My Template\",\n  ...\n}\n```\n\n## Resources\n\n- [references\u002Fvariables.md](references\u002Fvariables.md) - Available data variables.\n- [references\u002Ffilters.md](references\u002Ffilters.md) - Formatting filters.\n- [references\u002Fjson-schema.md](references\u002Fjson-schema.md) - JSON structure documentation.\n- [references\u002Flogic.md](references\u002Flogic.md) - Template logic.\n- [references\u002Fbases-workflow.md](references\u002Fbases-workflow.md) - How to map Bases to Templates.\n- [references\u002Fanalysis-workflow.md](references\u002Fanalysis-workflow.md) - How to validate page data.\n\n### Official Documentation\n\n- [Variables](https:\u002F\u002Fhelp.obsidian.md\u002Fweb-clipper\u002Fvariables)\n- [Filters](https:\u002F\u002Fhelp.obsidian.md\u002Fweb-clipper\u002Ffilters)\n- [Logic](https:\u002F\u002Fhelp.obsidian.md\u002Fweb-clipper\u002Flogic)\n- [Templates](https:\u002F\u002Fhelp.obsidian.md\u002Fweb-clipper\u002Ftemplates)\n\n## Examples\n\nSee [assets\u002F](assets\u002F) for JSON examples.\n","# Obsidian Web Clipper Template Creator\n\nThis skill helps you create importable JSON templates for the Obsidian Web Clipper.\n\n## When to Use\n\n- You need to create or refine an importable Obsidian Web Clipper template.\n- You want to map a site's real DOM, schema data, and selectors into a valid clipping template.\n- You need selector verification and template logic guidance before handing the JSON to the user.\n\n## Workflow\n\n1. **Identify User Intent:** specific site (YouTube), specific type (Recipe), or general clipping?\n2. **Check Existing Bases:** The user likely has a \"Base\" schema defined in `Bases\u002F`.\n    - **Action:** Read `Bases\u002F*.base` to find a matching category (e.g., `Recipes.base`).\n    - **Action:** Use the properties defined in the Base to structure the Clipper template properties.\n    - See [references\u002Fbases-workflow.md](references\u002Fbases-workflow.md) for details.\n3. **Fetch & Analyze Reference URL:** Validate variables against a real page.\n    - **Action:** Ask the user for a sample URL of the content they want to clip (if not provided).\n    - **Action (REQUIRED):** Use **WebFetch** to retrieve page content; if WebFetch is not available, use a browser DOM snapshot. See [references\u002Fanalysis-workflow.md](references\u002Fanalysis-workflow.md).\n    - **Action:** Analyze the HTML for Schema.org JSON, Meta tags, and CSS selectors.\n    - **Action (REQUIRED):** Verify each selector against the fetched content. Do not guess selectors.\n    - See [references\u002Fanalysis-workflow.md](references\u002Fanalysis-workflow.md) for analysis techniques.\n4. **Draft the JSON:** Create a valid JSON object following the schema.\n    - See [references\u002Fjson-schema.md](references\u002Fjson-schema.md).\n5. **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\u002Flogic.md](references\u002Flogic.md).\n6. **Verify Variables:** Ensure the chosen variables (Preset, Schema, Selector) exist in your analysis.\n    - **Action (REQUIRED):** If a selector cannot be verified from the fetched content, state that explicitly and ask for another URL.\n    - See [references\u002Fvariables.md](references\u002Fvariables.md).\n\n## Selector Verification Rules\n\n- **Always verify selectors** against live page content before responding.\n- **Never guess selectors.** If the DOM cannot be accessed or the element is missing, ask for another URL or a screenshot.\n- **Prefer stable selectors** (data attributes, semantic roles, unique IDs) over fragile class chains.\n- **Document the target element** in your reasoning (e.g., \"About sidebar paragraph\") to reduce mismatch.\n\n## Output Format\n\n**ALWAYS** output the final result as a JSON code block that the user can copy and import.\n\nThe Clipper template editor validates template syntax.\nIf you use template logic (conditionals, loops, variable assignment), ensure it follows the syntax in [references\u002Flogic.md](references\u002Flogic.md) and the official [Logic](https:\u002F\u002Fhelp.obsidian.md\u002Fweb-clipper\u002Flogic) docs so the template passes validation.\n\n```json\n{\n  \"schemaVersion\": \"0.1.0\",\n  \"name\": \"My Template\",\n  ...\n}\n```\n\n## Resources\n\n- [references\u002Fvariables.md](references\u002Fvariables.md) - Available data variables.\n- [references\u002Ffilters.md](references\u002Ffilters.md) - Formatting filters.\n- [references\u002Fjson-schema.md](references\u002Fjson-schema.md) - JSON structure documentation.\n- [references\u002Flogic.md](references\u002Flogic.md) - Template logic.\n- [references\u002Fbases-workflow.md](references\u002Fbases-workflow.md) - How to map Bases to Templates.\n- [references\u002Fanalysis-workflow.md](references\u002Fanalysis-workflow.md) - How to validate page data.\n\n### Official Documentation\n\n- [Variables](https:\u002F\u002Fhelp.obsidian.md\u002Fweb-clipper\u002Fvariables)\n- [Filters](https:\u002F\u002Fhelp.obsidian.md\u002Fweb-clipper\u002Ffilters)\n- [Logic](https:\u002F\u002Fhelp.obsidian.md\u002Fweb-clipper\u002Flogic)\n- [Templates](https:\u002F\u002Fhelp.obsidian.md\u002Fweb-clipper\u002Ftemplates)\n\n## Examples\n\nSee [assets\u002F](assets\u002F) for JSON examples.\n",{"name":5,"risk":23,"source":31,"date_added":37,"description":7},"2026-02-27","main","a50a3aa6b39fb0e1b7db88bef1bfc9c93606e126","modules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator",0,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant","https:\u002F\u002Fgithub.com\u002FSam-06060","Mobile Application Developer | Kotlin | Flutter, KMP, Swfit, Android,Swift UI | Building at Saar It Resources | Creator of Jarvis (AI Assistant)","2026-06-23 05:13:38",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add Sam-06060\u002Fjarvis-assistant --skill obsidian-clipper-template-creator",{"tool":52,"command":53},"bunx","bunx skills add Sam-06060\u002Fjarvis-assistant --skill obsidian-clipper-template-creator",{"tool":55,"command":56},"pnpm","pnpm dlx skills add Sam-06060\u002Fjarvis-assistant --skill obsidian-clipper-template-creator","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator\u002FSKILL.md",true,[60,66,70,76,80,84,88,92],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"assets\u002Fclipping-template.json","ASSET","资产文件",826,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator\u002Fassets\u002Fclipping-template.json",{"path":67,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":68,"sourceHtmlUrl":69},"assets\u002Frecipe-template.json",1102,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator\u002Fassets\u002Frecipe-template.json",{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"references\u002Fanalysis-workflow.md","REFERENCE","参考文档",2268,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator\u002Freferences\u002Fanalysis-workflow.md",{"path":77,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fbases-workflow.md",1844,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator\u002Freferences\u002Fbases-workflow.md",{"path":81,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Ffilters.md",1544,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator\u002Freferences\u002Ffilters.md",{"path":85,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fjson-schema.md",2742,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator\u002Freferences\u002Fjson-schema.md",{"path":89,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Flogic.md",4467,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator\u002Freferences\u002Flogic.md",{"path":93,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fvariables.md",2031,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fobsidian-clipper-template-creator\u002Freferences\u002Fvariables.md",[97,110,125,152,171,197],{"skillNo":98,"name":99,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":107,"publishedAt":32},"01M6GDRVS6FXX3ESH0C9DW01C0","test_skill","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fscratch\u002Ftest_skill\u002FSKILL.md",[102],{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[108,109],"Test Skill","test",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":32},"01M6GDRQ40HX22MA6XWC31RHHK","zustand-store-ts","Create Zustand stores following established patterns with proper TypeScript types and middleware.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzustand-store-ts\u002FSKILL.md",[],[117,118,119,120,121,122,123,31,25,124],"zustand store ts","zustand","store","with","types","middleware","patterns","typescript",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":134,"publishedAt":32},"01M6GDRKEA0WE670SPFWX5GKCN","zoom-automation","Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoom-automation\u002FSKILL.md",[131],{"categoryNo":132,"categoryName":133,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000023","Skill与智能体开发",[135,136,137,138,139,140,141,142,143,144,145,146,147,148,31,149,150,151],"automation","zoom automation","zoom","first","Tools","search","MCP","via","meeting","automate","critical","creation","webinars","composio","recordings","management","tracking",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":159,"publishedAt":32},"01M6GDRFS1452PC71JQ38S24HR","zoho-crm-automation","Automate Zoho CRM tasks via Rube MCP (Composio): create\u002Fupdate records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoho-crm-automation\u002FSKILL.md",[158],{"categoryNo":132,"categoryName":133,"taxonomyType":105,"taxonomyTypeDesc":106},[160,135,161,162,163,164,165,31,140,166,148,167,145,144,139,168,25,169,141,170],"crm automation","zoho crm","crm","zoho crm automation","zoho","leads","contacts","records","update","tasks","manage",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":180,"publishedAt":32},"01M6GDRCKQBAVTGHX5XBH26KPZ","zod-validation-expert","Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzod-validation-expert\u002FSKILL.md",[177],{"categoryNo":178,"categoryName":179,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000009","前端开发",[181,182,183,184,185,124,23,186,187,188,189,190,120,191,192,193,194,31,195,196],"expert","zod","zod validation expert","validation","react","parsing","errors","schema validation","react hook form","hook","trpc","form","type","next","schema","Next.js",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":204,"publishedAt":32},"01M6GDR658B08K4MY0RWD4A6EH","zeroize-audit","Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C\u002FC++\u002FRust code handling secrets, keys, passwords, or other sensitive data.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzeroize-audit\u002FSKILL.md",[203],{"categoryNo":132,"categoryName":133,"taxonomyType":105,"taxonomyTypeDesc":106},[205,206,207,208,209,210,211,212,31,213,214,215,216,217,218,219,220,221,222,141],"zeroize audit","audit","write","passwords","get","project","c++","activate","assembly","read","Bash","secrets","analysis","data","flow","verification","code","rust"]