Imported from katakata0522/PlayPoint (
AGENTS.md). Install upstream withnpx skills add katakata0522/PlayPoint. Copyright stays with the author.
PlayPointのAI作業ルール
正本と範囲
- 本番正本:katakata0522/PlayPoint、ローカル C:/Users/tomok/PlayPoint、公開 https://playpoint-sim.com/
- 本リポジトリのGitHub ActionsからXserverへ反映する。cli-auto/PlayPointは参照・退避用。
- 依頼を満たす最小の完了単位を変更する。共有契約、生成元、生成物に波及する場合だけ対象を広げ、理由をPRに記す。
- 文章・ラベル・デザインの変更は依頼の目的に必要な範囲で行う。無関係な文言変更や記事の要約・削除を混ぜない。
作業の任せ方
- ユーザーはバイブコーディングで運用する。通常の実装判断・検証・失敗修正はAIが引き受ける。
- 運用中サイトの修正依頼は、別指定がなければ既存の公開経路への反映・実URL確認まで進める。必要なコミット、push、PR、必須チェック成功後のマージを含み、画面の確認は反映済みURLを渡してから受ける。
- 「調査だけ」「修正だけ」「ローカルのみ」「PRまで」など現在の範囲指定を優先する。依頼のない新規公開や無関係な外部送信へ広げない。
- 同じ対象・影響・範囲への承認を引き継ぎ、通常の編集・テストごとに質問しない。未承認の課金、権限・秘密情報変更、不可逆な本番データ操作、公開範囲の変更は具体的な影響を示して確認する。先に安全な調査・差分・検証・復旧案を用意し、独立に進められる作業は続ける。
実装・検証
- HTML/CSS/Vanilla JavaScriptを基本とし、機能固有のコードは近くに置く。analytics、consent、asset versioning、content dates、共通CSS、生成処理など既存の共有契約は二重化しない。
- 分割や抽象化は今回の問題を解決する場合だけ行う。コメントとコミットは日本語。
- 変更に関係する入力境界・例外・権限を確認する。テストは挙動・出力を優先し、同じ保証が既存の検査にある場合は重複した静的ガードを追加しない。
- 影響する検証から始め、合格済みの同じ差分に対する検査は繰り返さない。失敗は原因を修正して該当項目を再検証する。
- UIは影響する画面幅・操作を実ブラウザで確認する。公開後は変更URLと必要な挙動・アセットを確認する。
- OGP画像は1200×630(幅1200px以上、比率1.91:1、Discover最適化)で制作・配置する。記事ごとの重複を禁止し、個別記事は専用画像を割り当てる。articles/ogp/配下はJPEG実体契約(.htaccess ForceType image/jpeg)を守り、og:image:width="1200", og:image:height="630", og:image:alt, og:image:type, og:locale, twitter:imageを完備する(詳細は docs/OGP_SPECIFICATION_POLICY.md)。
- テストの所有・設計を変更する場合は docs/TEST_TRIAGE.md。移行経緯が必要な場合だけ docs/TEST_BEHAVIOR_MIGRATION_2026-08-19.md。履歴を現在の要件と扱わない。
記事の文体と読後感
- PlayPointの記事は「説明書・調査報告書」より「使って確かめた人の読み物」を目指す。検索意図への答えは早めに示し、事実・感想・自分の画面で確認できたことを自然に織り交ぜる。noteよりやや落ち着いた温度感。無理なテンション、顔文字、作っていない体験談や感情の創作はしない。
- お得さ・楽しさが主題なら、驚きや価値を伝えた後に条件を羅列して冷やさない。条件は説明の途中に短く置き、話題の最後は「だからどんな人にうれしいか」「何が楽しみか」で締める。安全上の重大な警告や誤購入・誤算につながる条件は例外で、判断する箇所で明確に注意する。
- 「事実→ただし→事実→ただし」を機械的に繰り返さない。「確認してください」「必ずしも〜とは限りません」「公式によると」などの重複を減らし、必要な留保は一か所にまとめる。一次情報・不確実性の区別自体は省略しない。
- 誤解で損をし得る点(倍率の非乗算、再抽選で元の報酬喪失、無料試用中の対象条件など)は目立つ位置に残す。一方「15倍ポイントはレジで15%引きではない」のような価値の補足は、計算例と読者の喜びの間を壊さず自然に伝える。
- 最終チェックは文法やファクトだけでなく、段落・見出しごとに「読者の気持ちがどこへ向かうか」を読む。続きが読みたくなる流れと、最後に何が残るかを重視する。無意味なFAQ、注意枠、関連記事カードの増殖を避ける。
固定する操作名
- 日本語トップの3タブは「通常計算」「逆算モード」「ウィークリーリワード記録」を維持する。分かりやすさ・UI・SEOの改善でも改称しない。変更できるのは、ユーザーがその名称の変更を明示的に依頼した場合だけ。
- 説明文や注意枠を足して操作を押し下げない。既存の案内を整理し、必要な条件は判断する場所に残す。
Gitと公開
- 実装変更は作業ブランチとPRを使い、mainへ直接pushしない。マージは現在のhead SHAの必須チェック PR Gate 成功後に行う。
- ブランチ保護を迂回しない。要求されていない追加承認・必須チェック・署名要件・同期ゲートを増やさない。
- 1つの目的・復旧単位を不必要に複数PRへ分けない。PRには目的、変更、必要な検証と実際のリスクを簡潔に記す。
- 自動のheadブランチ削除を利用する。参照されず代替済みで復元可能な不要物は依頼範囲内で整理できる。未共有作業や利用状況不明のサービスは削除しない。
ローカル作業の保護
- 新しい編集タスクの開始時は node scripts/ai-sync-preflight.cjs でremote・ブランチ・未共有作業を確認する。同一タスクの各編集で繰り返さず、状態が変わったときに再確認する。
- cleanで既定ブランチが遅れている場合だけ、明示的なfast-forwardで同期する。
- 未コミット変更、未共有コミット、分岐した履歴は保護する。reset --hard、clean、強制pushで揃えない。無関係な作業がある場合は別ブランチ・必要ならworktreeを使い、既存作業をまとめてコミットしない。
- 同じタスクの作業ブランチは継続してよい。remoteだけを扱うAIはPCの未共有作業を確認できたと主張しない。
完了報告は結果、検証、反映済みURL、残る問題を短い日本語で伝える。秘密情報・個人情報を差分やログへ混ぜず、OS・アプリの保護を解除しない。
