Content Repurposer
PassAudited by ClawScan on May 1, 2026.
Overview
This skill appears purpose-aligned for turning user-provided articles into social copy, with low-risk notes around URL/file access, an unpinned optional dependency, and checking generated text before posting.
This looks safe to install for normal article repurposing. Use trusted URLs or files, avoid feeding private drafts unless you are comfortable with their content appearing in generated outputs, review posts before publishing, and consider pinning beautifulsoup4 for reproducible use.
Findings (3)
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.
If pointed at the wrong URL, file, or output folder, the skill could process unintended content or overwrite platform-named output files such as twitter.txt or linkedin.txt.
The script can fetch a supplied URL, read a supplied file path, and write output files to a supplied directory. These operations are expected for the skill, but they affect the local/network environment.
with urlopen(req, timeout=30) as resp: ... content = p.read_text(encoding="utf-8") ... out.mkdir(parents=True, exist_ok=True) ... filepath.write_text(content, encoding="utf-8")
Use trusted article URLs and intended local files, and save outputs only to a directory where creating or replacing platform text files is acceptable.
Dependency behavior may vary over time depending on the package version resolved from the package index.
The URL workflow resolves the beautifulsoup4 package without a pinned version. This is a normal optional dependency for HTML parsing, but the artifacts do not pin or lock it.
uv run --with beautifulsoup4 python scripts/repurpose.py url "https://example.com/blog-post"
For repeatable or team use, pin beautifulsoup4 to a known version or install it from a trusted package source.
Generated posts may contain verbatim or near-verbatim source text, which could matter for attribution, copyright, or brand voice.
The generator selects source sentences as key points and inserts them into platform outputs. This is useful repurposing, but users should not assume every generated phrase is newly written.
sentences = re.split(r"[.!?]+", body) ... return [s[0] for s in scored[:max_points]] ... tweet = f"{i}/ {point}"Review and edit generated copy before publishing, especially if the source article is copyrighted or needs attribution.
