[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FZP2HSX1RJAYC5CAMRTRNP":3,"skill-same:01M6FZP2HSX1RJAYC5CAMRTRNP":79},{"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":18,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6FZP2HSX1RJAYC5CAMRTRNP","icon-handler",null,"Audit and apply project-root icon assets to favicon, app icon, Apple touch icon, and manifest surfaces","GeorgeQLe\u002Fagentic-skills","GeorgeQLe","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F21134126?v=4","01M6D2JP418S0VGJGF8M93EC3H","George Le","01M6D2JPBAKYD82TA5FS6HKQ3D",1,"MIT","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fwebsite-polish\u002Fclaude\u002Ficon-handler\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"icon handler","icon","surfaces","touch","asset","app","apple","project","favicon","audit","alignment","v0","fix","assets","page","manifest","execution","2026-11-10 10:12:30",false,"---\nname: icon-handler\ndescription: Audit and apply project-root icon assets to favicon, app icon, Apple touch icon, and manifest surfaces\ntype: execution\nversion: v0.1\nrequired_conventions: [alignment-page]\nargument-hint: \"[audit|fix] [asset filename]\"\n---\n\n# Icon Handler\n\nUse this skill when a user adds a desired icon image at the project root and wants it applied consistently across website\u002Fapp icon surfaces. It works like `\u002Fhygiene`: audit first, show findings and a correction plan, then modify files only after the user explicitly approves `fix`.\n\n## Process\n\n### 1. Determine Mode and Asset\n\nParse `$ARGUMENTS`:\n\n- **Mode:** `audit` by default; `fix` applies approved corrections.\n- **Asset:** optional filename or path. If omitted, search only the project root for likely icon assets.\n\nCandidate asset names, in priority order:\n\n1. User-provided path.\n2. Root files matching `*-icon.png`, `*icon.png`, `*logo.png`, `favicon.png`, or `app-icon.png`.\n3. Root SVG equivalents only when the app toolchain can rasterize them safely.\n\nIf multiple candidates exist, stop and ask which one to use.\n\n### 2. Identify App Framework\n\nAudit only what is relevant to the repository:\n\n- **Next App Router:** `src\u002Fapp\u002Ffavicon.ico`, `src\u002Fapp\u002Ficon.png`, `src\u002Fapp\u002Fapple-icon.png`, `public\u002Fmanifest.webmanifest`, `public\u002Fapple-touch-icon.png`, and `metadata.icons` in `src\u002Fapp\u002Flayout.tsx`.\n- **Next Pages Router:** `public\u002Ffavicon.ico`, `public\u002Ficon.png`, `public\u002Fapp-icon.png`, `public\u002Fapple-touch-icon.png`, `_document` or page\u002Fhead icon links, and any manifest.\n- **Vite\u002FReact\u002Fstatic:** `public\u002Ffavicon.ico`, `public\u002Ficon.png`, `public\u002Fapp-icon.png`, `public\u002Fapple-touch-icon.png`, `index.html`, and any manifest.\n- **Other frameworks:** report the detected framework and only apply conventional public-root assets unless the framework has clear local icon conventions.\n\nDo not assume `icon.ico` is a standard favicon name. The conventional browser-probed file is `favicon.ico`.\n\n### 3. Audit Icon Surfaces\n\nInspect without modifying:\n\n- Source asset format and dimensions using available tools (`file`, `sips`, `identify`, or framework tooling).\n- Existing favicon\u002Fapp icon files and whether they still contain stale assets.\n- Metadata or HTML links for:\n  - `\u002Ffavicon.ico`\n  - `\u002Ficon.png`\n  - `\u002Fapp-icon.png`\n  - `\u002Fapple-touch-icon.png`\n  - Next App Router `\u002Fapple-icon.png`\n  - `manifest.webmanifest`\n- Whether generated build output or static HTML emits `rel=\"icon\"`, `rel=\"shortcut icon\"`, and `rel=\"apple-touch-icon\"` links.\n\n### 4. Produce Audit Report\n\nReport:\n\n- Detected framework and project root.\n- Chosen source asset and dimensions.\n- Existing icon surfaces found.\n- Missing, stale, or non-standard surfaces.\n- Proposed file writes, conversions, and metadata edits.\n- Verification commands to run after changes.\n\nStop after the audit unless the user invoked `fix` or explicitly approves the proposed writes.\n\n### 5. Apply Fixes After Approval\n\nOnly after approval:\n\n- Preserve the source asset at its original path unless the user asks to move it.\n- Copy the source asset to PNG surfaces that should remain full-size or app-install size.\n- Generate `favicon.ico` from a smaller source when conversion tools are available. Prefer:\n  - `magick`\u002FImageMagick when installed.\n  - macOS `sips` as a fallback: create a 256px PNG first, then convert that PNG to ICO.\n  - If no converter exists, stop and report the exact missing command rather than leaving a stale ICO.\n- For Next App Router, prefer:\n  - `src\u002Fapp\u002Ffavicon.ico`\n  - `src\u002Fapp\u002Ficon.png`\n  - `src\u002Fapp\u002Fapple-icon.png`\n  - `public\u002Fapple-touch-icon.png`\n  - `public\u002Ficon.png`\n  - `public\u002Fapp-icon.png`\n- Add or update manifest icons when a manifest exists or when app-install behavior is expected.\n- Update Next metadata or static HTML links so the generated site references the conventional paths.\n\n### 6. Verify\n\nRun the smallest relevant checks:\n\n- File format checks for generated assets.\n- Framework type\u002Flint checks when metadata or source code changed.\n- Production build or static render when available.\n- Generated HTML\u002Fbuild-output search for `favicon.ico`, `apple-touch-icon`, `icon.png`, and `manifest.webmanifest`.\n\nFor Next App Router, verify `.next\u002Fserver\u002Fapp\u002Ffavicon.ico.body`, `.next\u002Fserver\u002Fapp\u002Ficon.png.body`, and `.next\u002Fserver\u002Fapp\u002Fapple-icon.png.body` when a build was run.\n\n### 7. Document and Ship\n\nIf the project has task docs, add a concise review note with:\n\n- Source icon path.\n- Files changed.\n- Verification results.\n- Any cache caveat: browsers and iOS may require hard refresh, cache clear, reinstalling the home-screen icon, or waiting for deployment\u002FCDN cache expiry.\n\nCommit and push if the user asked to ship or the active workflow requires it.\n\n## Output\n\nIn audit mode:\n\n```text\n## Icon Audit\n\nFramework: Next App Router\nSource asset: calc-mascot-icon.png (1024x1024 PNG)\n\nFindings:\n- Missing \u002Fapple-touch-icon.png\n- Stale src\u002Fapp\u002Ffavicon.ico\n\nProposed fix:\n- Generate src\u002Fapp\u002Ffavicon.ico from the source icon\n- Copy source to src\u002Fapp\u002Ficon.png, src\u002Fapp\u002Fapple-icon.png, public\u002Ficon.png, public\u002Fapp-icon.png, public\u002Fapple-touch-icon.png\n- Update metadata.icons and manifest.webmanifest\n\nApproval needed: reply \"fix\" to apply these changes.\n```\n\nIn fix mode, include the same report plus changed files, validation, and next command.\n\n## Constraints\n\n- Read-only by default.\n- Do not overwrite existing branded icon assets without showing the diff\u002Fformat evidence and getting approval.\n- Do not invent framework conventions; verify local framework and file layout first.\n- Do not use `icon.ico` as the default favicon path.\n- Do not commit generated binary assets until format checks pass.\n- Do not touch unrelated visual branding, OG images, logos, or marketing copy unless the user explicitly asks.\n- Prefer project-local tooling. Do not install image conversion dependencies without explicit approval.\n\n## Alignment Page\n\nFollow the shared alignment-page convention via the packaged convention resolver; output path is `alignment\u002Ficon-handler-{topic}.html`.\n\n## Default Shipping Contract\n\n- **Next work:** if audit finds issues and approval is missing, the next work is \"approve `\u002Ficon-handler fix \u003Casset>`\".\n- **Recommended next command:** `\u002Ficon-handler fix \u003Casset>`\n","# Icon Handler\n\nUse this skill when a user adds a desired icon image at the project root and wants it applied consistently across website\u002Fapp icon surfaces. It works like `\u002Fhygiene`: audit first, show findings and a correction plan, then modify files only after the user explicitly approves `fix`.\n\n## Process\n\n### 1. Determine Mode and Asset\n\nParse `$ARGUMENTS`:\n\n- **Mode:** `audit` by default; `fix` applies approved corrections.\n- **Asset:** optional filename or path. If omitted, search only the project root for likely icon assets.\n\nCandidate asset names, in priority order:\n\n1. User-provided path.\n2. Root files matching `*-icon.png`, `*icon.png`, `*logo.png`, `favicon.png`, or `app-icon.png`.\n3. Root SVG equivalents only when the app toolchain can rasterize them safely.\n\nIf multiple candidates exist, stop and ask which one to use.\n\n### 2. Identify App Framework\n\nAudit only what is relevant to the repository:\n\n- **Next App Router:** `src\u002Fapp\u002Ffavicon.ico`, `src\u002Fapp\u002Ficon.png`, `src\u002Fapp\u002Fapple-icon.png`, `public\u002Fmanifest.webmanifest`, `public\u002Fapple-touch-icon.png`, and `metadata.icons` in `src\u002Fapp\u002Flayout.tsx`.\n- **Next Pages Router:** `public\u002Ffavicon.ico`, `public\u002Ficon.png`, `public\u002Fapp-icon.png`, `public\u002Fapple-touch-icon.png`, `_document` or page\u002Fhead icon links, and any manifest.\n- **Vite\u002FReact\u002Fstatic:** `public\u002Ffavicon.ico`, `public\u002Ficon.png`, `public\u002Fapp-icon.png`, `public\u002Fapple-touch-icon.png`, `index.html`, and any manifest.\n- **Other frameworks:** report the detected framework and only apply conventional public-root assets unless the framework has clear local icon conventions.\n\nDo not assume `icon.ico` is a standard favicon name. The conventional browser-probed file is `favicon.ico`.\n\n### 3. Audit Icon Surfaces\n\nInspect without modifying:\n\n- Source asset format and dimensions using available tools (`file`, `sips`, `identify`, or framework tooling).\n- Existing favicon\u002Fapp icon files and whether they still contain stale assets.\n- Metadata or HTML links for:\n  - `\u002Ffavicon.ico`\n  - `\u002Ficon.png`\n  - `\u002Fapp-icon.png`\n  - `\u002Fapple-touch-icon.png`\n  - Next App Router `\u002Fapple-icon.png`\n  - `manifest.webmanifest`\n- Whether generated build output or static HTML emits `rel=\"icon\"`, `rel=\"shortcut icon\"`, and `rel=\"apple-touch-icon\"` links.\n\n### 4. Produce Audit Report\n\nReport:\n\n- Detected framework and project root.\n- Chosen source asset and dimensions.\n- Existing icon surfaces found.\n- Missing, stale, or non-standard surfaces.\n- Proposed file writes, conversions, and metadata edits.\n- Verification commands to run after changes.\n\nStop after the audit unless the user invoked `fix` or explicitly approves the proposed writes.\n\n### 5. Apply Fixes After Approval\n\nOnly after approval:\n\n- Preserve the source asset at its original path unless the user asks to move it.\n- Copy the source asset to PNG surfaces that should remain full-size or app-install size.\n- Generate `favicon.ico` from a smaller source when conversion tools are available. Prefer:\n  - `magick`\u002FImageMagick when installed.\n  - macOS `sips` as a fallback: create a 256px PNG first, then convert that PNG to ICO.\n  - If no converter exists, stop and report the exact missing command rather than leaving a stale ICO.\n- For Next App Router, prefer:\n  - `src\u002Fapp\u002Ffavicon.ico`\n  - `src\u002Fapp\u002Ficon.png`\n  - `src\u002Fapp\u002Fapple-icon.png`\n  - `public\u002Fapple-touch-icon.png`\n  - `public\u002Ficon.png`\n  - `public\u002Fapp-icon.png`\n- Add or update manifest icons when a manifest exists or when app-install behavior is expected.\n- Update Next metadata or static HTML links so the generated site references the conventional paths.\n\n### 6. Verify\n\nRun the smallest relevant checks:\n\n- File format checks for generated assets.\n- Framework type\u002Flint checks when metadata or source code changed.\n- Production build or static render when available.\n- Generated HTML\u002Fbuild-output search for `favicon.ico`, `apple-touch-icon`, `icon.png`, and `manifest.webmanifest`.\n\nFor Next App Router, verify `.next\u002Fserver\u002Fapp\u002Ffavicon.ico.body`, `.next\u002Fserver\u002Fapp\u002Ficon.png.body`, and `.next\u002Fserver\u002Fapp\u002Fapple-icon.png.body` when a build was run.\n\n### 7. Document and Ship\n\nIf the project has task docs, add a concise review note with:\n\n- Source icon path.\n- Files changed.\n- Verification results.\n- Any cache caveat: browsers and iOS may require hard refresh, cache clear, reinstalling the home-screen icon, or waiting for deployment\u002FCDN cache expiry.\n\nCommit and push if the user asked to ship or the active workflow requires it.\n\n## Output\n\nIn audit mode:\n\n```text\n## Icon Audit\n\nFramework: Next App Router\nSource asset: calc-mascot-icon.png (1024x1024 PNG)\n\nFindings:\n- Missing \u002Fapple-touch-icon.png\n- Stale src\u002Fapp\u002Ffavicon.ico\n\nProposed fix:\n- Generate src\u002Fapp\u002Ffavicon.ico from the source icon\n- Copy source to src\u002Fapp\u002Ficon.png, src\u002Fapp\u002Fapple-icon.png, public\u002Ficon.png, public\u002Fapp-icon.png, public\u002Fapple-touch-icon.png\n- Update metadata.icons and manifest.webmanifest\n\nApproval needed: reply \"fix\" to apply these changes.\n```\n\nIn fix mode, include the same report plus changed files, validation, and next command.\n\n## Constraints\n\n- Read-only by default.\n- Do not overwrite existing branded icon assets without showing the diff\u002Fformat evidence and getting approval.\n- Do not invent framework conventions; verify local framework and file layout first.\n- Do not use `icon.ico` as the default favicon path.\n- Do not commit generated binary assets until format checks pass.\n- Do not touch unrelated visual branding, OG images, logos, or marketing copy unless the user explicitly asks.\n- Prefer project-local tooling. Do not install image conversion dependencies without explicit approval.\n\n## Alignment Page\n\nFollow the shared alignment-page convention via the packaged convention resolver; output path is `alignment\u002Ficon-handler-{topic}.html`.\n\n## Default Shipping Contract\n\n- **Next work:** if audit finds issues and approval is missing, the next work is \"approve `\u002Ficon-handler fix \u003Casset>`\".\n- **Recommended next command:** `\u002Ficon-handler fix \u003Casset>`\n",{"name":5,"type":35,"version":41,"description":7,"argument-hint":42,"required_conventions":43},"v0.1","[audit|fix] [asset filename]",[44],"alignment-page","master","96e2912af886dd1606b1b97df707715aef062b02","packs\u002Fwebsite-polish\u002Fclaude\u002Ficon-handler",0,"https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills","https:\u002F\u002Fagentic-skills-blush.vercel.app","https:\u002F\u002Fgithub.com\u002FGeorgeQLe","georgeqle.com","George Le is a futurist and serial tech entrepreneur who wants to work toward a world where humanity is free from robotic tasks.","2026-11-10 04:07:24",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add GeorgeQLe\u002Fagentic-skills --skill icon-handler",{"tool":61,"command":62},"bunx","bunx skills add GeorgeQLe\u002Fagentic-skills --skill icon-handler",{"tool":64,"command":65},"pnpm","pnpm dlx skills add GeorgeQLe\u002Fagentic-skills --skill icon-handler","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fwebsite-polish\u002Fclaude\u002Ficon-handler\u002FSKILL.md",true,[69,75],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"ALIGNMENT-PAGE.md","REFERENCE","参考文档",52432,"https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fwebsite-polish\u002Fclaude\u002Ficon-handler\u002FALIGNMENT-PAGE.md",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"CHANGELOG.md",311,"https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fwebsite-polish\u002Fclaude\u002Ficon-handler\u002FCHANGELOG.md",[80,92,102,114,129,140],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":36},"01M6G0NJES15RJKZE6YZ0TSYGF","source-checkout-allowed","Valid source-checkout-only fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fsource-checkout-allowed\u002FSKILL.md",[],[87,88,89,90,30,91],"source checkout allowed","checkout","fixture","only","valid",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":36},"01M6G0NFZ3R1MNB1E3DVTM0WB7","deck-install-valid","Valid deck install fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fdeck-install\u002FSKILL.md",[],[99,100,101,91,89,30],"deck install valid","deck","install",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":36},"01M6G0ND3QZQC4MDZ9NVB97PT2","codex-pack-guard-valid","Valid Codex Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-pack-guard\u002FSKILL.md",[],[109,110,111,91,112,113,89,30],"codex pack guard valid","pack","guard","codex","availability",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":125,"publishedAt":36},"01M6G0NA9YB3NKGZKD3S96JMNB","codex-missing-skill-valid","Valid Codex missing skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-missing-skill-fallback\u002FSKILL.md",[120],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[126,127,91,112,30,128,89],"codex missing skill valid","missing","fallback",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":136,"publishedAt":36},"01M6G0N7PC0EKFD40ZWQAXSAQ9","codex-base-skill-fallback-valid","Valid Codex base skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-base-skill-fallback\u002FSKILL.md",[135],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},[91,112,128,137,138,139,30,89],"base skill","codex base skill fallback valid","base",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":36},"01M6G0N4VRR2YKZQ6N3Y6S2BQA","claude-pack-guard-valid","Valid Claude Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fclaude-pack-guard\u002FSKILL.md",[],[91,111,110,147,113,30,89],"claude pack guard valid"]