[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698RFQVT9KDH7HHBGCD6C50":3,"skill-same:01M698RFQVT9KDH7HHBGCD6C50":92},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":32,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":36,"updatedAt":37,"install":38,"resources":51},"01M698RFQVT9KDH7HHBGCD6C50","beam",null,"Share a redacted coding session or hand its logical conversation to an authenticated OpenClaw Gateway.","openclaw\u002Fagent-skills","openclaw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252820863?v=4","01M698P3FSAZ6B4R928ZF19KPT","01M698R9TBKA3SKB6WVC50J9NJ",1118,"MIT","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002FSKILL.md",[],[5,18,19,20,21,9,22,23],"session","coding","gateway","conversation","hand","share","2026-11-10 10:12:30",false,"---\nname: beam\ndescription: \"Share a redacted coding session or hand its logical conversation to an authenticated OpenClaw Gateway.\"\n---\n\n# Beam\n\nUse when the user explicitly asks to beam, publish, or share the current local coding session with an authenticated OpenClaw receiver.\n\n## Contract\n\n- Treat invoking this skill as approval for one snapshot upload to the named destination.\n- Never upload raw JSONL, reasoning, system\u002Fdeveloper prompts, tool output, environment values, credentials, browser state, cookies, or local paths.\n- The helper is self-contained: it resolves and parses exact Claude Code or Codex transcripts, then uploads only locally redacted user\u002Fassistant messages and compact tool counts.\n- Ordinary publishing shares a read-only snapshot. A separately requested `handoff` releases the source Beam identity and moves its logical conversation to Team. After handoff, use Beam's authenticated `read` and `continue` commands for subsequent work; do not resume independent source work or publish another transcript copy.\n- Team owns one durable conversation after release. The source history imports once; reads, reconnects and continuations resolve that same conversation. Native provider runtime IDs need not survive. Do not connect a node, expose a terminal, transfer credentials or grant filesystem\u002Ftool access.\n- Require HTTPS except for loopback development endpoints.\n- Guests use their existing personal Cloudflare Access sign-in or `BEAM_ACCESS_TOKEN`; never request, share, or copy a Gateway token for guest uploads. `BEAM_AUTH_TOKEN` remains the ordinary operator Gateway-auth fallback, not a guest credential. Never print token values.\n- Live synchronization is opt-in persistent behavior. Do not install hooks unless the user explicitly asks for live Beam updates.\n\n## Snapshot\n\nSet or obtain the destination receiver URL first:\n\n```bash\nexport BEAM_ENDPOINT=\"https:\u002F\u002Fgateway.example.com\u002Fapi\u002Fv1\u002Fbeam\u002Fsessions\"\n```\n\nPrefer the harness-specific exact identifier. Resolve the directory containing this `SKILL.md` as `BEAM_SKILL_DIR` first.\n\nClaude Code exposes the current session id:\n\n```bash\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish \\\n  --endpoint \"$BEAM_ENDPOINT\" \\\n  --session-id \"${CLAUDE_SESSION_ID}\"\n```\n\nIn Codex, resolve the directory containing this `SKILL.md` as `BEAM_SKILL_DIR`; normal shell-tool children expose the current thread id:\n\n```bash\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish \\\n  --endpoint \"$BEAM_ENDPOINT\" \\\n  --thread-id \"$CODEX_THREAD_ID\"\n```\n\nPrefer exact harness metadata when available:\n\n- Claude Code: `${CLAUDE_SESSION_ID}` identifies the current local conversation; the helper finds its transcript.\n- Codex shell tools: `CODEX_THREAD_ID` identifies the current thread.\n- Hook adapters: pass their JSON to `beam hook`; `transcript_path` is authoritative.\n- Exact fallback: Beam scans only the native Claude\u002FCodex session roots for the supplied id and fails closed on no match or ambiguity.\n\nUseful options:\n\n```bash\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish --endpoint \"$BEAM_ENDPOINT\" --session \u002Fpath\u002Fto\u002Fsession.jsonl\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish --endpoint \"$BEAM_ENDPOINT\" --thread-id \"$CODEX_THREAD_ID\"\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish --endpoint \"$BEAM_ENDPOINT\" --title \"Fix upload flow\"\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish --endpoint \"$BEAM_ENDPOINT\" --complete\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish --endpoint \"$BEAM_ENDPOINT\" --dry-run\n```\n\n`--dry-run` prints the sanitized payload locally and performs no network request.\n\nOn success, return only the Beam URL and a short disclosure summary: source harness, shared message count, whether older entries were truncated, and whether the beam is complete. The URL uses the endpoint-derived Control UI base path followed by `\u002Fbeam\u002F\u003Ctitle-slug>-\u003Cid-prefix>`, for example `https:\u002F\u002Fgateway.example.com\u002Fbeam\u002Ffix-upload-flow-0123456789ab`. The title comes from `--title` or the first shared user message. The stable ID suffix identifies the session; links with an earlier title remain valid.\n\nIf the receipt includes `canView: false`, say that the upload succeeded and the link is for authorized Team operators; upload-only access does not let the guest open it. Do not present it as a guest-viewable link. Staff and older receipts may omit `canView`; omission is not a new access grant.\n\nGuest access requires receiver-side support and operator authorization. Sender support alone does not mean it is deployed.\nCurrent Visitor-enabled receivers let active verified publishers create, refresh, list, and read only their own snapshots.\nThey grant no shared-catalog access or deletion. Updated receivers allow authorized continuation of a publisher's own explicitly released Beam, subject to normal destination creation, model, account and session permissions. Older upload-only receivers can return `canView: false`; honor that receipt.\nGuests need no shared secret. If personal access expires, sign in again outside hooks or refresh the personal `BEAM_ACCESS_TOKEN`.\nRevoked access needs an authorized operator to restore it. Never blindly retry an uncertain upload.\n\n## Live logical handoff\n\nOnly perform this when the user asks to move or continue the conversation in Team; permission to share a snapshot alone is insufficient. Requires Node 22.13+ and an updated receiver.\n\n```sh\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" handoff --endpoint \"$BEAM_ENDPOINT\" --thread-id \"$CODEX_THREAD_ID\"\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" read --endpoint \"$BEAM_ENDPOINT\" --beam-id BEAM_ID --profile-dir \u002Fpath\u002Fto\u002Fown\u002Fremote-profile\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" continue --endpoint \"$BEAM_ENDPOINT\" --beam-id BEAM_ID --profile-dir \u002Fpath\u002Fto\u002Fown\u002Fremote-profile --message \"Continue the work\"\n```\n\nUse `--session-id` for Claude Code. The handoff receipt prints `BEAM_ID`. `--profile-dir` selects an existing normal OpenClaw remote profile for that exact Gateway; configure your own authentication first. No shared account or provider token is requested or copied. Permission or runtime denial stays a denial.\n\nThe helper durably retires this source identity before network dispatch. A pending handoff stays retired after errors; recover with `handoff --endpoint \"$BEAM_ENDPOINT\" --beam-id BEAM_ID`, including when the source transcript is gone. Never delete the retirement record to retry. Snapshot expiry or archive cannot restore source ownership. A `read` with no destination returns a visible pending result and creates nothing; `continue` creates the destination once. Deleted or reset destinations require reconciliation, not a new transcript copy.\n\nSource model\u002Fversion metadata is normalized against models available and permitted at Team. If unavailable, the destination's configured default resolves normally; authentication\u002Fsetup requirements remain in force. The original local harness is not stopped or remotely controlled. Local turns after handoff are not canonical Team turns.\n\nContinuation returns the Gateway's normal run acknowledgment. Keep the printed request ID: after an uncertain send, retry the same message with `--request-id ID` to avoid a duplicate turn. `read` obtains the current Team history. The local SQLite record contains only sanitized pending history and ownership metadata; acknowledged history is discarded locally. Default location: the user's `.local\u002Fstate\u002Fopenclaw-beam\u002Fhandoffs.sqlite`; `--state FILE` selects an explicit local store. Preserve it while the handed-off identity can be used.\n\nThe helper also accepts bare `\u002Fbeam\u002F\u003Cid-prefix>` links and, during rollout, the current server's exact `\u002Fchat\u002F\u003Cagent>?catalog=beam&host=gateway&thread=\u003Cfull-beam-id>` response. It still rejects the obsolete `?session=catalog:...` beta form.\n\n## Live Hooks\n\nThe helper accepts the snake_case JSON emitted by both Claude Code and Codex lifecycle hooks:\n\n```bash\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" hook --endpoint \"$BEAM_ENDPOINT\" --quiet\n```\n\nConfigure root `Stop` hooks for turn-by-turn updates. Claude Code can also use `SessionEnd` for finalization; Codex finalization uses an explicit `publish --complete`. See:\n\n- `references\u002Fclaude-code-hooks.json`\n- `references\u002Fcodex-hooks.toml`\n\nHook failures must not block the coding session. Keep ordinary success quiet (including upload-only receipts); a retired Beam emits a concise direction to read\u002Fcontinue through Team even with `--quiet`. Log one concise redacted error on failure. Hooks never start interactive authentication or automatically hand off ownership.\n\nFull installation, authentication, data-boundary, and hook documentation:\n[`README.md`](README.md).\n\n## Development\n\n```bash\nnode --check skills\u002Fbeam\u002Fscripts\u002Fbeam\nnode --check skills\u002Fbeam\u002Fscripts\u002Fbeam-session.js\nnode --check skills\u002Fbeam\u002Fscripts\u002Fbeam-handoff.js\nnode --test skills\u002Fbeam\u002Fscripts\u002Fbeam.test.mjs skills\u002Fbeam\u002Fscripts\u002Fbeam-handoff.test.mjs\nscripts\u002Fvalidate-skills\n```\n","# Beam\n\nUse when the user explicitly asks to beam, publish, or share the current local coding session with an authenticated OpenClaw receiver.\n\n## Contract\n\n- Treat invoking this skill as approval for one snapshot upload to the named destination.\n- Never upload raw JSONL, reasoning, system\u002Fdeveloper prompts, tool output, environment values, credentials, browser state, cookies, or local paths.\n- The helper is self-contained: it resolves and parses exact Claude Code or Codex transcripts, then uploads only locally redacted user\u002Fassistant messages and compact tool counts.\n- Ordinary publishing shares a read-only snapshot. A separately requested `handoff` releases the source Beam identity and moves its logical conversation to Team. After handoff, use Beam's authenticated `read` and `continue` commands for subsequent work; do not resume independent source work or publish another transcript copy.\n- Team owns one durable conversation after release. The source history imports once; reads, reconnects and continuations resolve that same conversation. Native provider runtime IDs need not survive. Do not connect a node, expose a terminal, transfer credentials or grant filesystem\u002Ftool access.\n- Require HTTPS except for loopback development endpoints.\n- Guests use their existing personal Cloudflare Access sign-in or `BEAM_ACCESS_TOKEN`; never request, share, or copy a Gateway token for guest uploads. `BEAM_AUTH_TOKEN` remains the ordinary operator Gateway-auth fallback, not a guest credential. Never print token values.\n- Live synchronization is opt-in persistent behavior. Do not install hooks unless the user explicitly asks for live Beam updates.\n\n## Snapshot\n\nSet or obtain the destination receiver URL first:\n\n```bash\nexport BEAM_ENDPOINT=\"https:\u002F\u002Fgateway.example.com\u002Fapi\u002Fv1\u002Fbeam\u002Fsessions\"\n```\n\nPrefer the harness-specific exact identifier. Resolve the directory containing this `SKILL.md` as `BEAM_SKILL_DIR` first.\n\nClaude Code exposes the current session id:\n\n```bash\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish \\\n  --endpoint \"$BEAM_ENDPOINT\" \\\n  --session-id \"${CLAUDE_SESSION_ID}\"\n```\n\nIn Codex, resolve the directory containing this `SKILL.md` as `BEAM_SKILL_DIR`; normal shell-tool children expose the current thread id:\n\n```bash\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish \\\n  --endpoint \"$BEAM_ENDPOINT\" \\\n  --thread-id \"$CODEX_THREAD_ID\"\n```\n\nPrefer exact harness metadata when available:\n\n- Claude Code: `${CLAUDE_SESSION_ID}` identifies the current local conversation; the helper finds its transcript.\n- Codex shell tools: `CODEX_THREAD_ID` identifies the current thread.\n- Hook adapters: pass their JSON to `beam hook`; `transcript_path` is authoritative.\n- Exact fallback: Beam scans only the native Claude\u002FCodex session roots for the supplied id and fails closed on no match or ambiguity.\n\nUseful options:\n\n```bash\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish --endpoint \"$BEAM_ENDPOINT\" --session \u002Fpath\u002Fto\u002Fsession.jsonl\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish --endpoint \"$BEAM_ENDPOINT\" --thread-id \"$CODEX_THREAD_ID\"\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish --endpoint \"$BEAM_ENDPOINT\" --title \"Fix upload flow\"\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish --endpoint \"$BEAM_ENDPOINT\" --complete\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" publish --endpoint \"$BEAM_ENDPOINT\" --dry-run\n```\n\n`--dry-run` prints the sanitized payload locally and performs no network request.\n\nOn success, return only the Beam URL and a short disclosure summary: source harness, shared message count, whether older entries were truncated, and whether the beam is complete. The URL uses the endpoint-derived Control UI base path followed by `\u002Fbeam\u002F\u003Ctitle-slug>-\u003Cid-prefix>`, for example `https:\u002F\u002Fgateway.example.com\u002Fbeam\u002Ffix-upload-flow-0123456789ab`. The title comes from `--title` or the first shared user message. The stable ID suffix identifies the session; links with an earlier title remain valid.\n\nIf the receipt includes `canView: false`, say that the upload succeeded and the link is for authorized Team operators; upload-only access does not let the guest open it. Do not present it as a guest-viewable link. Staff and older receipts may omit `canView`; omission is not a new access grant.\n\nGuest access requires receiver-side support and operator authorization. Sender support alone does not mean it is deployed.\nCurrent Visitor-enabled receivers let active verified publishers create, refresh, list, and read only their own snapshots.\nThey grant no shared-catalog access or deletion. Updated receivers allow authorized continuation of a publisher's own explicitly released Beam, subject to normal destination creation, model, account and session permissions. Older upload-only receivers can return `canView: false`; honor that receipt.\nGuests need no shared secret. If personal access expires, sign in again outside hooks or refresh the personal `BEAM_ACCESS_TOKEN`.\nRevoked access needs an authorized operator to restore it. Never blindly retry an uncertain upload.\n\n## Live logical handoff\n\nOnly perform this when the user asks to move or continue the conversation in Team; permission to share a snapshot alone is insufficient. Requires Node 22.13+ and an updated receiver.\n\n```sh\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" handoff --endpoint \"$BEAM_ENDPOINT\" --thread-id \"$CODEX_THREAD_ID\"\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" read --endpoint \"$BEAM_ENDPOINT\" --beam-id BEAM_ID --profile-dir \u002Fpath\u002Fto\u002Fown\u002Fremote-profile\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" continue --endpoint \"$BEAM_ENDPOINT\" --beam-id BEAM_ID --profile-dir \u002Fpath\u002Fto\u002Fown\u002Fremote-profile --message \"Continue the work\"\n```\n\nUse `--session-id` for Claude Code. The handoff receipt prints `BEAM_ID`. `--profile-dir` selects an existing normal OpenClaw remote profile for that exact Gateway; configure your own authentication first. No shared account or provider token is requested or copied. Permission or runtime denial stays a denial.\n\nThe helper durably retires this source identity before network dispatch. A pending handoff stays retired after errors; recover with `handoff --endpoint \"$BEAM_ENDPOINT\" --beam-id BEAM_ID`, including when the source transcript is gone. Never delete the retirement record to retry. Snapshot expiry or archive cannot restore source ownership. A `read` with no destination returns a visible pending result and creates nothing; `continue` creates the destination once. Deleted or reset destinations require reconciliation, not a new transcript copy.\n\nSource model\u002Fversion metadata is normalized against models available and permitted at Team. If unavailable, the destination's configured default resolves normally; authentication\u002Fsetup requirements remain in force. The original local harness is not stopped or remotely controlled. Local turns after handoff are not canonical Team turns.\n\nContinuation returns the Gateway's normal run acknowledgment. Keep the printed request ID: after an uncertain send, retry the same message with `--request-id ID` to avoid a duplicate turn. `read` obtains the current Team history. The local SQLite record contains only sanitized pending history and ownership metadata; acknowledged history is discarded locally. Default location: the user's `.local\u002Fstate\u002Fopenclaw-beam\u002Fhandoffs.sqlite`; `--state FILE` selects an explicit local store. Preserve it while the handed-off identity can be used.\n\nThe helper also accepts bare `\u002Fbeam\u002F\u003Cid-prefix>` links and, during rollout, the current server's exact `\u002Fchat\u002F\u003Cagent>?catalog=beam&host=gateway&thread=\u003Cfull-beam-id>` response. It still rejects the obsolete `?session=catalog:...` beta form.\n\n## Live Hooks\n\nThe helper accepts the snake_case JSON emitted by both Claude Code and Codex lifecycle hooks:\n\n```bash\nnode \"$BEAM_SKILL_DIR\u002Fscripts\u002Fbeam\" hook --endpoint \"$BEAM_ENDPOINT\" --quiet\n```\n\nConfigure root `Stop` hooks for turn-by-turn updates. Claude Code can also use `SessionEnd` for finalization; Codex finalization uses an explicit `publish --complete`. See:\n\n- `references\u002Fclaude-code-hooks.json`\n- `references\u002Fcodex-hooks.toml`\n\nHook failures must not block the coding session. Keep ordinary success quiet (including upload-only receipts); a retired Beam emits a concise direction to read\u002Fcontinue through Team even with `--quiet`. Log one concise redacted error on failure. Hooks never start interactive authentication or automatically hand off ownership.\n\nFull installation, authentication, data-boundary, and hook documentation:\n[`README.md`](README.md).\n\n## Development\n\n```bash\nnode --check skills\u002Fbeam\u002Fscripts\u002Fbeam\nnode --check skills\u002Fbeam\u002Fscripts\u002Fbeam-session.js\nnode --check skills\u002Fbeam\u002Fscripts\u002Fbeam-handoff.js\nnode --test skills\u002Fbeam\u002Fscripts\u002Fbeam.test.mjs skills\u002Fbeam\u002Fscripts\u002Fbeam-handoff.test.mjs\nscripts\u002Fvalidate-skills\n```\n",{"name":5,"description":7},"main","f347277ff20bef91fea29713e4e340e299875792","skills\u002Fbeam",123,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills","https:\u002F\u002Fgithub.com\u002Fopenclaw","https:\u002F\u002Fopenclaw.ai","Your personal, open source AI assistant.","2026-11-10 17:52:00",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add openclaw\u002Fagent-skills --skill beam",{"tool":44,"command":45},"bunx","bunx skills add openclaw\u002Fagent-skills --skill beam",{"tool":47,"command":48},"pnpm","pnpm dlx skills add openclaw\u002Fagent-skills --skill beam","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002FSKILL.md",true,[52,58,62,66,70,76,80,84,88],{"path":53,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":57},"package.json","REFERENCE","参考文档",23,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002Fpackage.json",{"path":59,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":60,"sourceHtmlUrl":61},"README.md",12007,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002FREADME.md",{"path":63,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":64,"sourceHtmlUrl":65},"references\u002Fclaude-code-hooks.json",588,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002Freferences\u002Fclaude-code-hooks.json",{"path":67,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":68,"sourceHtmlUrl":69},"references\u002Fcodex-hooks.toml",252,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002Freferences\u002Fcodex-hooks.toml",{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"scripts\u002Fbeam","SCRIPT","脚本",20391,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002Fscripts\u002Fbeam",{"path":77,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":78,"sourceHtmlUrl":79},"scripts\u002Fbeam-handoff.js",8683,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002Fscripts\u002Fbeam-handoff.js",{"path":81,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":82,"sourceHtmlUrl":83},"scripts\u002Fbeam-handoff.test.mjs",7859,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002Fscripts\u002Fbeam-handoff.test.mjs",{"path":85,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":86,"sourceHtmlUrl":87},"scripts\u002Fbeam-session.js",30719,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002Fscripts\u002Fbeam-session.js",{"path":89,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":90,"sourceHtmlUrl":91},"scripts\u002Fbeam.test.mjs",62030,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbeam\u002Fscripts\u002Fbeam.test.mjs",[93,114,133,151,168,189],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":24},"01M698RR7FCM03FP4QX4D38ECP","team-handoff","Hand local work to a shared OpenClaw Gateway: start a worktree session there as yourself in one request, seeded with a handoff, and get the session URL back.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fteam-handoff\u002FSKILL.md",[],[100,101,102,9,103,104,22,105,106,107,108,109,110,18,111,112,20,113],"handoff","team handoff","team","back","request","URL","with","as","get","shared","local","work","start","worktree",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":24},"01M698RP6WVCYC38YPEECMADB5","session-viewer","Render Codex, Claude Code, OpenClaw, or Pi session JSONL transcripts as a searchable, shareable single-file HTML viewer.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fsession-viewer\u002FSKILL.md",[],[121,122,18,123,124,107,125,126,127,128,129,9,130,131,132],"viewer","session viewer","single-file","code","render","html","pi","file","codex","transcripts","single","jsonl",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":24},"01M698RN1Q9WRY11XB9CBEY6JN","readme-standard","House README standard: structure, badge row, tone, per-archetype templates, and verification gates for steipete\u002Fopenclaw repos.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Freadme-standard\u002FSKILL.md",[],[140,141,142,143,144,145,146,147,148,149,9,150],"standard","README","readme standard","for","verification gates","tone","structure","templates","verification","repos","gates",{"skillNo":152,"name":100,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":161,"publishedAt":24},"01M698RM0PA5ZM69GGT4ABAV92","Clipboard-ready handoff prompt for another agent to investigate or continue a task.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fhandoff\u002FSKILL.md",[156],{"categoryNo":157,"categoryName":158,"taxonomyType":159,"taxonomyTypeDesc":160},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[100,162,143,163,164,165,166,167],"clipboard","task","ready","prompt","continue","investigate",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":24},"01M698RJKDRFJJT0755672M39N","crabbox","Crabbox\u002FTestbox remote proof: portable provider routing, untrusted isolation, Linux\u002FmacOS\u002FWindows\u002FWSL2, live E2E, diagnostics, cleanup.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fcrabbox\u002FSKILL.md",[],[170,175,176,177,178,179,180,181,182,183,184,185,186,187,188],"macos","live","provider","e2e","routing","cleanup","diagnostics","windows","linux","isolation","provider routing","portable","remote","proof",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":200,"publishedAt":24},"01M698RHA9XNH7TEX0BKY9SJ0E","behavior-validator","Source-blind user behavior validation against a prewritten contract for apps, CLIs, APIs, and generated artifacts.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills\u002Fbehavior-validator\u002FSKILL.md",[195],{"categoryNo":196,"categoryName":197,"taxonomyType":198,"taxonomyTypeDesc":199},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[201,202,203,204,143,205,206,207,208,209,210],"behavior","behavior validator","validator","source","apps","contract","generated","user","artifacts","validation"]