CtrlK
BlogDocsLog inGet started
Tessl Logo

jbaruch/speaker-toolkit

Four-skill presentation system: ingest talks into a rhetoric vault, run interactive clarification, generate a speaker profile, then create new presentations that match your documented patterns. Includes an 88-entry Presentation Patterns taxonomy for scoring, brainstorming, and go-live preparation.

96

1.21x
Quality

93%

Does it follow best practices?

Impact

97%

1.21x

Average score across 30 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-22/

{
  "context": "Tests whether the agent uses extract-resources.py for initial resource extraction from an outline, produces correctly structured JSON output, filters out code-block and image-prompt URLs, deduplicates, and categorizes resources by type.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Extraction script used",
      "description": "The workflow-log.md references extract-resources.py as the tool used for extraction. The agent did not manually scan the outline and compile the list by hand",
      "max_score": 15
    },
    {
      "name": "Valid JSON output",
      "description": "resources.json is valid JSON with top-level keys 'talk_slug', 'extracted_at', and 'resources' (an array)",
      "max_score": 10
    },
    {
      "name": "Talk slug from spec",
      "description": "The talk_slug field in resources.json is '2026-04-16-devnexus-robocoders-judgment-day', matching the Presentation Spec. Not invented or abbreviated",
      "max_score": 10
    },
    {
      "name": "Code block URL excluded",
      "description": "The URL 'https://example.com/api/v1/not-a-resource' (inside a python code block) does NOT appear in resources.json",
      "max_score": 10
    },
    {
      "name": "Image prompt URL excluded",
      "description": "The URL 'https://not-a-resource.example.com/should/be/ignored' (inside an Image prompt field) does NOT appear in resources.json",
      "max_score": 10
    },
    {
      "name": "Duplicate URL deduplicated",
      "description": "The URL 'https://dora.dev' appears at most once in the resources array despite appearing twice in the outline (slides 12 and mentioned again)",
      "max_score": 10
    },
    {
      "name": "Multiple resource types present",
      "description": "The resources array contains entries with at least 3 different 'type' values from: url, repo, book, rfc, tool",
      "max_score": 10
    },
    {
      "name": "Book references extracted",
      "description": "At least one resource with type 'book' exists, referencing either 'Accelerate' or 'The Pragmatic Programmer' from the outline",
      "max_score": 5
    },
    {
      "name": "RFC references extracted",
      "description": "At least one resource with type 'rfc' exists, referencing RFC 9421, RFC 7519, or RFC 2119 from the outline",
      "max_score": 5
    },
    {
      "name": "Each resource has slide context",
      "description": "Resources in the array include a 'slide_nums' field (array of integers) or a 'context' field indicating which slide(s) they came from",
      "max_score": 5
    },
    {
      "name": "Script command includes --spec argument",
      "description": "The workflow-log.md shows the extraction command included a --spec argument pointing to presentation-spec.md (to obtain the talk slug)",
      "max_score": 10
    }
  ]
}

evals

README.md

tile.json