jpskill.com
🛠️ 開発・MCP コミュニティ 🔴 エンジニア向け 👤 エンジニア・AI開発者

🛠️ MacosMenubarTuistアプリ

macos-menubar-tuist-app

macOSのメニューバーに表示されるアプリを、Swift

⏱ 障害ポストモーテム 1日 → 1時間

📺 まず動画で見る(YouTube)

▶ 【衝撃】最強のAIエージェント「Claude Code」の最新機能・使い方・プログラミングをAIで効率化する超実践術を解説! ↗

※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。

📜 元の英語説明(参考)

Build, refactor, or review SwiftUI macOS menubar apps that use Tuist.

🇯🇵 日本人クリエイター向け解説

一言でいうと

macOSのメニューバーに表示されるアプリを、Swift

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o macos-menubar-tuist-app.zip https://jpskill.com/download/3119.zip && unzip -o macos-menubar-tuist-app.zip && rm macos-menubar-tuist-app.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/3119.zip -OutFile "$d\macos-menubar-tuist-app.zip"; Expand-Archive "$d\macos-menubar-tuist-app.zip" -DestinationPath $d -Force; ri "$d\macos-menubar-tuist-app.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して macos-menubar-tuist-app.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → macos-menubar-tuist-app フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

💬 こう話しかけるだけ — サンプルプロンプト

  • Macos Menubar Tuist App を使って、最小構成のサンプルコードを示して
  • Macos Menubar Tuist App の主な使い方と注意点を教えて
  • Macos Menubar Tuist App を既存プロジェクトに組み込む方法を教えて

これをClaude Code に貼るだけで、このSkillが自動発動します。

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

macos-menubar-tuist-app

Tuistファーストのワークフローと安定した起動スクリプトを使用して、macOSメニューバーアプリを構築および保守します。ネットワーキング、状態、UIがテスト可能で予測可能な状態を保つように、厳格なアーキテクチャ境界を維持します。

使用するタイミング

  • TuistとSwiftUIで構築されたLSUIElementメニューバーユーティリティを開発する場合。
  • メニューバーアプリのTuistマニフェスト、起動スクリプト、またはアーキテクチャガイダンスが必要な場合。

コアとなるルール

  • 明示的に指示されない限り、アプリはメニューバー専用にしてください。デフォルトではLSUIElement = trueを使用します。
  • トランスポートとデコードロジックはビューの外に置いてください。SwiftUIのビュー本体からネットワーキングを呼び出さないでください。
  • 状態遷移はストア層(@Observableまたは同等のもの)に置き、行/ビューのプレゼンテーションコードには置かないでください。
  • モデルのデコードはAPIの変更に耐えられるようにしてください。オプションフィールド、安全なフォールバック、防御的なパースを使用します。
  • Tuistマニフェストを信頼できる唯一の情報源として扱ってください。手動で編集された生成済みのXcodeアーティファクトに依存しないでください。
  • tuist runがmacOSターゲット/デバイスの解決で信頼できない場合、ローカルでのイテレーションにはスクリプトベースの起動を優先してください。
  • 生成されたプロジェクトをビルドする場合、ローカルの実行スクリプトでは生のxcodebuildよりもtuist xcodebuild buildを優先してください。

期待されるファイル構造

