Skill Openclaw Library Monitor
Analysis
The skill’s behavior matches its stated purpose of checking library availability and notifying the user, though it uses shell commands, local storage, network requests, scheduled monitoring, and optional email credentials that should be configured carefully.
Findings (5)
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.
tools: - bash ... - Add a book: Use bash to run "python main.py add --title <title> [--author <author>] [--monitor]"
The skill explicitly uses bash to run a local CLI with user-supplied values. This is central to the skill, but command arguments should be handled carefully.
requests>=2.31.0 beautifulsoup4>=4.12.0 lxml>=4.9.0 schedule>=1.2.0 python-dotenv>=1.0.0 pyyaml>=6.0
The Python dependencies are installed from external package sources using lower-bound version ranges rather than exact pinned versions.
schedule.every(interval).minutes.do(self.check_monitoring_books)
...
while self.running:
schedule.run_pending()
time.sleep(60)The monitor command runs repeatedly until stopped. This is disclosed scheduled monitoring and is not hidden persistence, but it can continue making checks and sending notifications while active.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
self.password = config.get("password", "")
...
server.login(self.sender, self.password)
server.send_message(msg)Email notifications use an SMTP password from the user’s configuration to authenticate and send messages. This is expected for email alerts but grants email-sending authority.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
- Book data is stored in `book_list.json`
The skill persists a local record of monitored books and their status. This is disclosed and purpose-aligned, but it may reveal reading interests.
