Cmp preview screenshot
Compose Multiplatform (CMP) の commonMain にあるプレビューのスクリーンショットを取得するためのワークフローを提供します(Android Studio の Agent Chat 上での利用を想定)。一時的にプレビュー関数を androidMain に移動してレンダリングし、完了後に元に戻す手順を自動化・支援します。From its SKILL.md
npx -y skills add h-ideura/skills --skill cmp-preview-screenshotAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.0 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
CMP Preview Screenshot Skill
このスキルは、Compose Multiplatform プロジェクトにおいて、commonMain に定義されたプレビューをレンダリングしてスクリーンショット(render_compose_preview)を取得するための手順をガイドします。
想定利用環境
- Android Studio の Agent Chat での利用を前提としています。
render_compose_previewやgradle_syncなど、手順で参照するツールは Android Studio のエージェント機能が提供するものとして説明しています。 - Cursor など別のエージェント環境では、同等のツール名・挙動がない場合があります。その場合は手順の意図(一時的な
androidMainへの配置と同期後のレンダリング)に沿って、利用可能な手段に置き換えてください。
背景
現在、commonMain にある @Preview は、render_compose_preview ツールが androidMain (Android ターゲット) でのレンダリングを想定しているなどの理由で、直接レンダリングできない場合があります。そのため、一時的に androidMain に移動してレンダリングを行う必要があります。
実行手順
1. プレビューの実装 (新規の場合)
- 新しくプレビューを作成する場合は、まず
commonMainの対象ファイル内(例: スクリーン定義の末尾)に@Preview関数を実装します。 - これにより、ドメインモデルや共通コンポーネントとの整合性を
commonMainのコンテキストで確認できます。
2. 対象の特定と一時移動
- スクリーンショットを撮りたい
@Preview関数が含まれるcommonMainのファイルパスと、関数名を特定します。 androidMain内に一時的なファイル(例:composeApp/src/androidMain/kotlin/ui/TempPreview.kt)を作成し、対象のプレビュー関数をコピーします。- 注意:
androidMain側のパッケージ名は、参照先の Composable と同じにするか、適切にインポートを設定してください。- プレビュー対象の Composable が
commonMainでpublicまたはinternalであれば、androidMainから参照可能です。
3. Gradle Sync による同期
- プレビュー関数を
androidMainに配置した後、必ずgradle_syncを実行してください。 - これにより、IDE およびレンダリングツールが
androidMainに追加された新しいシンボルを正しく認識し、依存関係を解決できるようになります。
4. レンダリングの実行
render_compose_previewツールを使用して、androidMainに配置したファイルと関数名を指定して実行します。filePath:androidMainの一時ファイルパスcomposableName: プレビュー関数名
- 取得した画像を確認し、必要に応じて調整します。
5. 元の状態に復元
- レンダリングが完了したら、
androidMainに作成した一時的なコードまたはファイルを削除します。 commonMainに追加したプレビュー関数をそのまま残すか、削除するかはタスクの指示に従ってください。
注意事項
render_compose_previewが失敗する場合は、ビルドが通る状態であることを確認してください(必要に応じてgradle_buildを検討)。commonMainとandroidMainで同じ関数名が重複するとビルドエラー(Conflicting overloads)が発生するため、一時移動の際は注意してください。
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.