デフォルトではこの配置を使用します。

  • Project.swift: アプリターゲット、設定、リソース、Info.plistキー
  • Sources/*Model*.swift: API/ドメインモデルとデコード
  • Sources/*Client*.swift: リクエスト、レスポンスマッピング、トランスポートに関する懸念事項
  • Sources/*Store*.swift: 監視可能な状態、更新ポリシー、フィルタリング、キャッシュ
  • Sources/*Menu*View*.swift: メニューの構成とトップレベルのUI状態
  • Sources/*Row*View*.swift: 行のレンダリングと軽量なインタラクション
  • run-menubar.sh: 規範的なローカル再起動/ビルド/起動パス
  • stop-menubar.sh: 必要に応じて明示的に停止するためのヘルパー

ワークフロー

  1. Tuistの所有権を確認する
  • Tuist.swiftProject.swift(またはワークスペースマニフェスト)が存在することを確認します。
  • 起動動作を変更する前に、既存の実行スクリプトを読みます。
  1. コーディングの仮定の前にバックエンドの動作を調査する
  • curlを使用して、エンドポイントの形状、認証要件、ページネーションの動作を確認します。
  • エンドポイントがlimit/pageを無視する場合、ストアでローカルにトリミングする完全リスト処理を実装します。
  1. レイヤーを下から上に実装する
  • まずモデルを定義/調整します。
  • クライアントのリクエスト/デコードロジックを追加または更新します。
  • ストアの更新、フィルタリング、キャッシュポリシーを更新します。
  • 最後にビューを接続します。
  1. アプリの接続を最小限に保つ
  • アプリのエントリは、シーン/メニューの接続と依存性注入に焦点を当ててください。
  • Appまたはメニューシーンの宣言にビジネスロジックを埋め込まないでください。
  1. 起動のエルゴノミクスを標準化する
  • 実行スクリプトが再起動する前に既存のインスタンスを再起動することを確認します。
  • 実行スクリプトが副作用としてXcodeを開かないことを確認します。
  • 生成が必要な場合はtuist generate --no-openを使用します。
  • 実行スクリプトが生成されたプロジェクトをビルドする場合、生のxcodebuildを直接呼び出す代わりにTUIST_SKIP_UPDATE_CHECK=1 tuist xcodebuild build ...を優先してください。

検証マトリックス

編集後に検証を実行します。

TUIST_SKIP_UPDATE_CHECK=1 tuist xcodebuild build -scheme <TargetName> -configuration Debug

起動ワークフローが変更された場合:

./run-menubar.sh

シェルスクリプトが変更された場合:

bash -n run-menubar.sh
bash -n stop-menubar.sh
./run-menubar.sh

失敗パターンと修正方向

  • tuist runがmacOSの宛先を解決できない場合: 規範的なローカル実行パスとしてrun/stopスクリプトを使用します。

  • 更新後にメニューUIが遅い、または一貫性がない場合: 派生状態とフィルタリングをストアに移動し、ビューはレンダリング専用に保ちます。

  • APIペイロードの変更によりデコードが壊れる場合: オプションフィールドとデフォルト値でモデルのデコードを緩和し、不足しているデータをUIで安全に表示します。

  • 機能が迅速なUIパッチを要求する場合: 行/メニューのプレゼンテーションを変更する前に、モデル/クライアント/ストアで根本原因を追跡します。

完了チェックリスト

  • 明示的に変更されない限り、メニューバー専用の動作を維持します。
  • ネットワークと状態のロジックをSwiftUIのビュー本体から除外します。
  • Tuistマニフェストと実行スクリプトを実際のビルド/実行フローと整合させます。
  • 変更された領域に対して検証マトリックスを実行します。
  • 実行された具体的なコマンドと結果を報告します。

制限事項

  • このスキルは、タスクが上記で説明されているスコープと明確に一致する場合にのみ使用してください。
  • 出力を環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全境界、または成功基準が不足している場合は、停止して説明を求めてください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

macos-menubar-tuist-app

Build and maintain macOS menubar apps with a Tuist-first workflow and stable launch scripts. Preserve strict architecture boundaries so networking, state, and UI remain testable and predictable.

When to Use

  • When working on LSUIElement menubar utilities built with Tuist and SwiftUI.
  • When you need Tuist manifests, launch scripts, or architecture guidance for a menubar app.

Core Rules

  • Keep the app menubar-only unless explicitly told otherwise. Use LSUIElement = true by default.
  • Keep transport and decoding logic outside views. Do not call networking from SwiftUI view bodies.
  • Keep state transitions in a store layer (@Observable or equivalent), not in row/view presentation code.
  • Keep model decoding resilient to API drift: optional fields, safe fallbacks, and defensive parsing.
  • Treat Tuist manifests as the source of truth. Do not rely on hand-edited generated Xcode artifacts.
  • Prefer script-based launch for local iteration when tuist run is unreliable for macOS target/device resolution.
  • Prefer tuist xcodebuild build over raw xcodebuild in local run scripts when building generated projects.

Expected File Shape

Use this placement by default:

  • Project.swift: app target, settings, resources, Info.plist keys
  • Sources/*Model*.swift: API/domain models and decoding
  • Sources/*Client*.swift: requests, response mapping, transport concerns
  • Sources/*Store*.swift: observable state, refresh policy, filtering, caching
  • Sources/*Menu*View*.swift: menu composition and top-level UI state
  • Sources/*Row*View*.swift: row rendering and lightweight interactions
  • run-menubar.sh: canonical local restart/build/launch path
  • stop-menubar.sh: explicit stop helper when needed

Workflow

  1. Confirm Tuist ownership
  • Verify Tuist.swift and Project.swift (or workspace manifests) exist.
  • Read existing run scripts before changing launch behavior.
  1. Probe backend behavior before coding assumptions
  • Use curl to verify endpoint shape, auth requirements, and pagination behavior.
  • If endpoint ignores limit/page, implement full-list handling with local trimming in the store.
  1. Implement layers from bottom to top
  • Define/adjust models first.
  • Add or update client request/decoding logic.
  • Update store refresh, filtering, and cache policy.
  • Wire views last.
  1. Keep app wiring minimal
  • Keep app entry focused on scene/menu wiring and dependency injection.
  • Avoid embedding business logic in App or menu scene declarations.
  1. Standardize launch ergonomics
  • Ensure run script restarts an existing instance before relaunching.
  • Ensure run script does not open Xcode as a side effect.
  • Use tuist generate --no-open when generation is required.
  • When the run script builds the generated project, prefer TUIST_SKIP_UPDATE_CHECK=1 tuist xcodebuild build ... instead of invoking raw xcodebuild directly.

Validation Matrix

Run validations after edits:

TUIST_SKIP_UPDATE_CHECK=1 tuist xcodebuild build -scheme <TargetName> -configuration Debug

If launch workflow changed:

./run-menubar.sh

If shell scripts changed:

bash -n run-menubar.sh
bash -n stop-menubar.sh
./run-menubar.sh

Failure Patterns and Fix Direction

  • tuist run cannot resolve the macOS destination: Use run/stop scripts as canonical local run path.

  • Menu UI is laggy or inconsistent after refresh: Move derived state and filtering into the store; keep views render-only.

  • API payload changes break decode: Relax model decoding with optional fields and defaults, then surface missing data safely in UI.

  • Feature asks for quick UI patch: Trace root cause in model/client/store before changing row/menu presentation.

Completion Checklist

  • Preserve menubar-only behavior unless explicitly changed.
  • Keep network and state logic out of SwiftUI view bodies.
  • Keep Tuist manifests and run scripts aligned with actual build/run flow.
  • Run the validation matrix for touched areas.
  • Report concrete commands run and outcomes.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.