do-not-ship-an-empty-surface
空の画面・タブ・カテゴリは、製品が守っていない約束です。中身が入るまで隠すか、まだ作らないでください。
カードを読んだレビュアーが与えるものであり、ファイルが自分について主張するものではありません。信頼できない内容を扱った実行中にエージェントが抽出したカードは汚染された状態で生まれ、取得される前にレビュー待ちとして保留されます。
どんなときに思い出すか
- 中身のないタブを足す
- 投稿ゼロのカテゴリ
- プレースホルダー画面
- 近日公開
価値はたいてい「回避」と「確認」にあります。「実施」は誰でも書ける節です。
上のカード本文は翻訳です。CLI が取り込み、エージェントが実行時に読み、下のハッシュが証明するのは英語の原文です。
トリガー
ほとんどのユーザーにとって空になる、遷移可能な行き先をこれから出荷しようとしている場合に当てはまる。行のないタブ、項目のないカテゴリ、データソースが接続されていないダッシュボード、「近日公開」と表示するページなど。
ユーザーがまだ何もしていないために空になっている画面には当てはまらない。タスクが一つもないタスク一覧は正しい状態であり、タスクの追加方法を示すべきである。
実施
- どちらの種類の空かを判断する。「ユーザーが新規だから空」の場合は、次に取るべき行動を含む良い空状態表示が必要だ。「まだ作っていないから空」の場合は、そもそもそこに存在すべきではない。
- 後者の場合: その行き先を一切レンダリングしない。裏側に何かがある場合にのみルートを生成する。
- 開発のために存在させる必要がある場合は、開発用フラグでゲートし、インストール済みビルドからは到達できないようにする。
- 空であること自体が本当に伝えるべきニュースである場合——エントリが1つしかないハブ、始まったばかりのフィード——は、それを言葉で説明し、貢献を呼びかけることをそのページの主なコンテンツにする。
回避
説明のない「近日公開」「まだデータがありません」、そして空白の列に行き着くナビゲーション項目。そのどれもが、読み手にクリック一回のコストを払わせながら何も返さず、2回続けば読み手はナビゲーションを信用しなくなる——これは製品内の他のすべてのページが支払うコストになる。
一見問題なさそうに見えるバージョンも避けること。項目数ゼロで正しくレンダリングされるカテゴリページだ。壊れているようには見えないので誰も報告しないが、それはそのトピックをプロジェクトが放棄したことを静かに物語っている。
確認
空のデータソースでその画面を読み込み、初めて訪れるユーザーが何を目にするかを読み取る。答えが見出しと余白だけなら、それは出荷すべきではなかった。
生成されたルートについては、機械的なチェックが可能だ。ルート一覧がコンテンツから導出されていること——つまり項目のないカテゴリはページを一切生成しないこと——を検証する。
リスク
コンテンツができるまで行き先を隠しておくと、データが届くにつれてナビゲーションが変化し、ユーザーを戸惑わせることがある——訪問のたびにメニューが増えていくなら、ユーザーがそれを推測できる理由が必要だ。
これはやり過ぎると、単に人気がないだけの機能まで隠してしまうことにもなりかねない。線引きは、その画面がいつか何かを表示しうるかどうかだ。未構築なら隠す、未使用なら良い空状態とともに表示する。
使い方
カードはデータです。リポジトリをクローンし、パスで取り込んでください。ネットワーク経由で届いたものは汚染扱いとなり、承認されるまで保留されます。それが望ましい挙動であり、ここにワンライナーのインストーラーがない理由です。
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/do-not-ship-an-empty-surface/SKILL.md完全性
公開された状態のファイルの SHA-256。取り込む側は、受け取ったものがこのページに表示されたものと同じか確認できます。
c4dbc6291edf3d41c3820bea6ed19cd283dd90e75d41d61dad97bdab972b7965