[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6Q3TTDN81GVDAQXVXAS00D8":3,"skill-same:01M6Q3TTDN81GVDAQXVXAS00D8":131},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6Q3TTDN81GVDAQXVXAS00D8","trmnl",null,"Generate content for TRMNL e-ink display devices using the TRMNL CSS framework. Use when the user wants to display information on their TRMNL device, send messages to an e-ink display, create dashboard content, show notifications, or update their terminal display. Supports rich layouts with the TRMNL framework (flexbox, grid, tables, progress bars, typography utilities) and sends content via webhook API.","Kernel8901\u002Fai-agent-skills-classification","Kernel8901","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72647553?v=4","01M6KV388J2H5PNC8D8P940BJD","01M6KV38CS5B3AY63RKZB410YM",7,"MIT","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[5,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"show","send","display","tables","Utilities","information","ink","progress","webhook","css","typography","api","messages","notifications","update","generate","create","dashboard","terminal","2026-11-10 10:12:30",false,"---\nname: trmnl\ndescription: Generate content for TRMNL e-ink display devices using the TRMNL CSS framework. Use when the user wants to display information on their TRMNL device, send messages to an e-ink display, create dashboard content, show notifications, or update their terminal display. Supports rich layouts with the TRMNL framework (flexbox, grid, tables, progress bars, typography utilities) and sends content via webhook API.\n---\n\n# TRMNL Content Generator\n\nGenerate HTML content for TRMNL e-ink display devices.\n\n## Quick Start Workflow\n\n1. Check for `$TRMNL_WEBHOOK` environment variable\n2. If missing, prompt user for webhook URL\n3. **Ask user to verify TRMNL display markup is set to:** `\u003Cdiv>{{content}}\u003C\u002Fdiv>`\n4. Confirm device type (default: TRMNL OG, 2-bit, 800x480)\n5. Read relevant reference docs based on content needs\n6. Generate HTML using TRMNL framework classes\n7. Send via POST to webhook (use temp file method)\n8. **Send minimal confirmation only** - Do NOT echo content back to chat\n\n## Device & Setup\n\n**Default target:** TRMNL OG (7.5\" e-ink, 800x480px, 2-bit)\n\n**Display markup required:**\n```html\n\u003Cdiv>{{content}}\u003C\u002Fdiv>\n```\n\n**Webhook:**\n```bash\nexport TRMNL_WEBHOOK=\"https:\u002F\u002Ftrmnl.com\u002Fapi\u002Fcustom_plugins\u002F{uuid}\"\n```\n\n**Sending content (temp file method):**\n```bash\ncat > \u002Ftmp\u002Ftrmnl.json \u003C\u003C 'EOF'\n{\"merge_variables\":{\"content\":\"\u003Cdiv class=\\\"layout\\\">HTML\u003C\u002Fdiv>\"}}\nEOF\ncurl \"$TRMNL_WEBHOOK\" -H \"Content-Type: application\u002Fjson\" -d @\u002Ftmp\u002Ftrmnl.json -X POST\n```\n\n## Webhook Limits\n\n| Tier | Payload Size | Rate Limit |\n|------|--------------|------------|\n| Free | **2 KB** (2,048 bytes) | 12 requests\u002Fhour |\n| TRMNL+ | **5 KB** (5,120 bytes) | 30 requests\u002Fhour |\n\n**Check payload size before sending:**\n```bash\npython3 scripts\u002Fcheck_payload.py \u002Ftmp\u002Ftrmnl.json\n```\n\n**Tips to reduce payload size:**\n- Minify HTML (remove unnecessary whitespace)\n- Use framework classes instead of inline styles\n- Use short class names the framework provides\n- Remove comments from HTML\n- Use `deep_merge` strategy for incremental updates\n\n## Reference Documentation\n\nRead these files as needed:\n\n| File | When to Read |\n|------|--------------|\n| `references\u002Fpatterns.md` | **Start here** - Common plugin patterns from official examples |\n| `references\u002Fframework-overview.md` | Device specs, e-ink constraints, responsive prefixes |\n| `references\u002Fcss-utilities.md` | Colors, typography, sizing, spacing utilities |\n| `references\u002Flayout-systems.md` | Flexbox, grid, overflow\u002Fclamp engines |\n| `references\u002Fcomponents.md` | Title bar, dividers, items, tables, charts |\n| `references\u002Fwebhook-api.md` | Payload format, rate limits, troubleshooting |\n| `assets\u002Fanti-patterns.md` | Common mistakes to avoid |\n| `assets\u002Fgood-examples\u002F` | HTML reference implementations |\n\n**Scripts:**\n| Script | Purpose |\n|--------|---------|\n| `scripts\u002Fcheck_payload.py` | Verify payload size before sending (run on \u002Ftmp\u002Ftrmnl.json) |\n\n## Standard Plugin Structure\n\n**Every plugin follows this pattern:**\n\n```html\n\u003Cdiv class=\"layout layout--col gap--space-between\">\n  \u003C!-- Content sections separated by dividers -->\n\u003C\u002Fdiv>\n\u003Cdiv class=\"title_bar\">\n  \u003Cimg class=\"image\" src=\"icon.svg\">\n  \u003Cspan class=\"title\">Plugin Name\u003C\u002Fspan>\n  \u003Cspan class=\"instance\">Context\u003C\u002Fspan>\n\u003C\u002Fdiv>\n```\n\n- `layout` + `layout--col` = vertical flex container\n- `gap--space-between` = push sections to edges\n- `title_bar` = always at bottom, outside layout\n- `divider` = separate major sections\n- **CRITICAL:** Only ONE `.layout` element per view (no nesting)\n\n## Grid System (10-Column)\n\nColumn spans should sum to 10:\n\n```html\n\u003Cdiv class=\"grid\">\n  \u003Cdiv class=\"col--span-3\">30%\u003C\u002Fdiv>\n  \u003Cdiv class=\"col--span-7\">70%\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n```\n\nSimple equal columns: `grid--cols-2`, `grid--cols-3`, etc.\n\n## Item Component\n\nStandard data display pattern:\n\n```html\n\u003Cdiv class=\"item\">\n  \u003Cdiv class=\"meta\">\u003Cspan class=\"index\">1\u003C\u002Fspan>\u003C\u002Fdiv>\n  \u003Cdiv class=\"content\">\n    \u003Cspan class=\"value value--xlarge value--tnums\">$159,022\u003C\u002Fspan>\n    \u003Cspan class=\"label\">Total Sales\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n```\n\n## Value Typography\n\n**Always use `value--tnums` for numbers.**\n\n| Class | Usage |\n|-------|-------|\n| `value--xxxlarge` | Hero KPIs |\n| `value--xxlarge` | Large prices |\n| `value--xlarge` | Secondary metrics |\n| `value--small` | Tertiary data |\n| `value--tnums` | **Always for numbers** |\n\nAuto-fit: `\u003Cspan class=\"value\" data-fit-value=\"true\">...\u003C\u002Fspan>`\n\n## Columns (for Lists)\n\n```html\n\u003Cdiv class=\"columns\">\n  \u003Cdiv class=\"column\" data-overflow=\"true\" data-overflow-counter=\"true\">\n    \u003Cspan class=\"label label--medium group-header\">Section\u003C\u002Fspan>\n    \u003Cdiv class=\"item\">...\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n```\n\n## Grayscale Dithering\n\nUse dithered classes, not inline gray colors:\n- `bg--black`, `bg--gray-60`, `bg--gray-30`, `bg--gray-10`, `bg--white`\n- `text--black`, `text--gray-50`\n\n## Data Attributes\n\n| Attribute | Purpose |\n|-----------|---------|\n| `data-fit-value=\"true\"` | Auto-resize text to fit |\n| `data-value-format=\"true\"` | Auto-format numbers (locale-aware) |\n| `data-clamp=\"N\"` | Limit to N lines |\n| `data-overflow=\"true\"` | Enable overflow management |\n| `data-overflow-counter=\"true\"` | Show \"and X more\" |\n| `data-overflow-max-cols=\"N\"` | Max columns for overflow |\n| `data-content-limiter=\"true\"` | Auto-adjust text size |\n| `data-pixel-perfect=\"true\"` | Crisp text rendering |\n| `data-table-limit=\"true\"` | Table overflow with \"and X more\" |\n\n## Label & Title Variants\n\n```html\n\u003Cspan class=\"label label--small\">Small\u003C\u002Fspan>\n\u003Cspan class=\"label label--medium\">Medium\u003C\u002Fspan>\n\u003Cspan class=\"label label--underline\">Underlined\u003C\u002Fspan>\n\u003Cspan class=\"label label--gray\">Muted\u002Fcompleted\u003C\u002Fspan>\n\u003Cspan class=\"title title--small\">Compact title\u003C\u002Fspan>\n```\n\n## Gap Utilities\n\n`gap--space-between` | `gap--xxlarge` | `gap--xlarge` | `gap--large` | `gap--medium` | `gap` | `gap--small` | `gap--xsmall` | `gap--none`\n\n## Typography Guidelines\n\n**Recommended:** Georgia serif font for e-ink readability.\n\n**Content-aware sizing:**\n- Short content = bigger fonts (24-28px body)\n- Long content = smaller fonts (20px body)\n- Headings: 36-48px\n\n## User Experience\n\n**Critical:** Do NOT echo content back to chat. Just confirm \"Sent to TRMNL\".\n\n## Anti-Patterns\n\n1. Tiny fonts for short content\n2. Center-aligning columns with different lengths (use `layout--start`)\n3. Spoiling content in chat confirmation\n4. Missing `value--tnums` on numbers\n5. Missing `title_bar`\n6. Not using `data-fit-value` on primary metrics\n7. Skipping `data-overflow` on variable lists\n8. Using inline gray colors instead of `bg--gray-*`\n9. Forgetting dividers between sections\n\n## Best Practices\n\n1. Verify `\u003Cdiv>{{content}}\u003C\u002Fdiv>` display markup\n2. Use `layout` + `title_bar` structure\n3. Always `value--tnums` for numbers\n4. Use `data-fit-value` on primary metrics\n5. Use `data-overflow` on variable lists\n6. Use `item` component pattern\n7. Use `divider` between sections\n8. Use `bg--gray-*` dithered classes\n9. Content-aware font sizing\n10. Top-align columns (`layout--start`)\n11. Temp file method for curl\n12. Minimal confirmations\n\n## Mashup Layouts (Multi-Plugin)\n\nFor dashboard views with multiple plugins:\n\n| Layout | Description |\n|--------|-------------|\n| `mashup--1Lx1R` | 2 columns (50\u002F50) |\n| `mashup--1Tx1B` | 2 rows (50\u002F50) |\n| `mashup--2x2` | 4 quadrants |\n\nSee `references\u002Flayout-systems.md` for all 7 layouts.\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| Webhook fails | Verify URL, check rate limits (12\u002Fhour free) |\n| Content missing | Check display markup is `\u003Cdiv>{{content}}\u003C\u002Fdiv>` |\n| Payload too large | Run `scripts\u002Fcheck_payload.py`, keep under 2KB (free) or 5KB (TRMNL+) |\n| Numbers misaligned | Add `value--tnums` |\n| Text overflow | Use `data-clamp` or `data-overflow` |\n| Columns misaligned | Use `layout--start` not `layout--center` |\n| Multiple layouts error | Keep only ONE `.layout` element per view |\n| Nested content fails | Use `.richtext` for nested\u002Fformatted content |\n","# TRMNL Content Generator\n\nGenerate HTML content for TRMNL e-ink display devices.\n\n## Quick Start Workflow\n\n1. Check for `$TRMNL_WEBHOOK` environment variable\n2. If missing, prompt user for webhook URL\n3. **Ask user to verify TRMNL display markup is set to:** `\u003Cdiv>{{content}}\u003C\u002Fdiv>`\n4. Confirm device type (default: TRMNL OG, 2-bit, 800x480)\n5. Read relevant reference docs based on content needs\n6. Generate HTML using TRMNL framework classes\n7. Send via POST to webhook (use temp file method)\n8. **Send minimal confirmation only** - Do NOT echo content back to chat\n\n## Device & Setup\n\n**Default target:** TRMNL OG (7.5\" e-ink, 800x480px, 2-bit)\n\n**Display markup required:**\n```html\n\u003Cdiv>{{content}}\u003C\u002Fdiv>\n```\n\n**Webhook:**\n```bash\nexport TRMNL_WEBHOOK=\"https:\u002F\u002Ftrmnl.com\u002Fapi\u002Fcustom_plugins\u002F{uuid}\"\n```\n\n**Sending content (temp file method):**\n```bash\ncat > \u002Ftmp\u002Ftrmnl.json \u003C\u003C 'EOF'\n{\"merge_variables\":{\"content\":\"\u003Cdiv class=\\\"layout\\\">HTML\u003C\u002Fdiv>\"}}\nEOF\ncurl \"$TRMNL_WEBHOOK\" -H \"Content-Type: application\u002Fjson\" -d @\u002Ftmp\u002Ftrmnl.json -X POST\n```\n\n## Webhook Limits\n\n| Tier | Payload Size | Rate Limit |\n|------|--------------|------------|\n| Free | **2 KB** (2,048 bytes) | 12 requests\u002Fhour |\n| TRMNL+ | **5 KB** (5,120 bytes) | 30 requests\u002Fhour |\n\n**Check payload size before sending:**\n```bash\npython3 scripts\u002Fcheck_payload.py \u002Ftmp\u002Ftrmnl.json\n```\n\n**Tips to reduce payload size:**\n- Minify HTML (remove unnecessary whitespace)\n- Use framework classes instead of inline styles\n- Use short class names the framework provides\n- Remove comments from HTML\n- Use `deep_merge` strategy for incremental updates\n\n## Reference Documentation\n\nRead these files as needed:\n\n| File | When to Read |\n|------|--------------|\n| `references\u002Fpatterns.md` | **Start here** - Common plugin patterns from official examples |\n| `references\u002Fframework-overview.md` | Device specs, e-ink constraints, responsive prefixes |\n| `references\u002Fcss-utilities.md` | Colors, typography, sizing, spacing utilities |\n| `references\u002Flayout-systems.md` | Flexbox, grid, overflow\u002Fclamp engines |\n| `references\u002Fcomponents.md` | Title bar, dividers, items, tables, charts |\n| `references\u002Fwebhook-api.md` | Payload format, rate limits, troubleshooting |\n| `assets\u002Fanti-patterns.md` | Common mistakes to avoid |\n| `assets\u002Fgood-examples\u002F` | HTML reference implementations |\n\n**Scripts:**\n| Script | Purpose |\n|--------|---------|\n| `scripts\u002Fcheck_payload.py` | Verify payload size before sending (run on \u002Ftmp\u002Ftrmnl.json) |\n\n## Standard Plugin Structure\n\n**Every plugin follows this pattern:**\n\n```html\n\u003Cdiv class=\"layout layout--col gap--space-between\">\n  \u003C!-- Content sections separated by dividers -->\n\u003C\u002Fdiv>\n\u003Cdiv class=\"title_bar\">\n  \u003Cimg class=\"image\" src=\"icon.svg\">\n  \u003Cspan class=\"title\">Plugin Name\u003C\u002Fspan>\n  \u003Cspan class=\"instance\">Context\u003C\u002Fspan>\n\u003C\u002Fdiv>\n```\n\n- `layout` + `layout--col` = vertical flex container\n- `gap--space-between` = push sections to edges\n- `title_bar` = always at bottom, outside layout\n- `divider` = separate major sections\n- **CRITICAL:** Only ONE `.layout` element per view (no nesting)\n\n## Grid System (10-Column)\n\nColumn spans should sum to 10:\n\n```html\n\u003Cdiv class=\"grid\">\n  \u003Cdiv class=\"col--span-3\">30%\u003C\u002Fdiv>\n  \u003Cdiv class=\"col--span-7\">70%\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n```\n\nSimple equal columns: `grid--cols-2`, `grid--cols-3`, etc.\n\n## Item Component\n\nStandard data display pattern:\n\n```html\n\u003Cdiv class=\"item\">\n  \u003Cdiv class=\"meta\">\u003Cspan class=\"index\">1\u003C\u002Fspan>\u003C\u002Fdiv>\n  \u003Cdiv class=\"content\">\n    \u003Cspan class=\"value value--xlarge value--tnums\">$159,022\u003C\u002Fspan>\n    \u003Cspan class=\"label\">Total Sales\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n```\n\n## Value Typography\n\n**Always use `value--tnums` for numbers.**\n\n| Class | Usage |\n|-------|-------|\n| `value--xxxlarge` | Hero KPIs |\n| `value--xxlarge` | Large prices |\n| `value--xlarge` | Secondary metrics |\n| `value--small` | Tertiary data |\n| `value--tnums` | **Always for numbers** |\n\nAuto-fit: `\u003Cspan class=\"value\" data-fit-value=\"true\">...\u003C\u002Fspan>`\n\n## Columns (for Lists)\n\n```html\n\u003Cdiv class=\"columns\">\n  \u003Cdiv class=\"column\" data-overflow=\"true\" data-overflow-counter=\"true\">\n    \u003Cspan class=\"label label--medium group-header\">Section\u003C\u002Fspan>\n    \u003Cdiv class=\"item\">...\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n```\n\n## Grayscale Dithering\n\nUse dithered classes, not inline gray colors:\n- `bg--black`, `bg--gray-60`, `bg--gray-30`, `bg--gray-10`, `bg--white`\n- `text--black`, `text--gray-50`\n\n## Data Attributes\n\n| Attribute | Purpose |\n|-----------|---------|\n| `data-fit-value=\"true\"` | Auto-resize text to fit |\n| `data-value-format=\"true\"` | Auto-format numbers (locale-aware) |\n| `data-clamp=\"N\"` | Limit to N lines |\n| `data-overflow=\"true\"` | Enable overflow management |\n| `data-overflow-counter=\"true\"` | Show \"and X more\" |\n| `data-overflow-max-cols=\"N\"` | Max columns for overflow |\n| `data-content-limiter=\"true\"` | Auto-adjust text size |\n| `data-pixel-perfect=\"true\"` | Crisp text rendering |\n| `data-table-limit=\"true\"` | Table overflow with \"and X more\" |\n\n## Label & Title Variants\n\n```html\n\u003Cspan class=\"label label--small\">Small\u003C\u002Fspan>\n\u003Cspan class=\"label label--medium\">Medium\u003C\u002Fspan>\n\u003Cspan class=\"label label--underline\">Underlined\u003C\u002Fspan>\n\u003Cspan class=\"label label--gray\">Muted\u002Fcompleted\u003C\u002Fspan>\n\u003Cspan class=\"title title--small\">Compact title\u003C\u002Fspan>\n```\n\n## Gap Utilities\n\n`gap--space-between` | `gap--xxlarge` | `gap--xlarge` | `gap--large` | `gap--medium` | `gap` | `gap--small` | `gap--xsmall` | `gap--none`\n\n## Typography Guidelines\n\n**Recommended:** Georgia serif font for e-ink readability.\n\n**Content-aware sizing:**\n- Short content = bigger fonts (24-28px body)\n- Long content = smaller fonts (20px body)\n- Headings: 36-48px\n\n## User Experience\n\n**Critical:** Do NOT echo content back to chat. Just confirm \"Sent to TRMNL\".\n\n## Anti-Patterns\n\n1. Tiny fonts for short content\n2. Center-aligning columns with different lengths (use `layout--start`)\n3. Spoiling content in chat confirmation\n4. Missing `value--tnums` on numbers\n5. Missing `title_bar`\n6. Not using `data-fit-value` on primary metrics\n7. Skipping `data-overflow` on variable lists\n8. Using inline gray colors instead of `bg--gray-*`\n9. Forgetting dividers between sections\n\n## Best Practices\n\n1. Verify `\u003Cdiv>{{content}}\u003C\u002Fdiv>` display markup\n2. Use `layout` + `title_bar` structure\n3. Always `value--tnums` for numbers\n4. Use `data-fit-value` on primary metrics\n5. Use `data-overflow` on variable lists\n6. Use `item` component pattern\n7. Use `divider` between sections\n8. Use `bg--gray-*` dithered classes\n9. Content-aware font sizing\n10. Top-align columns (`layout--start`)\n11. Temp file method for curl\n12. Minimal confirmations\n\n## Mashup Layouts (Multi-Plugin)\n\nFor dashboard views with multiple plugins:\n\n| Layout | Description |\n|--------|-------------|\n| `mashup--1Lx1R` | 2 columns (50\u002F50) |\n| `mashup--1Tx1B` | 2 rows (50\u002F50) |\n| `mashup--2x2` | 4 quadrants |\n\nSee `references\u002Flayout-systems.md` for all 7 layouts.\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| Webhook fails | Verify URL, check rate limits (12\u002Fhour free) |\n| Content missing | Check display markup is `\u003Cdiv>{{content}}\u003C\u002Fdiv>` |\n| Payload too large | Run `scripts\u002Fcheck_payload.py`, keep under 2KB (free) or 5KB (TRMNL+) |\n| Numbers misaligned | Add `value--tnums` |\n| Text overflow | Use `data-clamp` or `data-overflow` |\n| Columns misaligned | Use `layout--start` not `layout--center` |\n| Multiple layouts error | Keep only ONE `.layout` element per view |\n| Nested content fails | Use `.richtext` for nested\u002Fformatted content |\n",{"name":5,"description":7},"main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","网页与前端开发\u002Ftrmnl",1,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification","https:\u002F\u002Fgithub.com\u002FKernel8901","a little little little dobe in life but science geek","2026-04-05 16:43:56",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill trmnl",{"tool":61,"command":62},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill trmnl",{"tool":64,"command":65},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill trmnl","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002FSKILL.md",true,[69,75,81,85,89,93,97,101,105,109,113,117,121,125],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"_meta.json","REFERENCE","参考文档",450,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002F_meta.json",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"assets\u002Fanti-patterns.md","ASSET","资产文件",6232,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Fassets\u002Fanti-patterns.md",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"assets\u002Fgood-examples\u002Fsimple-message.html",391,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Fassets\u002Fgood-examples\u002Fsimple-message.html",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"assets\u002Fgood-examples\u002Fstats-dashboard.html",1215,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Fassets\u002Fgood-examples\u002Fstats-dashboard.html",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"assets\u002Fgood-examples\u002Ftable-data.html",1213,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Fassets\u002Fgood-examples\u002Ftable-data.html",{"path":94,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":95,"sourceHtmlUrl":96},"assets\u002Fgood-examples\u002Ftask-list.html",1153,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Fassets\u002Fgood-examples\u002Ftask-list.html",{"path":98,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":99,"sourceHtmlUrl":100},"assets\u002Fgood-examples\u002Ftwo-column-image.html",656,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Fassets\u002Fgood-examples\u002Ftwo-column-image.html",{"path":102,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fcomponents.md",8367,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Freferences\u002Fcomponents.md",{"path":106,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Fcss-utilities.md",6652,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Freferences\u002Fcss-utilities.md",{"path":110,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":111,"sourceHtmlUrl":112},"references\u002Fframework-overview.md",4802,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Freferences\u002Fframework-overview.md",{"path":114,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":115,"sourceHtmlUrl":116},"references\u002Flayout-systems.md",8052,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Freferences\u002Flayout-systems.md",{"path":118,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":119,"sourceHtmlUrl":120},"references\u002Fpatterns.md",10115,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Freferences\u002Fpatterns.md",{"path":122,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":123,"sourceHtmlUrl":124},"references\u002Fwebhook-api.md",5162,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Freferences\u002Fwebhook-api.md",{"path":126,"resourceType":127,"resourceTypeDesc":128,"sizeBytes":129,"sourceHtmlUrl":130},"scripts\u002Fcheck_payload.py","SCRIPT","脚本",2416,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Ftrmnl\u002Fscripts\u002Fcheck_payload.py",[132,156,189,200,210,240],{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":42},"01M6Q5R6WZ06RRB9RQTW54B34B","zyfai","Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit\u002Fwithdraw anytime.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzyfai-sdk\u002FSKILL.md",[],[134,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155],"safe","ethereum","defi","Optimization","user","use","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":157,"name":158,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":172,"publishedAt":42},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[161,166,169],{"categoryNo":162,"categoryName":163,"taxonomyType":164,"taxonomyTypeDesc":165},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":167,"categoryName":168,"taxonomyType":164,"taxonomyTypeDesc":165},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":170,"categoryName":171,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000030","开发工程师",[34,173,174,175,176,177,178,141,179,145,180,181,182,183,184,185,186,187,188],"zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":190,"name":191,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":197,"publishedAt":42},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[194,195,196],{"categoryNo":162,"categoryName":163,"taxonomyType":164,"taxonomyTypeDesc":165},{"categoryNo":167,"categoryName":168,"taxonomyType":164,"taxonomyTypeDesc":165},{"categoryNo":170,"categoryName":171,"taxonomyType":20,"taxonomyTypeDesc":21},[34,198,199,173,174,175,176,177,178,141,179,145,181,182,183,184,185,186,187,188],"api skill","zerion api skill",{"skillNo":201,"name":202,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":208,"publishedAt":42},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[205,206,207],{"categoryNo":162,"categoryName":163,"taxonomyType":164,"taxonomyTypeDesc":165},{"categoryNo":167,"categoryName":168,"taxonomyType":164,"taxonomyTypeDesc":165},{"categoryNo":170,"categoryName":171,"taxonomyType":20,"taxonomyTypeDesc":21},[175,34,209,173,174,176,177,141,179,145,180,181,182,183,184,185,186,187,188],"zerion api mcp",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":219,"publishedAt":42},"01M6Q5QQYZB7A501BDEQWKGSJT","yahoo-finance-forex","Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR\u002FUSD, GBP\u002FUSD, USD\u002FJPY, etc.). Analyzes sentiment and provides trading context.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-forex\u002FSKILL.md",[216],{"categoryNo":217,"categoryName":218,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000040","财务",[220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","real-time","python3","install","Market","usd","news","time","currency","gbp","pip","market data","for",{"skillNo":241,"name":242,"nameZh":6,"description":243,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":244,"categories":245,"keywords":247,"publishedAt":42},"01M6Q5QM6VS84WZVM7BKXXPF32","yahoo-finance","This skill should be used when the user asks to \"get stock prices\", \"check stock quotes\", \"look up earnings\", \"get financial data\", \"find trending stocks\", or needs stock market data from Yahoo Finance.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-cli\u002FSKILL.md",[246],{"categoryNo":217,"categoryName":218,"taxonomyType":20,"taxonomyTypeDesc":21},[220,221,223,248,249,250,251,252,253,231,254,255,256,257,258,259,260,261,188,238],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]