Fetch a URL or convert a local file (PDF/DOCX/HTML/etc.) into Markdown using `uvx markitdown`, optionally it can summarize
62
72%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./skills/summarize/SKILL.mdLow
Low-risk findings.
2 low severity findings. Worth noting, but not necessarily harmful.
The skill exposes the agent to untrusted, user-generated content from public third-party sources, creating a risk of indirect prompt injection. This includes browsing arbitrary URLs, reading social media posts or forum comments, and analyzing content from unknown websites.
The workflow calls `uvx markitdown[pdf] markitdown <url-or-path>` and then in `summarizeWithPi()` embeds the fetched/conversion result (`${body}`) into the `pi` prompt, so runtime free text from outsider-provided URLs/documents flows into the LLM context (indirect prompt injection risk).
The skill fetches instructions or code from an external URL at runtime, and the fetched content directly controls the agent’s prompts or executes code. This dynamic dependency allows the external source to modify the agent’s behavior without any changes to the skill itself.
The script runs uvx markitdown on user-supplied HTTP(S) URLs (e.g., "https://example.com") at runtime and then injects the fetched Markdown into the pi (claude-haiku-4-5) prompt, so remote content can directly control the model's instructions.
d265b8e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.