{"version":"2.1.218","anchor":"workshop-skill-secure-decision-reading-rebuilt","canonical_anchor":"workshop-skill-secure-decision-reading-rebuilt","heading":"Workshop Skill: Secure Decision Reading (Rebuilt)","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.218\/e\/workshop-skill-secure-decision-reading-rebuilt","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.218","markdown":"### Workshop Skill: Secure Decision Reading (Rebuilt)\n\n**What**\n\nThe built-in `workshop` skill was completely rewritten. The primary change is how decisions are read back from a published page: instead of fetching raw artifact HTML via WebFetch, the new skill exclusively uses the Artifact tool's `read_page_data` action with `schema: \"workshop-decisions\"`. This prevents co-writer-editable HTML content from entering the conversation as instructions.\n\n**Details**\n\n- Decision items now support **typed answers** (free-text) in addition to token-pick options. The grammar uses a `custom:` fence field alongside the existing `resolved:` field\n- A `ws-decisions` JSON island is the single canonical source for decision state; page markup is display-only\n- The publish conflict loop now re-reads decisions first (via `read_page_data`) before republishing, since the conflicting version itself may carry a new confirmed decision\n- If `read_page_data` is unavailable in a session, the skill now explicitly stops rather than falling back to WebFetch\n- Each applied decision is echoed in chat: `Applied: cache-store \u2192 redis` for token picks; typed answers are quoted as data\n\n**Evidence**\n\nOld workshop skill removed; new skill uses (search for `\"action: \\\"read_page_data\\\"\"` and `\"schema: \\\"workshop-decisions\\\"\"`)"}