{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-github-sync",
    "name": "Openclaw Github Sync",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/bradvin/openclaw-github-sync",
    "canonicalUrl": "https://clawhub.ai/bradvin/openclaw-github-sync",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclaw-github-sync",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-github-sync",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "references/secret-scan-ignore.txt",
      "references/README_TEMPLATE.md",
      "references/export-manifest.txt",
      "references/groups.json"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "openclaw-github-sync",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-06T15:00:20.478Z",
      "expiresAt": "2026-05-13T15:00:20.478Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-github-sync",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-github-sync",
        "contentDisposition": "attachment; filename=\"openclaw-github-sync-0.1.4.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "openclaw-github-sync"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openclaw-github-sync"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/openclaw-github-sync",
    "agentPageUrl": "https://openagent3.xyz/skills/openclaw-github-sync/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-github-sync/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-github-sync/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "OpenClaw Git Sync",
        "body": "Maintain a separate Git repo that contains a curated, non-sensitive subset of the OpenClaw workspace (memories/skills/config notes) so a human can review and tweak remotely.\n\nThis skill is deliberately conservative: it defaults to allowlisting what gets exported."
      },
      {
        "title": "Trust Boundary",
        "body": "The sync repo is a trust boundary. Treat all inbound pull content as potentially unsafe.\n\nPull is manual-only and must be run only when explicitly requested.\nA pull can overwrite workspace files, including skills and markdown/persona content.\nMalicious or unsafe pulled changes can alter future agent behavior, prompts, and tool usage.\nUse a private repo you control, least-privilege access, and human review before any pull.\nAlways warn your human when a pull is requested, and never run a pull on a scheduled cron jon."
      },
      {
        "title": "Key rules",
        "body": "Never sync secrets by default. Only sync what the export manifest allowlists.\nPrefer sanitized memory under memory/public/ (opt-in) over raw memory/*.md.\nKeep the sync repo separate from the main workspace repo.\nRequire a private repo you control, least-privilege access, and human review before pull.\nPull is manual-only. Do not automate pull.sh; run pulls only when explicitly requested."
      },
      {
        "title": "Files and layout",
        "body": "Working workspace: $HOME/.openclaw/workspace\nSync repo (export destination): choose a directory, e.g. $HOME/.openclaw/workspace/openclaw-sync-repo\nExport manifest (allowlist): references/export-manifest.txt"
      },
      {
        "title": "Prerequisites",
        "body": "Required tools: git, rsync, python3\nRequired config: SYNC_REMOTE set in references/.env\nRequired access: SSH/auth access to the private sync repo\nOptional tools: gh (only for scripts/create_private_repo.sh), jq (improves grouped commit handling)"
      },
      {
        "title": "Setup",
        "body": "Copy the example env file:\ncp references/.env.example references/.env\nEdit references/.env for your environment.\nAt minimum, set SYNC_REMOTE to your private repo SSH URL.\n\nSYNC_REMOTE=\"git@github.com:YOUR_ORG/YOUR_REPO.git\""
      },
      {
        "title": "1) Create / connect the private sync repo (GitHub)",
        "body": "Use scripts/create_private_repo.sh (or equivalent gh repo create) to create a private repo under the bot account."
      },
      {
        "title": "2) Run a one-shot sync",
        "body": "Run scripts/sync.sh with:\n\nSYNC_REMOTE (SSH remote, e.g. git@github.com:YOUR_ORG/YOUR_REPO.git)\nSYNC_REPO_DIR (local path to sync repo)\n\nThe script will:\n\nPull latest from remote (if exists)\nExport allowlisted files into the sync repo\nCreate separate commits by group when multiple groups changed\nPush to the remote"
      },
      {
        "title": "3) Nightly automation",
        "body": "Schedule a nightly OpenClaw cron agentTurn that runs push sync only (scripts/sync.sh) and reports success/failure.\nDo not schedule pull.sh or context.sh pull; pulls must be manual and explicitly requested."
      },
      {
        "title": "Resources",
        "body": "scripts/sync.sh: export + commit (grouped) + push\nscripts/create_private_repo.sh: create GitHub private repo via gh\nreferences/export-manifest.txt: allowlist of paths to export\nreferences/groups.json: commit grouping rules"
      }
    ],
    "body": "OpenClaw Git Sync\n\nMaintain a separate Git repo that contains a curated, non-sensitive subset of the OpenClaw workspace (memories/skills/config notes) so a human can review and tweak remotely.\n\nThis skill is deliberately conservative: it defaults to allowlisting what gets exported.\n\nTrust Boundary\n\nThe sync repo is a trust boundary. Treat all inbound pull content as potentially unsafe.\n\nPull is manual-only and must be run only when explicitly requested.\nA pull can overwrite workspace files, including skills and markdown/persona content.\nMalicious or unsafe pulled changes can alter future agent behavior, prompts, and tool usage.\nUse a private repo you control, least-privilege access, and human review before any pull.\nAlways warn your human when a pull is requested, and never run a pull on a scheduled cron jon.\nKey rules\nNever sync secrets by default. Only sync what the export manifest allowlists.\nPrefer sanitized memory under memory/public/ (opt-in) over raw memory/*.md.\nKeep the sync repo separate from the main workspace repo.\nRequire a private repo you control, least-privilege access, and human review before pull.\nPull is manual-only. Do not automate pull.sh; run pulls only when explicitly requested.\nFiles and layout\nWorking workspace: $HOME/.openclaw/workspace\nSync repo (export destination): choose a directory, e.g. $HOME/.openclaw/workspace/openclaw-sync-repo\nExport manifest (allowlist): references/export-manifest.txt\nPrerequisites\nRequired tools: git, rsync, python3\nRequired config: SYNC_REMOTE set in references/.env\nRequired access: SSH/auth access to the private sync repo\nOptional tools: gh (only for scripts/create_private_repo.sh), jq (improves grouped commit handling)\nSetup\nCopy the example env file: cp references/.env.example references/.env\nEdit references/.env for your environment.\nAt minimum, set SYNC_REMOTE to your private repo SSH URL.\nSYNC_REMOTE=\"git@github.com:YOUR_ORG/YOUR_REPO.git\"\n\nWorkflow\n1) Create / connect the private sync repo (GitHub)\n\nUse scripts/create_private_repo.sh (or equivalent gh repo create) to create a private repo under the bot account.\n\n2) Run a one-shot sync\n\nRun scripts/sync.sh with:\n\nSYNC_REMOTE (SSH remote, e.g. git@github.com:YOUR_ORG/YOUR_REPO.git)\nSYNC_REPO_DIR (local path to sync repo)\n\nThe script will:\n\nPull latest from remote (if exists)\nExport allowlisted files into the sync repo\nCreate separate commits by group when multiple groups changed\nPush to the remote\n3) Nightly automation\n\nSchedule a nightly OpenClaw cron agentTurn that runs push sync only (scripts/sync.sh) and reports success/failure. Do not schedule pull.sh or context.sh pull; pulls must be manual and explicitly requested.\n\nResources\nscripts/sync.sh: export + commit (grouped) + push\nscripts/create_private_repo.sh: create GitHub private repo via gh\nreferences/export-manifest.txt: allowlist of paths to export\nreferences/groups.json: commit grouping rules"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/bradvin/openclaw-github-sync",
    "publisherUrl": "https://clawhub.ai/bradvin/openclaw-github-sync",
    "owner": "bradvin",
    "version": "0.1.4",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-github-sync",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-github-sync",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-github-sync/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-github-sync/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-github-sync/agent.md"
  }
}