twig-review-presenter

Render Twig change-proposal previews as Discord review messages preserving exact effects and digests.

Updated Mar 17, 2026
One-click install
npx skills add https://github.com/PolyphonyRequiem/twig --skill twig-review-presenter-polyphonyrequiem
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: twig-review-presenter
Source: https://github.com/PolyphonyRequiem/twig/tree/main/.github/skills/twig-review-presenter
Command: npx skills add https://github.com/PolyphonyRequiem/twig --skill twig-review-presenter-polyphonyrequiem

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Presenting Azure DevOps work-item change proposals in chat hosts like Discord risks losing exact values, operation order, blockers, or proposal identity, which can lead to uninformed or forged approvals. This Skill defines strict presentation rules so a review shows every operation, precondition, consequence, and authorization choice without mutating anything. ## Core Features & Use Cases - Faithful review rendering: Validates the twig.change-proposal.review model (version 1), refuses unknown versions, mismatched digests, or incomplete operations, and preserves exact old/new values with baseline provenance. - Discord-safe output: Produces phone-friendly Markdown message payloads with mention suppression, embed flags, UTF-16-aware message splitting, and escaping of untrusted field text. - Offline reference script: scripts/render_discord_review.py converts saved preview JSON into ordered Discord message payloads without network access, credentials, or approval handling. - Use Case: An agent runs twig proposal preview --output json, then uses this Skill to post a complete, digest-identified review to Discord so a human can approve or decline through the documented Twig lifecycle. ## Quick Start Run the Twig proposal preview for my workspace, save the JSON, and use this skill to render it into Discord review messages I can send.

Frequently Asked Questions about twig-review-presenter

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I present a Twig proposal review in Discord?

Run twig proposal preview --file <path> --output json in the target workspace, then feed the saved JSON to scripts/render_discord_review.py. It emits ordered Discord message payloads with mentions disabled and embeds suppressed; your host must send them and verify delivery.

What is the twig.change-proposal.review model?

It is the structured JSON review model produced by Twig proposal previews, identified by a 64-hex digest and modelVersion. This presenter supports version 1 only; unknown versions, digest mismatches, or missing operations cause refusal rather than partial rendering.

Does the render script send messages or apply changes?

No. The script is an offline, dependency-free reference adapter with no network, credentials, approval, or mutation logic. It only converts preview JSON into message payloads; sending, authorization, and applying remain the host's and Twig's responsibilities.

Can the review approve or apply a proposal directly from Discord?

No. The presenter displays only the authorization choices supplied by Twig and never infers approval from reactions, timeouts, or message opens. Applying must go through the documented Twig lifecycle with the exact workspace and proposal digest.

Why does rendering fail with a baseline or revision error?

Rendering refuses data whose before-observation revision does not match the operation's expected revision, since a stale cache observation is not the operation's true baseline. Refresh the preview through Twig to obtain a consistent review model.

What are the limitations of the Discord renderer?

It is not a bot, transport plugin, or approval handler, and it only understands review model version 1. Long reviews are split at safe boundaries with per-message digest identification, but the host must handle delivery, ordering, and decision correlation.