CtrlK
BlogDocsLog inGet started
Tessl Logo

sn-ppt-creative

Creative-mode PPT pipeline. One full-page 16:9 PNG per slide. LLM / VLM calls go through sn-ppt-standard/lib/model_client.py (shared thin client). Text-to-image (the actual png rendering) goes through sn-image-base/scripts/sn_agent_runner.py. Falls back to web image search when T2I generation fails. Expects task_pack.json + info_pack.json already written by sn-ppt-entry.

53

Quality

61%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/sn-ppt-creative/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a well-sequenced, highly actionable pipeline with real validation and failure handling, but it carries redundancy in the Hard rules and references prompt files that are absent from the bundle, slightly weakening conciseness and progressive disclosure.

Suggestions

Provide the missing $SKILL_DIR/prompts/ files (style_from_query.md, style_from_image.md, outline.md, page_prompt.md) or note explicitly that they must be created/sourced, so referenced navigation targets are real.

De-duplicate the Hard rules section against the body (no-retries, no-fake-images, no-model_client.t2i already appear in their stages) to tighten the token budget.

Add a final validation checkpoint before Stage 5 confirming all pages are accounted for (done or recorded as failed) so the pptx-packaging step has an explicit gate.

DimensionReasoningScore

Conciseness

Dense and directive with no concept-padding, but the 'Hard rules' section heavily duplicates body content (no retries, no fake images, no model_client.t2i) and the Chinese negative-prompt rationale is verbose, so it is mostly efficient rather than lean.

3 / 5

Actionability

Every stage ships copy-paste bash/python with real paths and flags, and the invoked scripts (resume_scan.py, sanitize_prompt.py, build_pptx.py) all exist with matching CLIs; the gap is that the inline code references $SKILL_DIR/prompts/*.md files that are not in the bundle, a minor copy-paste-readiness hole that keeps it from a 5.

4 / 5

Workflow Clarity

Clear stage sequence (2-6) with real validation (Stage 3 asserts page_count and aborts on bad JSON), a resume dispatch manifest, and explicit per-page failure handling; the destructive/batch cap does not apply because verification steps are present, but it lacks a final end-to-end verify-all-pages-accounted-for checkpoint before Stage 5.

4 / 5

Progressive Disclosure

Good section structure and real one-level-deep helper scripts, but the body references four $SKILL_DIR/prompts/*.md files (style_from_query, style_from_image, outline, page_prompt) that do not exist in the bundle — referenced navigation targets are missing, pulling organization below a 4.

3 / 5

Total

14

/

20

Passed

Description

58%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is concrete and implementation-specific with a clear niche, but it omits any 'Use when...' trigger guidance and leans on internal jargon over natural user phrases, capping both completeness and trigger-term quality.

Suggestions

Add an explicit 'Use when...' clause stating the natural trigger (e.g., 'Use when the user wants a creative-mode presentation/slides with one full-page generated image per slide').

Include common natural terms and synonyms a user would actually say — 'presentation', 'slides', '.pptx' — alongside the technical routing detail.

Add a one-line distinguishing trigger that separates creative-mode (generated full-page images) from the standard sn-ppt-standard flow.

DimensionReasoningScore

Specificity

Lists several concrete actions (one full-page 16:9 PNG per slide, LLM/VLM calls via model_client.py, T2I via sn_agent_runner.py, web-search fallback) with only minor coverage gaps; stops short of fully enumerating the pipeline stages, so not a 5.

4 / 5

Completeness

Has a clear 'what' (creative-mode PPT pipeline with routing and fallback) but no 'Use when...' or equivalent explicit trigger guidance — only a precondition ('Expects task_pack.json + info_pack.json already written by sn-ppt-entry'), which caps completeness at 3 per the rubric.

3 / 5

Trigger Term Quality

Includes the real natural term 'PPT' and 'slide', but leans on technical jargon ('creative-mode', 'T2I', 'sn-ppt-standard/lib/model_client.py') and misses common synonyms a user would actually say like 'presentation', 'slides', or '.pptx'.

3 / 5

Distinctiveness Conflict Risk

Names specific backends and the 'creative-mode' niche, making it largely distinct from siblings; minor overlap risk remains with the closely related sn-ppt-standard skill and the absence of an explicit distinguishing trigger keeps it from a 5.

4 / 5

Total

14

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

16

Passed

Repository
OpenSenseNova/SenseNova-Skills
Reviewed

Table of Contents

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.