{
  "schemaVersion": "1.0",
  "item": {
    "slug": "farnwick-skillguard",
    "name": "SkillGuard by Farnwick",
    "source": "tencent",
    "type": "skill",
    "category": "安全合规",
    "sourceUrl": "https://clawhub.ai/FarnwickArglefax/farnwick-skillguard",
    "canonicalUrl": "https://clawhub.ai/FarnwickArglefax/farnwick-skillguard",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/farnwick-skillguard",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=farnwick-skillguard",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "prompts/security-analysis.txt",
      "skillguard.py"
    ],
    "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-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/farnwick-skillguard"
    },
    "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/farnwick-skillguard",
    "agentPageUrl": "https://openagent3.xyz/skills/farnwick-skillguard/agent",
    "manifestUrl": "https://openagent3.xyz/skills/farnwick-skillguard/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/farnwick-skillguard/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": "SkillGuard 🛡️",
        "body": "AI-powered security scanner for OpenClaw skills. Analyzes skill code for malicious behaviour before you install it."
      },
      {
        "title": "Scan before install (recommended)",
        "body": "skillguard install <skill-name>\n\nDownloads the skill to a temp directory, runs AI security analysis, shows verdict, then asks for confirmation before installing via clawhub.\n\nExample:\n\nskillguard install my-new-skill"
      },
      {
        "title": "Audit installed skills",
        "body": "skillguard audit\n\nScans all skills in /usr/lib/node_modules/openclaw/skills/, ~/.openclaw/workspace/skills/, and ~/.openclaw/skills/. Prints a table summary with details on any flagged skills."
      },
      {
        "title": "Scan a local path",
        "body": "skillguard scan <path>\n\nScan any local skill directory without installing. Useful for reviewing skills you've already downloaded or developed locally.\n\nExample:\n\nskillguard scan ./my-skill-folder\nskillguard scan /usr/lib/node_modules/openclaw/skills/some-skill"
      },
      {
        "title": "Risk Levels",
        "body": "LevelMeaning✅ CLEANNo security issues detected🟡 LOWMinor concerns, generally safe⚠️ MEDIUMReview recommended before installing🚨 HIGHDangerous — do not install without careful manual review"
      },
      {
        "title": "What Gets Checked",
        "body": "Credential theft: Reads to ~/.ssh/, ~/.openclaw/, API keys, .env files\nData exfiltration: curl/wget/fetch POSTing data to external servers\nReverse shells: netcat, bash TCP redirects, socat to external IPs\nPrivilege escalation: sudo abuse, setuid bits, writing to /etc/\nPersistence: cron installs, systemd units, .bashrc modifications\nObfuscation: base64-piped-to-bash, eval with dynamic content\nPackage smuggling: undisclosed npm/pip installs\nReconnaissance: network scanning, system info harvesting"
      },
      {
        "title": "Usage by the AI Agent",
        "body": "When the user asks to install a skill, use skillguard first:\n\npython3 /root/.openclaw/workspace/skills/skillguard/skillguard.py install <skill-name>\n\nWhen the user asks to check their installed skills for security issues:\n\npython3 /root/.openclaw/workspace/skills/skillguard/skillguard.py audit\n\nWhen the user asks to check a specific local skill directory:\n\npython3 /root/.openclaw/workspace/skills/skillguard/skillguard.py scan /path/to/skill"
      },
      {
        "title": "Output Examples",
        "body": "Clean skill:\n\n✅ SkillGuard: good-skill — Clean. Installing...\n\nFlagged skill:\n\n🚨 SkillGuard: bad-skill — Risk: HIGH\n   Reads /root/.openclaw/*.json and POSTs to external IP.\n\n   [HIGH] Data Exfiltration: curl POST of ~/.openclaw/openclaw.json to 45.33.32.156 [scripts/init.sh:14-22]\n   [MEDIUM] Credential Theft: Reads ~/.ssh/id_rsa without disclosure [scripts/setup.sh:8]\n\nInstall bad-skill anyway? (type YES to confirm)"
      },
      {
        "title": "Requirements",
        "body": "Python 3.6+\nAn Anthropic, OpenRouter, or DeepSeek API key configured in OpenClaw\nclawhub CLI (for install command only)"
      },
      {
        "title": "Notes",
        "body": "Binary files are automatically skipped\nFiles larger than 100KB are truncated before analysis\nAnalysis uses Claude Opus (or best available model) for maximum accuracy\nThe scan itself is safe — skills are text files, not executed during scanning"
      }
    ],
    "body": "SkillGuard 🛡️\n\nAI-powered security scanner for OpenClaw skills. Analyzes skill code for malicious behaviour before you install it.\n\nCommands\nScan before install (recommended)\nskillguard install <skill-name>\n\n\nDownloads the skill to a temp directory, runs AI security analysis, shows verdict, then asks for confirmation before installing via clawhub.\n\nExample:\n\nskillguard install my-new-skill\n\nAudit installed skills\nskillguard audit\n\n\nScans all skills in /usr/lib/node_modules/openclaw/skills/, ~/.openclaw/workspace/skills/, and ~/.openclaw/skills/. Prints a table summary with details on any flagged skills.\n\nScan a local path\nskillguard scan <path>\n\n\nScan any local skill directory without installing. Useful for reviewing skills you've already downloaded or developed locally.\n\nExample:\n\nskillguard scan ./my-skill-folder\nskillguard scan /usr/lib/node_modules/openclaw/skills/some-skill\n\nRisk Levels\nLevel\tMeaning\n✅ CLEAN\tNo security issues detected\n🟡 LOW\tMinor concerns, generally safe\n⚠️ MEDIUM\tReview recommended before installing\n🚨 HIGH\tDangerous — do not install without careful manual review\nWhat Gets Checked\nCredential theft: Reads to ~/.ssh/, ~/.openclaw/, API keys, .env files\nData exfiltration: curl/wget/fetch POSTing data to external servers\nReverse shells: netcat, bash TCP redirects, socat to external IPs\nPrivilege escalation: sudo abuse, setuid bits, writing to /etc/\nPersistence: cron installs, systemd units, .bashrc modifications\nObfuscation: base64-piped-to-bash, eval with dynamic content\nPackage smuggling: undisclosed npm/pip installs\nReconnaissance: network scanning, system info harvesting\nUsage by the AI Agent\n\nWhen the user asks to install a skill, use skillguard first:\n\npython3 /root/.openclaw/workspace/skills/skillguard/skillguard.py install <skill-name>\n\n\nWhen the user asks to check their installed skills for security issues:\n\npython3 /root/.openclaw/workspace/skills/skillguard/skillguard.py audit\n\n\nWhen the user asks to check a specific local skill directory:\n\npython3 /root/.openclaw/workspace/skills/skillguard/skillguard.py scan /path/to/skill\n\nOutput Examples\n\nClean skill:\n\n✅ SkillGuard: good-skill — Clean. Installing...\n\n\nFlagged skill:\n\n🚨 SkillGuard: bad-skill — Risk: HIGH\n   Reads /root/.openclaw/*.json and POSTs to external IP.\n\n   [HIGH] Data Exfiltration: curl POST of ~/.openclaw/openclaw.json to 45.33.32.156 [scripts/init.sh:14-22]\n   [MEDIUM] Credential Theft: Reads ~/.ssh/id_rsa without disclosure [scripts/setup.sh:8]\n\nInstall bad-skill anyway? (type YES to confirm)\n\nRequirements\nPython 3.6+\nAn Anthropic, OpenRouter, or DeepSeek API key configured in OpenClaw\nclawhub CLI (for install command only)\nNotes\nBinary files are automatically skipped\nFiles larger than 100KB are truncated before analysis\nAnalysis uses Claude Opus (or best available model) for maximum accuracy\nThe scan itself is safe — skills are text files, not executed during scanning"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/FarnwickArglefax/farnwick-skillguard",
    "publisherUrl": "https://clawhub.ai/FarnwickArglefax/farnwick-skillguard",
    "owner": "FarnwickArglefax",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/farnwick-skillguard",
    "downloadUrl": "https://openagent3.xyz/downloads/farnwick-skillguard",
    "agentUrl": "https://openagent3.xyz/skills/farnwick-skillguard/agent",
    "manifestUrl": "https://openagent3.xyz/skills/farnwick-skillguard/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/farnwick-skillguard/agent.md"
  }
}