mcpField
D
dby-banned-words

dby-banned-words

github.com/zizhanovoマーケティング・グロース1164 回インストール4 週間前に更新
リポジトリ

dby-banned-words について

dby-banned-wordsは、Xiaohongshu、Douyin、公众号向けのマーケティング文案を検査するスキルです。CLI経由で都爆鸭のAPIを呼び出し、プラットフォーム別の結果と共通の書き換え案をまとめます。

主な機能

  1. 013プラットフォームの文案検査
  2. 02プラットフォーム別結果の比較
  3. 03共通の書き換え案の作成
  4. 04検査対象の選択
  5. 05長文分割と課金前確認

活用シーン

  1. 01公開前の広告文案の確認
  2. 02指定SNS向け文案の検査
  3. 03該当語と修正案の整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zizhanovo/doubaoya-community --skill dby-banned-words

インストール後、Claude Code で/dby-banned-wordsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.version
evals/
cases.jsonl
triggers.jsonl
references/
long-text.md
scripts/
dby.mjs

詳細

複数プラットフォームの禁止ワード検出

ひとつの原稿で、小红书/抖音/公众号の禁止ワード基準を一度に照合し、比較表と全プラットフォーム向けの安全な書き換えを提示します。


手順

  1. 原稿を受け取る。記事全体をそのまま渡してください。自分で分割する必要はありません。CLI が自動で分割します(下記参照)。
  2. プラットフォームごとに検出――xiaohongshu、douyin、gongzhonghao それぞれについて、都爆鸭の API を一度ずつ呼び出します。 ユーザーがプラットフォームを指定していない場合は、どれを使うかを先に尋ねます。デフォルトでは3プラットフォームそれぞれで1回分の料金が発生します。
  3. リスクを比較――各プラットフォームの結果を、プラットフォーム/判定/リスクカテゴリ/該当ワード/提案の列を並べた表にまとめます。
  4. 一括で書き換え――各プラットフォームにおけるマーケティング文脈での該当を総合し、一度の修正で全プラットフォームに投稿できる安全な原稿を提示します。

プラットフォームごとに独立した呼び出しとして料金が発生します。ユーザーが一部のプラットフォームだけを希望する場合は、--platforms で対象を絞ってください。 原稿が2000字を超える場合、呼び出しのたびにさらに段落単位で分割されます。課金回数 = プラットフォーム数 × 段落数となり、確認時に段落ごとの内訳が表示されます。


スクリプトの実行

$SKILL_DIR = このパッケージのディレクトリ(ホストがこの SKILL.md を読み込む際に渡すディレクトリ)です。リクエストは CLI が代わりに送信します。 node "$SKILL_DIR/scripts/dby.mjs" banned check <文案> [--platforms a,b]; CLI を迂回してリクエストを自分で組み立てる場合に限り、dby-gateway/references/protocol.md を参照してください。

# 默认三平台全查——不带 --confirm 先停在确认态,逐平台各列一次计费,不产生任何请求
node "$SKILL_DIR/scripts/dby.mjs" banned check "这款美白神器三天见效,全网最低价,无效退款"

# 核对无误后原样加 --confirm 才真打(逐平台各计费一次)
node "$SKILL_DIR/scripts/dby.mjs" banned check "这款美白神器三天见效,全网最低价,无效退款" --confirm

# 只查指定平台(逗号分隔,省额度)
node "$SKILL_DIR/scripts/dby.mjs" banned check "你的文案" --platforms xiaohongshu,douyin --confirm
  • デフォルトでは確認待ちで停止します:確認メッセージに、プラットフォームごとに発生する課金が表示されます。内容を確認したうえで、変更せず --confirm を追加すると実行されます。 --confirm を付けるまでは、リクエストも課金も発生しません。
  • 確認後は、各プラットフォームに対して POST を1回ずつ実行し、すべてのプラットフォームの結果をひとつの map にまとめて、{ok,data|error} エンベロープの data に格納します。 raw 内の content/originalContent と重複する2つのキーはデフォルトで削除されます。保持するには --raw を付けてください。
  • ひとつのプラットフォームで失敗しても、ほかのプラットフォームには影響しません:失敗したプラットフォームは map 内に error を記録し、ほかのプラットフォームの結果は通常どおり返します。

