Workflow
- Identify pages with missing or incorrect metadata (titles, descriptions, canonical, OG tags)
- Audit against the priority rules below — fix critical issues (duplicates, indexing) first
- Ensure title, description, canonical, and og:url all agree with each other
- Verify social cards render correctly on a real URL, not localhost
- Keep diffs minimal and scoped to metadata only — do not refactor unrelated code
When to Use
Reference these guidelines when:
- adding or changing page titles, descriptions, canonical, robots
- implementing Open Graph or Twitter card metadata
- setting favicons, app icons, manifest, theme-color
- building shared SEO components or layout metadata defaults
- adding structured data (JSON-LD)
- changing locale, alternate languages, or canonical routing
- shipping new pages, marketing pages, or shareable links
rule categories by priority
| priority |
category |
impact |
| 1 |
correctness and duplication |
critical |
| 2 |
title and description |
high |
| 3 |
canonical and indexing |
high |
| 4 |
social cards |
high |
| 5 |
icons and manifest |
medium |
| 6 |
structured data |
medium |
| 7 |
locale and alternates |
low-medium |
| 8 |
tool boundaries |
critical |
quick reference
1. correctness and duplication (critical)
- define metadata in one place per page, avoid competing systems
- do not emit duplicate title, description, canonical, or robots tags
- metadata must be deterministic, no random or unstable values
- escape and sanitize any user-generated or dynamic strings
- every page must have safe defaults for title and description
2. title and description (high)
- every page must have a title
- use a consistent title format across the site
- keep titles short and readable, avoid stuffing
- shareable or searchable pages should have a meta description
- descriptions must be plain text, no markdown or quote spam
3. canonical and indexing (high)
- canonical must point to the preferred URL for the page
- use noindex only for private, duplicate, or non-public pages
- robots meta must match actual access intent
- previews or staging pages should be noindex by default when possible
- paginated pages must have correct canonical behavior
4. social cards (high)
- shareable pages must set Open Graph title, description, and image
- Open Graph and Twitter images must use absolute URLs
- prefer correct image dimensions and stable aspect ratios
- og:url must match the canonical URL
- use a sensible og:type, usually website or article
- set twitter:card appropriately, summary_large_image by default
5. icons and manifest (medium)
- include at least one favicon that works across browsers
- include apple-touch-icon when relevant
- manifest must be valid and referenced when used
- set theme-color intentionally to avoid mismatched UI chrome
- icon paths should be stable and cacheable
6. structured data (medium)
- do not add JSON-LD unless it clearly maps to real page content
- JSON-LD must be valid and reflect what is actually rendered
- do not invent ratings, reviews, prices, or organization details
- prefer one structured data block per page unless required
7. locale and alternates (low-medium)
- set the html lang attribute correctly
- set og:locale when localization exists
- add hreflang alternates only when pages truly exist
- localized pages must canonicalize correctly per locale
8. tool boundaries (critical)
- prefer minimal changes, do not refactor unrelated code
- do not migrate frameworks or SEO libraries unless requested
- follow the project's existing metadata pattern (Next.js metadata API, react-helmet, manual head, etc.)
review guidance
- fix critical issues first (duplicates, canonical, indexing)
- ensure title, description, canonical, and og:url agree
- verify social cards on a real URL, not localhost
- prefer stable, boring metadata over clever or dynamic
- keep diffs minimal and scoped to metadata only
AGI Framework Integration
Adapted for @techwavedev/agi-agent-kit
Original source: antigravity-awesome-skills
Memory-First Protocol
Cache data schemas, transformation rules, and query patterns. BM25 excels at finding specific column names, table references, and SQL patterns.
# Check for prior data engineering context before starting
python3 execution/memory_manager.py auto --query "data processing patterns and pipeline configurations for Fixing Metadata"
Storing Results
After completing work, store data engineering decisions for future sessions:
python3 execution/memory_manager.py store \
--content "Data pipeline: ETL from PostgreSQL to Qdrant, 50K records/batch, incremental sync via updated_at" \
--type technical --project <project> \
--tags fixing-metadata data
Multi-Agent Collaboration
Share data schema changes with backend and frontend agents so they update their models accordingly.
python3 execution/cross_agent_context.py store \
--agent "<your-agent>" \
--action "Data pipeline implemented — ETL processing with validation, deduplication, and error recovery" \
--project <project>
1---2name: fixing-metadata3description: "Audit and fix HTML metadata including page titles, meta descriptions, canonical URLs, Open Graph tags, Twitter cards, favicons, JSON-LD structured data, and robots directives. Use when adding or reviewing SEO and social metadata."4risk: safe5source: community6version: 1.0.17license: MIT8---910## Workflow11121. Identify pages with missing or incorrect metadata (titles, descriptions, canonical, OG tags)132. Audit against the priority rules below — fix critical issues (duplicates, indexing) first143. Ensure title, description, canonical, and og:url all agree with each other154. Verify social cards render correctly on a real URL, not localhost165. Keep diffs minimal and scoped to metadata only — do not refactor unrelated code17## When to Use18Reference these guidelines when:19- adding or changing page titles, descriptions, canonical, robots20- implementing Open Graph or Twitter card metadata21- setting favicons, app icons, manifest, theme-color22- building shared SEO components or layout metadata defaults23- adding structured data (JSON-LD)24- changing locale, alternate languages, or canonical routing25- shipping new pages, marketing pages, or shareable links2627## rule categories by priority2829| priority | category | impact |30|----------|----------|--------|31| 1 | correctness and duplication | critical |32| 2 | title and description | high |33| 3 | canonical and indexing | high |34| 4 | social cards | high |35| 5 | icons and manifest | medium |36| 6 | structured data | medium |37| 7 | locale and alternates | low-medium |38| 8 | tool boundaries | critical |3940## quick reference4142### 1. correctness and duplication (critical)4344- define metadata in one place per page, avoid competing systems45- do not emit duplicate title, description, canonical, or robots tags46- metadata must be deterministic, no random or unstable values47- escape and sanitize any user-generated or dynamic strings48- every page must have safe defaults for title and description4950### 2. title and description (high)5152- every page must have a title53- use a consistent title format across the site54- keep titles short and readable, avoid stuffing55- shareable or searchable pages should have a meta description56- descriptions must be plain text, no markdown or quote spam5758### 3. canonical and indexing (high)5960- canonical must point to the preferred URL for the page61- use noindex only for private, duplicate, or non-public pages62- robots meta must match actual access intent63- previews or staging pages should be noindex by default when possible64- paginated pages must have correct canonical behavior6566### 4. social cards (high)6768- shareable pages must set Open Graph title, description, and image69- Open Graph and Twitter images must use absolute URLs70- prefer correct image dimensions and stable aspect ratios71- og:url must match the canonical URL72- use a sensible og:type, usually website or article73- set twitter:card appropriately, summary_large_image by default7475### 5. icons and manifest (medium)7677- include at least one favicon that works across browsers78- include apple-touch-icon when relevant79- manifest must be valid and referenced when used80- set theme-color intentionally to avoid mismatched UI chrome81- icon paths should be stable and cacheable8283### 6. structured data (medium)8485- do not add JSON-LD unless it clearly maps to real page content86- JSON-LD must be valid and reflect what is actually rendered87- do not invent ratings, reviews, prices, or organization details88- prefer one structured data block per page unless required8990### 7. locale and alternates (low-medium)9192- set the html lang attribute correctly93- set og:locale when localization exists94- add hreflang alternates only when pages truly exist95- localized pages must canonicalize correctly per locale9697### 8. tool boundaries (critical)9899- prefer minimal changes, do not refactor unrelated code100- do not migrate frameworks or SEO libraries unless requested101- follow the project's existing metadata pattern (Next.js metadata API, react-helmet, manual head, etc.)102103## review guidance104105- fix critical issues first (duplicates, canonical, indexing)106- ensure title, description, canonical, and og:url agree107- verify social cards on a real URL, not localhost108- prefer stable, boring metadata over clever or dynamic109- keep diffs minimal and scoped to metadata only110111---112113<!-- AGI-INTEGRATION-START -->114115## AGI Framework Integration116117> **Adapted for [@techwavedev/agi-agent-kit](https://www.npmjs.com/package/@techwavedev/agi-agent-kit)**118> Original source: [antigravity-awesome-skills](https://github.com/sickn33/antigravity-awesome-skills)119120### Memory-First Protocol121122Cache data schemas, transformation rules, and query patterns. BM25 excels at finding specific column names, table references, and SQL patterns.123124```bash125# Check for prior data engineering context before starting126python3 execution/memory_manager.py auto --query "data processing patterns and pipeline configurations for Fixing Metadata"127```128129### Storing Results130131After completing work, store data engineering decisions for future sessions:132133```bash134python3 execution/memory_manager.py store \135 --content "Data pipeline: ETL from PostgreSQL to Qdrant, 50K records/batch, incremental sync via updated_at" \136 --type technical --project <project> \137 --tags fixing-metadata data138```139140### Multi-Agent Collaboration141142Share data schema changes with backend and frontend agents so they update their models accordingly.143144```bash145python3 execution/cross_agent_context.py store \146 --agent "<your-agent>" \147 --action "Data pipeline implemented — ETL processing with validation, deduplication, and error recovery" \148 --project <project>149```150151<!-- AGI-INTEGRATION-END -->