[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DC0BJ83SM6QCDW91BC3RVP":3,"skill-same:01M6DC0BJ83SM6QCDW91BC3RVP":50},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":13,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":35,"install":36,"resources":49},"01M6DC0BJ83SM6QCDW91BC3RVP","stdin-server",null,"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\u002Fstdin-server\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[23,24],"server","stdin server","2026-11-10 10:12:30",false,"---\nname: stdin-server\ndescription: Interactive-stdin MCP server (stdlib-only, zero-dependency) giving an agent a persistent write-to-stdin plus read-incremental-stdout channel to a child process — start_process \u002F interact_with_process \u002F read_process_output. Use when you must drive a LIVE prompt-driven process after it launches: a REPL, a debugger (pdb), a database or language shell, an SSH session, or any CLI that keeps reading stdin — the thing Claude Code's -NonInteractive Bash (stdin on the null device) cannot do. NOT for one-shot commands (use Bash) and NOT always-on (opt-in mount only, because this box has a measured commit-exhaustion freeze from per-session stdio-MCP duplication).\nlicense: MIT\n---\n# stdin-server — interactive stdin for a child process\n\nSource of truth: `tools\u002Fstdin-server\u002Fstdin_server.py` (stdlib-only, 100% line+branch\ngated). Full design + caveats: `tools\u002Fstdin-server\u002FREADME.md`.\n\n## The gap it closes\n\nClaude Code's Bash tool runs `-NonInteractive` with stdin wired to the null device,\nso it can *launch* a REPL \u002F debugger \u002F db-shell but cannot **type into** one after\nit starts. This server owns the child process and relays its stdin\u002Fstdout — the\nnon-duplicate surface of Desktop Commander.\n\n## Mount (opt-in, NOT always-on)\n\nZero third-party deps, so there is no install step. Register an MCP server whose\ncommand is `python tools\u002Fstdin-server\u002Fstdin_server.py`; it speaks newline-delimited\nJSON-RPC 2.0 on its own stdio. Mount it only for the session that needs an\ninteractive channel — the box has a measured commit-exhaustion freeze caused by\nper-session stdio-MCP duplication, so do not add it to the always-on fleet.\n\n## The three verbs\n\n- `start_process(command: list[str], cwd?)` -> `{session_id, pid}`\n- `interact_with_process(session_id, input, wait_ms=200)` -> `{output, alive, exit_code}`\n- `read_process_output(session_id, max_chars=8192, timeout_ms=1000)` -> `{output, more, truncated, alive, exit_code}`\n\n`more` means buffered output still remains; `truncated` means the 256 KiB\ndrop-oldest ring discarded older output before you read it.\n\n## Canonical flow — drive a REPL\n\n```\nstart_process([\"python\", \"-i\", \"-u\"])            -> {session_id: \"proc-1\", pid: ...}\ninteract_with_process(\"proc-1\", \"print(2+2)\\n\")  -> {output: \">>> 4\\n>>> \", alive: true}\ninteract_with_process(\"proc-1\", \"exit()\\n\")      -> {alive: false, exit_code: 0}\n```\n\n## Windows caveat\n\n`pty` is Unix-only, so children run over ordinary pipes: an `isatty()`-gated prompt\nmay be suppressed (launch the CPython REPL with `-i -u`), and a child that writes\nwithout flushing will not emit until it flushes or exits. A ConPTY \u002F pywinpty\nfront-end is a documented follow-on, outside this stdlib-only scope.\n","# stdin-server — interactive stdin for a child process\n\nSource of truth: `tools\u002Fstdin-server\u002Fstdin_server.py` (stdlib-only, 100% line+branch\ngated). Full design + caveats: `tools\u002Fstdin-server\u002FREADME.md`.\n\n## The gap it closes\n\nClaude Code's Bash tool runs `-NonInteractive` with stdin wired to the null device,\nso it can *launch* a REPL \u002F debugger \u002F db-shell but cannot **type into** one after\nit starts. This server owns the child process and relays its stdin\u002Fstdout — the\nnon-duplicate surface of Desktop Commander.\n\n## Mount (opt-in, NOT always-on)\n\nZero third-party deps, so there is no install step. Register an MCP server whose\ncommand is `python tools\u002Fstdin-server\u002Fstdin_server.py`; it speaks newline-delimited\nJSON-RPC 2.0 on its own stdio. Mount it only for the session that needs an\ninteractive channel — the box has a measured commit-exhaustion freeze caused by\nper-session stdio-MCP duplication, so do not add it to the always-on fleet.\n\n## The three verbs\n\n- `start_process(command: list[str], cwd?)` -> `{session_id, pid}`\n- `interact_with_process(session_id, input, wait_ms=200)` -> `{output, alive, exit_code}`\n- `read_process_output(session_id, max_chars=8192, timeout_ms=1000)` -> `{output, more, truncated, alive, exit_code}`\n\n`more` means buffered output still remains; `truncated` means the 256 KiB\ndrop-oldest ring discarded older output before you read it.\n\n## Canonical flow — drive a REPL\n\n```\nstart_process([\"python\", \"-i\", \"-u\"])            -> {session_id: \"proc-1\", pid: ...}\ninteract_with_process(\"proc-1\", \"print(2+2)\\n\")  -> {output: \">>> 4\\n>>> \", alive: true}\ninteract_with_process(\"proc-1\", \"exit()\\n\")      -> {alive: false, exit_code: 0}\n```\n\n## Windows caveat\n\n`pty` is Unix-only, so children run over ordinary pipes: an `isatty()`-gated prompt\nmay be suppressed (launch the CPython REPL with `-i -u`), and a child that writes\nwithout flushing will not emit until it flushes or exits. A ConPTY \u002F pywinpty\nfront-end is a documented follow-on, outside this stdlib-only scope.\n",{},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Fskills\u002Fstdin-server","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":7,"skillName":5,"commands":37,"prompt":47,"zipAvailable":48},[38,41,44],{"tool":39,"command":40},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill stdin-server",{"tool":42,"command":43},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill stdin-server",{"tool":45,"command":46},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill stdin-server","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fstdin-server\u002FSKILL.md",true,[],[51,73,102,129,143,159],{"skillNo":52,"name":53,"nameZh":6,"description":54,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":55,"categories":56,"keywords":57,"publishedAt":25},"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",[],[58,59,60,61,62,63,64,65,66,67,68,69,70,71,72],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","use","context","repo","injection","execution","file",{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":82,"publishedAt":25},"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",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[83,84,85,86,87,88,89,90,91,92,93,94,95,96,67,97,98,99,100,101],"openmm md","how","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":114,"publishedAt":25},"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",[108,111],{"categoryNo":109,"categoryName":110,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":112,"categoryName":113,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",[115,116,117,118,119,120,121,122,123,124,84,125,126,127,128],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":25},"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",[],[131,136,137,138,139,140,141,142],"setup","report","project","installation","project setup","issues","state",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":150,"publishedAt":25},"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",[149],{"categoryNo":80,"categoryName":81,"taxonomyType":20,"taxonomyTypeDesc":21},[145,151,63,152,153,154,67,155,156,157,158],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":160,"name":136,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":25},"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",[],[136,138,99,165,140,166],"files","interactive"]