CtrlK
BlogDocsLog inGet started
Tessl Logo

jbaruch/speaker-toolkit

Two-skill presentation system: analyze your speaking style into a rhetoric knowledge vault, then create new presentations that match your documented patterns. Includes an 88-entry Presentation Patterns taxonomy for scoring, brainstorming, and go-live preparation.

Overall
score

95%

Does it follow best practices?

Validation for skill structure

Overview
Skills
Evals
Files

CHANGELOG.md

Changelog

0.5.1

Robustness & conciseness — Addressed gaps found during tile review and tightened both skills for the review gate.

Robustness fixes

  • Made vault→creator pattern index path explicit with tile-root-relative path
  • Added pattern taxonomy migration: Step 1 detects pre-v0.5.0 talks missing pattern_observations and marks them needs-reprocessing
  • Added clarification_sessions_completed counter to tracking DB config
  • Added LibreOffice CLI as cross-platform PDF export alternative
  • Clarified Step 3B firing conditions

Conciseness improvements

  • Vault SKILL.md: 285 → 207 lines. Consolidated reference file list into Key Files table, collapsed config bootstrapping, tightened PPTX/PDF handling, moved Step 5B questions to schemas.md, compressed profile mapping and badges
  • Creator SKILL.md: 263 → 230 lines. Merged vault loading steps, condensed Phase 2 decisions table, removed summary-only mode table (now inline)
  • Review threshold lowered to 85 (vault conciseness 2/3 has no actionable feedback per the optimizer)

0.5.0

Presentation Patterns integration — Integrated the pattern taxonomy from Presentation Patterns (Ford, McCullough, Schutta 2013) as a structured reference, vault scoring system, and brainstorming vocabulary across both skills. Patterns are classified as observable (scored by the vault) or unobservable (surfaced as a go-live checklist before delivery).

Pattern taxonomy (88 new files)

  • 88 reference files (63 patterns + 25 antipatterns) organized by lifecycle phase (prepare/build/deliver) with YAML frontmatter: id, name, type, part, phase_relevance, vault_dimensions, detection_signals, related_patterns, inverse_of, difficulty, and observable (true by default, false for 11 entries)
  • Master index (references/patterns/_index.md): flat catalog table, phase-grouped lookup, vault dimension reverse mapping, and unobservable patterns go-live checklist
  • Each file includes: summary, detailed description, when to use/avoid, detection heuristics, 3-tier scoring criteria, vault dimension mapping, and combinatorics

Observable vs unobservable split

  • 77 observable patterns are detectable from transcripts + slides and scored during vault analysis
  • 11 unobservable patterns (8 patterns + 3 antipatterns) involve pre-event logistics, physical stage behaviors, or external systems that leave no trace in recordings:
    • Pre-event: Preparation, Carnegie Hall, Stakeout, Posse, Seeding Satisfaction, Shoeless
    • During delivery: Lightsaber, Red/Yellow/Green
    • Antipatterns to avoid: Laser Weapons, Bunker, Backchannel
  • Unobservable patterns are marked observable: false in their frontmatter, excluded from vault scoring and pattern_profile, and surfaced as a go-live preparation checklist in creator Phase 6

Vault scoring (4 modified files)

  • Subagents now tag talks against the observable pattern taxonomy during analysis (Step 3 B2), skipping patterns marked observable: false
  • pattern_observations field added to both subagent return schema and tracking database talk entries (schemas.md)
  • Per-talk analysis files now include a "Presentation Patterns Scoring" section
  • Step 6 generates an aggregate pattern_profile in the speaker profile with mastery levels, usage trends, signature combinations, antipattern frequency, and never-used patterns (observable only)
  • Pattern-based badges generated from profile data (e.g., "Narrative Arc Master", "Shortchanged Survivor", "Pattern Polyglot")
  • pattern_profile section added to speaker-profile-schema.md with documentation that only observable patterns are included
  • All 14 rhetoric dimensions in rhetoric-dimensions.md cross-referenced with their related patterns and antipatterns

