Communityライティング&編集github.com

n3wth/skills

このスキルは、公開スラッグで識別されるインタラクティブなMarkdownキャンバスを管理するためのHTTP Agent APIを提供します。

skills とは?

このスキルは、エージェントがMarkdownコンテンツを簡単に作成、更新、取得、およびリストできる、シンプルながら強力なキャンバスHTTP APIを公開します。各キャンバスは公開URL(`https://canvas.n3wth.com/c/{slug}`)を持ち、ソースが書き込まれると開いているタブが自動的に更新されるため、人間とエージェント間のリアルタイムコラボレーションに最適です。Convexバックエンド上に構築されており、認証にはBearerトークンを使用し、`CANVAS_AGENT_TOKEN`環境変数で設定します。スキルには認証エンドポイントと公開エンドポイントの両方が含まれており、開発中は柔軟に設定でき、本番環境では安全に運用できます。主な機能は、作成(POST)、ソースの書き込み(PUT)、読み取り(GET)、およびメタデータのリスト表示(GET)です。Markdownソースの最大サイズは512 KiBで、高度な描画機能やサードパーティ製キャンバス製品との統合機能はありません。

対応✓Claude Code~Codex CLI~Cursor
npx skills add n3wth/skills

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Canvas

canvas.n3wth.com は、公開スラッグで識別されるインタラクティブなMarkdownとレンダリングプレビューを保持します。共有URLを開いているビューは、ソースが書き込まれると更新されます。

このスキルは、認証済みHTTPエージェントAPIと通信します。ブラウザは不要です。このファイルにはシークレットは含まれていません。呼び出し元が自身の環境から CANVAS_AGENT_TOKEN とConvexサイトのベースURLを提供します。

使用するタイミング

  • 別の人間やエージェントが開くことができる共同作業面を立ち上げる
  • Markdownをプッシュして安定したリンクを手渡す
  • 既存のキャンバスをその場で更新し、開いているタブを再レンダリングする
  • 編集前に現在のソースを読み込む

呼び出し元が持つ必要のある環境変数

変数意味
CANVAS_SITE_URLConvex HTTPベースURL、例: https://.convex.site(末尾スラッシュなし)
CANVAS_AGENT_TOKEN共有Bearerトークン(デプロイメントで設定されている場合)

公開共有リンクは常に https://canvas.n3wth.com/c/{slug} を使用します(Convexサイトホストではありません)。

認証: Convexデプロイメントで CANVAS_AGENT_TOKEN が設定されている場合、以下のすべてのエージェントルートで Authorization: Bearer $CANVAS_AGENT_TOKEN が必要です。トークンが設定されていない場合(ローカル/開発環境)、同じルートはヘッダーなしで動作します。本番環境ではトークンを設定してください。

API

すべての変更/読み取りエージェントルートでの認証:

Authorization: Bearer $CANVAS_AGENT_TOKEN
Content-Type: application/json

ディスカバリー(認証不要):

curl -sS "$CANVAS_SITE_URL/agent/v1"

1. 作成

curl -sS -X POST "$CANVAS_SITE_URL/agent/v1/canvases" \
  -H "Authorization: Bearer $CANVAS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My canvas",
    "source": "# Hello\n\nThis is **markdown**."
  }'

レスポンスには slug、url、version が含まれます。url をユーザーに返してください — それが https://canvas.n3wth.com/c/{slug} で開くキャンバスです。

2. ソースの書き込み

curl -sS -X PUT "$CANVAS_SITE_URL/agent/v1/canvases/$SLUG/source" \
  -H "Authorization: Bearer $CANVAS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"source":"# Updated\n\nNew content here."}'

https://canvas.n3wth.com/c/$SLUG で開いているタブは、リロードなしで再レンダリングされます。

3. 現在のソースの読み取り

curl -sS "$CANVAS_SITE_URL/agent/v1/canvases/$SLUG" \
  -H "Authorization: Bearer $CANVAS_AGENT_TOKEN"

4. リスト表示

curl -sS "$CANVAS_SITE_URL/agent/v1/canvases" \
  -H "Authorization: Bearer $CANVAS_AGENT_TOKEN"

メタデータのみを返します(ソース本文は含まれません)。

エージェントワークフロー

  1. CANVAS_SITE_URL と CANVAS_AGENT_TOKEN が環境変数に設定されていることを確認します(絶対にコミットしないでください)。
  2. オプションの title/source を指定して POST /agent/v1/canvases を実行します。
  3. 人間または別のエージェントにレスポンスの url(https://canvas.n3wth.com/c/{slug})を伝えます。
  4. 改良に応じて PUT .../source で反復処理します。
  5. 編集前に現在のソースが必要な場合は GET .../canvases/{slug} を実行します。

エラー

ステータス意味
401Bearerトークンがない、または間違っている(デプロイメントで CANVAS_AGENT_TOKEN が設定されている場合のみ)
404不明なスラッグ
400バリデーションエラー(ソースサイズ、JSON)

ソースのハードリミット: 512 KiB文字。

範囲外

描画ホワイトボードやサードパーティ製キャンバス製品はありません。このAPIは作成/ソース書き込み/読み取り/リストのみです。

ポータブルインストール

このフォルダを skills.n3wth.com または任意のエージェントスキルルートに canvas/SKILL.md としてコピーします。AGENTS.md からエージェントにそれを指定します。連絡先: [email protected]。GitHub: https://github.com/n3wth。

関連スキル