Community画像github.com

show-me

ユーザーが現在のトピックを視覚的に理解できるように、簡潔な図、コード構造のスケッチ、APIサーフェスの差分、フォーカスされたHTMLアーティファクトを提供します。

show-me とは?

このスキルは、会話のトピックを視覚的に説明するために設計されています。ロジックやアルゴリズムを擬似コードで示したり、ランタイムの制御フローをコールツリーで表現したり、UI構造をコンポーネントツリーで表示したりします。また、エクスポートされたAPIやインターフェースの変更を差分形式で示し、ファイルの責務やリファクタリングをファイルツリーで表現します。さらに、Mermaidを使用したシーケンス図、フローチャート、状態遷移図などもサポートし、複雑な概念にはHTMLアーティファクトを生成します。ターミナル環境ではMermaidが表示できない場合、コールツリーや擬似コードにダウングレードします。このスキルは、Claude Code, Cursor, CodexなどのAIエージェントプラットフォームで利用でき、開発者がコードベースの構造や変更を迅速に理解するのに役立ちます。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/pretty-good-software-org/show-me-skill/tree/HEAD/skills/show-me

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

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

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

ドキュメント

ユーザーが現在の会話トピックを視覚的に理解できるように支援します。前置きは省き、散文は簡潔に保ちます。重要なポイントを明確にする最小のビューを選んでください。

他のスキルやワークフローがビュー形状を指定している場合は、その形状を直接使用します。形状選択やHTMLアーティファクトのオプションは省略し、呼び出し元が要求するスコープとフォーマット内で出力を維持します。

  • ロジックやアルゴリズムを擬似コードで表示:
on(save)
  if content is unchanged
    return cached result
  write new content
  return fresh result
  • ランタイムの制御フローをコールツリーで表示:
submitForm
  createSession
    persistPrompt
    launchAgent
  navigateToSession
  • UI構造をコンポーネントツリーで表示(重要な状態やモジュール境界を含む):
<SessionPage> (apps/example/src/routes/session.tsx)
  useSessionEvents()
  <SessionToolbar>
    <RunSkillButton> (packages/ui)
  • エクスポートされたAPIやインターフェースの変更を、ファイルごとにグループ化したAPIサーフェスの差分として表示。変更されたエクスポートシンボルやシグネチャのみを含め、追加、削除、置換を明示します:
 internal/api/suggestion.go
-ApplySuggestion(client, prNumber, commentID)
+ApplySuggestion(client, target SuggestionTarget)
+
 internal/api/types.go
 type SuggestionTarget struct {
+  PullRequest int
+  CommentID   int
 }
  • ファイルの責務や大規模なリファクタリングを浅いファイルツリーで表示:
src/
├── commands/       # ユーザーアクションを解析
├── sessions/       # セッション状態を所有
└── transport/      # APIリクエストを送信
  • コンポーネントの相互作用、制御フロー、データフローをMermaidで表示。トピックが分岐ワークフロー、状態遷移、ドメインやデータの関係、アーキテクチャ、依存関係、デプロイトポロジーを含む場合は、Mermaid図タイプを読み、一致する形状を選択します。フローチャート、シーケンス図、状態図、クラス図、ER図の範囲内に留めてください。これらはターミナルレンダラーが描画できる種類です。図は120カラム幅未満、短いラベルと少数のノードに保ちます。それより広い場合は、ターミナルに通知を表示して置き換えます。フェンス付きMermaidを生テキストとして表示する画面では、コールツリーまたは擬似コード形状を優先し、図がダウングレードされたことを伝えます。

    時間経過に伴う相互作用の順序がポイントとなる場合は、シーケンス図を使用します:

sequenceDiagram
    participant User
    participant UI
    participant Daemon
    User->>UI: choose command
    UI->>Daemon: send expanded prompt
    Daemon-->>UI: stream result
  • 変更点がポイントであり、周囲の形状が既に存在する場合はdiffを使用します。差分の形状をトピックに合わせます。

コンポーネント変更の場合:

 <SessionPage>
   useSessionEvents()
   <SessionToolbar>
+    <RunSkillButton />
   <SessionTimeline>
+    <SkillResultCard />

ファイルレイアウト変更の場合:

 src/
 ├── commands/
+│   └── show-me.ts       # スラッシュコマンドを展開
 ├── sessions/
-└── transport.ts
+└── transport/
+    ├── client.ts
+    └── stream.ts

コールツリーまたはコールスタック変更の場合:

 submitForm
   createSession
     persistPrompt
+    expandSkillMention
     launchAgent
-  navigateToSession
+  navigateToSession
+    subscribeToEvents

状態または制御フロー変更の場合:

 on(save)
-  write content
+  if content is unchanged
+    return cached result
+  write new content
+  invalidate cache
  • ブロックの大部分が新しい場合、省略すると所有権や順序が隠れてしまう場合、またはユーザーがコピー可能なターゲット形状を必要とする場合は、ブロック全体を表示:
function expandSkill(command: string): string {
  const skillName = command.slice(1)
  return `use the ${skillName} skill`
}
  • 視覚的なUI、レイアウト、状態比較、またはMermaidでは密度が高すぎるコンセプトについては、フォーカスされたHTMLファイルを1つ作成します(図、インフォグラフィック、短いスライドデッキのいずれかで、ポイントに合うもの)。製品の色、タイプ、スペーシング、コンポーネントに合わせ、実際のラベルとデータを使用し、デスクトップとモバイルをサポートします。ローカルターミナルではプラットフォームのオープナーで開き、ホストされた画面ではアーティファクトとして公開してリンクを提供します:
Bash(open path/to/show-me-{description}.html)

ガイダンス

各視覚要素を、それがサポートする短いテキストの隣に配置します。ユーザーの現在の質問や、現在の議論ポイントを解決するための選択肢に答えるために必要な呼び出し、ファイル、プロパティ、状態、境界のみに留めます。

これらの中から1つ使用しても、複数使用しても、すべてを使用することはほとんどありません。判断力を働かせ、ユーザーを圧倒しないようにしてください。

関連スキル