Communitygithub.com

thinslatelabs/keepp-skill

Keeppページ(プロダクトカード、プロモコード、リード獲得、設定)をKeepp Agent API経由で管理するエージェントスキル。

keepp-skill とは?

このスキルは、クリエイターや小規模ビジネス向けのソーシャルリンクプラットフォーム「Keepp」のページを、Agent APIを通じて管理するためのツールです。プロダクトカードの作成・編集・削除、ページのレイアウトモードやテーマ、CTA設定といったページ設定の変更が可能です。対応プラットフォームはClaude Code、Cursor、Codexなど、汎用的なエージェントフレームワークです。認証はAPIキー(Bearerトークン)を使用し、操作にはProアカウントが必要です。カードのコンテンツモデルは画像URL、商品名・説明・価格・プロモコード・カテゴリ・リンク・連絡先情報から構成され、CTAの動作(詳細表示/即時アクション)や種類(メッセージ・リンク・リード収集)を細かく設定できます。また、ページ全体のデフォルト設定(`catalogCard`)を変更することで、全カードの挙動を一括更新することも可能です。このスキルは、アフィリエイト商品のプロモーション、自社ECショップとの連携、コーチングサービスのリード獲得など、多様なユースケースをサポートします。

対応~Claude Code~Codex CLI✓Cursor
npx skills add thinslatelabs/keepp-skill

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

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

ドキュメント

Keeppページの管理

Keeppとは

Keeppは、クリエイターや小規模ビジネスのソーシャルバイオリンクをページに変換します。これは、商品「カード」とリンクのコレクションで、フォロワーを購入者やリードに変えるために作られています。Instagram、YouTube、TikTok、Pinterest、Xで活動するセラー、アフィリエイト、コーチ、コースクリエイター、リンクインバイオクリエイターが利用しています。

Keeppページの構成要素:

  • プロフィール — アバター、表示名、短い自己紹介
  • ソーシャルアイコン — 所有者のソーシャルアカウントへのリンク
  • リンクブロック — ウェブサイト、予約ページ、WhatsAppなどへのボタン(セクションヘッダーを含む)
  • カタログカード — ショッパブルなプロダクトカード(写真、価格、プロモコード、コールトゥアクション)
  • モード — links only(リンクのみ)、catalog only(カタログのみ)、links and catalog(リンクとカタログ)

このAPIで制御できるもの

このAPIは以下の2つを管理します:

  1. カタログカード(投稿) — 所有者のカタログ内のプロダクトカードを作成、一覧表示、更新、削除します。
  2. ページ設定 — ページのレイアウトモード、アバウトテキスト、ヒーローCTA、カタログカードのデフォルト設定、テーマ(以下の「ページ設定」参照)。

このAPIでは変更できないもの:ソーシャルアイコン、リンクブロック、プロフィール詳細(表示名、アバター、ページURL)。これらは所有者がKeeppダッシュボードで設定します。ユーザーから依頼があった場合は、Keeppダッシュボードを案内してください。

認証

すべてのリクエストには、所有者のAPIキーをベアラートークンとして指定する必要があります:

Authorization: Bearer keepp_live_…

ベースURL: https://api.keepp.link。キーはProアカウントのダッシュボード内AI Agentから生成されます。キーをお持ちでない場合は、ユーザーに問い合わせてください。

エンドポイント

メソッドパス機能
GET/api/v1/posts?cursor=カタログのカードを一覧表示(ページネーション対応)。
POST/api/v1/postsカードを作成。
GET/api/v1/posts/:postId1枚のカードを取得。
PATCH/api/v1/posts/:postIdカードを更新。
DELETE/api/v1/posts/:postIdカードを削除。

カードのコンテンツモデル

カードは、imageUrls、userContent、cardOverridesの3つのトップレベルフィールドで作成・更新されます。

