Back to skill
Skillv1.1.0
ClawScan security
feishu-weekly-report-merger · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
ReviewApr 17, 2026, 12:36 PM
- Verdict
- Review
- Confidence
- high
- Model
- gpt-5-mini
- Summary
- The skill's stated goal (merge Feishu docs without changing original text) is undermined by the included script which normalizes headers and trims whitespace; otherwise the packaging and requested privileges look reasonable.
- Guidance
- Key points before installing or using this skill: - Expectation mismatch: The SKILL.md promises 'do not modify original text', but scripts/merge.py normalizes Part headers, trims some newlines, removes separator lines, and inserts its own headers/separators. If you need byte-for-byte preservation, review and modify merge.py (or reject the skill). - Temporary files: The workflow writes original markdown to /tmp/merge_doc_*.md. /tmp files can be readable by other local users on multi-user systems and are subject to race conditions. Ensure the agent runtime runs with appropriate user isolation, cleanups (rm -f /tmp/merge_doc_*.md), or update the skill to use secure temp files (e.g., mkstemp) and immediate removal after use. - Confirm Feishu connector behavior: The skill uses feishu_fetch_doc and feishu_create_doc provided by the agent/platform. Verify what Feishu credentials and scopes the agent grants to these calls and that merged docs are created only in the intended owner's cloud space. - Review and test: Inspect and test merge.py on non-sensitive sample documents to see how headers, tables, code blocks, and other formatting are transformed. If exact fidelity is required, request or implement changes in the script (avoid header normalization and whitespace trimming). - If you have limited sysadmin control over the agent runtime, consider not installing or only enabling this skill after a code audit that ensures it meets your preservation and privacy requirements.
Review Dimensions
- Purpose & Capability
- okName/description (merge multiple Feishu weekly reports by Part1~Part5) matches provided artifacts: SKILL.md describes using feishu_fetch_doc/feishu_create_doc and a local merge.py script (present). No unrelated environment variables, binaries, or install steps are requested.
- Instruction Scope
- concernSKILL.md repeatedly states '原文一字不改' (do not modify original text). However, scripts/merge.py performs normalization (normalize_part_header) which rewrites part headers to a canonical '# **PartN:【...】**' format, strips leading/trailing newlines, removes part-level separator lines, and inserts separators/section headers. These are content modifications that contradict the 'no modification' guarantee. The SKILL.md also instructs writing originals to /tmp and running a script via exec — that is expected, but temporary files in /tmp may be readable to other local users unless securely created/cleaned. The references note cleanup (rm -f /tmp/merge_doc_*.md) but SKILL.md's main workflow doesn't enforce or show the cleanup step.
- Install Mechanism
- okInstruction-only skill with an included script file; there is no install spec, no downloads, and no archive extraction. This is low-risk from an install mechanism perspective.
- Credentials
- okThe skill declares no required env vars or credentials. It relies on platform-provided feishu_fetch_doc/feishu_create_doc functionality (expected). There are no extra unrelated credentials requested.
- Persistence & Privilege
- okalways is false and the skill is user-invocable. The skill does not request persistent system-wide privileges or modify other skills' config. It runs a local script and creates temporary files under /tmp.