Creator integration (3 modified files)

  • Phase 0: Loads references/patterns/_index.md alongside vault documents
  • Phase 2 (Architecture): Decision #10 "Pattern Strategy" — 4-tier recommendation system using pattern_profile:
    • Signature (80%+ usage) — always shown
    • Contextual — matching spec context, occasional speaker usage
    • New to You — from never-used patterns, filtered by relevance
    • Shake It Up — random picks, provocations not prescriptions
    • Plus antipattern warnings merging speaker history + contextual detection
  • Phase 4 (Guardrails): Section 9B adds taxonomy-based antipattern scanning with [RECURRING] flags from pattern_profile.antipattern_frequency and [CONTEXTUAL] flags from outline analysis
  • Phase 6 (Publishing): Step 6.5 go-live preparation checklist surfaces all 11 unobservable patterns as delivery-day reminders
  • Summary-only mode (no profile) still works — patterns from reference files only, flat list, go-live checklist still applies

Documentation

  • README.md — rewritten with Presentation Patterns section, observable/unobservable table, updated file tree, updated vault/creator descriptions
  • tile.json — bumped to v0.5.0, added "patterns" keyword
  • CHANGELOG.md — this entry

0.4.7

Review & consistency fixes — Addressed consistency gaps found during tile review.

  • Vault Step 4 now writes per-talk analysis files to analyses/ (fixes broken adaptation workflow in creator)
  • Added badges schema to speaker-profile-schema.md
  • Broke single publishing_process question into targeted sub-questions matching the schema
  • Clarified summary section numbering vs rhetoric dimension numbering in vault SKILL.md
  • Labeled slide budget table in creator as defaults when profile is unavailable
  • Added cfp, abstract, pptx keywords to tile.json
  • Fixed tessl.json project name from scaffold placeholder
  • Added python-pptx internal API risk note to slide-generation.md
  • Backfilled CHANGELOG for versions 0.3.1-0.4.5

0.4.1 - 0.4.5

CI/publish pipeline tuning — Iterative adjustments to the GitHub Actions publish workflow: switched to the publish action's built-in skill review gate, tested optimize input, and settled on the default review threshold (50%).

0.4.0

Evaluation scenarios — Added 10 eval scenarios covering both skills (vault analysis and presentation creation), plus Tessl eval infrastructure.

  • 10 scenario tasks with criteria covering rhetoric analysis, profile generation, presentation creation, adaptation, CFP writing, and guardrail enforcement
  • Tessl eval tile dependency added

0.3.0

Speaker badges & profile Step 6 enhancement — Profile regeneration now generates personalized speaker badges as a fun summary of portfolio-wide achievements, mined from real vault data (meme counts, employer transitions, recurring patterns, signature quirks).

  • Step 6.7 added: generate speaker badges after profile regeneration
  • Badges must be genuinely personalized to the speaker's quirks, not generic
  • Grounded in aggregated data from all processed talks

0.2.0

PPTX as primary slide source — The vault skill no longer requires Google Drive slide PDFs for every talk. Talks with .pptx files can now be processed directly, providing richer data (exact hex colors, font names, layout names) than PDF visual inspection.

  • A talk is processable with video_url + at least one of slides_url or pptx_path
  • New slide_source field on each talk: "pdf", "pptx", or "both"
  • When PPTX is available, extraction runs inline during rhetoric analysis (Step 3), merging what was previously a separate Step 3B pass
  • Step 3B now only processes PPTX files not already handled as primary sources
  • Schema updated: slides_url and pptx_path are both optional (at least one required)

0.1.0

Initial release with two skills:

  • rhetoric-knowledge-vault — parse recorded talks to extract rhetoric patterns
  • presentation-creator — create new presentations matching your documented style

Install with Tessl CLI

npx tessl i jbaruch/speaker-toolkit

CHANGELOG.md

README.md

tile.json