[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DF76C1MG85VEWP8VZCBNMN":3,"skill-same:01M6DF76C1MG85VEWP8VZCBNMN":247},{"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":26,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":14,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":58,"install":59,"resources":72},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review",null,"Take screenshots of web pages and UI using Playwright for visual review and iteration","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"review","visual","visual review","screenshots","playwright","web","screenshot","ui","how","slides","check","take","iteration","pages","false","2026-11-10 10:12:30",false,"---\nname: visual-review\ndescription: Take screenshots of web pages and UI using Playwright for visual review and iteration\nauto_activate: false\ntriggers:\n  - \"visual review\"\n  - \"screenshot\"\n  - \"take a screenshot\"\n  - \"review visually\"\n  - \"check how it looks\"\n  - \"review the UI\"\n  - \"review the slides\"\n---\n\n# Visual Review\n\n## Purpose\n\nAgents cannot see rendered web pages, presentations, or UI. This skill bridges that gap by using Playwright to capture screenshots of web pages (local files, localhost servers, or deployed URLs) so agents can visually inspect their work, identify layout issues, and iterate.\n\nThis is especially useful for:\n- **Reveal.js presentations** — capture each slide individually\n- **Web UIs** — verify layout, styling, and responsiveness\n- **Landing pages** — check visual design matches intent\n- **Email templates** — verify rendering\n\n## Prerequisites\n\nThis skill requires **Playwright** to be available. Before first use, check and install if needed:\n\n```bash\n# Check if Playwright is available\nnpx playwright --version 2>\u002Fdev\u002Fnull\n\n# If not available, install it (one-time setup)\nnpx playwright install chromium\n```\n\n**Important:** Only the `chromium` browser is needed. Do not install all browsers — it wastes disk space and time.\n\nIf `npx playwright` fails entirely, the user may need to install it:\n```bash\nnpm install -g playwright\nnpx playwright install chromium\n```\n\n## Workflow\n\n### Phase 1: Setup\n\n1. **Verify Playwright is available** — run `npx playwright --version`\n2. **If not installed** — run `npx playwright install chromium` and inform the user\n3. **Create output directory** — `mkdir -p \u002Ftmp\u002Fvisual-review`\n4. **Determine the target** — local file path, localhost URL, or deployed URL\n\n### Phase 2: Capture Screenshots\n\n#### For a single page:\n\n```bash\nnpx playwright screenshot \\\n  --browser chromium \\\n  --viewport-size \"1456,816\" \\\n  --wait-for-timeout 3000 \\\n  \"\u003CURL_OR_FILE_PATH>\" \\\n  \u002Ftmp\u002Fvisual-review\u002Fpage.png\n```\n\n**Parameters:**\n- `--viewport-size \"1456,816\"` — 16:9 aspect ratio, good for presentations\n- `--wait-for-timeout 3000` — wait 3 seconds for fonts, images, and animations to settle\n- Use `file:\u002F\u002F\u002Fabsolute\u002Fpath\u002Fto\u002Ffile.html` for local files\n- Use full URLs for deployed sites\n\n#### For Reveal.js presentations (multiple slides):\n\nCapture each slide by appending the slide hash to the URL:\n\n```bash\n# Capture all slides (adjust count as needed)\nfor i in $(seq 0 15); do\n  npx playwright screenshot \\\n    --browser chromium \\\n    --viewport-size \"1456,816\" \\\n    --wait-for-timeout 2000 \\\n    \"\u003CBASE_URL>#\u002F$i\" \\\n    \"\u002Ftmp\u002Fvisual-review\u002Fslide-$i.png\"\ndone\n```\n\n**Tip:** To capture slides with all fragments visible, add `?fragments=true` or use JavaScript injection via a Playwright script. The simpler approach is to accept that fragment-heavy slides will appear in their initial (pre-click) state.\n\n#### For responsive testing:\n\n```bash\n# Mobile\nnpx playwright screenshot --viewport-size \"390,844\" \"\u003CURL>\" \u002Ftmp\u002Fvisual-review\u002Fmobile.png\n\n# Tablet\nnpx playwright screenshot --viewport-size \"768,1024\" \"\u003CURL>\" \u002Ftmp\u002Fvisual-review\u002Ftablet.png\n\n# Desktop wide\nnpx playwright screenshot --viewport-size \"1920,1080\" \"\u003CURL>\" \u002Ftmp\u002Fvisual-review\u002Fdesktop.png\n```\n\n### Phase 3: Show and Review Screenshots\n\nUse the Read tool to analyze each screenshot:\n\n```\nRead \u002Ftmp\u002Fvisual-review\u002Fslide-0.png\nRead \u002Ftmp\u002Fvisual-review\u002Fslide-1.png\n...\n```\n\n**Showing screenshots to the user:** The agent can see screenshots via Read, but the user cannot. When the user wants to see what you see — or when you want to discuss a visual issue together — there are two approaches depending on the environment:\n\n**Local machine (has a display):**\n\n```bash\n# Open a specific screenshot\nopen \u002Ftmp\u002Fvisual-review\u002Fslide-2.png\n\n# Open all screenshots at once\nopen \u002Ftmp\u002Fvisual-review\u002Fslide-*.png\n```\n\n**Remote\u002Fheadless machine (SSH, tmux, etc.):**\n\nServe the screenshots directory over HTTP so the user can view them in their local browser:\n\n```bash\n# Start a simple file server (runs in background)\n# Use a high port (>10000) to avoid conflicts with dev tools\npython3 -m http.server 18080 --directory \u002Ftmp\u002Fvisual-review &\n\n# User can now browse to:\n#   http:\u002F\u002F\u003Chostname>:18080\u002F\n#   http:\u002F\u002F\u003Chostname>:18080\u002Fslide-2.png\n#   etc.\n```\n\nPick any open high-numbered port (18080, 19090, etc.) — low ports like 8080 are often taken by dev tools. This serves the entire `\u002Ftmp\u002Fvisual-review\u002F` directory with an auto-generated file listing. The user can click through all screenshots in their browser. Stop the server when done:\n\n```bash\n# Stop the background server\nkill %1\n# Or find and kill by port\nlsof -ti:18080 | xargs kill\n```\n\nUse whichever approach fits the environment. This is useful when collaborating on visual issues, when the user asks what something looks like, or when you want confirmation on a subjective design choice.\n\nFor each screenshot, evaluate:\n- **Layout** — Is content centered\u002Faligned as intended?\n- **Typography** — Are headings, body text, and code readable?\n- **Colors** — Do accent colors, backgrounds, and contrasts look right?\n- **Spacing** — Is there enough whitespace? Any cramped areas?\n- **Content** — Is all expected content visible? (Note: fragment content may be hidden)\n- **Responsiveness** — Does it work at the target viewport size?\n\n### Phase 4: Document Findings\n\nCreate a findings summary:\n\n```markdown\n## Visual Review — [Project Name]\n\n### Reviewed: [date]\n\n| Slide\u002FPage | Status | Notes |\n|-----------|--------|-------|\n| slide-0   | Good   | Title centered, accent color correct |\n| slide-1   | Issue  | Text overflows right edge on mobile |\n| ...       | ...    | ... |\n\n### Issues to Fix\n1. [Description of issue + which slide\u002Fpage]\n2. [...]\n\n### Looks Good\n- [Things that are working well]\n```\n\n### Phase 5: Fix and Re-capture\n\nAfter making fixes:\n1. Re-capture only the affected slides\u002Fpages\n2. Review the new screenshots\n3. Repeat until satisfied\n\n## Reveal.js-Specific Tips\n\n- **Slide numbering**: Reveal.js uses `#\u002F0` for the first slide, `#\u002F1` for the second, etc.\n- **Vertical slides**: Use `#\u002Fhorizontal\u002Fvertical` format (e.g., `#\u002F2\u002F1`)\n- **Fragments**: Content with `class=\"fragment\"` is hidden until clicked. Screenshots show the initial state. This is expected behavior, not a bug.\n- **Speaker notes**: Not visible in screenshots (they appear in a separate window with `S` key)\n- **Theme loading**: Use `--wait-for-timeout 3000` to ensure CDN-loaded themes and fonts are ready\n\n## Common Mistakes\n\n| Mistake | Why It's Wrong | Do This Instead |\n|---------|---------------|-----------------|\n| Not waiting for page load | Fonts\u002Fimages may not render | Use `--wait-for-timeout 3000` |\n| Using `http:\u002F\u002F` for local files | File URLs need `file:\u002F\u002F\u002F` protocol | Use `file:\u002F\u002F\u002Fabsolute\u002Fpath` |\n| Installing all Playwright browsers | Wastes time and disk | Only install `chromium` |\n| Treating fragment-hidden content as a bug | Fragments are designed to reveal on click | Note it as expected |\n| Forgetting to create output directory | Screenshots fail silently | Always `mkdir -p \u002Ftmp\u002Fvisual-review` first |\n| Taking too many screenshots at once | Floods context window | Review in batches of 4-6 |\n| Not offering to `open` when discussing visuals | User can't see what you're describing | Use `open` when collaborating on visual issues |\n\n## Integration Points\n\n**Upstream:** Any skill that produces visual output (presentations, web UIs, email templates)\n\n**Downstream:** Fixes feed back into the source files, then re-capture to verify\n\n## Verification Checklist\n\n- [ ] Playwright is installed and working\n- [ ] Screenshots captured at correct viewport size\n- [ ] All pages\u002Fslides reviewed\n- [ ] Issues documented with specific descriptions\n- [ ] Fixes verified with re-captured screenshots\n","# Visual Review\n\n## Purpose\n\nAgents cannot see rendered web pages, presentations, or UI. This skill bridges that gap by using Playwright to capture screenshots of web pages (local files, localhost servers, or deployed URLs) so agents can visually inspect their work, identify layout issues, and iterate.\n\nThis is especially useful for:\n- **Reveal.js presentations** — capture each slide individually\n- **Web UIs** — verify layout, styling, and responsiveness\n- **Landing pages** — check visual design matches intent\n- **Email templates** — verify rendering\n\n## Prerequisites\n\nThis skill requires **Playwright** to be available. Before first use, check and install if needed:\n\n```bash\n# Check if Playwright is available\nnpx playwright --version 2>\u002Fdev\u002Fnull\n\n# If not available, install it (one-time setup)\nnpx playwright install chromium\n```\n\n**Important:** Only the `chromium` browser is needed. Do not install all browsers — it wastes disk space and time.\n\nIf `npx playwright` fails entirely, the user may need to install it:\n```bash\nnpm install -g playwright\nnpx playwright install chromium\n```\n\n## Workflow\n\n### Phase 1: Setup\n\n1. **Verify Playwright is available** — run `npx playwright --version`\n2. **If not installed** — run `npx playwright install chromium` and inform the user\n3. **Create output directory** — `mkdir -p \u002Ftmp\u002Fvisual-review`\n4. **Determine the target** — local file path, localhost URL, or deployed URL\n\n### Phase 2: Capture Screenshots\n\n#### For a single page:\n\n```bash\nnpx playwright screenshot \\\n  --browser chromium \\\n  --viewport-size \"1456,816\" \\\n  --wait-for-timeout 3000 \\\n  \"\u003CURL_OR_FILE_PATH>\" \\\n  \u002Ftmp\u002Fvisual-review\u002Fpage.png\n```\n\n**Parameters:**\n- `--viewport-size \"1456,816\"` — 16:9 aspect ratio, good for presentations\n- `--wait-for-timeout 3000` — wait 3 seconds for fonts, images, and animations to settle\n- Use `file:\u002F\u002F\u002Fabsolute\u002Fpath\u002Fto\u002Ffile.html` for local files\n- Use full URLs for deployed sites\n\n#### For Reveal.js presentations (multiple slides):\n\nCapture each slide by appending the slide hash to the URL:\n\n```bash\n# Capture all slides (adjust count as needed)\nfor i in $(seq 0 15); do\n  npx playwright screenshot \\\n    --browser chromium \\\n    --viewport-size \"1456,816\" \\\n    --wait-for-timeout 2000 \\\n    \"\u003CBASE_URL>#\u002F$i\" \\\n    \"\u002Ftmp\u002Fvisual-review\u002Fslide-$i.png\"\ndone\n```\n\n**Tip:** To capture slides with all fragments visible, add `?fragments=true` or use JavaScript injection via a Playwright script. The simpler approach is to accept that fragment-heavy slides will appear in their initial (pre-click) state.\n\n#### For responsive testing:\n\n```bash\n# Mobile\nnpx playwright screenshot --viewport-size \"390,844\" \"\u003CURL>\" \u002Ftmp\u002Fvisual-review\u002Fmobile.png\n\n# Tablet\nnpx playwright screenshot --viewport-size \"768,1024\" \"\u003CURL>\" \u002Ftmp\u002Fvisual-review\u002Ftablet.png\n\n# Desktop wide\nnpx playwright screenshot --viewport-size \"1920,1080\" \"\u003CURL>\" \u002Ftmp\u002Fvisual-review\u002Fdesktop.png\n```\n\n### Phase 3: Show and Review Screenshots\n\nUse the Read tool to analyze each screenshot:\n\n```\nRead \u002Ftmp\u002Fvisual-review\u002Fslide-0.png\nRead \u002Ftmp\u002Fvisual-review\u002Fslide-1.png\n...\n```\n\n**Showing screenshots to the user:** The agent can see screenshots via Read, but the user cannot. When the user wants to see what you see — or when you want to discuss a visual issue together — there are two approaches depending on the environment:\n\n**Local machine (has a display):**\n\n```bash\n# Open a specific screenshot\nopen \u002Ftmp\u002Fvisual-review\u002Fslide-2.png\n\n# Open all screenshots at once\nopen \u002Ftmp\u002Fvisual-review\u002Fslide-*.png\n```\n\n**Remote\u002Fheadless machine (SSH, tmux, etc.):**\n\nServe the screenshots directory over HTTP so the user can view them in their local browser:\n\n```bash\n# Start a simple file server (runs in background)\n# Use a high port (>10000) to avoid conflicts with dev tools\npython3 -m http.server 18080 --directory \u002Ftmp\u002Fvisual-review &\n\n# User can now browse to:\n#   http:\u002F\u002F\u003Chostname>:18080\u002F\n#   http:\u002F\u002F\u003Chostname>:18080\u002Fslide-2.png\n#   etc.\n```\n\nPick any open high-numbered port (18080, 19090, etc.) — low ports like 8080 are often taken by dev tools. This serves the entire `\u002Ftmp\u002Fvisual-review\u002F` directory with an auto-generated file listing. The user can click through all screenshots in their browser. Stop the server when done:\n\n```bash\n# Stop the background server\nkill %1\n# Or find and kill by port\nlsof -ti:18080 | xargs kill\n```\n\nUse whichever approach fits the environment. This is useful when collaborating on visual issues, when the user asks what something looks like, or when you want confirmation on a subjective design choice.\n\nFor each screenshot, evaluate:\n- **Layout** — Is content centered\u002Faligned as intended?\n- **Typography** — Are headings, body text, and code readable?\n- **Colors** — Do accent colors, backgrounds, and contrasts look right?\n- **Spacing** — Is there enough whitespace? Any cramped areas?\n- **Content** — Is all expected content visible? (Note: fragment content may be hidden)\n- **Responsiveness** — Does it work at the target viewport size?\n\n### Phase 4: Document Findings\n\nCreate a findings summary:\n\n```markdown\n## Visual Review — [Project Name]\n\n### Reviewed: [date]\n\n| Slide\u002FPage | Status | Notes |\n|-----------|--------|-------|\n| slide-0   | Good   | Title centered, accent color correct |\n| slide-1   | Issue  | Text overflows right edge on mobile |\n| ...       | ...    | ... |\n\n### Issues to Fix\n1. [Description of issue + which slide\u002Fpage]\n2. [...]\n\n### Looks Good\n- [Things that are working well]\n```\n\n### Phase 5: Fix and Re-capture\n\nAfter making fixes:\n1. Re-capture only the affected slides\u002Fpages\n2. Review the new screenshots\n3. Repeat until satisfied\n\n## Reveal.js-Specific Tips\n\n- **Slide numbering**: Reveal.js uses `#\u002F0` for the first slide, `#\u002F1` for the second, etc.\n- **Vertical slides**: Use `#\u002Fhorizontal\u002Fvertical` format (e.g., `#\u002F2\u002F1`)\n- **Fragments**: Content with `class=\"fragment\"` is hidden until clicked. Screenshots show the initial state. This is expected behavior, not a bug.\n- **Speaker notes**: Not visible in screenshots (they appear in a separate window with `S` key)\n- **Theme loading**: Use `--wait-for-timeout 3000` to ensure CDN-loaded themes and fonts are ready\n\n## Common Mistakes\n\n| Mistake | Why It's Wrong | Do This Instead |\n|---------|---------------|-----------------|\n| Not waiting for page load | Fonts\u002Fimages may not render | Use `--wait-for-timeout 3000` |\n| Using `http:\u002F\u002F` for local files | File URLs need `file:\u002F\u002F\u002F` protocol | Use `file:\u002F\u002F\u002Fabsolute\u002Fpath` |\n| Installing all Playwright browsers | Wastes time and disk | Only install `chromium` |\n| Treating fragment-hidden content as a bug | Fragments are designed to reveal on click | Note it as expected |\n| Forgetting to create output directory | Screenshots fail silently | Always `mkdir -p \u002Ftmp\u002Fvisual-review` first |\n| Taking too many screenshots at once | Floods context window | Review in batches of 4-6 |\n| Not offering to `open` when discussing visuals | User can't see what you're describing | Use `open` when collaborating on visual issues |\n\n## Integration Points\n\n**Upstream:** Any skill that produces visual output (presentations, web UIs, email templates)\n\n**Downstream:** Fixes feed back into the source files, then re-capture to verify\n\n## Verification Checklist\n\n- [ ] Playwright is installed and working\n- [ ] Screenshots captured at correct viewport size\n- [ ] All pages\u002Fslides reviewed\n- [ ] Issues documented with specific descriptions\n- [ ] Fixes verified with re-captured screenshots\n",{"name":5,"triggers":47,"description":7,"auto_activate":43},[29,33,48,49,50,51,52],"take a screenshot","review visually","check how it looks","review the UI","review the slides","main","a298c929b6cbd662e1fce54302ce520d5ceea1a5","tools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill visual-review",{"tool":65,"command":66},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill visual-review",{"tool":68,"command":69},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill visual-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",true,[73,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"bmad-skill-manifest.yaml","REFERENCE","参考文档",12,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fbmad-skill-manifest.yaml",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"data\u002F01-start-understand-routing.md",1063,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fdata\u002F01-start-understand-routing.md",{"path":84,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":85,"sourceHtmlUrl":86},"data\u002F02-explore-sections-routing.md",8713,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fdata\u002F02-explore-sections-routing.md",{"path":88,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":89,"sourceHtmlUrl":90},"data\u002F03-synthesize-present-routing.md",1030,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fdata\u002F03-synthesize-present-routing.md",{"path":92,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":93,"sourceHtmlUrl":94},"data\u002F04-generate-signoff-routing.md",935,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fdata\u002F04-generate-signoff-routing.md",{"path":96,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":97,"sourceHtmlUrl":98},"data\u002F05-build-contract-routing.md",1800,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fdata\u002F05-build-contract-routing.md",{"path":100,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":101,"sourceHtmlUrl":102},"data\u002F06-build-signoff-internal-routing.md",785,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fdata\u002F06-build-signoff-internal-routing.md",{"path":104,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":105,"sourceHtmlUrl":106},"steps-c\u002Fstep-01a-understand-situation.md",3874,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-01a-understand-situation.md",{"path":108,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":109,"sourceHtmlUrl":110},"steps-c\u002Fstep-01b-determine-if-needed.md",4736,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-01b-determine-if-needed.md",{"path":112,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":113,"sourceHtmlUrl":114},"steps-c\u002Fstep-01c-offer-extract.md",4486,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-01c-offer-extract.md",{"path":116,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":117,"sourceHtmlUrl":118},"steps-c\u002Fstep-01d-extract-info.md",4863,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-01d-extract-info.md",{"path":120,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":121,"sourceHtmlUrl":122},"steps-c\u002Fstep-01e-detect-starting-point.md",4369,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-01e-detect-starting-point.md",{"path":124,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":125,"sourceHtmlUrl":126},"steps-c\u002Fstep-02a-explore-realization.md",4518,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02a-explore-realization.md",{"path":128,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":129,"sourceHtmlUrl":130},"steps-c\u002Fstep-02b-explore-solution.md",4121,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02b-explore-solution.md",{"path":132,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":133,"sourceHtmlUrl":134},"steps-c\u002Fstep-02c-explore-why-it-matters.md",4037,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02c-explore-why-it-matters.md",{"path":136,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":137,"sourceHtmlUrl":138},"steps-c\u002Fstep-02d-explore-how-we-see-it-working.md",3989,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02d-explore-how-we-see-it-working.md",{"path":140,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":141,"sourceHtmlUrl":142},"steps-c\u002Fstep-02e-explore-paths-we-explored.md",3943,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02e-explore-paths-we-explored.md",{"path":144,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":145,"sourceHtmlUrl":146},"steps-c\u002Fstep-02f-explore-recommended-solution.md",3789,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02f-explore-recommended-solution.md",{"path":148,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":149,"sourceHtmlUrl":150},"steps-c\u002Fstep-02g-explore-path-forward.md",4434,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02g-explore-path-forward.md",{"path":152,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":153,"sourceHtmlUrl":154},"steps-c\u002Fstep-02h-explore-value-we-create.md",4575,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02h-explore-value-we-create.md",{"path":156,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":157,"sourceHtmlUrl":158},"steps-c\u002Fstep-02i-explore-cost-of-inaction.md",4209,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02i-explore-cost-of-inaction.md",{"path":160,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":161,"sourceHtmlUrl":162},"steps-c\u002Fstep-02j-explore-our-commitment.md",4191,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02j-explore-our-commitment.md",{"path":164,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":165,"sourceHtmlUrl":166},"steps-c\u002Fstep-02k-explore-summary.md",3723,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-02k-explore-summary.md",{"path":168,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":169,"sourceHtmlUrl":170},"steps-c\u002Fstep-03a-reflect-back.md",4466,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-03a-reflect-back.md",{"path":172,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":173,"sourceHtmlUrl":174},"steps-c\u002Fstep-03b-synthesize-document.md",4594,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-03b-synthesize-document.md",{"path":176,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":177,"sourceHtmlUrl":178},"steps-c\u002Fstep-03d-present-approval.md",5164,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-03d-present-approval.md",{"path":180,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":181,"sourceHtmlUrl":182},"steps-c\u002Fstep-04a-offer-signoff.md",5123,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-04a-offer-signoff.md",{"path":184,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":185,"sourceHtmlUrl":186},"steps-c\u002Fstep-04b-determine-business-model.md",5041,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-04b-determine-business-model.md",{"path":188,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":189,"sourceHtmlUrl":190},"steps-c\u002Fstep-05a-contract-overview.md",3909,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05a-contract-overview.md",{"path":192,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":193,"sourceHtmlUrl":194},"steps-c\u002Fstep-05b-contract-business-model.md",4985,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05b-contract-business-model.md",{"path":196,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":197,"sourceHtmlUrl":198},"steps-c\u002Fstep-05c-contract-scope.md",5098,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05c-contract-scope.md",{"path":200,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":201,"sourceHtmlUrl":202},"steps-c\u002Fstep-05d-contract-payment.md",5732,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05d-contract-payment.md",{"path":204,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":205,"sourceHtmlUrl":206},"steps-c\u002Fstep-05e-contract-timeline.md",3860,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05e-contract-timeline.md",{"path":208,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":209,"sourceHtmlUrl":210},"steps-c\u002Fstep-05f-contract-availability.md",4490,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05f-contract-availability.md",{"path":212,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":213,"sourceHtmlUrl":214},"steps-c\u002Fstep-05g-contract-confidentiality.md",4961,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05g-contract-confidentiality.md",{"path":216,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":217,"sourceHtmlUrl":218},"steps-c\u002Fstep-05h-contract-not-to-exceed.md",5212,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05h-contract-not-to-exceed.md",{"path":220,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":221,"sourceHtmlUrl":222},"steps-c\u002Fstep-05i-contract-work-initiation.md",4441,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05i-contract-work-initiation.md",{"path":224,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":225,"sourceHtmlUrl":226},"steps-c\u002Fstep-05j-contract-terms.md",4572,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05j-contract-terms.md",{"path":228,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":229,"sourceHtmlUrl":230},"steps-c\u002Fstep-05k-contract-approval.md",3601,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05k-contract-approval.md",{"path":232,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":233,"sourceHtmlUrl":234},"steps-c\u002Fstep-05l-finalize-contract.md",4258,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-05l-finalize-contract.md",{"path":236,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":237,"sourceHtmlUrl":238},"steps-c\u002Fstep-06a-build-internal-signoff.md",5056,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-06a-build-internal-signoff.md",{"path":240,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":241,"sourceHtmlUrl":242},"steps-c\u002Fstep-06b-finalize-signoff.md",4085,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fsteps-c\u002Fstep-06b-finalize-signoff.md",{"path":244,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":245,"sourceHtmlUrl":246},"workflow.md",4367,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.cline\u002Fskills\u002Fwds-0-alignment-signoff\u002Fworkflow.md",[248,270,298,312,328,336],{"skillNo":249,"name":250,"nameZh":6,"description":251,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":252,"categories":253,"keywords":254,"publishedAt":42},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[255,256,257,258,259,260,261,262,263,264,265,266,267,268,269],"clarify requirements","requirements","clarify","file","execution","injection","risk","repo","context","use","scanning","goal","prompts","task","options",{"skillNo":271,"name":272,"nameZh":6,"description":273,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":274,"categories":275,"keywords":279,"publishedAt":42},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[276],{"categoryNo":277,"categoryName":278,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[280,281,282,283,264,284,285,286,287,288,35,289,290,291,292,293,294,295,296,297],"openmm md","local","gpu","do","decision","pick","analyze","tool","stack","open","NVIDIA","linux","molecular dynamics","free","license","MCP","workflow","windows",{"skillNo":299,"name":300,"nameZh":6,"description":301,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":302,"categories":303,"keywords":304,"publishedAt":42},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[300,305,306,307,308,309,310,311],"setup","report","state","issues","project setup","installation","project",{"skillNo":313,"name":314,"nameZh":6,"description":315,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":316,"categories":317,"keywords":319,"publishedAt":42},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[318],{"categoryNo":277,"categoryName":278,"taxonomyType":21,"taxonomyTypeDesc":22},[314,320,321,322,323,324,325,264,326,327,268],"work on issue","development","work on","start issue","work","user","ready","issue",{"skillNo":329,"name":305,"nameZh":6,"description":330,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":331,"categories":332,"keywords":333,"publishedAt":42},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[305,334,309,335,281,311],"interactive","files",{"skillNo":337,"name":338,"nameZh":6,"description":339,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":340,"categories":341,"keywords":342,"publishedAt":42},"01M6DF6M1P5KAJ13YQJ28T7XDE","pr-shepherd","Monitor a PR through to merge — handle CI failures, review comments, and thread resolution automatically until all checks pass","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fpr-shepherd\u002FSKILL.md",[],[343,344,345,346,347,348,349,27],"pr","pr shepherd","shepherd","merge","monitor","ci","resolution"]