複数のアプリやMCPホストからブランド画像・動画を生成、調整、書き出し、挿入する作業を支援します。ライブラリ選択や修正依頼も扱います。
- スライド用のブランド画像を作りたいとき
- 既存素材をフィードバックに合わせて直したいとき
- 動画素材を生成して書き出したいとき
チャット内にアプリ画面の操作できるプレビューを埋め込み、グラフやメール、フォームなどを会話から離れずに確認できるようにする方法を案内します。
How to render interactive previews of app screens inline in agent chat via sandboxed iframes. Covers the `embed` fence syntax, the `postNavigate` pop-out helper, and when to prefer an embed over prose / a static image.
実行スコア 未検証
インストール方法を見るエージェントとのチャットに、アプリ画面を操作できるプレビューとして表示する方法を案内します。embed のコードフェンスに表示先の src、縦横比、タイトル、高さを指定し、グラフやメール、スライド、フォームなどを会話内に埋め込めます。プレビューからアプリ本体へ移動する「Open」ボタンには、@agent-native/core/client の postNavigate を使います。埋め込み専用のルートを作り、アプリのヘッダーやサイドバーを外して既存の詳細画面を表示する手順も含まれます。
グラフのツールチップを見せたいときや、メール、チケット、イベントなどの詳細をチャットの中で確認してもらいたいときに向いています。リンクを開くための追加操作を省きたい場合にも使えます。文章や箇条書き、小さな表だけで伝わる内容には、埋め込みは必要ありません。
src には同一オリジンの / から始まるパスを指定します。外部サイトなど別オリジンのURLは表示できません。埋め込み画面を追加するには、ルートやレイアウトの設定が必要です。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
The chat renderer lets you embed a sandboxed iframe pointing at any same-origin route of this app, rendered inline with your reply. Use this when a live, interactive preview communicates more than prose or a static screenshot — a chart, an email thread, a slide, a form, a ticket.
embed fenceEmit a fenced code block with the language embed:
```embed
src: /email?id=msg_123
aspect: 4/3
title: Re: Q4 planning
```
Keys:
| Key | Required | Notes |
|---|---|---|
src | yes | Same-origin path beginning with /. Cross-origin URLs are blocked |
aspect | no | 16/9 (default), 4/3, 3/2, 2/1, 21/9, 1/1 |
title | no | Accessible label + hover tooltip |
height | no | Fixed pixel height when aspect ratio doesn't fit |
The rendered iframe is sandboxed (allow-scripts allow-same-origin allow-forms allow-popups) and referrerpolicy="same-origin". The browser enforces that
the iframe can't navigate the parent window.
Don't embed when plain prose, a bulleted list, or a small table is enough. Don't embed external sites — the renderer blocks cross-origin URLs.
postNavigateEvery embed route should include a small "Open" button so the user can pop the
view out of the chat and into the full app. Import the helper from
@agent-native/core/client:
import { postNavigate, isInAgentEmbed } from "@agent-native/core/client";
export function OpenButton({ path }: { path: string }) {
if (!isInAgentEmbed()) return null;
return (
<button onClick={() => postNavigate(path)}>Open</button>
);
}
postNavigate sends a postMessage to the parent chat window. The chat
renderer validates the message is same-origin, same-iframe, and the path is
relative, then updates the parent URL via history.pushState so react-router
navigates without a page reload.
When the page is loaded directly (not in an iframe), postNavigate falls back
to a same-window navigation, so the button works both ways.
app/routes/email.tsx) that renders the
detail view without the app shell.app/components/layout/Layout.tsx so the
sidebar / header don't render inside the iframe.<OpenButton> that calls postNavigate("/path/to/detail").AGENTS.md so the agent knows
what's embeddable.The framework-level fence renderer and security enforcement apply automatically — no per-template wiring beyond the route and layout bypass.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
複数のアプリやMCPホストからブランド画像・動画を生成、調整、書き出し、挿入する作業を支援します。ライブラリ選択や修正依頼も扱います。
特定の顧客企業について、契約と製品利用の数値を照らし合わせ、根拠や不足情報を明記した健全性レポートをまとめます。
アプリの操作をエージェントと画面の両方から呼び出せるアクションとして実装し、API連携や画面のデータ取得を一貫した形で追加するスキルです。
新機能をUI・エージェント用アクション・説明資料・画面状態の4領域でそろえ、利用者とエージェントのどちらからも一貫して使えるようにするチェックリストです。
複数のデータソースを照合して、傾向や指標、根拠をまとめた分析結果を作成します。必要に応じて、再実行できるダッシュボードとして保存できます。
Analyticsの管理画面で、機能フラグの状態確認と切り替え、ダッシュボード利用状況の調査、接続先アプリのデータベース管理を行います。