Seven-skill presentation system: ingest talks into a rhetoric vault, run interactive clarification, generate a speaker profile, create presentations that match your documented patterns, produce the deck illustrations + thumbnail visual layer, create and publish talk-content Agent Skills with talk pages to a Jekyll shownotes site, and verify a recorded screencast against its storyboard. Includes a 113-entry Presentation Patterns taxonomy (83 observable: 64 patterns + 19 antipatterns; 30 unobservable: 21 patterns + 9 antipatterns) for scoring, brainstorming, and go-live preparation.
75
94%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Run python3 skills/presentation-creator/scripts/guardrail-check.py <outline.yaml> <speaker-profile.json>
to compute guardrail checks. The script handles the
three-outcome PASS/WARN/FAIL logic:
[FAIL] — value exceeds the limit[WARN] — value is under the limit but within 5 percentage points of it[PASS] — value is under the limit by more than 5 percentage pointsThe script checks pattern-history authorization, slide budget, Act 1 ratio, closing
completeness, cut lines, data attribution, profanity, and branding. Its
recurring_antipatterns array is the complete catalog recurrence output. Render those
records without re-filtering them or adding movement data.
Add the remaining checks (time-sensitive, current-outline contextual antipatterns,
illustration coverage, pattern strategy, AI writing patterns) to the report
manually.
The AI-writing-pattern scan is delegated to blog-writer, never reimplemented
here, and it reports findings without applying them. Its execution contract —
invocation, voice suppression, classification, and the absent-scanner path — is
in skills/presentation-creator/references/phase4-guardrails.md.
A disabled pattern-history result affects only catalog-derived speaker history. Keep independent profile configuration and guardrails enabled. When history is partially available, require the exact domain for each derived field:
mastery_and_novelty for tiers, strengths, and novelty.underuse for underuse.signature_combinations for combinations.antipattern_recurrence domain only through the script's
recurring_antipatterns output.trends for movements and score/breadth trend.modes for by-mode history.Schema-v4/v5 top-level guardrail_sources.recurring_issues[] and badges[] are usable
only when each consumed entry explicitly declares source_lane: "non_pattern".
Suppress legacy or ambiguous entries. Catalog-derived warnings and reinforcement come
only from authorized pattern_profile history.
Every antipattern flag MUST be tagged as one of:
[RECURRING]. Render one guardrail-check.py recurring_antipatterns record.
recurrence_classification, evidence, and optional trend fields.[CONTEXTUAL] — detected in the current outline but NOT in the speaker's
authorized historical profile. It is a current-outline finding, not necessarily a
first-time issue when history is unavailable.Never use generic unlabeled antipattern warnings.
When pattern_history_status.py reports the mastery_and_novelty domain, organize
recommendations into exactly four tiers:
mastery_levels.signature patterns.mastery_levels.never_tried /
never_used_patterns entries that fit this talk.
not_yet_observed as
New-to-You.When the mastery domain is unavailable, do not manufacture those tiers from legacy profiles or unprovenanced prose. Present a flat relevant-pattern list from the current taxonomy without usage or novelty claims. A catalog fingerprint or scoring-schema change is a generation reset, never evidence of improvement or regression.
history_enabled: true means at least one policy-bound domain is available, not that
all classification fields are authorized. opportunity_rows_available: true is an
audit signal, not history authorization. Raw occurrence rows do not establish novelty,
mastery, recurrence, or trend. Profile schema v4 and Section 15 v2 are occurrence-only;
profile schema v5 and Section 15 v3 bind classifications to the versioned policy.
A catalog/scoring identity change is a generation reset. Within one generation, a
changed policy_semantic_sha256 is a classification-comparison reset. Neither reset is
ever evidence of speaker improvement or regression.
.tessl-plugin
rules
skills
illustrations
presentation-creator
references
patterns
build
deliver
prepare
scripts
screencast-recorder
shownotes-publisher
vault-clarification
vault-ingress
references
scripts
vault-profile