Claw Reliability
Analysis
The skill is coherent for agent observability, but it handles local agent transcript data and can send optional webhook alerts, so users should understand those data flows before enabling it.
Findings (4)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/18.2.0/umd/react.production.min.js"></script> ... <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/7.23.9/babel.min.js"></script>
The dashboard loads browser JavaScript from public CDNs, which is purpose-aligned for a web UI but adds third-party supply-chain dependence.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
cfg.setdefault("alert_destinations", {})["discord"] = {"enabled": True, "webhook_url": args.webhook_url}The optional Discord webhook URL is stored in the skill configuration and gives the skill delegated ability to post alerts to that Discord destination.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
This skill reads OpenClaw gateway events and session transcripts to extract: ... Tool invocations ... arguments ... All data is stored in a local SQLite database at `{baseDir}/data/metrics.db`.The skill intentionally collects and persists agent transcript-derived data, including tool arguments, which may contain sensitive context even though the storage is local and purpose-aligned.
req = urllib.request.Request(self.webhook_url, data=data, headers={"Content-Type": "application/json", "User-Agent": "claw-reliability/1.0"}, method="POST")When the user configures a webhook, alert data is sent to that external endpoint; this is disclosed and sanitized, but the webhook becomes a data boundary.