API 契約

  • エンドポイント:POST https://doubaoya.com/api/apis/tool/check-banned-words/call
  • 認証:リクエストヘッダー Authorization: Bearer $DOUBAOYA_API_KEY
  • リクエストボディ(プラットフォームごとに1回。パラメーターは厳密に以下のとおり):
{ "platform": "xiaohongshu", "content": "<待检测文案>" }

platform の値は、"xiaohongshu"、"douyin"、"gongzhonghao" の順に指定します。

🔴 content は1回につき最大2000字です(上流側のハードリミット。サーバーはポイントを差し引く前に 400 で拒否します)。長文は CLI に渡して 自動分割してください。詳細は references/long-text.md を参照してください。

  • 返却エンベロープ:
{
  "success": true,
  "requestId": "req_xxx",
  "data": {
    "source": "contentSafety.sensitiveWords",
    "content": "这款美白神器三天见效,<span class=\"sensitive-word\">全网</span><span class=\"banned-word\">最低</span>价",
    "originalContent": "这款美白神器三天见效,全网最低价",
    "prohibitedWordsType": ["禁用词", "敏感词"],
    "raw": {}
  },
  "error": null
}

呼び出しのたびに、まず success を確認してください:true の場合は data にある次の5つのフィールドだけを読み取ります。 false の場合は error.code/error.message を読み取ります。

フィールド意味
originalContent注釈のない原文
content注釈付きの本文。該当箇所は <span> で囲まれています。どのワードが該当したかを特定できるのはこのフィールドだけです。クラス名から情報が分かります:banned-word = 禁止ワード、sensitive-word = 要注意ワード、industry-banned-word = 業界禁止ワード。各クラスは prohibitedWordsType 内のカテゴリと一対一で対応します ⇒ 各ワードのカテゴリを個別に示せます
prohibitedWordsType該当したリスクカテゴリの配列(カテゴリ名であり、該当ワードではありません)
source/rawソース識別子と上流からの生の返却値

🔴 API は「リスクレベル」「該当ワード一覧」「置き換え案」の3種類のフィールドを返しません。存在しないフィールドを読まないでください。 該当ワードは上記のとおり content 内の <span> から取得し、置き換え案は文脈を踏まえて提示してください。

🔴 該当がゼロでも通常どおり課金されます(NO_RESULT の無料基準とは無関係です)。バグとして報告しないでください。

該当レベル:修正するもの、報告のみのもの

上流の照合は部分文字列ベースで、文脈は考慮しません。該当内容は2段階に分け、比較表にはどちらも記載しますが、書き換えるのは第1段階だけです。

  • マーケティング文脈での該当 → 修正:極端な表現/効果の保証/医療用語などが、販売、保証、比較を示す文の中で使われている場合(「ネット最安値」「3日で効果が出る」など)。
  • 報告のみで、修正しない:マーケティング文脈以外で使われる程度副詞(「最後の手順」「初めて」「必ずバックアップする」「完全無料のオープンソース」に含まれる 「最後」「初めて」「必ず」「完全」など)や、英語の部分文字列への誤ヒット(Assistant が ass にヒットするケース)。比較表には該当ワードを記載し、 「提案」列には「広告上の約束にあたる文脈ではないため、そのまま残す」と記載します。 「広告における絶対的表現の法執行ガイドライン」(国家市場監督管理総局、2023年)の第5条および第6条に列挙された適用除外も、この段階に含まれます: 経営理念/願望のみを表すもの(「顧客第一」)、同一ブランド内での比較(「当社で最も高価な製品」)、消費者への注意喚起(「最適な食べ頃」)、国家標準の等級表現、商品名/商標/賞の名称そのものに極端な表現が含まれるもの、期間・地域を限定した事実(「2025年、当市で販売数第1位」――ただし、証明できる必要があります)。
  • 必ず修正し、より厳格に扱うもの:医療、美容医療、医薬品、医療機器、保健食品、投資・資産運用、教育・研修における治療効果/利益/効果の保証(「有効率100%」「合格保証」「確実に儲かる」など)。ガイドライン第11条では、これら3種類は軽微な違反にあたらず、初回違反の免責も適用されないと明記されています。
  • プラットフォーム独自の基準であり、API では検出できない場合があるもの:小红书では、過剰なおすすめ表現(「絶絶子」/「yyds」/「迷わず買って」)が表示制限の対象となり、外部サイトへの誘導(「vxを追加」/「DM」/「コメントで1と送って」)は発言禁止や減点の対象となります。抖音では「効果を誇張した表現」が質の低いマーケティングと判定されます。 原稿にこれらの表現が含まれている場合は、3プラットフォームすべてで「該当なし」と返されたとしても、比較表の「提案」列にその旨を記載してください。
