AI Summary Request
Overview
This skill creates a footer component with AI platform icons that allow visitors to request AI summaries of a website. The workflow begins by detecting and confirming the website domain, then asks whether to optionally generate an llms.txt file for enhanced AI discoverability.
When to Use This Skill
Use this skill when:
- User wants to add AI platform integration buttons to their site
- User wants visitors to easily get AI summaries of their business
- User mentions "AI summary" or AI platform buttons
- User wants to create an
llms.txt file for their website (optional)
- User asks about making their website AI-discoverable
Workflow
PREREQUISITE: Domain Detection and Confirmation
Before proceeding with any steps, you MUST determine the website domain:
Step 1: Attempt automatic detection
Search for domain information in this priority order:
- Environment files (
.env, .env.local, .env.production) - look for SITE_URL, BASE_URL, NEXT_PUBLIC_URL, NUXT_PUBLIC_SITE_URL, VITE_SITE_URL, or similar
- Deployment configs (
vercel.json, netlify.toml, firebase.json, fly.toml) - check for domain/alias settings
- CNAME files in
public/ or root directory
- Configuration files (
package.json homepage field, next.config.js, nuxt.config.js, vite.config.js)
- HTML files - meta tags or
<base> tags in index files
- README or documentation mentioning the live site URL
Step 2: Confirm or request domain
If a domain is detected, ask the user to confirm or provide an alternative:
"I detected that this site appears to use the domain [DETECTED_DOMAIN]. Is this correct? If not, please provide the correct domain."
If no domain can be detected, ask the user directly:
"I couldn't automatically detect the domain for this website. What domain should be used for the AI summary links? (e.g., https://example.com)"
Step 3: Normalize and store the domain
- If the user provides a domain without a protocol, prepend
https://
- Remove any trailing slashes
- Store the normalized domain as
${WEBSITE_URL} for use in subsequent steps
Example normalizations:
example.com → https://example.com
https://example.com/ → https://example.com
http://example.com → keep as-is (user may have specific requirements)
PREREQUISITE: llms.txt Decision
After confirming the domain, ask the user:
"Would you like me to also generate an llms.txt file for this website? This file helps AI models better understand your site's content and structure, which can improve the quality of AI-generated summaries.
- Yes: I'll create a curated llms.txt file and the footer component will reference it
- No: I'll create just the footer component, and the AI prompt will direct users to explore the website directly"
Store the user's choice as ${INCLUDE_LLMS_TXT} (true/false).
STEP 1: Generate llms.txt File (OPTIONAL - Only if user chose "Yes")
Skip this step entirely if the user chose not to generate an llms.txt file.
Generate a high-quality llms.txt file for a given website that helps language models quickly understand and reference the site's most valuable content.
Analyze the Website's Content Hierarchy
- Inspect any available XML or HTML sitemaps (product, page, post) and explore navigation menus to identify major product categories, services, key informational pages, and blog or news posts
- Focus on top-level categories and representative subcategories or key products, rather than listing every single URL
- Identify important support or policy pages (e.g., About, Contact, Terms, Privacy, Shipping & Returns)
Select and Curate Content
- For each major category, select a primary landing page and a few representative subcategories or high-value product pages
- Include links to authoritative guides, how-to articles, calculators, training programs or other resources
- Choose a handful of blog posts or case studies that showcase different topics (tutorials, industry insights, success stories). Avoid listing dozens of posts
- Exclude low-value pages such as checkout flows, login pages, or marketing fluff
Draft Clear Descriptions
- Use concise, factual descriptions (10-15 words) that explain what each page covers
- Avoid hype or redundant repetition of the page title
- When summarizing subcategories, group them in parentheses for brevity
Build the llms.txt in Markdown
- Start with an H1 title containing the website or company name and a short descriptor
- Add a blockquote (prefaced by >) that succinctly describes what the business does and who it serves
- Optionally include a sentence explaining that the list is curated for AI consumption
- Organize content with H2 headings such as:
Product categories (or Services if it's a service business)
Representative pages or ## Popular products
Guides & resources
Articles & case studies
Policies & support
- List each link as a bullet (
- [Title](URL): description) under the appropriate section
- Keep the file in UTF-8 encoding and ensure it stays well under 100 KB by curating rather than exhaustively listing every URL
- Add an optional "Usage guidelines" section stating how you'd like AI models to attribute or use the content, and include an HTML comment like
<!-- Last updated: YYYY-MM-DD --> for version tracking
Validate and Publish
- Verify that all URLs return HTTP 200 and are publicly accessible
- Check the Markdown structure (one H1, proper headings and bullets)
- Place the final
llms.txt at the website's root and, if possible, add a line in robots.txt (Llmstxt: /llms.txt) to aid discovery
- Plan regular updates (e.g., quarterly) to reflect changes in products, services or content
Deliverable
Provide the full llms.txt file content, formatted as described above, in the served web root of the current website.
STEP 2: Create AI Summary Request Footer Component
Create an "AI Summary Request" footer component with the following specifications.
Component Structure
- Centered section containing a header and icon row
- Header text: "Request an AI summary of [COMPANY_NAME]"
- Row of 5 clickable AI platform icons in this exact order: ChatGPT, Claude, Gemini, Grok, Perplexity
Visual Styling
- Container: flex column, centered alignment, 16px vertical gap
- Header: centered text, base font size (16px), medium font-weight, semantic gray color (#111827 or equivalent)
- Icon container: flex row, centered, 12px horizontal gap, wrap-enabled
- Each icon link: 40x40px clickable area with 28x28px visible icon, rounded-full background
- Icons: Apply CSS filter:
brightness(0) for monochrome black effect
- Padding within circle: 6px (1.5rem equivalent)
- Hover effect: transform scale(1.1) with cubic-bezier(0.4, 0, 0.2, 1) transition, 150ms duration
Icon Assets
CRITICAL: This skill includes bundled SVG icon files in the resources/ directory. You MUST use these exact icons - do NOT use generic icon libraries, search for alternatives, or create substitutes.
Bundled Icons (Required)
Copy these SVG files from resources/ to the user's project assets directory:
| Platform |
File |
Description |
| ChatGPT |
resources/chatgpt.svg |
Hexagonal flower/aperture pattern with interlocking curved segments |
| Claude |
resources/claude.svg |
Abstract geometric pattern (NOT the Anthropic backslash logo) |
| Gemini |
resources/gemini.svg |
Four-pointed star/sparkle icon |
| Grok |
resources/grok.svg |
Angular crystalline/triangular pattern (NOT the X/Twitter logo) |
| Perplexity |
resources/perplexity.svg |
Hexagonal pattern with isometric cube perspective |
Implementation Steps
- Copy icons to project: Copy all 5 SVG files from this skill's
resources/ directory to the user's project (e.g., /public/icons/ai/ or /assets/icons/)
- Reference in component: Use relative paths to the copied SVG files in the footer component
- Do NOT substitute: These are the only approved icons - do not use CDN links, icon libraries, or recreate from descriptions
Icon Validation
Before finalizing, visually confirm:
- ChatGPT icon is NOT a speech bubble or generic chat icon
- Claude icon is NOT a simple backslash or text character
- Gemini icon is NOT a constellation or zodiac twins symbol
- Grok icon is NOT the X/Twitter bird or logo
- Perplexity icon is NOT a question mark or generic markdown symbol
AI Platform Links
Generate URL-encoded links to each AI platform with pre-composed prompt:
- ChatGPT:
https://chat.openai.com/?q=[ENCODED_PROMPT]
- Claude:
https://claude.ai/new?q=[ENCODED_PROMPT]
- Gemini:
https://gemini.google.com/?q=[ENCODED_PROMPT]
- Grok:
https://grok.com?q=[ENCODED_PROMPT]
- Perplexity:
https://www.perplexity.ai/?q=[ENCODED_PROMPT]
Prompt Templates (Select based on llms.txt decision)
Use the appropriate template based on the user's llms.txt decision from the prerequisite step.
Template variables:
${WEBSITE_URL} - The confirmed/normalized domain from prerequisite step
${COMPANY_NAME} - The company/site name (ask user if not obvious from codebase)
${KEY_ASPECTS} - Customize based on the business type (e.g., "features, pricing, deliverables" for services; "products, shipping, returns" for e-commerce)
WITH llms.txt (if user chose to generate llms.txt)
Please read the structured information at ${WEBSITE_URL}/llms.txt to understand ${COMPANY_NAME}.
As a potential client, I want to concretely understand what I will receive with ${COMPANY_NAME} (${WEBSITE_URL}).
Detail step by step what the service includes: ${KEY_ASPECTS}.
Explain it simply, as if you were describing the real experience of the service.
WITHOUT llms.txt (if user chose not to generate llms.txt)
Please visit and analyze ${WEBSITE_URL} to understand ${COMPANY_NAME}.
As a potential client, I want to concretely understand what I will receive with ${COMPANY_NAME} (${WEBSITE_URL}).
Detail step by step what the service includes: ${KEY_ASPECTS}.
Explain it simply, as if you were describing the real experience of the service.
Implementation Checklist
Technical Notes
- The
llms.txt file follows the emerging standard for AI-readable site documentation
- The footer component should be framework-agnostic but can be adapted for React, Vue, Svelte, or vanilla HTML/CSS
- All URLs must be properly encoded to handle special characters in the prompt
- The component should be accessible and follow WCAG 2.1 guidelines
Bundled Resources
resources/
Contains the official SVG icons for each AI platform:
- chatgpt.svg - OpenAI ChatGPT hexagonal aperture icon
- claude.svg - Anthropic Claude geometric pattern icon
- gemini.svg - Google Gemini four-pointed star icon
- grok.svg - xAI Grok crystalline pattern icon
- perplexity.svg - Perplexity hexagonal cube icon
These icons MUST be copied to the user's project and used directly. Do not substitute with alternatives.
Success Criteria
A successful implementation should:
- Confirm the website domain with the user before proceeding
- Ask the user whether to include llms.txt generation
- If llms.txt chosen: Produce a curated, well-structured
llms.txt file under 100KB
- Create a visually consistent footer component with correct branding
- Use the appropriate prompt template based on the user's llms.txt decision
- Generate working links that pre-populate prompts in each AI platform
- Be accessible on both desktop and mobile devices
- Use the bundled SVG icons from
resources/ (no substitutes)
1---2name: ai-summary-request3description: Adds an "AI Summary Request" footer component with clickable AI platform icons (ChatGPT, Claude, Gemini, Grok, Perplexity) that pre-populate prompts for users to get AI summaries of the website. Optionally creates an llms.txt file for enhanced AI discoverability. Use when users want to add AI platform integration buttons or make their website AI-friendly.4---56# AI Summary Request78## Overview910This skill creates a footer component with AI platform icons that allow visitors to request AI summaries of a website. The workflow begins by detecting and confirming the website domain, then asks whether to optionally generate an `llms.txt` file for enhanced AI discoverability.1112## When to Use This Skill1314Use this skill when:15- User wants to add AI platform integration buttons to their site16- User wants visitors to easily get AI summaries of their business17- User mentions "AI summary" or AI platform buttons18- User wants to create an `llms.txt` file for their website (optional)19- User asks about making their website AI-discoverable2021## Workflow2223### PREREQUISITE: Domain Detection and Confirmation2425Before proceeding with any steps, you MUST determine the website domain:2627#### Step 1: Attempt automatic detection2829Search for domain information in this priority order:30311. **Environment files** (`.env`, `.env.local`, `.env.production`) - look for `SITE_URL`, `BASE_URL`, `NEXT_PUBLIC_URL`, `NUXT_PUBLIC_SITE_URL`, `VITE_SITE_URL`, or similar322. **Deployment configs** (`vercel.json`, `netlify.toml`, `firebase.json`, `fly.toml`) - check for domain/alias settings333. **CNAME files** in `public/` or root directory344. **Configuration files** (`package.json` homepage field, `next.config.js`, `nuxt.config.js`, `vite.config.js`)355. **HTML files** - meta tags or `<base>` tags in index files366. **README or documentation** mentioning the live site URL3738#### Step 2: Confirm or request domain3940**If a domain is detected**, ask the user to confirm or provide an alternative:41> "I detected that this site appears to use the domain **[DETECTED_DOMAIN]**. Is this correct? If not, please provide the correct domain."4243**If no domain can be detected**, ask the user directly:44> "I couldn't automatically detect the domain for this website. What domain should be used for the AI summary links? (e.g., https://example.com)"4546#### Step 3: Normalize and store the domain4748- If the user provides a domain without a protocol, prepend `https://`49- Remove any trailing slashes50- Store the normalized domain as `${WEBSITE_URL}` for use in subsequent steps5152**Example normalizations:**53- `example.com` → `https://example.com`54- `https://example.com/` → `https://example.com`55- `http://example.com` → keep as-is (user may have specific requirements)5657---5859### PREREQUISITE: llms.txt Decision6061After confirming the domain, ask the user:6263> "Would you like me to also generate an `llms.txt` file for this website? This file helps AI models better understand your site's content and structure, which can improve the quality of AI-generated summaries.64>65> - **Yes**: I'll create a curated llms.txt file and the footer component will reference it66> - **No**: I'll create just the footer component, and the AI prompt will direct users to explore the website directly"6768Store the user's choice as `${INCLUDE_LLMS_TXT}` (true/false).6970---7172## STEP 1: Generate llms.txt File (OPTIONAL - Only if user chose "Yes")7374**Skip this step entirely if the user chose not to generate an llms.txt file.**7576Generate a high-quality `llms.txt` file for a given website that helps language models quickly understand and reference the site's most valuable content.7778### Analyze the Website's Content Hierarchy7980- Inspect any available XML or HTML sitemaps (product, page, post) and explore navigation menus to identify major product categories, services, key informational pages, and blog or news posts81- Focus on top-level categories and representative subcategories or key products, rather than listing every single URL82- Identify important support or policy pages (e.g., About, Contact, Terms, Privacy, Shipping & Returns)8384### Select and Curate Content8586- For each major category, select a primary landing page and a few representative subcategories or high-value product pages87- Include links to authoritative guides, how-to articles, calculators, training programs or other resources88- Choose a handful of blog posts or case studies that showcase different topics (tutorials, industry insights, success stories). Avoid listing dozens of posts89- Exclude low-value pages such as checkout flows, login pages, or marketing fluff9091### Draft Clear Descriptions9293- Use concise, factual descriptions (10-15 words) that explain what each page covers94- Avoid hype or redundant repetition of the page title95- When summarizing subcategories, group them in parentheses for brevity9697### Build the llms.txt in Markdown9899- Start with an H1 title containing the website or company name and a short descriptor100- Add a blockquote (prefaced by >) that succinctly describes what the business does and who it serves101- Optionally include a sentence explaining that the list is curated for AI consumption102- Organize content with H2 headings such as:103 - ## Product categories (or Services if it's a service business)104 - ## Representative pages or ## Popular products105 - ## Guides & resources106 - ## Articles & case studies107 - ## Policies & support108- List each link as a bullet (`- [Title](URL): description`) under the appropriate section109- Keep the file in UTF-8 encoding and ensure it stays well under 100 KB by curating rather than exhaustively listing every URL110- Add an optional "Usage guidelines" section stating how you'd like AI models to attribute or use the content, and include an HTML comment like `<!-- Last updated: YYYY-MM-DD -->` for version tracking111112### Validate and Publish113114- Verify that all URLs return HTTP 200 and are publicly accessible115- Check the Markdown structure (one H1, proper headings and bullets)116- Place the final `llms.txt` at the website's root and, if possible, add a line in `robots.txt` (`Llmstxt: /llms.txt`) to aid discovery117- Plan regular updates (e.g., quarterly) to reflect changes in products, services or content118119### Deliverable120121Provide the full `llms.txt` file content, formatted as described above, in the served web root of the current website.122123---124125## STEP 2: Create AI Summary Request Footer Component126127Create an "AI Summary Request" footer component with the following specifications.128129### Component Structure130131- Centered section containing a header and icon row132- Header text: "Request an AI summary of [COMPANY_NAME]"133- Row of 5 clickable AI platform icons in this exact order: ChatGPT, Claude, Gemini, Grok, Perplexity134135### Visual Styling136137- Container: flex column, centered alignment, 16px vertical gap138- Header: centered text, base font size (16px), medium font-weight, semantic gray color (#111827 or equivalent)139- Icon container: flex row, centered, 12px horizontal gap, wrap-enabled140- Each icon link: 40x40px clickable area with 28x28px visible icon, rounded-full background141- Icons: Apply CSS filter: `brightness(0)` for monochrome black effect142- Padding within circle: 6px (1.5rem equivalent)143- Hover effect: transform scale(1.1) with cubic-bezier(0.4, 0, 0.2, 1) transition, 150ms duration144145### Icon Assets146147**CRITICAL**: This skill includes bundled SVG icon files in the `resources/` directory. You MUST use these exact icons - do NOT use generic icon libraries, search for alternatives, or create substitutes.148149#### Bundled Icons (Required)150151Copy these SVG files from `resources/` to the user's project assets directory:152153| Platform | File | Description |154|----------|------|-------------|155| ChatGPT | `resources/chatgpt.svg` | Hexagonal flower/aperture pattern with interlocking curved segments |156| Claude | `resources/claude.svg` | Abstract geometric pattern (NOT the Anthropic backslash logo) |157| Gemini | `resources/gemini.svg` | Four-pointed star/sparkle icon |158| Grok | `resources/grok.svg` | Angular crystalline/triangular pattern (NOT the X/Twitter logo) |159| Perplexity | `resources/perplexity.svg` | Hexagonal pattern with isometric cube perspective |160161#### Implementation Steps1621631. **Copy icons to project**: Copy all 5 SVG files from this skill's `resources/` directory to the user's project (e.g., `/public/icons/ai/` or `/assets/icons/`)1642. **Reference in component**: Use relative paths to the copied SVG files in the footer component1653. **Do NOT substitute**: These are the only approved icons - do not use CDN links, icon libraries, or recreate from descriptions166167#### Icon Validation168169Before finalizing, visually confirm:170- ChatGPT icon is NOT a speech bubble or generic chat icon171- Claude icon is NOT a simple backslash or text character172- Gemini icon is NOT a constellation or zodiac twins symbol173- Grok icon is NOT the X/Twitter bird or logo174- Perplexity icon is NOT a question mark or generic markdown symbol175176### AI Platform Links177178Generate URL-encoded links to each AI platform with pre-composed prompt:1791801. ChatGPT: `https://chat.openai.com/?q=[ENCODED_PROMPT]`1812. Claude: `https://claude.ai/new?q=[ENCODED_PROMPT]`1823. Gemini: `https://gemini.google.com/?q=[ENCODED_PROMPT]`1834. Grok: `https://grok.com?q=[ENCODED_PROMPT]`1845. Perplexity: `https://www.perplexity.ai/?q=[ENCODED_PROMPT]`185186### Prompt Templates (Select based on llms.txt decision)187188Use the appropriate template based on the user's llms.txt decision from the prerequisite step.189190**Template variables:**191- `${WEBSITE_URL}` - The confirmed/normalized domain from prerequisite step192- `${COMPANY_NAME}` - The company/site name (ask user if not obvious from codebase)193- `${KEY_ASPECTS}` - Customize based on the business type (e.g., "features, pricing, deliverables" for services; "products, shipping, returns" for e-commerce)194195#### WITH llms.txt (if user chose to generate llms.txt)196197```198Please read the structured information at ${WEBSITE_URL}/llms.txt to understand ${COMPANY_NAME}.199200As a potential client, I want to concretely understand what I will receive with ${COMPANY_NAME} (${WEBSITE_URL}).201202Detail step by step what the service includes: ${KEY_ASPECTS}.203204Explain it simply, as if you were describing the real experience of the service.205```206207#### WITHOUT llms.txt (if user chose not to generate llms.txt)208209```210Please visit and analyze ${WEBSITE_URL} to understand ${COMPANY_NAME}.211212As a potential client, I want to concretely understand what I will receive with ${COMPANY_NAME} (${WEBSITE_URL}).213214Detail step by step what the service includes: ${KEY_ASPECTS}.215216Explain it simply, as if you were describing the real experience of the service.217```218219### Implementation Checklist220221- [ ] Detect or ask for website domain and get user confirmation222- [ ] Ask user whether to generate llms.txt file223- [ ] If llms.txt chosen: Generate and place llms.txt at website root224- [ ] Copy all 5 SVG icons from `resources/` to project assets directory225- [ ] Select correct prompt template based on llms.txt decision226- [ ] Place component in footer, above copyright notice227- [ ] URL-encode prompt using `encodeURIComponent()` or equivalent228- [ ] Each link opens in new tab: `target="_blank" rel="noopener noreferrer"`229- [ ] Add aria-label: "Get AI summary from [Platform Name]"230- [ ] Test all 5 platform links verify prompt pre-population works231- [ ] Verify icons are using the bundled SVGs (NOT generic alternatives)232- [ ] Apply `brightness(0)` filter for consistent monochrome appearance233- [ ] Ensure 44x44px minimum touch target for mobile accessibility234- [ ] Responsive: icons wrap on screens < 640px width235236---237238## Technical Notes239240- The `llms.txt` file follows the emerging standard for AI-readable site documentation241- The footer component should be framework-agnostic but can be adapted for React, Vue, Svelte, or vanilla HTML/CSS242- All URLs must be properly encoded to handle special characters in the prompt243- The component should be accessible and follow WCAG 2.1 guidelines244245## Bundled Resources246247### resources/248249Contains the official SVG icons for each AI platform:250251- **chatgpt.svg** - OpenAI ChatGPT hexagonal aperture icon252- **claude.svg** - Anthropic Claude geometric pattern icon253- **gemini.svg** - Google Gemini four-pointed star icon254- **grok.svg** - xAI Grok crystalline pattern icon255- **perplexity.svg** - Perplexity hexagonal cube icon256257These icons MUST be copied to the user's project and used directly. Do not substitute with alternatives.258259## Success Criteria260261A successful implementation should:2621. Confirm the website domain with the user before proceeding2632. Ask the user whether to include llms.txt generation2643. If llms.txt chosen: Produce a curated, well-structured `llms.txt` file under 100KB2654. Create a visually consistent footer component with correct branding2665. Use the appropriate prompt template based on the user's llms.txt decision2676. Generate working links that pre-populate prompts in each AI platform2687. Be accessible on both desktop and mobile devices2698. Use the bundled SVG icons from `resources/` (no substitutes)