{
  "imageUrls": ["https://…/photo.jpg"],   // 最大5枚。取得・保存されます。各10MB以下、JPEG/PNG/WebP/GIF、直接アクセス可能な公開URL
  "userContent": {
    "name": "シルクスカーフ",                  // 短いタイトル(任意)
    "description": "手染めのマルベリーシルク、90×90cm。",   // 必須
    "price": "$72",                        // 自由テキスト — "$72"、"From $50"、"₹1,499"(任意)
    "promoCode": "SAVE15",                 // プロモ/リファラル/ディスカウントコード(任意)
    "category": "accessories",             // 以下のカテゴリのいずれか(任意)
    "links": ["https://…"],                // カードに表示する追加リンク(任意)
    "contacts": [{ "type": "whatsapp", "value": "+15551234567" }]   // 任意
  },
  "cardOverrides": {                       // カードの動作(任意。省略するとページのデフォルトを継承)
    "clickAction": "open_detail",          // "open_detail" | "trigger_cta"
    "ctaType": "link",                     // "message" | "link" | "lead_collection"
    "ctaUrl": "https://shop…/scarf",       // ctaType = "link" の場合必須
    "ctaLabel": "今すぐ購入"                  // ボタンテキスト
  }
}

description のみ必須フィールドです。それ以外はすべて任意で、cardOverrides を省略すると所有者のページ全体のデフォルト設定を継承します。

カテゴリ: clothing, jewellery, accessories, home_decor, beauty, food_beverage, art, stationery, plants, fitness, travel, real_estate, services, pets, kids_baby, books_media, crafts, other

連絡先タイプ: phone, email, whatsapp, telegram, other

カードの動作 — 2つの選択

1. clickAction — カードをタップしたときの動作:

  • open_detail(デフォルト) — 詳細ビュー(すべての写真、完全な説明、価格、プロモコード、CTAボタン)を開きます。購入者が行動前にコンテキストを必要とする場合に使用します。
  • trigger_cta — タップすると即座にCTAが発動し、詳細画面は表示されません。説明不要で、最も少ない摩擦を求めるアイテムに使用します。

2. ctaType — CTAの動作:

  • message — ビジネスへのメッセージ送信画面を開きます。チェックアウトリンクがない場合の安全なデフォルトです。
  • link — ctaUrl(Shopify/Etsyページ、アフィリエイトリンク、予約ページ、Googleフォーム)を開きます。ctaUrl が必要です。専用の遷移先がある場合に使用します。
  • lead_collection — ページ上に短いフォームを開き、訪問者の連絡先情報を取得してリードとして保存します。購入準備ができていない人(ウェイトリスト、セールスリスト、コーチングの問い合わせ)を獲得するために使用します。収集するフィールドは、ページ設定エンドポイント(下記参照)で catalogCard.leadCollection を介してページ全体に設定されます。すべてのカードに適用され、カードごとの設定はできません。

ctaLabel はアクションに合わせて設定してください:「今すぐ購入」「注文する」「ルックブックを入手」「予約する」「通知を受け取る」

ページ設定

ページ全体の設定を読み取り・変更します。

メソッドパス機能
GET/api/v1/storefront現在のページ設定を取得。
PATCH/api/v1/storefront設定を変更。変更したいフィールドのみ送信 — 現在の設定にマージされます。

編集可能なフィールド:

