Twitter Daily Digest
Analysis
The skill’s Twitter digest purpose is coherent, but it uses logged-in Twitter access and a local Notion token, then can sync the digest to a hard-coded Notion page despite metadata declaring no credentials.
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.
cmd = [twitter_bin] + args + ["--json"] result = subprocess.run(cmd, capture_output=True, text=True, timeout=timeout)
The script invokes a local twitter binary to collect data. This is expected for the skill’s purpose and uses argument lists rather than shell strings, but it is still local command execution.
安装命令:`uv tool install twitter-cli`
The skill relies on an external CLI package installed by name without a pinned version in the provided artifacts. This is purpose-aligned but leaves package provenance/version review to the user.
agent 读取 JSON,自行做主观整理 ... `text`: "完整推文内容"
The agent is instructed to read raw tweet text and make editorial judgments from it. That is expected for a digest, but tweet content is untrusted external text and could contain prompt-injection-style instructions.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
已安装并认证 twitter CLI ... 如需 Notion:`~/.config/notion/api_key` 存在
The skill expects a locally authenticated Twitter CLI and may read a local Notion API key, while the metadata declares no primary credential, required environment variables, or required config paths.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
DEFAULT_NOTION_PARENT_PAGE_ID = "323dfb80-f233-811a-b597-f30cb2013145" DEFAULT_NOTION_KEY_PATH = Path.home() / ".config/notion/api_key"
The Notion sync path uses a local API key and a hard-coded parent page ID, so the destination for uploaded digest content is not clearly user-scoped in the code or metadata.
