Six-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, and publish talk pages to a Jekyll shownotes site. Includes a 111-entry Presentation Patterns taxonomy (81 observable: 62 patterns + 19 antipatterns; 30 unobservable: 21 patterns + 9 antipatterns) for scoring, brainstorming, and go-live preparation.
—
—
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
This is the complete normative Step 2 contract for vault-ingress. Execute
normalization before claiming, and preserve every generation, freshness, replay,
and recovery rule below.
Fresh queue work uses claim schema v5. Before changing any talk status,
queue-state.py claim snapshots one immutable adherence_baseline for the
entire selected batch, stamps required_return_schema_version: 5, and copies
that exact snapshot into every member claim. The snapshot uses the current
catalog fingerprint and pattern-scoring schema, includes only current
processed/processed_partial talks, and excludes every active-batch filename
before inspecting its prior score. Its as_of equals the claim's canonical
claimed_at; do not edit or recompute it after the claim is written.
"{python_path}" "{speaker_toolkit_root}/skills/vault-ingress/scripts/queue-state.py" {vault_root}/tracking-database.json normalize once. This one copy-on-write
command migrates legacy
skipped_no_video/skipped_no_transcript states from the talk's usable source
capabilities. The shared root-aware assessor must actually read and validate a
local transcript/deck/PDF before it counts; a non-empty or missing path is not a
capability. Declared remote video/slide acquisition remains eligible for a
claim-time download. A transcript_source provenance label alone
is not capability. Only a record with no verified local source or remote
acquisition path becomes skipped_no_sources. The same command uses the shared
exact-generation selector to requeue valid processed/processed_partial
results that cannot enter the active pattern cohort. For scoring v5, exact
generation identity is necessary but insufficient: the shared freshness assessor
also re-hashes every persisted source-located artifact against the database's
vault and configured source roots. Missing, replaced, or otherwise drifted
evidence is excluded and requeued. Transcript freshness also revalidates the
hash-bound quality policy against current owner/provider duration; source-
identity drift cannot leave a previously accepted partial transcript in the
cohort. Its normalizations report carries ordered
reason codes, deterministic freshness details where applicable, and the stored
reprocess_reason for each changed row. Malformed current-generation identity or
score lanes reject the complete command without writing; inflight, pending,
already-queued, and skipped records are not generation-normalized. A repeated
successful normalization with no new drift leaves the DB bytes unchanged.
Completed claims remain immutable evidence on the requeued talk and move to
history normally when a later claim is created.queue-state.py ... claim --run-id <stable-run> --batch-id <stable-batch> --now <timezone-aware-ISO>. The command selects
pending, needs-reprocessing, and retryable download failures, writes an
atomic lease, increments reprocess_generation, and returns the claimed talk
list. Every fresh claim is schema v5 and requires return schema v5. Never
change a record to reprocessing-inflight by hand.transcript_path through the guarded source-repair workflow. A worker-returned
path cannot grant citation authority to that same return.queue-state.py ... recover; recovery keeps
the saved snapshot in claim history. A later claim creates a new generation and
takes a fresh pre-mutation snapshot rather than editing or reusing the old
generation's baseline.slide_source per the PPTX → PDF → video extraction → none hierarchy in SKILL.md. Mark "skipped_no_sources" only if
preflight confirms that transcript, slide, and video sources are all unavailable.$ARGUMENTS specifies a talk filename or title, process ONLY that one..tessl-plugin
rules
skills
illustrations
presentation-creator
references
patterns
build
deliver
prepare
scripts
shownotes-publisher
vault-clarification
vault-ingress
references
scripts
vault-profile