[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C45EVGNEAQVT8PKYT36JVN":3,"skill-same:01M6C45EVGNEAQVT8PKYT36JVN":80},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":6,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":12,"updatedAt":65,"install":66,"resources":79},"01M6C45EVGNEAQVT8PKYT36JVN","vibe-cross-platform",null,"Cross-platform development rules for Mistral Vibe. Use when writing platform-specific logic, handling paths, Windows support, shell compatibility, terminal data streams, or cross-OS testing strategies.","mistralai\u002Fmistral-vibe","mistralai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F132372032?v=4","01M6C456ET86MBBTS4RMX0NDRS","Mistral","01M6C456K44X5W8TJX4T023KRV",5370,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvibe-cross-platform\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,12,41,42,43,44,45,46,47,48],"platform","cross platform","vibe","vibe cross platform","Rules","when","for","streams","testing strategies","tests","strategies","across","use","work","testing","shell","data","code","development","windows","support","linux","terminal","macos","writing","2026-11-10 10:12:30",false,"---\nname: vibe-cross-platform\ndescription: Cross-platform development rules for Mistral Vibe. Use when writing platform-specific logic, handling paths, Windows support, shell compatibility, terminal data streams, or cross-OS testing strategies.\nmetadata:\n  display-name: Vibe Cross-Platform\n  short-description: Cross-platform rules and testing for Vibe\n  default-prompt: Use $vibe-cross-platform to ensure code and tests work across Linux, macOS, and Windows.\n---\n\n# Vibe Cross-Platform\n\nVibe ships on Linux, macOS, and Windows, but **CI runs the test suite on Linux only**. The machine you develop on is not the machine that gates the PR — code and tests must pass on every platform, and must be *provably* correct on the platforms CI cannot exercise.\n\n## Code rules\n\n- Never rely on host-specific behavior (shell, path separator, line ending, available binaries, `$SHELL`, case sensitivity). Assume the same code runs under `cmd.exe`, Git Bash, `zsh`, and `sh`.\n- Branch platform-specific logic behind the helpers in `vibe.core.utils.platform` (`is_windows()`, `resolve_windows_shell()`), not ad-hoc `sys.platform` checks. Keep POSIX-only assumptions (forward slashes, POSIX `shlex` escaping, `$SHELL`) out of shared paths and scope Windows-only handling to `is_windows()`.\n- Use `pathlib.Path` for path composition; never hardcode `\u002F` or `\\\\`.\n\n## Terminal data\n\n- Treat terminal and PTY data as arbitrarily chunked streams: normalize CRLF before interpreting lone `\\r` as an in-place redraw, buffer incomplete control sequences until their terminator arrives, and add Linux-runnable regression tests covering CRLF plus every split boundary of representative control sequences.\n\n## Testing\n\n- Test other-platform code paths **on Linux** by monkeypatching `sys.platform`, env vars, and probes like `shutil.which` — do not `@pytest.mark.skipif` them away. A Windows-only behavior with no Linux-runnable test is untested in CI.\n- When an assertion depends on the platform, force it explicitly (e.g. `monkeypatch.setattr(module, \"is_windows\", lambda: True)`) instead of letting the test pass only because of the host it happened to run on. A test that would flip its result on a different OS is a bug.\n","# Vibe Cross-Platform\n\nVibe ships on Linux, macOS, and Windows, but **CI runs the test suite on Linux only**. The machine you develop on is not the machine that gates the PR — code and tests must pass on every platform, and must be *provably* correct on the platforms CI cannot exercise.\n\n## Code rules\n\n- Never rely on host-specific behavior (shell, path separator, line ending, available binaries, `$SHELL`, case sensitivity). Assume the same code runs under `cmd.exe`, Git Bash, `zsh`, and `sh`.\n- Branch platform-specific logic behind the helpers in `vibe.core.utils.platform` (`is_windows()`, `resolve_windows_shell()`), not ad-hoc `sys.platform` checks. Keep POSIX-only assumptions (forward slashes, POSIX `shlex` escaping, `$SHELL`) out of shared paths and scope Windows-only handling to `is_windows()`.\n- Use `pathlib.Path` for path composition; never hardcode `\u002F` or `\\\\`.\n\n## Terminal data\n\n- Treat terminal and PTY data as arbitrarily chunked streams: normalize CRLF before interpreting lone `\\r` as an in-place redraw, buffer incomplete control sequences until their terminator arrives, and add Linux-runnable regression tests covering CRLF plus every split boundary of representative control sequences.\n\n## Testing\n\n- Test other-platform code paths **on Linux** by monkeypatching `sys.platform`, env vars, and probes like `shutil.which` — do not `@pytest.mark.skipif` them away. A Windows-only behavior with no Linux-runnable test is untested in CI.\n- When an assertion depends on the platform, force it explicitly (e.g. `monkeypatch.setattr(module, \"is_windows\", lambda: True)`) instead of letting the test pass only because of the host it happened to run on. A test that would flip its result on a different OS is a bug.\n",{"name":5,"metadata":54,"description":7},{"display-name":55,"default-prompt":56,"short-description":57},"Vibe Cross-Platform","Use $vibe-cross-platform to ensure code and tests work across Linux, macOS, and Windows.","Cross-platform rules and testing for Vibe","main","338ad4bf0f73c4dd879d667cf7ab011555ae1751",".agents\u002Fskills\u002Fvibe-cross-platform",795,"https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe","https:\u002F\u002Fgithub.com\u002Fmistralai","mistral.ai","2026-11-11 00:56:57",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add mistralai\u002Fmistral-vibe --skill vibe-cross-platform",{"tool":72,"command":73},"bunx","bunx skills add mistralai\u002Fmistral-vibe --skill vibe-cross-platform",{"tool":75,"command":76},"pnpm","pnpm dlx skills add mistralai\u002Fmistral-vibe --skill vibe-cross-platform","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvibe-cross-platform\u002FSKILL.md",true,[],[81,108,129,153,172,192],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":90,"publishedAt":49},"01M71709JBNSMH1MJ71NRGRBFM","import","Import the user's setup from other coding CLIs (Claude Code, Codex, OpenCode) into Vibe — instructions, skills, subagents, commands, hooks, MCP servers, permissions, and plugins. Load when the user wants to switch to Vibe, import or reuse another CLI's configuration, or asks whether a file from another CLI works in Vibe.","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fblob\u002Fmain\u002Fvibe\u002Fplugins\u002Fbuiltins\u002Fvibe\u002Fskills\u002Fimport\u002FSKILL.md",[87],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[83,91,92,93,94,95,96,97,98,99,100,101,102,41,29,103,104,105,106,107],"setup","file","configuration","mcp servers","servers","plugins","commands","instructions","opencode","cli","codex","permissions","load","MCP","reuse","hooks","switch",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":49},"01M6C46D6AE5JDVJTFTXH9RZ5Q","worktree","Create, reuse, and clean up git worktrees under $VIBE_HOME\u002Fworktrees. Use when the user wants to work in an isolated git worktree, create a worktree for a task, or list\u002Fremove existing worktrees.","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fblob\u002Fmain\u002Fvibe\u002Fplugins\u002Fbuiltins\u002Fvibe\u002Fskills\u002Fworktree\u002FSKILL.md",[],[110,115,116,30,117,118,119,120,121,36,122,123,37,124,125,126,127,29,128,105],"clean","worktrees","home","up","user","git worktrees","remove","git worktree","list","create","git","true","task","Existing",{"skillNo":130,"name":26,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":135,"publishedAt":49},"01M6C46A11K3H7D6F7ATSBRYKJ","Authoritative reference for Mistral Vibe — the CLI agent you (the model) are running inside.\n\nLOAD when the user:\n- asks anything about Vibe itself, even by indirect name (\"this CLI\", \"this tool\", \"you\");\n- wants to change, inspect, or reset their setup;\n- asks why the agent did or did not act;\n- asks how to make the CLI do X, where X lives, or what a flag\u002Fcommand\u002Fsetting does;\n- asks any meta question about your own behavior;\n- is unsure whether a command, flag, env var, or file is in scope — this skill is the source of truth.\n\nSCOPE: config under `~\u002F.vibe\u002F` and project-local `.vibe\u002F`; `VIBE_*` and `LOG_*` env vars; models and providers; agents and subagents; skills; tools and their permission model; every slash command and CLI flag; hooks; MCP servers; connectors; plugins; trusted folders; `@`-file mentions; logs; themes; voice.","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fblob\u002Fmain\u002Fvibe\u002Fplugins\u002Fbuiltins\u002Fvibe\u002Fskills\u002Fvibe\u002FSKILL.md",[134],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},[26,136,137,30,138,139,140,141,142,143,144,145,146,147,148,149,150,104,151,152],"themes","you","do","act","log","Meta","inspect","project","subagents","config","why","how","command","change","logs","question","local",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":160,"publishedAt":49},"01M6C467E56WQ8PXEZT1Q0VP23","skill-creator","Load this skill before creating, updating, or deleting a Vibe skill, or whenever you plan to add or modify SKILL.md files under a skills directory. It explains Vibe's SKILL.md frontmatter, discovery order, support files, and the permission flow.","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fblob\u002Fmain\u002Fvibe\u002Fplugins\u002Fbuiltins\u002Fvibe\u002Fskills\u002Fskill-creator\u002FSKILL.md",[159],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},[161,162,163,164,44,26,165,166,137,167,103,168,169,170,171],"creator","skill creator","plan","flow","add","it","frontmatter","files","permission","directory","discovery",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":179,"publishedAt":49},"01M6C464DMPVA3RTXG0RGGZB3T","create-plugin","Create a Vibe plugin package — the Agent Plugins 1.0 format with optional Vibe extensions for skills, MCP servers, hooks, knowledge, agents, libraries, and connectors. Use when the user wants to create, scaffold, or author a plugin for Mistral Vibe.","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fblob\u002Fmain\u002Fvibe\u002Fplugins\u002Fbuiltins\u002Fvibe\u002Fskills\u002Fcreate-plugin\u002FSKILL.md",[178],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},[124,180,181,119,95,182,183,184,29,185,30,186,187,12,36,188,104,94,189,96,106,190,191],"plugin","create plugin","with","extensions","author","agent plugins","connectors","scaffold","package","knowledge","format","libraries",{"skillNo":193,"name":194,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":197,"publishedAt":49},"01M6C4620AT7K4999KR0YY86KH","prompts","https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fblob\u002Fmain\u002Fvibe\u002Fcore\u002Ftools\u002Fbuiltins\u002Fprompts\u002Fskill.md",[],[194]]