{
  "schemaVersion": "1.0",
  "item": {
    "slug": "wip-file-guard",
    "name": "Wip File Guard",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/parkertoddbrooks/wip-file-guard",
    "canonicalUrl": "https://clawhub.ai/parkertoddbrooks/wip-file-guard",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/wip-file-guard",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=wip-file-guard",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CHANGELOG.md",
      "README.md",
      "REFERENCE.md",
      "SKILL.md",
      "guard.mjs",
      "openclaw.plugin.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",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/wip-file-guard"
    },
    "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/wip-file-guard",
    "agentPageUrl": "https://openagent3.xyz/skills/wip-file-guard/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wip-file-guard/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wip-file-guard/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": "wip-file-guard",
        "body": "Hook that blocks destructive edits to protected identity files. For Claude Code CLI and OpenClaw."
      },
      {
        "title": "When to Use This Skill",
        "body": "Use wip-file-guard for:\n\nProtecting CLAUDE.md, SOUL.md, IDENTITY.md, MEMORY.md, and other identity files from being overwritten\nBlocking AI agents from replacing file content instead of extending it\nSurviving context compaction (behavioral rules get erased, but hooks don't)\n\nThis is a technical guardrail, not a prompt. It blocks the operation before it happens."
      },
      {
        "title": "Do NOT Use For",
        "body": "Protecting binary files or images\nBlocking all edits (it allows small edits, only blocks destructive ones)\nRepos without identity files"
      },
      {
        "title": "How It Works",
        "body": "Two rules:\n\nWrite is blocked on protected files. Always. Use Edit instead.\nEdit is blocked when it removes more than 2 net lines from a protected file."
      },
      {
        "title": "Protected Files",
        "body": "CLAUDE.md, SHARED-CONTEXT.md, SOUL.md, IDENTITY.md, CONTEXT.md, TOOLS.md, MEMORY.md"
      },
      {
        "title": "Protected Patterns",
        "body": "Any file matching: memory, memories, journal, diary, daily log"
      },
      {
        "title": "CLI",
        "body": "node guard.mjs --list          # list protected files\nbash test.sh                   # run test suite"
      },
      {
        "title": "Claude Code Hook",
        "body": "Add to ~/.claude/settings.json:\n\n{\n  \"hooks\": {\n    \"PreToolUse\": [\n      {\n        \"matcher\": \"Edit|Write\",\n        \"hooks\": [\n          {\n            \"type\": \"command\",\n            \"command\": \"node \\\"/path/to/wip-file-guard/guard.mjs\\\"\",\n            \"timeout\": 5\n          }\n        ]\n      }\n    ]\n  }\n}"
      },
      {
        "title": "Agent keeps trying to Write",
        "body": "The deny message tells the agent to re-read the file and use Edit instead. If the agent ignores it, it's likely post-compaction and has lost context. The hook will keep blocking."
      },
      {
        "title": "Edit blocked unexpectedly",
        "body": "Check the net line removal. Edits that remove more than 2 lines from a protected file are blocked. Small edits (adding or replacing 1-2 lines) are allowed."
      }
    ],
    "body": "wip-file-guard\n\nHook that blocks destructive edits to protected identity files. For Claude Code CLI and OpenClaw.\n\nWhen to Use This Skill\n\nUse wip-file-guard for:\n\nProtecting CLAUDE.md, SOUL.md, IDENTITY.md, MEMORY.md, and other identity files from being overwritten\nBlocking AI agents from replacing file content instead of extending it\nSurviving context compaction (behavioral rules get erased, but hooks don't)\n\nThis is a technical guardrail, not a prompt. It blocks the operation before it happens.\n\nDo NOT Use For\nProtecting binary files or images\nBlocking all edits (it allows small edits, only blocks destructive ones)\nRepos without identity files\nHow It Works\n\nTwo rules:\n\nWrite is blocked on protected files. Always. Use Edit instead.\nEdit is blocked when it removes more than 2 net lines from a protected file.\nProtected Files\n\nCLAUDE.md, SHARED-CONTEXT.md, SOUL.md, IDENTITY.md, CONTEXT.md, TOOLS.md, MEMORY.md\n\nProtected Patterns\n\nAny file matching: memory, memories, journal, diary, daily log\n\nAPI Reference\nCLI\nnode guard.mjs --list          # list protected files\nbash test.sh                   # run test suite\n\nClaude Code Hook\n\nAdd to ~/.claude/settings.json:\n\n{\n  \"hooks\": {\n    \"PreToolUse\": [\n      {\n        \"matcher\": \"Edit|Write\",\n        \"hooks\": [\n          {\n            \"type\": \"command\",\n            \"command\": \"node \\\"/path/to/wip-file-guard/guard.mjs\\\"\",\n            \"timeout\": 5\n          }\n        ]\n      }\n    ]\n  }\n}\n\nTroubleshooting\nAgent keeps trying to Write\n\nThe deny message tells the agent to re-read the file and use Edit instead. If the agent ignores it, it's likely post-compaction and has lost context. The hook will keep blocking.\n\nEdit blocked unexpectedly\n\nCheck the net line removal. Edits that remove more than 2 lines from a protected file are blocked. Small edits (adding or replacing 1-2 lines) are allowed."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/parkertoddbrooks/wip-file-guard",
    "publisherUrl": "https://clawhub.ai/parkertoddbrooks/wip-file-guard",
    "owner": "parkertoddbrooks",
    "version": "1.9.33",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/wip-file-guard",
    "downloadUrl": "https://openagent3.xyz/downloads/wip-file-guard",
    "agentUrl": "https://openagent3.xyz/skills/wip-file-guard/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wip-file-guard/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wip-file-guard/agent.md"
  }
}