본문으로 건너뛰기
cccskills
무료GitHub에 공개

master-playbook

Choose text, native components, or a custom interactive answer for understanding, comparing, and making tools.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Open Generative UI response playbook

Answer the task directly. Use text for a short answer, writing, or code; A2UI Table for basic tabular answers; generateSandboxedUi for charts, diagrams and custom interaction. Follow Jev’s renderer and visualization decision. Native rendering is not evidence of live data.

  • Understand: show relationships or mechanisms, with a meaningful variable or stepper.
  • Compare: make criteria and assumptions visible; use a table for simple cases, editable weights or filters only when they help a decision.
  • Make a tool: deliver working controls, validated calculations, outputs, and reset.

There is no mandatory acknowledgement/plan/build/narrate sequence. plan_visualization is optional. Multiple distinct sections are welcome when needed; avoid duplicate builds after a successful "UI generated" result. Add prose only when it helps. A refinement uses the current request and explicit selections; no cross-call patch or expression-append API is provided.

Data and assumptions

Label user data, retrieved sources, calculated results, and illustrative values. The query_data tool returns all rows of bundled sample db.csv, without filtering. It is not a live database and is unnecessary for unrelated charts. Never invent current weather, prices, or business data. Ask for essential missing inputs or provide clearly labeled sample assumptions. Show units and calculation assumptions inside the UI. Do not create credential forms or claim external actions succeeded.

Tool contract

For generateSandboxedUi, emit these parameters in this EXACT order:

  1. initialHeight — estimated finished height.
  2. placeholderMessages — 2-4 short progress messages.
  3. css — all styles. The placeholder remains until css is complete; keep the css parameter lean.
  4. html — readable body markup, no style blocks or monolithic scripts.
  5. jsFunctions — named behavior functions.
  6. jsExpressions — small synchronous invocations.

The sandbox has no same-origin access: no localStorage, sessionStorage, cookies, IndexedDB, or same-origin fetch. No parent DOM access. Theme variables, form styles, and SVG color classes are pre-injected. An importmap supports three, gsap, d3, and chart.js. jsFunctions and jsExpressions are classic scripts: top-level await is invalid. Dynamic imports belong inside an async function; catch failures. The advanced skill covers libraries and responsive rendering.

Functional and accessible answers

Use semantic headings, labels connected to inputs, keyboard-operable buttons, visible focus, and readable text. Let layouts wrap at phone widths; use responsive SVG viewBox or canvas containers. Keep content readable during streaming before JavaScript arrives. Respect reduced motion and provide pause/reset for animation.

Validate number inputs with valueAsNumber, Number.isFinite, and domain bounds. Reject blanks and zero divisors; never display NaN/Infinity or a stale result as a valid answer. Format units and precision. Reset controls and results consistently. Sorting should preserve the current filter. Every enabled control must do real work. Use textContent for untrusted data, not HTML string interpolation.

Follow-up bridge

Local controls run in JavaScript. User-clicked follow-ups can ask the agent for reasoning through Websandbox.connection.remote.sendPrompt. Include current values in the request; label the button as an action that sends a message. Never send on load, timers, or ordinary input changes. Do not send secrets.

html parameter:

<button id="explain" type="button" onclick="askAboutSelection(this)">
  Ask about this scenario
</button>
<p id="followup-status" role="status"></p>

jsFunctions parameter (replace scenario text with the validated current selection):

async function askAboutSelection(button) {
  const status = document.getElementById("followup-status");
  button.disabled = true;
  status.textContent = "Sending question…";
  try {
    await Websandbox.connection.remote.sendPrompt({
      text: "Explain the assumptions behind the scenario shown above.",
    });
    status.textContent = "Question sent.";
  } catch (error) {
    status.textContent =
      "Could not send. Please try again or type your question in chat.";
  } finally {
    button.disabled = false;
  }
}

External links use Websandbox.connection.remote.openLink({ url }) with HTTPS. Do not use the standalone MCP renderer's global postMessage helpers in this host.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Build responsive, accessible calculators, comparisons, charts, and simulations with the sandbox contract.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

CopilotKit/OpenIntelligentUI3.5천2026년 10월 14일 업데이트

Generating rich inline SVG diagrams to visually explain systems, processes, architectures, and abstract concepts.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

CopilotKit/OpenIntelligentUI3.5천2026년 10월 14일 업데이트

CopilotKit의 스킬 모두 보기

이 스킬의 문제 신고