CtrlK
BlogDocsLog inGet started
Tessl Logo

project-planning

Generate structured planning docs for web projects with context-safe phases, verification criteria, and exit conditions. Creates IMPLEMENTATION_PHASES.md plus conditional docs. Use when: starting new projects, adding major features, or breaking large work into manageable phases.

66

Quality

61%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/project-planning/SKILL.md
SKILL.md
Quality
Evals
Security

Security

2 findings — 2 medium severity. This skill can be installed but you should review these findings before use.

Medium

W011: Third-party content exposure detected (indirect prompt injection risk)

What this means

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.

Why it was flagged

Third-party content exposure detected (high risk: 0.90). The skill explicitly defines agent tools that fetch and ingest arbitrary public web content (e.g., summarize_url uses fetch(url) and search_web calls a public Brave Search API in references/example-outputs/ai-web-app.md and templates/AGENTS_CONFIG.md), so untrusted third-party pages/URLs would be read and could materially influence agent behavior.

Report incorrect finding
Medium

W012: Unverifiable external dependency detected (runtime URL that controls agent)

What this means

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.

Why it was flagged

Potentially malicious external URL detected (high risk: 0.80). The skill includes runtime fetching of arbitrary webpages in summarize_url (fetch(url)) which is then injected into the LLM prompt via context.env.AI.run (and also calls the Brave Search API at https://api.search.brave.com/res/v1/web/search), meaning external content fetched at runtime can directly control agent prompts.

Repository
jezweb/claude-skills
Audited
Security analysis
Snyk

Is this your skill?

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.