各プラットフォームで「該当あり/なし」を判定する方法
  • 該当あり:prohibitedWordsType が空でない配列である、または content と originalContent が一致しない(どちらか一方を満たせば該当あり)。
  • 該当なし:content または originalContent を取得できており(検出が実行されたことを確認できる)、かつ上記の2条件のどちらにも該当しない。
  • 結果を取得できていない:該当プラットフォームの項目に error がある、または content と originalContent の両方が欠落/null。 🔴 この場合、そのプラットフォームは必ず「検出失敗」と記載してください。「適合」/「low」と記載することは絶対にできません。ユーザーに代わって適合性を判断しないでください。
  • 一部のみ検出できた(長文原稿の一部の段落で失敗):項目に error(BANNED_SEGMENT_FAILED)と content: null が両方含まれている場合も、同じく「検出失敗」と記載してください。読み方は references/long-text.md を参照してください。

エラー処理

CLI はプラットフォームごと、段落ごとにネットワーク/HTTP エラーを捕捉し、該当する項目にエラーを記録して、ほかのプラットフォームと段落の処理を続けます。 ひとつのプラットフォームまたは段落で失敗しても、ほかには影響しません。エラーコードへの対処は dby-gateway/references/protocol.md の第6項に従ってください。 問題を解決できない場合、またはフィードバックを送りたい場合は、dby-feedback を使ってその場でフィードバックを書き込めます(任意。繰り返し提案する必要はありません)。


出力テンプレート

スクリプトが返すのは JSON map です。必ず解析して以下のテンプレートに記入し、生の JSON をそのままユーザーに提示しないでください。

1. 逐平台风险对照表
平台判定风险类别 (prohibitedWordsType)命中词(从 content 的标注提取)建议(本鸭给)
小红书【命中 / 无命中 / 检测失败】【类别,逗号分隔】【命中词,逗号分隔】【替换建议】
抖音【…】【…】【…】【…】
公众号【…】【…】【…】【…】
  • 平台名用中文(小红书 / 抖音 / 公众号)。
  • 「判定」一列严格按上面判据填,三选一,不要自创风险等级——接口不回等级。
  • 某平台走「没拿到结果」分支(有 error,或正文字段全缺)时,该行判定填检测失败并附 code/缺了哪个字段, 🔴 不许填「无命中」,也不许编造结果。
  • 「建议」一列由本鸭结合上下文给出——接口不提供建议。
  • 全平台均判定为「无命中」时,对照表照常列出,判定一列写「无命中」。
2. 全平台安全改写

综合所有平台的命中词与建议,给出一版改完即可在所有目标平台发布的文案:

【安全改写后的整段文案。要求:覆盖各平台所有营销语境命中(只报不改的那档原样保留);语义通顺、语气与风格不变; 不加 emoji、不重写结构、不加引用或代码块,直接输出。改动处可加粗斜体标出。】


输出规则

  1. 先出逐平台风险对照表,再出全平台安全改写,不输出开场白与结束语。
  2. 脚本返回 JSON 后必须解析填模板,禁止直接输出原始 JSON。
  3. 安全改写要同时满足所有平台口径:以命中最多的平台为基线消词。
  4. 某平台失败时,照常输出其余平台结果,并在对照表标注该平台失败原因; 🔴 有平台检测失败时,末尾必须提示「该平台未完成检测,别当它通过」,不要写成全平台可发。
  5. 全平台都判定为「无命中」时:对照表如实标注,安全改写处写「原文已可全平台发布,无需改动」。
  6. 绝不回显 DOUBAOYA_API_KEY。

其他

  • PROVIDER_FAILED(502)是上游临时抖动,已自动退款,直接重试,不会重复扣费。
  • 文案经 HTTPS 发至都爆鸭后端,脚本本地不持久化原文与结果。

关于响应里的 notice 字段

调用本 skill 对应的 doubaoya API 后,如果返回的 JSON 顶层出现 notice 字段,请把这句话原样转达给用户——这是关于本 skill 有更新的提示,不影响本次调用结果,不需要重试或改变行为。

コメント