[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KKWM3WPQM9PDMSPSXW87SD":3,"skill-same:01M6KKWM3WPQM9PDMSPSXW87SD":75},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":54,"updatedAt":55,"install":56,"resources":68},"01M6KKWM3WPQM9PDMSPSXW87SD","handoff-create",null,"Create a directed handoff artifact for a future continuation. Use when the user asks to create, write, or stash a durable handoff, including future-you or future-agent resume context.","nseng-ai\u002Fns","nseng-ai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F273792438?v=4","01M6KKN105A07WPV2TZKZXZGQF","nseng.ai","01M6KKN14MDSR9VF9739AWXG8M",2,"MIT","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Fincubating\u002Fhandoff\u002Fhandoff-create\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"handoff create","create","handoff","user","brmem","for","true","you","artifact","resume","use","context","write","branch","Bash","git","git branch","status","2026-11-10 10:12:30",false,"---\nname: handoff-create\ndisable-model-invocation: true\ndescription: \"Create a directed handoff artifact for a future continuation. Use when the user asks to create, write, or stash a durable handoff, including future-you or future-agent resume context.\"\nallowed-tools:\n  - \"Bash(git branch *)\"\n  - \"Bash(git status *)\"\n  - \"Bash(ns handoff *)\"\n  - \"Bash(brmem *)\"\n---\n\n# handoff-create\n\nCreate one concise, directed Markdown handoff artifact for a future continuation. This is the create step in the `handoff` skill family; pickup\u002Fresume\u002Flist intent belongs to `handoff-pickup`, and lifecycle\u002Fadmin flows belong to the `handoff` umbrella.\n\n## Create contract\n\nA handoff is directed durable work context for a specific future continuation — future-you, a future agent, a future worktree, or a teammate; the `handoff` umbrella owns the full definition.\n\nA handoff must answer:\n\n> Given this requested focus, what does the next session need to know to proceed correctly?\n\nIf the user gave a meaningful continuation focus, use it. If they only asked for \"a handoff\" with no focus\u002Ftitle\u002Fresume goal, ask exactly this and stop until they answer:\n\n```text\nWhat should the future session continue from this handoff?\n```\n\nUse handoff vocabulary first: handoff artifact, continuation focus, create a handoff, handoff slug. Branch Memory is only the storage command behind this skill; mention namespace, key, ref, or commit only as technical locator evidence, recovery detail, or error context.\n\nDo not store secrets, credentials, binary data, generated build output, or large logs. Store paths to useful logs and files instead of copying their contents.\n\n## Resolve branch and slug\n\nBranch:\n\n1. If the user names a branch, use it explicitly with `--branch \u003Cbranch>`.\n2. Otherwise confirm the current branch before writing:\n\n```bash\ngit branch --show-current\n```\n\nStop if the repo is in detached HEAD. Use `git status --short` when branch\u002Fworktree state is needed to write accurate current-state context.\n\nHandoff slug:\n\n- Storage namespace: `handoff`.\n- Entry key shape: flat `\u003Csemantic-slug>.md`; do not include `\u002F`.\n- Use an explicit slug\u002Fkey if the user provides one and it is specific enough to recognize later.\n- Otherwise compose the final directed Markdown handoff artifact first, then derive the slug from that final content.\n- Use the continuation focus\u002Ftitle as context inside the artifact, not as the direct slug source.\n- Make the slug summarize the future continuation action and subject apparent in the artifact body.\n- Do not normalize the name by hand: `ns handoff create` normalizes `--slug` deterministically (lowercase; non-alphanumeric runs become single `-`; leading\u002Ftrailing `-` trimmed; a trailing `.md` is dropped) and reports the final slug in its result. Read the final slug back from the command output. Aim for roughly 3-8 words.\n- Avoid generic-only slugs like `handoff`, `session`, `work`, `task`, `follow-up`, or `continue`, and raw request preambles like `i-want-to-handoff`.\n- Prefer semantic slugs like `address-review-feedback`, `add-pickup-handoff-command`, `associate-sessions-with-branches`, or `resume-plan-implementation`.\n\n## Compose artifact\n\nCompose concise, future-continuation-oriented Markdown content directly in the command input or in a visible review response. Use this canonical shape:\n\n```markdown\n# Handoff: \u003Ctitle>\n\nContinuation focus: \u003CWhat the future session should continue, decide, verify, or implement.>\n\n## Context\n\n\u003CWhy this handoff exists and what branch\u002Fwork it concerns.>\n\n## Current State\n\n\u003CWhat is already done, what changed, and what is not yet done.>\n\n## Decisions \u002F Findings\n\n\u003CKey decisions, constraints, useful discoveries, or gotchas.>\n\n## Next Steps\n\n\u003CConcrete next actions for a future session.>\n\n## Investigation Sources\n\n- Source session ID: \u003Cexact id supplied by the invoking surface, or an explicit unavailable value>\n- Source session log: \u003Cexact path supplied by the invoking surface, or an explicit unavailable value>\n- Related files:\n  - \u003Cpath> — \u003Cwhy inspecting it would help>\n\n## Useful Commands \u002F Files\n\n\u003CCommands, files, PRs, issues, docs, or technical locators that help resume.>\n```\n\nEvery handoff must include `## Investigation Sources`. When the invoking surface supplies a source session id or log path, copy it exactly; when the harness exposes no persisted session log, record that unavailability explicitly instead of inventing a path. List concrete paths to other relevant child\u002Fsubagent session logs, plans, reports, saved command output, and key source or test files, with a short reason each is useful. If no additional investigation files were identified, say so. These pointers are an audit and recovery trail; the handoff must remain self-contained without reading them.\n\nKeep the artifact terse. Avoid owners, due dates, task databases, hidden metadata, or workflow-state machinery.\n\nDo not create hidden temp\u002Fdraft files for handoff-create. If the user needs review or editing before creation, present the proposed Markdown in chat or a structured UI and iterate there; then create the final artifact through the canonical storage command below. If the user explicitly asks for a real file or path, treat that as a separate file-writing request. If durable review state is needed, use a clearly named Branch Memory draft only with explicit user intent.\n\n## Store safely\n\nStore the final artifact directly through the portable ns command face without an intermediate file. Use a quoted here-doc delimiter that does not appear in the handoff content:\n\n```bash\nns handoff create --branch \u003Cbranch> --file \u002Fdev\u002Fstdin --format json \u003C\u003C'HANDOFF_EOF'\n\u003Cfinal Markdown handoff content>\nHANDOFF_EOF\n```\n\nThe command reads the final content once, derives its semantic slug, checks for a collision, and stores the exact bytes. Its JSON result reports `slugSource: \"content-derived\"`, `slug`, `key`, `provider`, `model`, and durable reference evidence; use its reported `branch` and `slug` in follow-up commands and the user-facing report. Pass `--slug \u003Chandoff name or slug>` only when the user explicitly supplies an override; that result reports `slugSource: \"explicit\"` and `requestedSlug`. `ns handoff create` refuses an existing artifact by default. If it reports a collision, stop unless the user explicitly asked to replace it. Do not fall back to raw Branch Memory for normal creation.\n\nRaw `brmem` is recovery-only. If `ns handoff create` is unavailable or a storage-layer diagnostic requires it, preflight with `brmem check \u003Csemantic-slug>.md --namespace handoff --branch \u003Cbranch>`, then use `brmem put \u003Csemantic-slug>.md --namespace handoff --branch \u003Cbranch> --file \u002Fdev\u002Fstdin` only after preserving the same collision safety.\n\n## Report and route follow-up\n\nReport the result in handoff vocabulary first:\n\n```text\nCreated handoff `\u003Csemantic-slug>` on branch `\u003Cbranch>`.\n```\n\nThen include a compact technical locator when useful:\n\n- Namespace: `handoff`\n- Entry: `\u003Csemantic-slug>.md`\n- Locator\u002Fref and commit printed by `brmem`\n\nWhen a user asks to resume from an existing handoff, prefer `handoff-pickup`.\n\nFor handoff lifecycle vocabulary and non-create admin flows such as copy, move, delete, or garbage collection, load the `handoff` umbrella and its references rather than duplicating those recipes here.\n","# handoff-create\n\nCreate one concise, directed Markdown handoff artifact for a future continuation. This is the create step in the `handoff` skill family; pickup\u002Fresume\u002Flist intent belongs to `handoff-pickup`, and lifecycle\u002Fadmin flows belong to the `handoff` umbrella.\n\n## Create contract\n\nA handoff is directed durable work context for a specific future continuation — future-you, a future agent, a future worktree, or a teammate; the `handoff` umbrella owns the full definition.\n\nA handoff must answer:\n\n> Given this requested focus, what does the next session need to know to proceed correctly?\n\nIf the user gave a meaningful continuation focus, use it. If they only asked for \"a handoff\" with no focus\u002Ftitle\u002Fresume goal, ask exactly this and stop until they answer:\n\n```text\nWhat should the future session continue from this handoff?\n```\n\nUse handoff vocabulary first: handoff artifact, continuation focus, create a handoff, handoff slug. Branch Memory is only the storage command behind this skill; mention namespace, key, ref, or commit only as technical locator evidence, recovery detail, or error context.\n\nDo not store secrets, credentials, binary data, generated build output, or large logs. Store paths to useful logs and files instead of copying their contents.\n\n## Resolve branch and slug\n\nBranch:\n\n1. If the user names a branch, use it explicitly with `--branch \u003Cbranch>`.\n2. Otherwise confirm the current branch before writing:\n\n```bash\ngit branch --show-current\n```\n\nStop if the repo is in detached HEAD. Use `git status --short` when branch\u002Fworktree state is needed to write accurate current-state context.\n\nHandoff slug:\n\n- Storage namespace: `handoff`.\n- Entry key shape: flat `\u003Csemantic-slug>.md`; do not include `\u002F`.\n- Use an explicit slug\u002Fkey if the user provides one and it is specific enough to recognize later.\n- Otherwise compose the final directed Markdown handoff artifact first, then derive the slug from that final content.\n- Use the continuation focus\u002Ftitle as context inside the artifact, not as the direct slug source.\n- Make the slug summarize the future continuation action and subject apparent in the artifact body.\n- Do not normalize the name by hand: `ns handoff create` normalizes `--slug` deterministically (lowercase; non-alphanumeric runs become single `-`; leading\u002Ftrailing `-` trimmed; a trailing `.md` is dropped) and reports the final slug in its result. Read the final slug back from the command output. Aim for roughly 3-8 words.\n- Avoid generic-only slugs like `handoff`, `session`, `work`, `task`, `follow-up`, or `continue`, and raw request preambles like `i-want-to-handoff`.\n- Prefer semantic slugs like `address-review-feedback`, `add-pickup-handoff-command`, `associate-sessions-with-branches`, or `resume-plan-implementation`.\n\n## Compose artifact\n\nCompose concise, future-continuation-oriented Markdown content directly in the command input or in a visible review response. Use this canonical shape:\n\n```markdown\n# Handoff: \u003Ctitle>\n\nContinuation focus: \u003CWhat the future session should continue, decide, verify, or implement.>\n\n## Context\n\n\u003CWhy this handoff exists and what branch\u002Fwork it concerns.>\n\n## Current State\n\n\u003CWhat is already done, what changed, and what is not yet done.>\n\n## Decisions \u002F Findings\n\n\u003CKey decisions, constraints, useful discoveries, or gotchas.>\n\n## Next Steps\n\n\u003CConcrete next actions for a future session.>\n\n## Investigation Sources\n\n- Source session ID: \u003Cexact id supplied by the invoking surface, or an explicit unavailable value>\n- Source session log: \u003Cexact path supplied by the invoking surface, or an explicit unavailable value>\n- Related files:\n  - \u003Cpath> — \u003Cwhy inspecting it would help>\n\n## Useful Commands \u002F Files\n\n\u003CCommands, files, PRs, issues, docs, or technical locators that help resume.>\n```\n\nEvery handoff must include `## Investigation Sources`. When the invoking surface supplies a source session id or log path, copy it exactly; when the harness exposes no persisted session log, record that unavailability explicitly instead of inventing a path. List concrete paths to other relevant child\u002Fsubagent session logs, plans, reports, saved command output, and key source or test files, with a short reason each is useful. If no additional investigation files were identified, say so. These pointers are an audit and recovery trail; the handoff must remain self-contained without reading them.\n\nKeep the artifact terse. Avoid owners, due dates, task databases, hidden metadata, or workflow-state machinery.\n\nDo not create hidden temp\u002Fdraft files for handoff-create. If the user needs review or editing before creation, present the proposed Markdown in chat or a structured UI and iterate there; then create the final artifact through the canonical storage command below. If the user explicitly asks for a real file or path, treat that as a separate file-writing request. If durable review state is needed, use a clearly named Branch Memory draft only with explicit user intent.\n\n## Store safely\n\nStore the final artifact directly through the portable ns command face without an intermediate file. Use a quoted here-doc delimiter that does not appear in the handoff content:\n\n```bash\nns handoff create --branch \u003Cbranch> --file \u002Fdev\u002Fstdin --format json \u003C\u003C'HANDOFF_EOF'\n\u003Cfinal Markdown handoff content>\nHANDOFF_EOF\n```\n\nThe command reads the final content once, derives its semantic slug, checks for a collision, and stores the exact bytes. Its JSON result reports `slugSource: \"content-derived\"`, `slug`, `key`, `provider`, `model`, and durable reference evidence; use its reported `branch` and `slug` in follow-up commands and the user-facing report. Pass `--slug \u003Chandoff name or slug>` only when the user explicitly supplies an override; that result reports `slugSource: \"explicit\"` and `requestedSlug`. `ns handoff create` refuses an existing artifact by default. If it reports a collision, stop unless the user explicitly asked to replace it. Do not fall back to raw Branch Memory for normal creation.\n\nRaw `brmem` is recovery-only. If `ns handoff create` is unavailable or a storage-layer diagnostic requires it, preflight with `brmem check \u003Csemantic-slug>.md --namespace handoff --branch \u003Cbranch>`, then use `brmem put \u003Csemantic-slug>.md --namespace handoff --branch \u003Cbranch> --file \u002Fdev\u002Fstdin` only after preserving the same collision safety.\n\n## Report and route follow-up\n\nReport the result in handoff vocabulary first:\n\n```text\nCreated handoff `\u003Csemantic-slug>` on branch `\u003Cbranch>`.\n```\n\nThen include a compact technical locator when useful:\n\n- Namespace: `handoff`\n- Entry: `\u003Csemantic-slug>.md`\n- Locator\u002Fref and commit printed by `brmem`\n\nWhen a user asks to resume from an existing handoff, prefer `handoff-pickup`.\n\nFor handoff lifecycle vocabulary and non-create admin flows such as copy, move, delete, or garbage collection, load the `handoff` umbrella and its references rather than duplicating those recipes here.\n",{"name":5,"description":7,"allowed-tools":42,"disable-model-invocation":47},[43,44,45,46],"Bash(git branch *)","Bash(git status *)","Bash(ns handoff *)","Bash(brmem *)",true,"master","44a56f0d543f274b42239091b35fe4d23855f6b3","skills\u002Fincubating\u002Fhandoff\u002Fhandoff-create",0,"https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns","https:\u002F\u002Fgithub.com\u002Fnseng-ai","Keeping the clankers in check: Nonslop Engineering for AI","2026-10-02 12:48:53",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":47},[58,61,64],{"tool":59,"command":60},"npx","npx skills add nseng-ai\u002Fns --skill handoff-create",{"tool":62,"command":63},"bunx","bunx skills add nseng-ai\u002Fns --skill handoff-create",{"tool":65,"command":66},"pnpm","pnpm dlx skills add nseng-ai\u002Fns --skill handoff-create","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Fincubating\u002Fhandoff\u002Fhandoff-create\u002FSKILL.md",[69],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"agents\u002Fopenai.yaml","REFERENCE","参考文档",43,"https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Fincubating\u002Fhandoff\u002Fhandoff-create\u002Fagents\u002Fopenai.yaml",[76,98,127,150,173,183],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":37},"01M6KM3VZ7JC4S6R4KATJ368EH","pr-make-accountable","Interview a PR author to establish shared understanding of intent and design decisions, then co-author the What \u002F Why \u002F Changes PR body with opt-in Requested reviewer focus.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Fpublic\u002Fprs\u002Fpr-make-accountable\u002FSKILL.md",[],[83,84,85,86,87,88,89,90,91,92,93,94,95,25,96,97],"pr","make","pr make accountable","design","why","reviewer","decisions","interview","intent","focus","shared","co","with","changes","pr body",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":109,"publishedAt":37},"01M6KM3NZCZ86VJ91RSVTRGTJW","typescript-style","Opinionated style guide for strict, portable TypeScript. Use when writing, designing, or reviewing TypeScript: type design, boundary validation, error handling, module architecture, and review discipline.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Ftypescript-style\u002FSKILL.md",[104],{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[110,111,112,86,113,114,115,116,117,118,119,120,29,121,122,123,124,125,126,24],"typescript","style","typescript style","writing","review","architecture","core","error handling","system","Rules","README","error-handling","study","module","error","case-study","style guide",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":136,"publishedAt":37},"01M6KM3HNY4WY42KMYRPS6KEJZ","typescript-fake-driven-testing","TypeScript fake-driven testing architecture. Use when writing or reviewing TS code with external dependencies, gateway interfaces, real adapters, in-memory fakes, or CLI scenario tests.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Ftypescript-fake-driven-testing\u002FSKILL.md",[133],{"categoryNo":134,"categoryName":135,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000008","测试与质量",[137,110,138,139,140,113,141,142,115,143,144,29,145,146,147,148,95,149],"testing","driven","fake driven testing","typescript fake driven testing","cli","memory","code","gateway","dependencies","tests","scenario","Adapters","in-memory",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":37},"01M6KM3AXC2539PENYVZJYKCP9","ns-typescript","TypeScript overlay for ns-style projects. Use when editing or reviewing TS in this repo: tsconfig baseline, pnpm\u002FVitest\u002Foxlint\u002Foxfmt\u002Fnative tsc commands, relative .ts imports, workspace subpath exports, and the exactOptionalPropertyTypes spread idiom. Repo-specific enforcement (test lanes, time seams, style guard) lives in the host repo's AGENTS.md.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Fns-typescript\u002FSKILL.md",[],[110,157,158,159,160,161,162,163,29,164,165,166,167,111,168,169,170,24,171,172],"ns typescript","test","guard","vitest","projects","editing","repo","enforcement","references","time","host","oxlint","import","native","alternatives","imports",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":179,"publishedAt":37},"01M6KM36Y5KZ5V48M58MT42AHM","ns-typescript-style-tripwire","Invoke the ns TypeScript style Tripwire against a supplied diff or current branch.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Ftypescript\u002Fns-typescript-style-tripwire\u002FSKILL.md",[],[110,180,111,181,32,182,25],"tripwire","ns typescript style tripwire","diff",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":192,"publishedAt":37},"01M6KM313HANS0AV181X37ZM45","skill-management","Manage skills with `npx skills`: add, edit, remove, rename, update, or list skills (local or GitHub), and the nested `skills\u002F\u003Cdisposition>\u002F...\u002F\u003Cname>\u002F` \u002F flat `.agents\u002Fskills\u002F` layout conventions.","https:\u002F\u002Fgithub.com\u002Fnseng-ai\u002Fns\u002Fblob\u002Fmaster\u002Fskills\u002Finternal\u002Fskill-system\u002Fskill-management\u002FSKILL.md",[189],{"categoryNo":190,"categoryName":191,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000023","Skill与智能体开发",[193,194,195,33,196,182,197,198,59,199,200,95,201,202,203,204,205,206,25,207],"management","skill management","github","remove","nested","manage","local","cat","ln","ls","mkdir","mv","readlink","rg","lock"]