Deck Recipe Refresh
Review an existing tech-talk recipe after feed-driven content changes. Unlike deck-recipe-review, this workflow uses the current recipe as an intentional baseline and changes it only when new evidence improves the talk.
The output is always a complete deck.recipe.yml, suitable for deterministic slide regeneration.
Skip this skill
Do not run this skill when content.refresh.yml has recipeReview.required: false and every accepted recipeImpact is none or confirm. Stamp refresh.validation.recipeApproved: true, leave the recipe, and continue.
Pre-Flight
Read all four inputs:
tech-talks/<topic>/README.md - updated canonical content
tech-talks/<topic>/content.refresh.yml - approved evidence and impact plan
tech-talks/<topic>/deck.recipe.yml - current editorial decisions
.github/skills/deck-recipe-review/DECK-RECIPE-TEMPLATE.yml - output schema
Stop when:
- The README or deck is archived.
- The refresh plan is not
status: approved.
- Accepted claims are not represented in the updated README.
- Any required input is missing.
Do not read the existing slide deck. The README, refresh plan, and recipe are the authoritative inputs.
Review depth
- Compact (default when this skill runs): primary analysis, independent Rubber Duck critique, then reconciliation.
- Full: primary analysis must include at least one credible alternate structure before the Rubber Duck critique. Use only for
updateLevel: structural, recipeImpact: restructure, or slideImpact: replace-demo.
Review Question
Give the primary reviewer and Rubber Duck the same extracted context and ask:
Does the approved evidence require changing the talk's thesis, section order,
weighting, highlights, agenda, or demos? Preserve intentional decisions unless
the new material makes a change more accurate, useful, or compelling.
The context must include:
- Talk title, audience, duration, and core question
- Current README major sections and concise summaries
- Every accepted refresh item, importance, target section, and limitations
- Explicit removals and anomalies
- Current recipe fields: title, subtitle, tagline, agenda, arc, sections, emphasis, notes, and highlights
- User emphasis from the refresh plan
- Constraints from the standard recipe review skill
Mandatory Rubber Duck Gate
Before writing the recipe, complete all of these steps without asking the user to remember or invoke them:
- Produce a primary recommendation that identifies how the product model or technical thesis changed, protects practical demos and factual release status, and minimizes unnecessary churn.
- In Copilot CLI, explicitly delegate the recommendation and the complete extracted context to the built-in Rubber Duck agent. Require an independent adversarial critique of the thesis, section order, weighting, highlights, agenda, and demos.
- Do not role-play Rubber Duck in the primary model. Wait for the separate review and reconcile its objections explicitly before finalizing.
- Outside Copilot CLI, launch one review subagent using a different model family from the primary model and give it the same adversarial brief.
- If no independent cross-model reviewer is available or the delegation does not occur, stop and report that the recipe review gate is blocked. Do not silently write an unreviewed recipe.
The reconciled result must return:
decision: preserve, revise, or restructure
- A short rationale tied to accepted refresh items
- A field-by-field change list from the previous recipe
- A complete recipe using the standard template schema
- Any rejected candidate content and why it did not earn slide time
Decision Rules
preserve: Content changed, but the existing recipe remains the strongest adaptation. Update only dates or source-dependent wording outside the recipe.
revise: Keep the section order and thesis; adjust emphasis, notes, agenda, or highlights.
restructure: Change the thesis or section order because a headline update changes the operating model or centerpiece workflow.
A structural refresh does not force restructure; it forces explicit cross-model consideration.
Write and Report
- Overwrite
tech-talks/<topic>/deck.recipe.yml with the complete synthesized recipe.
- Add a concise header comment containing the refresh date, review decision, and rationale.
- Validate YAML and the standard recipe quality checks.
- Set
refresh.validation.recipeApproved: true in content.refresh.yml.
- Report the decision and material recipe changes before slide generation.
Post-Recipe Workflow
preserve: do not regenerate slides. Patch existing slides only if a visible claim is now false.
revise with slideImpact: patch: edit the existing deck; do not wipe it.
restructure or slideImpact: regenerate|replace-demo: invoke Tech Talk Slide Generator with the talk path.
After any slide change:
- Run the single-deck build.
- Run
node slides/scripts/sync-index-dates.mjs from the repository root.
- Update
content.refresh.yml validation fields.
- Apply the Workbench end-of-session update protocol when a non-obvious editorial decision should persist.
1---2name: deck-recipe-refresh3description: Use after an approved content refresh when recipeReview.required is true, or when the user asks to refresh an existing recipe. Preserves the current recipe as a baseline and requires an independent cross-model Rubber Duck critique before structural changes are finalized. Triggers: refresh recipe, changelog recipe review, approve recipe, update existing deck recipe.4---56# Deck Recipe Refresh78Review an existing tech-talk recipe after feed-driven content changes. Unlike `deck-recipe-review`, this workflow uses the current recipe as an intentional baseline and changes it only when new evidence improves the talk.910The output is always a complete `deck.recipe.yml`, suitable for deterministic slide regeneration.1112## Skip this skill1314Do not run this skill when `content.refresh.yml` has `recipeReview.required: false` and every accepted `recipeImpact` is `none` or `confirm`. Stamp `refresh.validation.recipeApproved: true`, leave the recipe, and continue.1516## Pre-Flight1718Read all four inputs:19201. `tech-talks/<topic>/README.md` - updated canonical content212. `tech-talks/<topic>/content.refresh.yml` - approved evidence and impact plan223. `tech-talks/<topic>/deck.recipe.yml` - current editorial decisions234. `.github/skills/deck-recipe-review/DECK-RECIPE-TEMPLATE.yml` - output schema2425Stop when:2627- The README or deck is archived.28- The refresh plan is not `status: approved`.29- Accepted claims are not represented in the updated README.30- Any required input is missing.3132Do not read the existing slide deck. The README, refresh plan, and recipe are the authoritative inputs.3334## Review depth3536- Compact (default when this skill runs): primary analysis, independent Rubber Duck critique, then reconciliation.37- Full: primary analysis must include at least one credible alternate structure before the Rubber Duck critique. Use only for `updateLevel: structural`, `recipeImpact: restructure`, or `slideImpact: replace-demo`.3839## Review Question4041Give the primary reviewer and Rubber Duck the same extracted context and ask:4243> Does the approved evidence require changing the talk's thesis, section order,44> weighting, highlights, agenda, or demos? Preserve intentional decisions unless45> the new material makes a change more accurate, useful, or compelling.4647The context must include:4849- Talk title, audience, duration, and core question50- Current README major sections and concise summaries51- Every accepted refresh item, importance, target section, and limitations52- Explicit removals and anomalies53- Current recipe fields: title, subtitle, tagline, agenda, arc, sections, emphasis, notes, and highlights54- User emphasis from the refresh plan55- Constraints from the standard recipe review skill5657## Mandatory Rubber Duck Gate5859Before writing the recipe, complete all of these steps without asking the user to remember or invoke them:60611. Produce a primary recommendation that identifies how the product model or technical thesis changed, protects practical demos and factual release status, and minimizes unnecessary churn.622. In Copilot CLI, explicitly delegate the recommendation and the complete extracted context to the built-in **Rubber Duck** agent. Require an independent adversarial critique of the thesis, section order, weighting, highlights, agenda, and demos.633. Do not role-play Rubber Duck in the primary model. Wait for the separate review and reconcile its objections explicitly before finalizing.644. Outside Copilot CLI, launch one review subagent using a different model family from the primary model and give it the same adversarial brief.655. If no independent cross-model reviewer is available or the delegation does not occur, stop and report that the recipe review gate is blocked. Do not silently write an unreviewed recipe.6667The reconciled result must return:68691. `decision`: `preserve`, `revise`, or `restructure`702. A short rationale tied to accepted refresh items713. A field-by-field change list from the previous recipe724. A complete recipe using the standard template schema735. Any rejected candidate content and why it did not earn slide time7475## Decision Rules7677- `preserve`: Content changed, but the existing recipe remains the strongest adaptation. Update only dates or source-dependent wording outside the recipe.78- `revise`: Keep the section order and thesis; adjust emphasis, notes, agenda, or highlights.79- `restructure`: Change the thesis or section order because a headline update changes the operating model or centerpiece workflow.8081A `structural` refresh does not force `restructure`; it forces explicit cross-model consideration.8283## Write and Report84851. Overwrite `tech-talks/<topic>/deck.recipe.yml` with the complete synthesized recipe.862. Add a concise header comment containing the refresh date, review decision, and rationale.873. Validate YAML and the standard recipe quality checks.884. Set `refresh.validation.recipeApproved: true` in `content.refresh.yml`.895. Report the decision and material recipe changes before slide generation.9091## Post-Recipe Workflow9293- `preserve`: do not regenerate slides. Patch existing slides only if a visible claim is now false.94- `revise` with `slideImpact: patch`: edit the existing deck; do not wipe it.95- `restructure` or `slideImpact: regenerate|replace-demo`: invoke Tech Talk Slide Generator with the talk path.9697After any slide change:98991. Run the single-deck build.1002. Run `node slides/scripts/sync-index-dates.mjs` from the repository root.1013. Update `content.refresh.yml` validation fields.1024. Apply the Workbench end-of-session update protocol when a non-obvious editorial decision should persist.