2.2 KiB
Analysis Workflow: Validating Variables
To ensure your template works correctly, you must validate that the target page actually contains the data you want to extract.
1. Fetch the Page
Use the WebFetch tool or a browser DOM snapshot to retrieve the content of a representative URL provided by the user.
WebFetch(url="https://example.com/recipe/chocolate-cake")
2. Analyze the Output
Check for Schema.org (Recommended)
Look for <script type="application/ld+json">. This contains structured data which is the most reliable way to extract info.
Example Found in HTML:
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Recipe",
"name": "Chocolate Cake",
"author": {
"@type": "Person",
"name": "John Doe"
}
}
Conclusion:
{{schema:Recipe:name}}is valid.{{schema:Recipe:author.name}}is valid.- Tip: You can use
schema:Recipein thetriggersarray to automatically select this template for any page with this schema.
Check for Meta Tags
Look for <meta> tags in the <head> section.
Example Found in HTML:
<meta property="og:title" content="The Best Chocolate Cake" />
<meta name="description" content="A rich, moist chocolate cake recipe." />
Conclusion:
{{meta:og:title}}is valid.{{meta:description}}is valid.
Check for CSS Selectors (Verified)
If Schema and Meta tags are missing, look for HTML structure (classes and IDs) to use with {{selector:...}}.
Selectors must be verified against the fetched HTML or DOM snapshot. Do not guess selectors.
Example Found in HTML:
<div class="article-body">
<h1 id="main-title">Chocolate Cake</h1>
<span class="author-name">By John Doe</span>
</div>
Conclusion:
{{selector:h1#main-title}}or{{selector:h1}}can extract the title.{{selector:.author-name}}can extract the author.
3. Verify Against Base
Compare the available data from your analysis with the properties required by the user's Base (see references/bases-workflow.md).
- If the Base requires
ingredientsbut the page has no Schema or clear list structure, warn the user that this field might need manual entry or a prompt variable.