--- name: obsidian-clipper-template-creator 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. --- # Obsidian Web Clipper Template Creator This skill helps you create importable JSON templates for the Obsidian Web Clipper. ## Workflow 1. **Identify User Intent:** specific site (YouTube), specific type (Recipe), or general clipping? 2. **Check Existing Bases:** The user likely has a "Base" schema defined in `Templates/Bases/`. - **Action:** Read `Templates/Bases/*.base` to find a matching category (e.g., `Recipes.base`). - **Action:** Use the properties defined in the Base to structure the Clipper template properties. - See [references/bases-workflow.md](references/bases-workflow.md) for details. 3. **Fetch & Analyze Reference URL:** Validate variables against a real page. - **Action:** Ask the user for a sample URL of the content they want to clip (if not provided). - **Action (REQUIRED):** Use `WebFetch` or a browser DOM snapshot to retrieve page content before choosing any selector. - **Action:** Analyze the HTML for Schema.org JSON, Meta tags, and CSS selectors. - **Action (REQUIRED):** Verify each selector against the fetched content. Do not guess selectors. - See [references/analysis-workflow.md](references/analysis-workflow.md) for analysis techniques. 4. **Draft the JSON:** Create a valid JSON object following the schema. - See [references/json-schema.md](references/json-schema.md). 5. **Verify Variables:** Ensure the chosen variables (Preset, Schema, Selector) exist in your analysis. - **Action (REQUIRED):** If a selector cannot be verified from the fetched content, state that explicitly and ask for another URL. - See [references/variables.md](references/variables.md). ## Selector Verification Rules - **Always verify selectors** against live page content before responding. - **Never guess selectors.** If the DOM cannot be accessed or the element is missing, ask for another URL or a screenshot. - **Prefer stable selectors** (data attributes, semantic roles, unique IDs) over fragile class chains. - **Document the target element** in your reasoning (e.g., "About sidebar paragraph") to reduce mismatch. ## Output Format **ALWAYS** output the final result as a JSON code block that the user can copy and import. ```json { "schemaVersion": "0.1.0", "name": "My Template", ... } ``` ## Resources - [references/variables.md](references/variables.md) - Available data variables. - [references/filters.md](references/filters.md) - Formatting filters. - [references/json-schema.md](references/json-schema.md) - JSON structure documentation. - [references/bases-workflow.md](references/bases-workflow.md) - How to map Bases to Templates. - [references/analysis-workflow.md](references/analysis-workflow.md) - How to validate page data. ### Official Documentation - [Variables](https://help.obsidian.md/web-clipper/variables) - [Filters](https://help.obsidian.md/web-clipper/filters) - [Templates](https://help.obsidian.md/web-clipper/templates) ## Examples See [assets/](assets/) for JSON examples.