CtrlK
BlogDocsLog inGet started
Tessl Logo

gamussa/presenterm

Create terminal-based presentation slides using presenterm's markdown format with themes, diagrams, code highlighting, and more

92

2.15x
Quality

90%

Does it follow best practices?

Impact

97%

2.15x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-1/

{
  "context": "Tests whether the agent follows presenterm-specific structural conventions: using the correct slide separator, setext headers for titles, proper frontmatter, and correct comment syntax for speaker notes and other commands.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Correct slide separator",
      "description": "Uses <!-- end_slide --> as the slide separator throughout — does NOT use --- as a slide separator",
      "max_score": 15
    },
    {
      "name": "Setext slide titles",
      "description": "Slide titles are written as setext headers (Title\\n===) rather than ATX headers (# Title) — at least 5 slides use this form",
      "max_score": 15
    },
    {
      "name": "Frontmatter completeness",
      "description": "Frontmatter includes all three of: title, author, and theme fields",
      "max_score": 10
    },
    {
      "name": "Safe default theme",
      "description": "Theme is set to one of the safe defaults: catppuccin-mocha or dark",
      "max_score": 8
    },
    {
      "name": "Speaker note syntax safety",
      "description": "Speaker notes (<!-- speaker_note: ... -->) do NOT contain colons (:) or em dashes (—) inside the note text",
      "max_score": 12
    },
    {
      "name": "Section break pattern",
      "description": "At least one slide uses <!-- jump_to_middle --> combined with a setext title as a section break/divider slide",
      "max_score": 10
    },
    {
      "name": "Progressive reveal usage",
      "description": "Uses either <!-- pause --> between content blocks or <!-- incremental_lists: true --> before a bullet list on at least two slides",
      "max_score": 10
    },
    {
      "name": "Diagram with render attribute",
      "description": "Architecture diagram uses +render attribute on a fenced code block (e.g. mermaid +render or d2 +render)",
      "max_score": 8
    },
    {
      "name": "Dark theme diagram",
      "description": "Mermaid diagrams include %%{init: {'theme': 'dark'}}%% OR D2 diagram uses dark fill/font-color values to match the dark slide theme",
      "max_score": 7
    },
    {
      "name": "Dynamic code highlighting",
      "description": "Code block(s) showing Kafka producer/consumer code use dynamic highlighting syntax (e.g. {1-3|5-8|all})",
      "max_score": 5
    }
  ]
}

evals

scenario-1

criteria.json

task.md

tile.json