[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XGHEMSTG96JZ20YNWXF0MR":3,"skill-same:01M6XGHEMSTG96JZ20YNWXF0MR":66},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":14,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M6XGHEMSTG96JZ20YNWXF0MR","favicon",null,"Generate favicons from a source image","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Ffavicon\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34],"image","generate","Bash","community","cp","mkdir","which","path","source","unknown","fork","2026-11-10 10:12:30",false,"---\nname: favicon\nargument-hint: [path to source image]\ndescription: Generate favicons from a source image\nallowed-tools: Bash(magick *), Bash(which *), Bash(cp *), Bash(mkdir *)\ncontext: fork\nrisk: unknown\nsource: community\nmetadata:\n  author: Shpigford\n  version: \"1.0\"\n---\n\nGenerate a complete set of favicons from the source image at `$1` and update the project's HTML with the appropriate link tags.\n\n## Prerequisites\n\nFirst, verify ImageMagick v7+ is installed by running:\n```bash\nwhich magick\n```\n\nIf not found, stop and instruct the user to install it:\n- **macOS**: `brew install imagemagick`\n- **Linux**: `sudo apt install imagemagick`\n\n## Step 1: Validate Source Image\n\n1. Verify the source image exists at the provided path: `$1`\n2. Check the file extension is a supported format (PNG, JPG, JPEG, SVG, WEBP, GIF)\n3. If the file doesn't exist or isn't a valid image format, report the error and stop\n\nNote whether the source is an SVG file - if so, it will also be copied as `favicon.svg`.\n\n## Step 2: Detect Project Type and Static Assets Directory\n\nDetect the project type and determine where static assets should be placed. Check in this order:\n\n| Framework | Detection | Static Assets Directory |\n|-----------|-----------|------------------------|\n| **Rails** | `config\u002Froutes.rb` exists | `public\u002F` |\n| **Next.js** | `next.config.*` exists | `public\u002F` |\n| **Gatsby** | `gatsby-config.*` exists | `static\u002F` |\n| **SvelteKit** | `svelte.config.*` exists | `static\u002F` |\n| **Astro** | `astro.config.*` exists | `public\u002F` |\n| **Hugo** | `hugo.toml` or `config.toml` with Hugo markers | `static\u002F` |\n| **Jekyll** | `_config.yml` with Jekyll markers | Root directory (same as `index.html`) |\n| **Vite** | `vite.config.*` exists | `public\u002F` |\n| **Create React App** | `package.json` has `react-scripts` dependency | `public\u002F` |\n| **Vue CLI** | `vue.config.*` exists | `public\u002F` |\n| **Angular** | `angular.json` exists | `src\u002Fassets\u002F` |\n| **Eleventy** | `.eleventy.js` or `eleventy.config.*` exists | Check `_site` output or root |\n| **Static HTML** | `index.html` in root | Same directory as `index.html` |\n\n**Important**: If existing favicon files are found (e.g., `favicon.ico`, `apple-touch-icon.png`), use their location as the target directory regardless of framework detection.\n\nReport the detected project type and the static assets directory that will be used.\n\n**When in doubt, ask**: If you are not 100% confident about where static assets should be placed (e.g., ambiguous project structure, multiple potential locations, unfamiliar framework), use `AskUserQuestionTool` to confirm the target directory before proceeding. It's better to ask than to put files in the wrong place.\n\n## Step 3: Determine App Name\n\nFind the app name from these sources (in priority order):\n\n1. **Existing `site.webmanifest`** - Check the detected static assets directory for an existing manifest and extract the `name` field\n2. **`package.json`** - Extract the `name` field if it exists\n3. **Rails `config\u002Fapplication.rb`** - Extract the module name (e.g., `module MyApp` → \"MyApp\")\n4. **Directory name** - Use the current working directory name as fallback\n\nConvert the name to title case if needed (e.g., \"my-app\" → \"My App\").\n\n## Step 4: Ensure Static Assets Directory Exists\n\nCheck if the detected static assets directory exists. If not, create it.\n\n## Step 5: Generate Favicon Files\n\nRun these ImageMagick commands to generate all favicon files. Replace `[STATIC_DIR]` with the detected static assets directory from Step 2.\n\n**Important**: The `-background none` flag must come BEFORE the input file to properly preserve transparency when rendering SVGs. Placing it after the input will result in a white background.\n\n### favicon.ico (multi-resolution: 16x16, 32x32, 48x48)\n```bash\nmagick -background none \"$1\" \\\n  \\( -clone 0 -resize 16x16 \\) \\\n  \\( -clone 0 -resize 32x32 \\) \\\n  \\( -clone 0 -resize 48x48 \\) \\\n  -delete 0 -alpha on \\\n  [STATIC_DIR]\u002Ffavicon.ico\n```\n\n### favicon-96x96.png\n```bash\nmagick -background none \"$1\" -resize 96x96 -alpha on [STATIC_DIR]\u002Ffavicon-96x96.png\n```\n\n### apple-touch-icon.png (180x180)\n```bash\nmagick -background none \"$1\" -resize 180x180 -alpha on [STATIC_DIR]\u002Fapple-touch-icon.png\n```\n\n### web-app-manifest-192x192.png\n```bash\nmagick -background none \"$1\" -resize 192x192 -alpha on [STATIC_DIR]\u002Fweb-app-manifest-192x192.png\n```\n\n### web-app-manifest-512x512.png\n```bash\nmagick -background none \"$1\" -resize 512x512 -alpha on [STATIC_DIR]\u002Fweb-app-manifest-512x512.png\n```\n\n### favicon.svg (only if source is SVG)\nIf the source file has a `.svg` extension, copy it:\n```bash\ncp \"$1\" [STATIC_DIR]\u002Ffavicon.svg\n```\n\n## Step 6: Create\u002FUpdate site.webmanifest\n\nCreate or update `[STATIC_DIR]\u002Fsite.webmanifest` with this content (substitute the detected app name):\n\n```json\n{\n  \"name\": \"[APP_NAME]\",\n  \"short_name\": \"[APP_NAME]\",\n  \"icons\": [\n    {\n      \"src\": \"\u002Fweb-app-manifest-192x192.png\",\n      \"sizes\": \"192x192\",\n      \"type\": \"image\u002Fpng\",\n      \"purpose\": \"maskable\"\n    },\n    {\n      \"src\": \"\u002Fweb-app-manifest-512x512.png\",\n      \"sizes\": \"512x512\",\n      \"type\": \"image\u002Fpng\",\n      \"purpose\": \"maskable\"\n    }\n  ],\n  \"theme_color\": \"#ffffff\",\n  \"background_color\": \"#ffffff\",\n  \"display\": \"standalone\"\n}\n```\n\nIf `site.webmanifest` already exists in the static directory, preserve the existing `theme_color`, `background_color`, and `display` values while updating the `name`, `short_name`, and `icons` array.\n\n## Step 7: Update HTML\u002FLayout Files\n\nBased on the detected project type, update the appropriate file. Adjust the `href` paths based on where the static assets directory is relative to the web root:\n- If static files are in `public\u002F` or `static\u002F` and served from root → use `\u002Ffavicon.ico`\n- If static files are in `src\u002Fassets\u002F` → use `\u002Fassets\u002Ffavicon.ico`\n- If static files are in the same directory as HTML → use `.\u002Ffavicon.ico` or just `favicon.ico`\n\n### For Rails Projects\n\nEdit `app\u002Fviews\u002Flayouts\u002Fapplication.html.erb`. Find the `\u003Chead>` section and add\u002Freplace favicon-related tags with:\n\n```html\n\u003Clink rel=\"icon\" type=\"image\u002Fpng\" href=\"\u002Ffavicon-96x96.png\" sizes=\"96x96\" \u002F>\n\u003Clink rel=\"icon\" type=\"image\u002Fsvg+xml\" href=\"\u002Ffavicon.svg\" \u002F>\n\u003Clink rel=\"shortcut icon\" href=\"\u002Ffavicon.ico\" \u002F>\n\u003Clink rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"\u002Fapple-touch-icon.png\" \u002F>\n\u003Cmeta name=\"apple-mobile-web-app-title\" content=\"[APP_NAME]\" \u002F>\n\u003Clink rel=\"manifest\" href=\"\u002Fsite.webmanifest\" \u002F>\n```\n\n**Important**:\n- If the source was NOT an SVG, omit the `\u003Clink rel=\"icon\" type=\"image\u002Fsvg+xml\" href=\"\u002Ffavicon.svg\" \u002F>` line\n- Remove any existing `\u003Clink rel=\"icon\"`, `\u003Clink rel=\"shortcut icon\"`, `\u003Clink rel=\"apple-touch-icon\"`, or `\u003Clink rel=\"manifest\"` tags before adding the new ones\n- Place these tags near the top of the `\u003Chead>` section, after `\u003Cmeta charset>` and `\u003Cmeta name=\"viewport\">` if present\n\n### For Next.js Projects\n\nEdit the detected layout file (`app\u002Flayout.tsx` or `src\u002Fapp\u002Flayout.tsx`). Update or add the `metadata` export to include icons configuration:\n\n```typescript\nexport const metadata: Metadata = {\n  \u002F\u002F ... keep existing metadata fields\n  icons: {\n    icon: [\n      { url: '\u002Ffavicon.ico' },\n      { url: '\u002Ffavicon-96x96.png', sizes: '96x96', type: 'image\u002Fpng' },\n      { url: '\u002Ffavicon.svg', type: 'image\u002Fsvg+xml' },\n    ],\n    shortcut: '\u002Ffavicon.ico',\n    apple: '\u002Fapple-touch-icon.png',\n  },\n  manifest: '\u002Fsite.webmanifest',\n  appleWebApp: {\n    title: '[APP_NAME]',\n  },\n};\n```\n\n**Important**:\n- If the source was NOT an SVG, omit the `{ url: '\u002Ffavicon.svg', type: 'image\u002Fsvg+xml' }` entry from the icon array\n- If metadata export doesn't exist, create it with just the icons-related fields\n- If metadata export exists, merge the icons configuration with existing fields\n\n### For Static HTML Projects\n\nEdit the detected `index.html` file. Add the same HTML as Rails within the `\u003Chead>` section.\n\n### If No Project Detected\n\nSkip HTML updates and inform the user they need to manually add the following to their HTML `\u003Chead>`:\n\n```html\n\u003Clink rel=\"icon\" type=\"image\u002Fpng\" href=\"\u002Ffavicon-96x96.png\" sizes=\"96x96\" \u002F>\n\u003Clink rel=\"icon\" type=\"image\u002Fsvg+xml\" href=\"\u002Ffavicon.svg\" \u002F>\n\u003Clink rel=\"shortcut icon\" href=\"\u002Ffavicon.ico\" \u002F>\n\u003Clink rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"\u002Fapple-touch-icon.png\" \u002F>\n\u003Cmeta name=\"apple-mobile-web-app-title\" content=\"[APP_NAME]\" \u002F>\n\u003Clink rel=\"manifest\" href=\"\u002Fsite.webmanifest\" \u002F>\n```\n\n## Step 8: Summary\n\nReport completion with:\n- Detected project type and framework\n- Static assets directory used\n- List of files generated\n- App name used in manifest and HTML\n- Layout file updated (or note if manual update is needed)\n- Note if any existing files were overwritten\n\n## Error Handling\n\n- If ImageMagick is not installed, provide installation instructions and stop\n- If the source image doesn't exist, report the exact path that was tried and stop\n- If ImageMagick commands fail, report the specific error message\n- If the layout file cannot be found for HTML updates, generate files anyway and instruct on manual HTML addition\n","Generate a complete set of favicons from the source image at `$1` and update the project's HTML with the appropriate link tags.\n\n## Prerequisites\n\nFirst, verify ImageMagick v7+ is installed by running:\n```bash\nwhich magick\n```\n\nIf not found, stop and instruct the user to install it:\n- **macOS**: `brew install imagemagick`\n- **Linux**: `sudo apt install imagemagick`\n\n## Step 1: Validate Source Image\n\n1. Verify the source image exists at the provided path: `$1`\n2. Check the file extension is a supported format (PNG, JPG, JPEG, SVG, WEBP, GIF)\n3. If the file doesn't exist or isn't a valid image format, report the error and stop\n\nNote whether the source is an SVG file - if so, it will also be copied as `favicon.svg`.\n\n## Step 2: Detect Project Type and Static Assets Directory\n\nDetect the project type and determine where static assets should be placed. Check in this order:\n\n| Framework | Detection | Static Assets Directory |\n|-----------|-----------|------------------------|\n| **Rails** | `config\u002Froutes.rb` exists | `public\u002F` |\n| **Next.js** | `next.config.*` exists | `public\u002F` |\n| **Gatsby** | `gatsby-config.*` exists | `static\u002F` |\n| **SvelteKit** | `svelte.config.*` exists | `static\u002F` |\n| **Astro** | `astro.config.*` exists | `public\u002F` |\n| **Hugo** | `hugo.toml` or `config.toml` with Hugo markers | `static\u002F` |\n| **Jekyll** | `_config.yml` with Jekyll markers | Root directory (same as `index.html`) |\n| **Vite** | `vite.config.*` exists | `public\u002F` |\n| **Create React App** | `package.json` has `react-scripts` dependency | `public\u002F` |\n| **Vue CLI** | `vue.config.*` exists | `public\u002F` |\n| **Angular** | `angular.json` exists | `src\u002Fassets\u002F` |\n| **Eleventy** | `.eleventy.js` or `eleventy.config.*` exists | Check `_site` output or root |\n| **Static HTML** | `index.html` in root | Same directory as `index.html` |\n\n**Important**: If existing favicon files are found (e.g., `favicon.ico`, `apple-touch-icon.png`), use their location as the target directory regardless of framework detection.\n\nReport the detected project type and the static assets directory that will be used.\n\n**When in doubt, ask**: If you are not 100% confident about where static assets should be placed (e.g., ambiguous project structure, multiple potential locations, unfamiliar framework), use `AskUserQuestionTool` to confirm the target directory before proceeding. It's better to ask than to put files in the wrong place.\n\n## Step 3: Determine App Name\n\nFind the app name from these sources (in priority order):\n\n1. **Existing `site.webmanifest`** - Check the detected static assets directory for an existing manifest and extract the `name` field\n2. **`package.json`** - Extract the `name` field if it exists\n3. **Rails `config\u002Fapplication.rb`** - Extract the module name (e.g., `module MyApp` → \"MyApp\")\n4. **Directory name** - Use the current working directory name as fallback\n\nConvert the name to title case if needed (e.g., \"my-app\" → \"My App\").\n\n## Step 4: Ensure Static Assets Directory Exists\n\nCheck if the detected static assets directory exists. If not, create it.\n\n## Step 5: Generate Favicon Files\n\nRun these ImageMagick commands to generate all favicon files. Replace `[STATIC_DIR]` with the detected static assets directory from Step 2.\n\n**Important**: The `-background none` flag must come BEFORE the input file to properly preserve transparency when rendering SVGs. Placing it after the input will result in a white background.\n\n### favicon.ico (multi-resolution: 16x16, 32x32, 48x48)\n```bash\nmagick -background none \"$1\" \\\n  \\( -clone 0 -resize 16x16 \\) \\\n  \\( -clone 0 -resize 32x32 \\) \\\n  \\( -clone 0 -resize 48x48 \\) \\\n  -delete 0 -alpha on \\\n  [STATIC_DIR]\u002Ffavicon.ico\n```\n\n### favicon-96x96.png\n```bash\nmagick -background none \"$1\" -resize 96x96 -alpha on [STATIC_DIR]\u002Ffavicon-96x96.png\n```\n\n### apple-touch-icon.png (180x180)\n```bash\nmagick -background none \"$1\" -resize 180x180 -alpha on [STATIC_DIR]\u002Fapple-touch-icon.png\n```\n\n### web-app-manifest-192x192.png\n```bash\nmagick -background none \"$1\" -resize 192x192 -alpha on [STATIC_DIR]\u002Fweb-app-manifest-192x192.png\n```\n\n### web-app-manifest-512x512.png\n```bash\nmagick -background none \"$1\" -resize 512x512 -alpha on [STATIC_DIR]\u002Fweb-app-manifest-512x512.png\n```\n\n### favicon.svg (only if source is SVG)\nIf the source file has a `.svg` extension, copy it:\n```bash\ncp \"$1\" [STATIC_DIR]\u002Ffavicon.svg\n```\n\n## Step 6: Create\u002FUpdate site.webmanifest\n\nCreate or update `[STATIC_DIR]\u002Fsite.webmanifest` with this content (substitute the detected app name):\n\n```json\n{\n  \"name\": \"[APP_NAME]\",\n  \"short_name\": \"[APP_NAME]\",\n  \"icons\": [\n    {\n      \"src\": \"\u002Fweb-app-manifest-192x192.png\",\n      \"sizes\": \"192x192\",\n      \"type\": \"image\u002Fpng\",\n      \"purpose\": \"maskable\"\n    },\n    {\n      \"src\": \"\u002Fweb-app-manifest-512x512.png\",\n      \"sizes\": \"512x512\",\n      \"type\": \"image\u002Fpng\",\n      \"purpose\": \"maskable\"\n    }\n  ],\n  \"theme_color\": \"#ffffff\",\n  \"background_color\": \"#ffffff\",\n  \"display\": \"standalone\"\n}\n```\n\nIf `site.webmanifest` already exists in the static directory, preserve the existing `theme_color`, `background_color`, and `display` values while updating the `name`, `short_name`, and `icons` array.\n\n## Step 7: Update HTML\u002FLayout Files\n\nBased on the detected project type, update the appropriate file. Adjust the `href` paths based on where the static assets directory is relative to the web root:\n- If static files are in `public\u002F` or `static\u002F` and served from root → use `\u002Ffavicon.ico`\n- If static files are in `src\u002Fassets\u002F` → use `\u002Fassets\u002Ffavicon.ico`\n- If static files are in the same directory as HTML → use `.\u002Ffavicon.ico` or just `favicon.ico`\n\n### For Rails Projects\n\nEdit `app\u002Fviews\u002Flayouts\u002Fapplication.html.erb`. Find the `\u003Chead>` section and add\u002Freplace favicon-related tags with:\n\n```html\n\u003Clink rel=\"icon\" type=\"image\u002Fpng\" href=\"\u002Ffavicon-96x96.png\" sizes=\"96x96\" \u002F>\n\u003Clink rel=\"icon\" type=\"image\u002Fsvg+xml\" href=\"\u002Ffavicon.svg\" \u002F>\n\u003Clink rel=\"shortcut icon\" href=\"\u002Ffavicon.ico\" \u002F>\n\u003Clink rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"\u002Fapple-touch-icon.png\" \u002F>\n\u003Cmeta name=\"apple-mobile-web-app-title\" content=\"[APP_NAME]\" \u002F>\n\u003Clink rel=\"manifest\" href=\"\u002Fsite.webmanifest\" \u002F>\n```\n\n**Important**:\n- If the source was NOT an SVG, omit the `\u003Clink rel=\"icon\" type=\"image\u002Fsvg+xml\" href=\"\u002Ffavicon.svg\" \u002F>` line\n- Remove any existing `\u003Clink rel=\"icon\"`, `\u003Clink rel=\"shortcut icon\"`, `\u003Clink rel=\"apple-touch-icon\"`, or `\u003Clink rel=\"manifest\"` tags before adding the new ones\n- Place these tags near the top of the `\u003Chead>` section, after `\u003Cmeta charset>` and `\u003Cmeta name=\"viewport\">` if present\n\n### For Next.js Projects\n\nEdit the detected layout file (`app\u002Flayout.tsx` or `src\u002Fapp\u002Flayout.tsx`). Update or add the `metadata` export to include icons configuration:\n\n```typescript\nexport const metadata: Metadata = {\n  \u002F\u002F ... keep existing metadata fields\n  icons: {\n    icon: [\n      { url: '\u002Ffavicon.ico' },\n      { url: '\u002Ffavicon-96x96.png', sizes: '96x96', type: 'image\u002Fpng' },\n      { url: '\u002Ffavicon.svg', type: 'image\u002Fsvg+xml' },\n    ],\n    shortcut: '\u002Ffavicon.ico',\n    apple: '\u002Fapple-touch-icon.png',\n  },\n  manifest: '\u002Fsite.webmanifest',\n  appleWebApp: {\n    title: '[APP_NAME]',\n  },\n};\n```\n\n**Important**:\n- If the source was NOT an SVG, omit the `{ url: '\u002Ffavicon.svg', type: 'image\u002Fsvg+xml' }` entry from the icon array\n- If metadata export doesn't exist, create it with just the icons-related fields\n- If metadata export exists, merge the icons configuration with existing fields\n\n### For Static HTML Projects\n\nEdit the detected `index.html` file. Add the same HTML as Rails within the `\u003Chead>` section.\n\n### If No Project Detected\n\nSkip HTML updates and inform the user they need to manually add the following to their HTML `\u003Chead>`:\n\n```html\n\u003Clink rel=\"icon\" type=\"image\u002Fpng\" href=\"\u002Ffavicon-96x96.png\" sizes=\"96x96\" \u002F>\n\u003Clink rel=\"icon\" type=\"image\u002Fsvg+xml\" href=\"\u002Ffavicon.svg\" \u002F>\n\u003Clink rel=\"shortcut icon\" href=\"\u002Ffavicon.ico\" \u002F>\n\u003Clink rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"\u002Fapple-touch-icon.png\" \u002F>\n\u003Cmeta name=\"apple-mobile-web-app-title\" content=\"[APP_NAME]\" \u002F>\n\u003Clink rel=\"manifest\" href=\"\u002Fsite.webmanifest\" \u002F>\n```\n\n## Step 8: Summary\n\nReport completion with:\n- Detected project type and framework\n- Static assets directory used\n- List of files generated\n- App name used in manifest and HTML\n- Layout file updated (or note if manual update is needed)\n- Note if any existing files were overwritten\n\n## Error Handling\n\n- If ImageMagick is not installed, provide installation instructions and stop\n- If the source image doesn't exist, report the exact path that was tried and stop\n- If ImageMagick commands fail, report the specific error message\n- If the layout file cannot be found for HTML updates, generate files anyway and instruct on manual HTML addition\n",{"name":5,"risk":33,"source":27,"context":34,"metadata":40,"description":7,"allowed-tools":43,"argument-hint":44},{"author":41,"version":42},"Shpigford","1.0","Bash(magick *), Bash(which *), Bash(cp *), Bash(mkdir *)",[45],"path to source image","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Ffavicon","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill favicon",{"tool":58,"command":59},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill favicon",{"tool":61,"command":62},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill favicon","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Ffavicon\u002FSKILL.md",true,[],[67,91,116,126,139,156],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":78,"publishedAt":35},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[73],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[79,80,81,82,83,84,85,86,87,88,89,90],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":35},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[98,99,100,101,26,102,81,103,104,105,106,107,108,109,110,111,112,113,114,115],"trend","trend tap","tap","api keys","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":35},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[123,124,98,108,109,110,111,26,81,113,125,114,115,107,105,104,103,112,102,101],"trend radar","radar","pulse",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":35},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[133,134,135,136,137,138],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":148,"publishedAt":35},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[145],{"categoryNo":146,"categoryName":147,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[141,87,149,150,151,90,108,152,153,154,100,155,112],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":35},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[158,163,164,165,112,166,153,167,168,169,170,171],"status","play","go","latest","github","discover","control","cmd","volume"]