{
  "mode": "links_and_catalog",   // "links_only" | "catalog_only" | "links_and_catalog"
  "about": "リスボンのアトリエで作る手作り陶器。",  // 短いページタグライン(280文字以下)
  "mainCta": {                    // ページ上部のヒーローボタン
    "enabled": true,
    "label": "通話を予約",
    "url": "https://cal.com/me"   // enabledがtrueの場合必須
  },
  "catalogCard": {                // すべてのカードに適用されるページ全体のデフォルト
    "showCardDetails": true,
    "clickAction": "open_detail", // "open_detail" | "trigger_cta"
    "ctaType": "message",         // "message" | "link" | "lead_collection"
    "ctaUrl": "https://…",        // ctaType = "link" の場合必須
    "ctaLabel": "今すぐ注文",
    "leadCollection": { "phone": true, "email": true, "instagram": false, "message": true }
  },
  "theme": {
    "useCustomTheme": true,       // preset/brandColorを有効にするには true 必須
    "preset": "professional",     // "calm" | "professional" | "playful" | "dark"
    "brandColor": "#d7494c"       // 6桁の16進カラー
  }
}
  • 部分更新はマージされます。 PATCH {"theme":{"useCustomTheme":true,"brandColor":"#000000"}} はテーマのみ変更し、モードやカードなどはそのまま維持されます。
  • テーマガード: preset/brandColor は useCustomTheme が true の場合にのみ有効です — 同じリクエストで送信してください。
  • catalogCard はすべてのカードのデフォルトです。 個々のカードの cardOverrides が優先されます。これらを変更すると、すべてのカードが一度に再スタイルされます。
  • leadCollection は、ページ全体のリードフォームで収集するフィールドを設定します(カードごとのフィールド選択はありません)。
  • 無効な組み合わせは 400 INVALID_STOREFRONT_CONFIG で拒否されます(例:ctaUrl なしで ctaType:"link")。

ユースケースレシピ

アフィリエイト/インフルエンサー商品(プロモコード付き)→ 外部リンク

{
  "imageUrls": ["https://example.com/serum.jpg"],
  "userContent": { "name": "ビタミンCセラム", "description": "私の毎日の艶出しセラム — 私のコードで15%オフ。", "price": "$28", "promoCode": "GLOW15", "category": "beauty" },
  "cardOverrides": { "clickAction": "trigger_cta", "ctaType": "link", "ctaUrl": "https://brand.com/serum?ref=me", "ctaLabel": "コードで購入" }
}

自身のショップで販売するブティック商品

{
  "imageUrls": ["https://example.com/scarf.jpg"],
  "userContent": { "name": "シルクスカーフ", "description": "手染めのマルベリーシルク、90×90cm。", "price": "$72", "category": "accessories" },
  "cardOverrides": { "clickAction": "open_detail", "ctaType": "link", "ctaUrl": "https://myshop.com/scarf", "ctaLabel": "今すぐ購入" }
}

コーチ/サービス — 直接販売ではなくリードを獲得

{
  "imageUrls": ["https://example.com/program.jpg"],
  "userContent": { "name": "1:1コーチング", "description": "最初の5人のクライアントを獲得するための6週間プログラム。", "price": "From $400", "category": "services" },
  "cardOverrides": { "clickAction": "trigger_cta", "ctaType": "lead_collection", "ctaLabel": "今すぐ申し込む" }
}

レスポンスとエラー

成功: { "ok": true, "data": { … } }。エラー: { "ok": false, "error": { "code": "…", "message": "…" } }。

  • 401 NO_API_TOKEN / INVALID_API_TOKEN — キーがないか、無効です。ユーザーに有効なキーを確認してください。
  • 403 PLAN_REQUIRED — アカウントがProではありません。
  • 422 INVALID_IMAGE — 画像URLを取得できなかった、形式/サイズが間違っている、リダイレクトされた、非公開アドレスに解決された。直接アクセス可能な公開 https 画像URLを使用してください。
  • 429 RATE_LIMITED — 1分間に60リクエストを超えています。速度を落として再試行してください。

ガイダンス

  • カードを削除する前にユーザーに確認してください。
  • price と promoCode は、入手可能な場合は必ず設定してください。これらはカードと詳細ビューに表示され、アフィリエイトやセールのユースケースで重要です。
  • 一括作成時は、1分間に60リクエストを超えないようにしてください。
  • カードは即座にページに公開されます。
  • カードとページ設定(モード、アバウト、ヒーローCTA、カードデフォルト、テーマ)を管理できます。リンク、ソーシャルアイコン、プロフィール詳細(名前、アバター、ページURL)については、ユーザーにKeeppダッシュボードを使用するよう伝えてください。

詳細情報

Keeppのハウツーガイドでは、Keeppページについて詳しく説明しています:

関連スキル