mcpField
S
sasha

sasha

github.com/mishanaerマーケティング・グロース5744 回インストール1 日前に更新
リポジトリ

sasha について

ロシア語のインターフェース文言、マーケティング文、ドキュメント向けのライティングスキルです。文脈に応じた作成、レビュー、編集の指針を示し、明瞭さと事実の正確さを重視します。

主な機能

  1. 01UI・マーケティング・文書の文脈判定
  2. 02ロシア語のUI文言と広告文の指針
  3. 03事実を保つドキュメント編集
  4. 04レビューと生成の出力形式
  5. 05文字列抽出と文言チェックのスクリプト

活用シーン

  1. 01ロシア語のUI文言のレビュー
  2. 02キャンペーンや販促文の作成
  3. 03ロシア語のユーザー向け・技術文書の編集
  4. 04UI文字列候補と文言の警告の抽出

インストール

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

$npx skills add https://github.com/mishanaer/deslop --skill sasha

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

同梱ファイル

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

agents/
openai.yaml
references/
01-principles.md
02-components.md
03-errors.md
04-typography.md
05-code-review.md
06-examples.md
rules.json
scripts/
extract_ui_strings.py
ui_text_lint.py
tests/
test_ui_text_lint.py

詳細

sasha

対象範囲

  • ロシア語のインターフェース文言、マーケティング文言、ドキュメントにのみ使用してください。
  • ランディングページ、製品ページ、広告、販促メール、キャンペーンメッセージ、販促用ソーシャル投稿は、マーケティング文言として扱ってください。
  • ユーザーガイドや技術ガイド、手順書、README ファイル、ヘルプコンテンツ、API リファレンス、内部手順は、ドキュメントとして扱ってください。
  • タスクや会話にロシア語のテキストが含まれているだけで適用しないでください。
  • テキストがインターフェース、マーケティングキャンペーン、またはドキュメント一式の一部でない限り、通常の回答、説明、議論、やり取り、会議メモ、編集記事、サポートへの返信は対象外とします。

基本原則

  • テキストは、ユーザーが現在のタスクを完了するのに役立つものでなければなりません。
  • わかりにくいインターフェースを説明するより、不要な文言を削るか、UI 構成を改善してください。
  • 平易で、具体的かつ中立的に書いてください。
  • 重要な事実や操作を先に伝えてください。
  • 悪い知らせを、冗談、大げさな表現、過度な謝罪、曖昧な前向きさで和らげないでください。
  • エラーについては、何が起きたか、ユーザーにできること、次に何が起こるか(わかる場合)を伝えてください。
  • クリック可能なコントロールの文言は、通常、ユーザーが行う操作を表します。
  • ラベルやプレースホルダーには、通常、入力する行為ではなくデータの名前を使います。
  • ツールチップやヒントには補足情報を記載し、必須情報は画面に表示してください。
  • 法的な影響がある UI 文言は制約のあるものとして扱い、意味が変わる可能性がある場合は複数の案を提示し、needs legal review と記してください。
  • ドキュメントでは、事実上の意味、コマンド、例、リンク、識別子を保持してください。製品の挙動を捏造せず、情報源の欠落や矛盾を指摘してください。

ワークフロー

  1. コンテキストを判定します:interface、marketing、または documentation。インターフェース文言の場合は、コンポーネントの種類を特定します。マーケティング文言の場合は、形式と掲載場所を特定します。ドキュメントの場合は、文書の種類と信頼できる情報源を特定します。
  2. ユーザーの目的を特定します:ユーザーがすでに知っていること、期待される操作、次に起こることを確認します。マーケティング文言の場合は、対象者、オファー、チャネル、検証可能な主張も特定します。ドキュメントの場合は、対象者、前提条件、タスク、期待される結果を特定します。
  3. 文言の修正が適切か判断します。実際の問題がレイアウト、状態、操作のわかりやすさ、バリデーション、コンポーネントの選択、文書構成、または事実情報の不足にある場合は、その点を指摘します。
  4. 次の順序でルールを適用します:ユーザーのタスク、形式のパターン、事実の正確さ、明確さ、簡潔さ、中立的なトーン、タイポグラフィ、i18n への配慮。
  5. コードを編集する場合は、ユーザーがコンポーネントや実装の変更を明示的に求めない限り、指定された UI 文字列またはドキュメントファイルのみを変更します。

コード編集ルール

  • まずプロジェクトを調査します:パッケージマネージャー、ローカライズ形式、コンポーネントフレームワーク、既存の命名規則を確認します。
  • キーに明らかな誤りがあり、ユーザーが同意した場合を除き、ローカライズキーを保持します。
  • 変数と書式構文を保持します:{name}、%{count}、{{value}}、ICU の plural/select、JSX の補間、HTML エンティティ、markdown リンク、エスケープ文字。
  • 法的文言を大幅に書き換えないでください。代わりに注記を追加します。
  • 役立つ場合は、候補文字列の検索に scripts/extract_ui_strings.py を、ヒューリスティックな警告の確認に scripts/ui_text_lint.py を実行します。
  • ロックファイルやスクリプトから実行コマンドが明らかな場合は、利用可能なプロジェクトチェックを実行します。

レビュー出力

レビュータスクでは、指摘を具体的にし、グループ分けしてください:

## Критичные проблемы
- ...

## Замечания sasha
- ...

## Типографика
- ...

## Предложенная версия
| Было | Стало | Почему |
|---|---|---|
| ... | ... | ... |

## Что проверить отдельно
- ...

小規模なレビューでは、内容のないセクションを省略します。

生成出力

インターフェース文言の生成タスクでは、2~4 案を提示します:

  • Безопасный:本番環境向けの明確な標準案です。
  • Короткий:UI のスペースが限られている場合に使います。
  • Более явный:結果を明示する必要がある場合に使います。
  • Для узкого места:文字数が制約される可能性が高い場合にのみ使います。

次に、推奨案とその理由を1~2文で述べます。

マーケティング文言では、代替案が役立つ場合に2~3案を提示します。ドキュメントでは、ユーザーが複数案を求めない限り、推奨案を1つ提示します。

参考資料

  • 一般的な UI ライティングの判断については、references/01-principles.md を読んでください。
  • コンポーネント固有のパターンについては、references/02-components.md を読んでください。
  • エラー状態と復旧時の文言については、references/03-errors.md を読んでください。
  • ロシア語 UI のタイポグラフィと安全な正規化については、references/04-typography.md を読んでください。
  • ローカライズファイルやコード内の文字列を編集する前に、references/05-code-review.md を読んでください。
  • 簡単な変更前・変更後の例については、references/06-examples.md を読んでください。
  • スクリプトや監査で使用する機械可読なルールセットとして、references/rules.json を使用してください。

スクリプト

scripts/extract_ui_strings.py は、.json、.yml、.yaml、.ts、.tsx、.js、.jsx、.vue から、ロシア語の UI 文字列と思われるものを抽出します。

python3 sasha/scripts/extract_ui_strings.py src/locales/ru.json --format json
python3 sasha/scripts/extract_ui_strings.py src --include '*.tsx' --format md

scripts/ui_text_lint.py は、ヒューリスティックによる sasha の警告を報告します。結果は自動的に正しいものと見なさず、レビューの参考として扱ってください。

python3 sasha/scripts/ui_text_lint.py src/locales/ru.json
python3 sasha/scripts/ui_text_lint.py src --format json --component button

コメント