Communitygithub.com

astriaai/skills - ワークスペースランディングページエディター

ワークスペースのランディングページHTML(/w/:slugページ)を編集・更新・反復する際に使用します。現在のHTMLを取得し、対象を絞った変更を加え、書き戻すことで段階的な編集をサポートします。初期生成には使用しません。初期生成は、サーバーサイドのLANDING_PAGE_PROMPTをGeminiに対して実行する`brief`フィールドで行います。

skills - ワークスペースランディングページエディター とは?

このスキルは、ワークスペースのランディングページ(`/w/:slug` に表示される雑誌スタイルのページ)の段階的な編集を行うためのものです。サーバーサイドの `LANDING_PAGE_PROMPT` による全再生成とは異なり、現在のHTMLを直接取得・編集・書き戻すことで、タイポグラフィの調整やレイアウト変更、セクション追加、画像差し替えなど、外科的な変更を可能にします。`astria` CLIを使用し、`-w <workspace_id>` で対象ワークスペースを指定します。編集時には、Tailwindユーティリティクラスの使用、画像・動画URLの既存資産維持、`__TUNES_JSON_PAYLOAD__` プレースホルダの保持など、いくつかの制約事項を守る必要があります。全再生成が必要な場合のみ `brief` を送信します。このスキルは、astriaai/astria-api スキルと連携して動作します。

対応~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/astriaai/skills/tree/HEAD/landing-page-editor

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

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

プレビュー

スキル README より

ドキュメント

ワークスペースランディングページエディター

ワークスペースのランディングページ(/w/:slug にレンダリングされる)は、workspace.landing_page_html に保存された単一の自己完結型HTMLブロブです。brief が送信されるたびに、サーバーサイドの LANDING_PAGE_PROMPT によってゼロから生成され、そのパスではHTML全体が上書きされます。

ページ全体を再生成すべきではない変更(タイポグラフィの微調整、レイアウト編集、セクションの追加、コピーの変更、画像の差し替え、タグラインの修正など)を行う場合は、HTMLを直接編集して書き戻してください。ユーザーが完全な再生成を希望する場合を除き、brief を送信しないでください。

すべてのコマンドは astria CLIを使用します(astria-api スキルを参照)。-w <workspace_id> を渡してワークスペースを指定します。

LANDING_PAGE_PROMPT からの制約事項(引き継がれるもの)

編集時には、以下の不変条件を維持してください(ライブの /w/:slug ページはこれらに依存しています):

  • 出力は inner body HTML です — <html>、<head>、<body>、<!DOCTYPE> タグは含めないでください
  • スタイリングには Tailwind ユーティリティクラス を使用します(ページに既に読み込まれています)。Tailwind で表現できないホバー/アニメーション効果にのみ <style> を使用してください
  • パックリンクは正確に /p/{slug} とします。モデル/リファレンスリンクは、tunes JSON の link フィールドをそのまま使用します(%5B/%5D を再エンコードしないでください)
  • すべての画像/動画は <a> タグでラップします
  • 画像と動画のURLは既に存在するものにしてください。URLを新しく作成しないでください
  • 動画は <video autoplay muted loop playsinline poster="POSTER_URL"><source src="VIDEO_URL" type="video/mp4"></video> を使用します
  • <script type="application/json" id="tunes-data">…</script> 内の文字列 __TUNES_JSON_PAYLOAD__ はサーバーサイドのプレースホルダです。サーバーはレンダリング時にこれをライブのtunes JSONに置き換えます。これをリテラルなJSONに置き換えないでください — キャストが固定され、新しく追加されたtunesが表示されなくなります
  • 編集スタイル:セリフ体の見出し、十分なホワイトスペース、ヘアラインルール、ポートレート画像には object-cover object-[center_top]、ヒーロースプレッドには max-h-[70vh]、ポートレートコンテナには aspect-[4/5] または aspect-[3/4]

ワークフロー

1. 現在のランディングページHTMLを取得する

astria landing get -w <workspace_id> --html > /tmp/landing_page.html

astria landing get -w <workspace_id>(--html なし)は、ワークスペースの完全なJSON(title、slug、brief、url、public_at、unlisted_at)を返します。これはそれらが必要な場合に使用します。レンダリングされたページは /w/{slug} でプレビューできます。

2. ワークスペースデータを取得する(編集で実際のパック/プロンプト/チューンを参照する必要がある場合)

astria packs list -w <workspace_id> --limit 100
astria tunes list -w <workspace_id> --limit 200            # ページ上にレンダリングされる「キャスト」
astria prompts list -w <workspace_id> --limit 100 --offset 0   # 空になるまで --offset でページング
astria prompts list -w <workspace_id> --pack-id <pack_id>      # より効率的、セクション単位で取得

リストエンドポイントは --limit/--offset でページングします(デフォルトのソートはID降順)。ページが空で返ってくるまで --offset でループします。

3. 段階的な編集を行う

/tmp/landing_page.html をローカルで編集します。変更は外科的に行ってください。ジェネレーターは数千バイトのレイアウトを生成しており、その大部分はそのまま維持する必要があります。保存する前に、上記の制約事項セクションを再読してください。

4. ページを書き戻す

astria landing set -w <workspace_id> --html-file /tmp/landing_page.html

ここで --brief を渡さないでください — 編集内容が破棄され、Gemini経由でゼロから再生成されます。

5. 確認する

/w/{slug} を開き、変更を視覚的に確認します。__TUNES_JSON_PAYLOAD__ プレースホルダはレンダリング時にサーバーサイドで置き換えられます — レンダリングされたページにJSONのような文字列がまだ表示されている場合、プレースホルダが誤って削除または名前変更されています。

ゼロからの再生成

ユーザーが明示的に完全な再デザインを要求した場合にのみ、brief を送信すると、サーバーは LANDING_PAGE_PROMPT をGeminiに対して実行し、HTMLを上書きします:

astria landing set -w <workspace_id> \
  --brief "Editorial fashion lookbook, AW26, dark moody palette, emphasize the womenswear packs"

関連スキル