[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7AQ8TYPC5AS8D4GY33PVNFB":3,"skill-same:01M7AQ8TYPC5AS8D4GY33PVNFB":51},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":14,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M7AQ8TYPC5AS8D4GY33PVNFB","rift",null,"Use Rift copy-on-write workspaces when the user requests Rift isolation, a snapshot of current working state, or Rift workspace management.","dwin\u002Fskills","dwin","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F172265?v=4","01M7AQ5KDX3MR3GYQMSCGSZCSA","Darwin Smith","01M7AQ5KEHZ1XC28H2ZW0BFAXF",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdwin\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Frift\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: rift\ndescription: Use Rift copy-on-write workspaces when the user requests Rift isolation, a snapshot of current working state, or Rift workspace management.\n---\n\n# Rift\n\nUse [Rift](https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Frift) to give a task an isolated copy\nof the current workspace, including its Git index and uncommitted changes.\n\nThis skill covers Rift's commands and works on its own. Rift is for local\nmachines; cloud agent sandboxes do not need it. The `managing-workspaces` skill\ncarries the wider policy: choosing an isolation method, seed checkouts,\nownership, build storage, and cleanup. Load it alongside this one when it is\navailable.\n\n## Ensure Rift is available\n\nRun `command -v rift` and `rift --help`. If it is missing, install the\n`rift-snapshot` package with an available package manager:\n\n```bash\nbun add -g rift-snapshot\n# With npm when Bun is unavailable:\nnpm install -g rift-snapshot\n```\n\nUse the package manager's global bin directory if installation succeeds but\n`rift` is outside PATH. For Bun, try `\"$HOME\u002F.bun\u002Fbin\u002Frift\" --help` and add\nthat directory to the task's command environment. Change persistent shell\nconfiguration only when requested. If neither package manager is available,\nreport the prerequisite rather than installing a runtime outside task scope.\nConfirm the executable works before creating a workspace.\n\n## Create or reuse a workspace\n\n1. Resolve the intended source to an absolute path. Inspect its Git status,\n   HEAD, index, and remote before snapshotting. Record inherited changes so\n   later commits include only task-owned edits unless the user requests\n   otherwise. Leave the source index and working-tree contents unchanged.\n   After creating or selecting the Rift, and only inside that workspace before\n   making task commits, unstage inherited entries without changing working-tree\n   contents. Stage only task-owned changes (select hunks interactively when\n   needed) and inspect the complete staged diff. If inherited and task changes\n   cannot be separated confidently, do not commit them; report the blocker.\n2. Reuse a suitable Rift workspace already assigned to this task. For a new\n   workspace, run `rift init` from the source, then\n   `rift create --name \u003Ctask-name>`. Capture the absolute path printed on\n   stdout and verify that it exists before continuing.\n3. Run every edit, Git command, dependency setup, and test with that path as\n   the explicit working directory. Shell directory changes do not persist\n   across separate tool calls. Report the path so the user can open it.\n\nRift needs a regular Git checkout. It rejects linked Git worktrees,\nrepositories with active Git operations or lock files, FIFOs such as a secret\nmanager's `.env` pipe, and sockets such as the `fsmonitor--daemon.ipc` that\nanother worktree's Git daemon leaves under `.git\u002Fworktrees\u002F`, which fails with\n`unsupported filesystem entry`. Leave those states in place. A clean seed avoids\nthese blockers for ordinary new isolation; if the user explicitly requests a\nsnapshot of this current state, report the blocker and ask before using a source\nthat omits it.\n\nRift copies Git repositories with detached HEAD. Before committing, create a\ntask branch at HEAD. For PR work, first compare HEAD with the fetched PR branch\nand keep any commits only HEAD has on a branch, then check out the PR branch.\n\nBy default, Rift omits regenerable artifacts, including dependencies and build\ncaches. Use `--copy-all` when the task needs those files, otherwise run the\nrepository's normal setup in the new workspace. Check installed CLI help for\nsupported options. macOS creation requires APFS; Windows workspace creation\nis currently unsupported.\n\nRead any `.rift.toml` before creation or removal. Its lifecycle hooks execute\ncommands and may start services or remove data. Run hooks only within existing\ntask authorization; use `--no-hooks` when hooks exceed it. If a postcreate\nhook fails, inspect `rift list` and the resulting workspace before retrying:\ncreation may already have succeeded.\n\n## Codex use\n\nThis skill controls shell execution in a Rift directory. It does not replace\nCodex's native worktree backend or move the chat's project attachment.\nStart from the source checkout in local mode. For app project views tied to\nthe snapshot, open the returned directory as a project and start a local chat\nthere. Give delegated agents the same explicit workspace boundary, or create\nseparate Rift workspaces when their edits need isolation.\n\n## Finish and clean up\n\nReport the workspace path, branch, inherited changes, task changes, and\nvalidation.\n\nFollow `managing-workspaces` for when to remove a Rift and the checks to pass\nfirst. Without that skill, remove a Rift only when the user asks, after\nconfirming `git status --porcelain` prints nothing and the task's commits are\npushed.\n\n`rift remove` trashes the selected workspace and every registered descendant,\nbut `rift list` prints only direct children. Before removal, run `rift list` on\nthe workspace and again on each child it reports, until no new children appear.\nKeep the parent unless every workspace in that tree belongs to this task and\npasses the removal checks. Read `.rift.toml` and run hooks only within task\nauthorization; use `--no-hooks` when its hooks exceed that authorization.\n\nRemove it with `rift remove \u003Cabsolute-workspace-path>`, never `rm -rf`.\nRemoval moves the subtree into Rift's `.trash` storage and frees no disk space.\nReport the trash that remains. `rift gc` permanently deletes all trash,\nincluding other tasks', so run it only when the user explicitly asks.\n","# Rift\n\nUse [Rift](https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Frift) to give a task an isolated copy\nof the current workspace, including its Git index and uncommitted changes.\n\nThis skill covers Rift's commands and works on its own. Rift is for local\nmachines; cloud agent sandboxes do not need it. The `managing-workspaces` skill\ncarries the wider policy: choosing an isolation method, seed checkouts,\nownership, build storage, and cleanup. Load it alongside this one when it is\navailable.\n\n## Ensure Rift is available\n\nRun `command -v rift` and `rift --help`. If it is missing, install the\n`rift-snapshot` package with an available package manager:\n\n```bash\nbun add -g rift-snapshot\n# With npm when Bun is unavailable:\nnpm install -g rift-snapshot\n```\n\nUse the package manager's global bin directory if installation succeeds but\n`rift` is outside PATH. For Bun, try `\"$HOME\u002F.bun\u002Fbin\u002Frift\" --help` and add\nthat directory to the task's command environment. Change persistent shell\nconfiguration only when requested. If neither package manager is available,\nreport the prerequisite rather than installing a runtime outside task scope.\nConfirm the executable works before creating a workspace.\n\n## Create or reuse a workspace\n\n1. Resolve the intended source to an absolute path. Inspect its Git status,\n   HEAD, index, and remote before snapshotting. Record inherited changes so\n   later commits include only task-owned edits unless the user requests\n   otherwise. Leave the source index and working-tree contents unchanged.\n   After creating or selecting the Rift, and only inside that workspace before\n   making task commits, unstage inherited entries without changing working-tree\n   contents. Stage only task-owned changes (select hunks interactively when\n   needed) and inspect the complete staged diff. If inherited and task changes\n   cannot be separated confidently, do not commit them; report the blocker.\n2. Reuse a suitable Rift workspace already assigned to this task. For a new\n   workspace, run `rift init` from the source, then\n   `rift create --name \u003Ctask-name>`. Capture the absolute path printed on\n   stdout and verify that it exists before continuing.\n3. Run every edit, Git command, dependency setup, and test with that path as\n   the explicit working directory. Shell directory changes do not persist\n   across separate tool calls. Report the path so the user can open it.\n\nRift needs a regular Git checkout. It rejects linked Git worktrees,\nrepositories with active Git operations or lock files, FIFOs such as a secret\nmanager's `.env` pipe, and sockets such as the `fsmonitor--daemon.ipc` that\nanother worktree's Git daemon leaves under `.git\u002Fworktrees\u002F`, which fails with\n`unsupported filesystem entry`. Leave those states in place. A clean seed avoids\nthese blockers for ordinary new isolation; if the user explicitly requests a\nsnapshot of this current state, report the blocker and ask before using a source\nthat omits it.\n\nRift copies Git repositories with detached HEAD. Before committing, create a\ntask branch at HEAD. For PR work, first compare HEAD with the fetched PR branch\nand keep any commits only HEAD has on a branch, then check out the PR branch.\n\nBy default, Rift omits regenerable artifacts, including dependencies and build\ncaches. Use `--copy-all` when the task needs those files, otherwise run the\nrepository's normal setup in the new workspace. Check installed CLI help for\nsupported options. macOS creation requires APFS; Windows workspace creation\nis currently unsupported.\n\nRead any `.rift.toml` before creation or removal. Its lifecycle hooks execute\ncommands and may start services or remove data. Run hooks only within existing\ntask authorization; use `--no-hooks` when hooks exceed it. If a postcreate\nhook fails, inspect `rift list` and the resulting workspace before retrying:\ncreation may already have succeeded.\n\n## Codex use\n\nThis skill controls shell execution in a Rift directory. It does not replace\nCodex's native worktree backend or move the chat's project attachment.\nStart from the source checkout in local mode. For app project views tied to\nthe snapshot, open the returned directory as a project and start a local chat\nthere. Give delegated agents the same explicit workspace boundary, or create\nseparate Rift workspaces when their edits need isolation.\n\n## Finish and clean up\n\nReport the workspace path, branch, inherited changes, task changes, and\nvalidation.\n\nFollow `managing-workspaces` for when to remove a Rift and the checks to pass\nfirst. Without that skill, remove a Rift only when the user asks, after\nconfirming `git status --porcelain` prints nothing and the task's commits are\npushed.\n\n`rift remove` trashes the selected workspace and every registered descendant,\nbut `rift list` prints only direct children. Before removal, run `rift list` on\nthe workspace and again on each child it reports, until no new children appear.\nKeep the parent unless every workspace in that tree belongs to this task and\npasses the removal checks. Read `.rift.toml` and run hooks only within task\nauthorization; use `--no-hooks` when its hooks exceed that authorization.\n\nRemove it with `rift remove \u003Cabsolute-workspace-path>`, never `rm -rf`.\nRemoval moves the subtree into Rift's `.trash` storage and frees no disk space.\nReport the trash that remains. `rift gc` permanently deletes all trash,\nincluding other tasks', so run it only when the user explicitly asks.\n",{"name":5,"description":7},"main","89d62b0a57b82473520f3073d3064e393d6472b7","skills\u002Frift","https:\u002F\u002Fgithub.com\u002Fdwin\u002Fskills","https:\u002F\u002Fgithub.com\u002Fdwin","K8s, Golang, Python. Sr. Platform\u002FBackend Dev","2026-11-14 10:53:03",{"source":8,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add dwin\u002Fskills --skill rift",{"tool":37,"command":38},"bunx","bunx skills add dwin\u002Fskills --skill rift",{"tool":40,"command":41},"pnpm","pnpm dlx skills add dwin\u002Fskills --skill rift","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdwin\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Frift\u002FSKILL.md",true,[45],{"path":46,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":49,"sourceHtmlUrl":50},"agents\u002Fopenai.yaml","REFERENCE","参考文档",99,"https:\u002F\u002Fgithub.com\u002Fdwin\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Frift\u002Fagents\u002Fopenai.yaml",[52,59,66,73,80,87],{"skillNo":53,"name":54,"nameZh":6,"description":55,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":58,"publishedAt":19},"01M7E0Q4SMGDP82R02RSDRP3XF","visual-explainer","Render interactive visual explanations, architecture simulators, option tradeoff matrices, permission or blast-radius maps, and phased rollout cards on the host's native visual surface. Use when answering a question that compares three or more options across multiple dimensions, traces a multi-gate request or state flow, maps permissions or blast radius, lays out a multi-phase architecture plan, or when the user asks to visualize or sends `viz`.","https:\u002F\u002Fgithub.com\u002Fdwin\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-explainer\u002FSKILL.md",[],[],{"skillNo":60,"name":61,"nameZh":6,"description":62,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":19},"01M7AQB2M4GGRBFSGMFEVSHBD1","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fdwin\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[],[],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":19},"01M7AQAYVB4W4VG8PYP6AWN1BC","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002Fdwin\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fwizard\u002FSKILL.md",[],[],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":19},"01M7AQATP80423S3HC84WHQ9NR","why","Find out why code is the way it is from its history, reviews, tickets, docs, and other records, and say how sure each answer is. Use when the user asks why something is built, written, or behaves a certain way, why a choice was made, or where a number or limit came from.","https:\u002F\u002Fgithub.com\u002Fdwin\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fwhy\u002FSKILL.md",[],[],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M7AQANTS86HYGP256PPZ4BZB","whats-next","Match a task to the skill, flow, or playbook that fits it. Use when the user asks what to do next or which workflow applies, when a task fits no other skill, and for these kinds of work, which have playbooks here - proving a property of concurrent or stateful code with a model checker or verifier, matching a UI pixel for pixel, and diagnosing a live process or a captured profile, trace, or heap snapshot.","https:\u002F\u002Fgithub.com\u002Fdwin\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fwhats-next\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":19},"01M7AQAK78JWNRJAZ9N17QVY76","wayfinder","Plan a huge chunk of work — more than one agent session can hold — as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.","https:\u002F\u002Fgithub.com\u002Fdwin\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fwayfinder\u002FSKILL.md",[],[]]