[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DBZJSCV0SQRM5N69EE8G65":3,"skill-same:01M6DBZJSCV0SQRM5N69EE8G65":54},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":14,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":39,"install":40,"resources":53},"01M6DBZJSCV0SQRM5N69EE8G65","source-command-save-session",null,"Save current session state to a dated file in ~\u002F.claude\u002Fsessions\u002F so work can be resumed in a future session with full context.","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\u002F.agents\u002Fskills\u002Fsource-command-save-session\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28],"save","command","session","source command save session","sessions","state","file","work","context","full","2026-11-10 10:12:30",false,"---\nname: \"source-command-save-session\"\ndescription: \"Save current session state to a dated file in ~\u002F.claude\u002Fsessions\u002F so work can be resumed in a future session with full context.\"\n---\n\n# source-command-save-session\n\nUse this skill when the user asks to run the migrated source command `save-session`.\n\n## Command Template\n\n# Save Session Command\n\nCapture everything that happened in this session — what was built, what worked, what failed, what's left — and write it to a dated file so the next session can pick up exactly where this one left off.\n\n## When to Use\n\n- End of a work session before closing Codex\n- Before hitting context limits (run this first, then start a fresh session)\n- After solving a complex problem you want to remember\n- Any time you need to hand off context to a future session\n\n## Process\n\n### Step 1: Gather context\n\nBefore writing the file, collect:\n\n- Read all files modified during this session (use git diff or recall from conversation)\n- Review what was discussed, attempted, and decided\n- Note any errors encountered and how they were resolved (or not)\n- Check current test\u002Fbuild status if relevant\n\n### Step 2: Create the sessions folder if it doesn't exist\n\nCreate the canonical sessions folder in the user's Codex home directory:\n\n```bash\nmkdir -p ~\u002F.claude\u002Fsessions\n```\n\n### Step 3: Write the session file\n\nCreate `~\u002F.claude\u002Fsessions\u002FYYYY-MM-DD-\u003Cshort-id>-session.tmp`, using today's actual date and a short-id that satisfies the rules enforced by `SESSION_FILENAME_REGEX` in `session-manager.js`:\n\n- Allowed characters: lowercase `a-z`, digits `0-9`, hyphens `-`\n- Minimum length: 8 characters\n- No uppercase letters, no underscores, no spaces\n\nValid examples: `abc123de`, `a1b2c3d4`, `frontend-worktree-1`\nInvalid examples: `ABC123de` (uppercase), `short` (under 8 chars), `test_id1` (underscore)\n\nFull valid filename example: `2024-01-15-abc123de-session.tmp`\n\nThe legacy filename `YYYY-MM-DD-session.tmp` is still valid, but new session files should prefer the short-id form to avoid same-day collisions.\n\n### Step 4: Populate the file with all sections below\n\nWrite every section honestly. Do not skip sections — write \"Nothing yet\" or \"N\u002FA\" if a section genuinely has no content. An incomplete file is worse than an honest empty section.\n\n### Step 5: Show the file to the user\n\nAfter writing, display the full contents and ask:\n\n```\nSession saved to [actual resolved path to the session file]\n\nDoes this look accurate? Anything to correct or add before we close?\n```\n\nWait for confirmation. Make edits if requested.\n\n---\n\n## Session File Format\n\n```markdown\n# Session: YYYY-MM-DD\n\n**Started:** [approximate time if known]\n**Last Updated:** [current time]\n**Project:** [project name or path]\n**Topic:** [one-line summary of what this session was about]\n\n---\n\n## What We Are Building\n\n[1-3 paragraphs describing the feature, bug fix, or task. Include enough\ncontext that someone with zero memory of this session can understand the goal.\nInclude: what it does, why it's needed, how it fits into the larger system.]\n\n---\n\n## What WORKED (with evidence)\n\n[List only things that are confirmed working. For each item include WHY you\nknow it works — test passed, ran in browser, Postman returned 200, etc.\nWithout evidence, move it to \"Not Tried Yet\" instead.]\n\n- **[thing that works]** — confirmed by: [specific evidence]\n- **[thing that works]** — confirmed by: [specific evidence]\n\nIf nothing is confirmed working yet: \"Nothing confirmed working yet — all approaches still in progress or untested.\"\n\n---\n\n## What Did NOT Work (and why)\n\n[This is the most important section. List every approach tried that failed.\nFor each failure write the EXACT reason so the next session doesn't retry it.\nBe specific: \"threw X error because Y\" is useful. \"didn't work\" is not.]\n\n- **[approach tried]** — failed because: [exact reason \u002F error message]\n- **[approach tried]** — failed because: [exact reason \u002F error message]\n\nIf nothing failed: \"No failed approaches yet.\"\n\n---\n\n## What Has NOT Been Tried Yet\n\n[Approaches that seem promising but haven't been attempted. Ideas from the\nconversation. Alternative solutions worth exploring. Be specific enough that\nthe next session knows exactly what to try.]\n\n- [approach \u002F idea]\n- [approach \u002F idea]\n\nIf nothing is queued: \"No specific untried approaches identified.\"\n\n---\n\n## Current State of Files\n\n[Every file touched this session. Be precise about what state each file is in.]\n\n| File              | Status         | Notes                      |\n| ----------------- | -------------- | -------------------------- |\n| `path\u002Fto\u002Ffile.ts` | ✅ Complete    | [what it does]             |\n| `path\u002Fto\u002Ffile.ts` | ? In Progress | [what's done, what's left] |\n| `path\u002Fto\u002Ffile.ts` | ❌ Broken      | [what's wrong]             |\n| `path\u002Fto\u002Ffile.ts` | ?️ Not Started | [planned but not touched]  |\n\nIf no files were touched: \"No files modified this session.\"\n\n---\n\n## Decisions Made\n\n[Architecture choices, tradeoffs accepted, approaches chosen and why.\nThese prevent the next session from relitigating settled decisions.]\n\n- **[decision]** — reason: [why this was chosen over alternatives]\n\nIf no significant decisions: \"No major decisions made this session.\"\n\n---\n\n## Blockers & Open Questions\n\n[Anything unresolved that the next session needs to address or investigate.\nQuestions that came up but weren't answered. External dependencies waiting on.]\n\n- [blocker \u002F open question]\n\nIf none: \"No active blockers.\"\n\n---\n\n## Exact Next Step\n\n[If known: The single most important thing to do when resuming. Be precise\nenough that resuming requires zero thinking about where to start.]\n\n[If not known: \"Next step not determined — review 'What Has NOT Been Tried Yet'\nand 'Blockers' sections to decide on direction before starting.\"]\n\n---\n\n## Environment & Setup Notes\n\n[Only fill this if relevant — commands needed to run the project, env vars\nrequired, services that need to be running, etc. Skip if standard setup.]\n\n[If none: omit this section entirely.]\n```\n\n---\n\n## Example Output\n\n```markdown\n# Session: 2024-01-15\n\n**Started:** ~2pm\n**Last Updated:** 5:30pm\n**Project:** my-app\n**Topic:** Building JWT authentication with httpOnly cookies\n\n---\n\n## What We Are Building\n\nUser authentication system for the Next.js app. Users register with email\u002Fpassword,\nreceive a JWT stored in an httpOnly cookie (not localStorage), and protected routes\ncheck for a valid token via middleware. The goal is session persistence across browser\nrefreshes without exposing the token to JavaScript.\n\n---\n\n## What WORKED (with evidence)\n\n- **`\u002Fapi\u002Fauth\u002Fregister` endpoint** — confirmed by: Postman POST returns 200 with user\n  object, row visible in Supabase dashboard, bcrypt hash stored correctly\n- **JWT generation in `lib\u002Fauth.ts`** — confirmed by: unit test passes\n  (`npm test -- auth.test.ts`), decoded token at jwt.io shows correct payload\n- **Password hashing** — confirmed by: `bcrypt.compare()` returns true in test\n\n---\n\n## What Did NOT Work (and why)\n\n- **Next-Auth library** — failed because: conflicts with our custom Prisma adapter,\n  threw \"Cannot use adapter with credentials provider in this configuration\" on every\n  request. Not worth debugging — too opinionated for our setup.\n- **Storing JWT in localStorage** — failed because: SSR renders happen before\n  localStorage is available, caused React hydration mismatch error on every page load.\n  This approach is fundamentally incompatible with Next.js SSR.\n\n---\n\n## What Has NOT Been Tried Yet\n\n- Store JWT as httpOnly cookie in the login route response (most likely solution)\n- Use `cookies()` from `next\u002Fheaders` to read token in server components\n- Write middleware.ts to protect routes by checking cookie existence\n\n---\n\n## Current State of Files\n\n| File                             | Status         | Notes                                           |\n| -------------------------------- | -------------- | ----------------------------------------------- |\n| `app\u002Fapi\u002Fauth\u002Fregister\u002Froute.ts` | ✅ Complete    | Works, tested                                   |\n| `app\u002Fapi\u002Fauth\u002Flogin\u002Froute.ts`    | ? In Progress | Token generates but not setting cookie yet      |\n| `lib\u002Fauth.ts`                    | ✅ Complete    | JWT helpers, all tested                         |\n| `middleware.ts`                  | ?️ Not Started | Route protection, needs cookie read logic first |\n| `app\u002Flogin\u002Fpage.tsx`             | ?️ Not Started | UI not started                                  |\n\n---\n\n## Decisions Made\n\n- **httpOnly cookie over localStorage** — reason: prevents XSS token theft, works with SSR\n- **Custom auth over Next-Auth** — reason: Next-Auth conflicts with our Prisma setup, not worth the fight\n\n---\n\n## Blockers & Open Questions\n\n- Does `cookies().set()` work inside a Route Handler or only in Server Actions? Need to verify.\n\n---\n\n## Exact Next Step\n\nIn `app\u002Fapi\u002Fauth\u002Flogin\u002Froute.ts`, after generating the JWT, set it as an httpOnly\ncookie using `cookies().set('token', jwt, { httpOnly: true, secure: true, sameSite: 'strict' })`.\nThen test with Postman — the response should include a `Set-Cookie` header.\n```\n\n---\n\n## Notes\n\n- Each session gets its own file — never append to a previous session's file\n- The \"What Did NOT Work\" section is the most critical — future sessions will blindly retry failed approaches without it\n- If the user asks to save mid-session (not just at the end), save what's known so far and mark in-progress items clearly\n- The file is meant to be read by Codex at the start of the next session via `\u002Fresume-session`\n- Use the canonical global session store: `~\u002F.claude\u002Fsessions\u002F`\n- Prefer the short-id filename form (`YYYY-MM-DD-\u003Cshort-id>-session.tmp`) for any new session file\n","# source-command-save-session\n\nUse this skill when the user asks to run the migrated source command `save-session`.\n\n## Command Template\n\n# Save Session Command\n\nCapture everything that happened in this session — what was built, what worked, what failed, what's left — and write it to a dated file so the next session can pick up exactly where this one left off.\n\n## When to Use\n\n- End of a work session before closing Codex\n- Before hitting context limits (run this first, then start a fresh session)\n- After solving a complex problem you want to remember\n- Any time you need to hand off context to a future session\n\n## Process\n\n### Step 1: Gather context\n\nBefore writing the file, collect:\n\n- Read all files modified during this session (use git diff or recall from conversation)\n- Review what was discussed, attempted, and decided\n- Note any errors encountered and how they were resolved (or not)\n- Check current test\u002Fbuild status if relevant\n\n### Step 2: Create the sessions folder if it doesn't exist\n\nCreate the canonical sessions folder in the user's Codex home directory:\n\n```bash\nmkdir -p ~\u002F.claude\u002Fsessions\n```\n\n### Step 3: Write the session file\n\nCreate `~\u002F.claude\u002Fsessions\u002FYYYY-MM-DD-\u003Cshort-id>-session.tmp`, using today's actual date and a short-id that satisfies the rules enforced by `SESSION_FILENAME_REGEX` in `session-manager.js`:\n\n- Allowed characters: lowercase `a-z`, digits `0-9`, hyphens `-`\n- Minimum length: 8 characters\n- No uppercase letters, no underscores, no spaces\n\nValid examples: `abc123de`, `a1b2c3d4`, `frontend-worktree-1`\nInvalid examples: `ABC123de` (uppercase), `short` (under 8 chars), `test_id1` (underscore)\n\nFull valid filename example: `2024-01-15-abc123de-session.tmp`\n\nThe legacy filename `YYYY-MM-DD-session.tmp` is still valid, but new session files should prefer the short-id form to avoid same-day collisions.\n\n### Step 4: Populate the file with all sections below\n\nWrite every section honestly. Do not skip sections — write \"Nothing yet\" or \"N\u002FA\" if a section genuinely has no content. An incomplete file is worse than an honest empty section.\n\n### Step 5: Show the file to the user\n\nAfter writing, display the full contents and ask:\n\n```\nSession saved to [actual resolved path to the session file]\n\nDoes this look accurate? Anything to correct or add before we close?\n```\n\nWait for confirmation. Make edits if requested.\n\n---\n\n## Session File Format\n\n```markdown\n# Session: YYYY-MM-DD\n\n**Started:** [approximate time if known]\n**Last Updated:** [current time]\n**Project:** [project name or path]\n**Topic:** [one-line summary of what this session was about]\n\n---\n\n## What We Are Building\n\n[1-3 paragraphs describing the feature, bug fix, or task. Include enough\ncontext that someone with zero memory of this session can understand the goal.\nInclude: what it does, why it's needed, how it fits into the larger system.]\n\n---\n\n## What WORKED (with evidence)\n\n[List only things that are confirmed working. For each item include WHY you\nknow it works — test passed, ran in browser, Postman returned 200, etc.\nWithout evidence, move it to \"Not Tried Yet\" instead.]\n\n- **[thing that works]** — confirmed by: [specific evidence]\n- **[thing that works]** — confirmed by: [specific evidence]\n\nIf nothing is confirmed working yet: \"Nothing confirmed working yet — all approaches still in progress or untested.\"\n\n---\n\n## What Did NOT Work (and why)\n\n[This is the most important section. List every approach tried that failed.\nFor each failure write the EXACT reason so the next session doesn't retry it.\nBe specific: \"threw X error because Y\" is useful. \"didn't work\" is not.]\n\n- **[approach tried]** — failed because: [exact reason \u002F error message]\n- **[approach tried]** — failed because: [exact reason \u002F error message]\n\nIf nothing failed: \"No failed approaches yet.\"\n\n---\n\n## What Has NOT Been Tried Yet\n\n[Approaches that seem promising but haven't been attempted. Ideas from the\nconversation. Alternative solutions worth exploring. Be specific enough that\nthe next session knows exactly what to try.]\n\n- [approach \u002F idea]\n- [approach \u002F idea]\n\nIf nothing is queued: \"No specific untried approaches identified.\"\n\n---\n\n## Current State of Files\n\n[Every file touched this session. Be precise about what state each file is in.]\n\n| File              | Status         | Notes                      |\n| ----------------- | -------------- | -------------------------- |\n| `path\u002Fto\u002Ffile.ts` | ✅ Complete    | [what it does]             |\n| `path\u002Fto\u002Ffile.ts` | ? In Progress | [what's done, what's left] |\n| `path\u002Fto\u002Ffile.ts` | ❌ Broken      | [what's wrong]             |\n| `path\u002Fto\u002Ffile.ts` | ?️ Not Started | [planned but not touched]  |\n\nIf no files were touched: \"No files modified this session.\"\n\n---\n\n## Decisions Made\n\n[Architecture choices, tradeoffs accepted, approaches chosen and why.\nThese prevent the next session from relitigating settled decisions.]\n\n- **[decision]** — reason: [why this was chosen over alternatives]\n\nIf no significant decisions: \"No major decisions made this session.\"\n\n---\n\n## Blockers & Open Questions\n\n[Anything unresolved that the next session needs to address or investigate.\nQuestions that came up but weren't answered. External dependencies waiting on.]\n\n- [blocker \u002F open question]\n\nIf none: \"No active blockers.\"\n\n---\n\n## Exact Next Step\n\n[If known: The single most important thing to do when resuming. Be precise\nenough that resuming requires zero thinking about where to start.]\n\n[If not known: \"Next step not determined — review 'What Has NOT Been Tried Yet'\nand 'Blockers' sections to decide on direction before starting.\"]\n\n---\n\n## Environment & Setup Notes\n\n[Only fill this if relevant — commands needed to run the project, env vars\nrequired, services that need to be running, etc. Skip if standard setup.]\n\n[If none: omit this section entirely.]\n```\n\n---\n\n## Example Output\n\n```markdown\n# Session: 2024-01-15\n\n**Started:** ~2pm\n**Last Updated:** 5:30pm\n**Project:** my-app\n**Topic:** Building JWT authentication with httpOnly cookies\n\n---\n\n## What We Are Building\n\nUser authentication system for the Next.js app. Users register with email\u002Fpassword,\nreceive a JWT stored in an httpOnly cookie (not localStorage), and protected routes\ncheck for a valid token via middleware. The goal is session persistence across browser\nrefreshes without exposing the token to JavaScript.\n\n---\n\n## What WORKED (with evidence)\n\n- **`\u002Fapi\u002Fauth\u002Fregister` endpoint** — confirmed by: Postman POST returns 200 with user\n  object, row visible in Supabase dashboard, bcrypt hash stored correctly\n- **JWT generation in `lib\u002Fauth.ts`** — confirmed by: unit test passes\n  (`npm test -- auth.test.ts`), decoded token at jwt.io shows correct payload\n- **Password hashing** — confirmed by: `bcrypt.compare()` returns true in test\n\n---\n\n## What Did NOT Work (and why)\n\n- **Next-Auth library** — failed because: conflicts with our custom Prisma adapter,\n  threw \"Cannot use adapter with credentials provider in this configuration\" on every\n  request. Not worth debugging — too opinionated for our setup.\n- **Storing JWT in localStorage** — failed because: SSR renders happen before\n  localStorage is available, caused React hydration mismatch error on every page load.\n  This approach is fundamentally incompatible with Next.js SSR.\n\n---\n\n## What Has NOT Been Tried Yet\n\n- Store JWT as httpOnly cookie in the login route response (most likely solution)\n- Use `cookies()` from `next\u002Fheaders` to read token in server components\n- Write middleware.ts to protect routes by checking cookie existence\n\n---\n\n## Current State of Files\n\n| File                             | Status         | Notes                                           |\n| -------------------------------- | -------------- | ----------------------------------------------- |\n| `app\u002Fapi\u002Fauth\u002Fregister\u002Froute.ts` | ✅ Complete    | Works, tested                                   |\n| `app\u002Fapi\u002Fauth\u002Flogin\u002Froute.ts`    | ? In Progress | Token generates but not setting cookie yet      |\n| `lib\u002Fauth.ts`                    | ✅ Complete    | JWT helpers, all tested                         |\n| `middleware.ts`                  | ?️ Not Started | Route protection, needs cookie read logic first |\n| `app\u002Flogin\u002Fpage.tsx`             | ?️ Not Started | UI not started                                  |\n\n---\n\n## Decisions Made\n\n- **httpOnly cookie over localStorage** — reason: prevents XSS token theft, works with SSR\n- **Custom auth over Next-Auth** — reason: Next-Auth conflicts with our Prisma setup, not worth the fight\n\n---\n\n## Blockers & Open Questions\n\n- Does `cookies().set()` work inside a Route Handler or only in Server Actions? Need to verify.\n\n---\n\n## Exact Next Step\n\nIn `app\u002Fapi\u002Fauth\u002Flogin\u002Froute.ts`, after generating the JWT, set it as an httpOnly\ncookie using `cookies().set('token', jwt, { httpOnly: true, secure: true, sameSite: 'strict' })`.\nThen test with Postman — the response should include a `Set-Cookie` header.\n```\n\n---\n\n## Notes\n\n- Each session gets its own file — never append to a previous session's file\n- The \"What Did NOT Work\" section is the most critical — future sessions will blindly retry failed approaches without it\n- If the user asks to save mid-session (not just at the end), save what's known so far and mark in-progress items clearly\n- The file is meant to be read by Codex at the start of the next session via `\u002Fresume-session`\n- Use the canonical global session store: `~\u002F.claude\u002Fsessions\u002F`\n- Prefer the short-id filename form (`YYYY-MM-DD-\u003Cshort-id>-session.tmp`) for any new session file\n",{"name":5,"description":7},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Fskills\u002Fsource-command-save-session","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill source-command-save-session",{"tool":46,"command":47},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill source-command-save-session",{"tool":49,"command":50},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill source-command-save-session","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fsource-command-save-session\u002FSKILL.md",true,[],[55,75,106,133,146,161],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":29},"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",[],[62,63,64,65,66,67,68,69,70,71,27,72,73,74,25],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","use","repo","injection","execution",{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":86,"publishedAt":29},"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",[81],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[87,88,89,90,91,92,93,94,95,96,97,98,99,100,71,101,102,103,104,105],"openmm md","how","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":118,"publishedAt":29},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[112,115],{"categoryNo":113,"categoryName":114,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":116,"categoryName":117,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000008","测试与质量",[119,120,121,122,123,124,125,126,127,128,88,129,130,131,132],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":29},"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",[],[135,140,141,142,143,144,145,24],"setup","report","project","installation","project setup","issues",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":153,"publishedAt":29},"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",[152],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},[148,154,67,155,156,157,71,158,26,159,160],"start issue","issue","ready","work on issue","user","work on","development",{"skillNo":162,"name":140,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":29},"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",[],[140,142,103,167,144,168],"files","interactive"]