テーマを切り替える

macOS App Skills:AI Coding Agent でネイティブ Mac アプリを作るための Skill パック

Easton editorial illustration: sculptural forked code-path tree, critic pruning ring

"fayazara/macos-app-skills README は、project の位置づけ、module list、install path、system requirements、release/auto-update/notch-ui の capability boundary を確認する一次情報です。"

Claude Code で macOS アプリを書いたら、2 万行超の code のうち手書きは 1,000 行未満だった。なぜそんなことができるのか。Indragie は 2025 年の実践記事で、答えをかなり具体的に書いています。Agent がネイティブ Mac アプリを書くと、Swift Concurrency の混乱、新旧 framework の混在、deprecated API の呼び出し、window management の誤解、release pipeline の抜け漏れという 5 つの罠に入りやすい。要するに、Agent は macOS のネイティブ pattern を知らず、Mac を Web ページのように書いてしまうのです。

macos-app-skills は、その問題のための AI Agent 向け Skill パックです。WWDC video、断片的な docs、間違えやすい macOS pattern を 7 つの module に固めています。build、ネイティブ pattern reference、settings window、auto update、notch UI、release pipeline、install integration です。各 module には、what it is、what it solves、typical usage、command、flow、limitation、FAQ という細かな契約表があります。これにより、Agent は最初の一手から外しにくくなります。以下では module ごとに分解し、fireworks-macapp-creator、claude-swift-skills とも比較します。

インストール接続:Agent に Skill パックを読み込ませる

インストール command はシンプルです。

npx skills add fayazara/macos-app-skills -g -y

-g は global install、-y は確認 prompt の skip です。install 後に Agent を再起動すると、skills directory の中身を自動で読み込みます。以前 OpenCode でこの package を試したときは、再起動後の skills list に macos-app-skills の module が追加されていました。build、macos-patterns、settings-ui、auto-update、notch-ui、release です。

前提条件は先にそろえておきます。macOS 14+、Xcode 15+、Swift 5.9+。Liquid Glass のような macOS 26 feature を使いたいなら Xcode 26 beta が必要です。古い version では graceful degradation になり、基本機能はそのまま使えます。

Agent の読み込み確認には注意点があります。Claude Code など一部の Agent は、skills directory path を手動で設定する必要があります。OpenCode は ~/.config/opencode/skills/ を自動認識します。Cursor では project root に .agents/skills/ を置く形です。確認方法は、Agent に loaded skills を列挙させること。あるいは「macos-app-skills の build module を知っている?」と聞き、内容を参照できるか見ます。

よくある失敗は、network と permission の 2 種類です。GitHub assets への access が遅い network では、proxy を使うか数回 retry します。permission 問題は、多くの場合 npx cache directory に書けないことが原因です。sudo npx より、skills directory を手動コピーするほうが安全です。もう 1 つは version mismatch。project は 2026-05 に作られており、skill の数や名前が変わる可能性があります。install 前に GitHub README の最新 list を見てください。

サブモジュール分解

サブモジュール何か何を解決するか典型的な使い方commandflow制限FAQ
install commandnpx で Skill パックを global installAgent が macOS development skill を呼べるようにする1 行 command で installnpx skills add fayazara/macos-app-skills -g -ycommand 実行 → Agent 再起動 → loading 確認npx と network に依存network が遅いときは? proxy か retry
prerequisite checkmacOS/Xcode/Swift の version requirementskill 内の code を実行できる environment か確認system version、Xcode version、Swift version を確認sw_versxcodebuild -versionswift --versionversion 確認 → README requirement と比較 → 足りなければ upgrademacOS 14+、Xcode 15+、Swift 5.9+古い version でも使える? 一部機能は降格
Agent loading verificationAgent が skills を読み込んだか確認install が有効か検証Agent に skills list を出させる、または reference test標準 command はなく Agent 実装に依存再起動 → loading status を質問 → reference testAgent ごとに config path が違う読み込まれないときは? config path を確認
common failuresnetwork、permission、version の 3 種類排障 checklist で素早く原因を切り分けるproxy、permission、version check固定 command はなく checklist に従うnetwork 確認 → permission 確認 → version 確認GitHub access が遅い地域があるsudo は安全? できれば使わず手動コピー

build module:command line から macOS project を build する

build module は xcodebuild を使い、任意の macOS Xcode project を command line から build します。つまり Agent が Xcode GUI をクリックせず、terminal command で compile できるようにする module です。

具体的には、project discovery(.xcodeproj.xcworkspace を探す)、scheme detection(どの target があるか確認する)、beta toolchain handling(Xcode beta の path 問題)、common build failures(scheme not found、signing error など)を扱います。AI が macOS app を書くときの error は、この段階でよく起きます。Agent が渡す parameter を知らなかったり、iOS scheme を macOS scheme として扱ったりするためです。

典型的な使い方は、Agent に build を実行させる前にこの skill を load させることです。project file の探し方、scheme の選び方、error handling を Agent に伝えます。command example:

xcodebuild -project MyApp.xcodeproj -scheme MyApp -configuration Release

workspace を使う場合:

xcodebuild -workspace MyApp.xcworkspace -scheme MyApp -configuration Release clean build

流れはだいたい、project discovery → scheme detection → build execution → error inspection → iterative fix です。Agent はまず .xcodeproj または .xcworkspace を探し、available scheme を list し、適切な scheme を選んで build します。error が出たら skill の troubleshooting checklist に沿って処理します。

制限もはっきりしています。Xcode project 向けであり、SwiftPM-only project には向きません。pure SwiftPM project なら Xcode project に変換するか、別の skill を使う必要があります。beta toolchain にも注意が必要です。Xcode beta の version number や path は標準的でないため、skill には専用の handling logic があります。

FAQ で多いのは「scheme が見つからないときどうするか」です。多くの場合、project に scheme が定義されていないか、scheme name と target name が一致していません。skill は xcodebuild -list で available scheme を先に調べるよう Agent に教えます。もう 1 つは beta toolchain の扱いです。skill は Xcode beta path(通常 /Applications/Xcode-beta.app)を指定し、platform を明示する -destination parameter を渡します。

サブモジュール分解

サブモジュール何か何を解決するか典型的な使い方commandflow制限FAQ
what it isxcodebuild で macOS project を buildGUI なしで command line compileAgent が build する前にこの skill を load下の code block を参照project discovery → scheme detection → build → error handlingXcode project のみSwiftPM project は? Xcode project に変換
what it solvesproject/scheme/toolchain/failure handlingAgent が正しい parameter を知らない問題先に project file を探し、次に scheme を選ぶxcodebuild -list で scheme を先に確認execute → error check → iterative fixbeta toolchain path が標準でないbeta toolchain は? path と destination を指定
typical usagebuild 前に Agent に skill を load させるAgent の parameter guessing を避けるbuild skill を先に load固定 command なし、Agent が skill を使うload skill → build → error handlingskill は knowledge であって magic ではないAgent が load しない? 手動 load か config 確認
commandxcodebuild の standard commandAgent に実行可能な command example を渡すxcodebuild に直接渡すxcodebuild -project MyApp.xcodeproj -scheme MyAppparameter 付きで実行 → 結果待ち → error parseparameter format が正しい必要ありscheme name は? -list で確認
flowbuild → check error → fixstandard build flow手順通り実行固定 command なし、logic としての flowdiscover → detect → build → inspect → fixflow を飛ばさないbuild failure は? skill の checklist を見る
limitationXcode project support scope適用条件を明示Xcode project にだけ使うなしなしSwiftPM は直接 support しないなぜ SwiftPM 非対応? xcodebuild 前提の skill だから
FAQscheme not found、beta toolchaincommon question の answeravailable scheme を調べ、beta path を指定xcodebuild -listcheck → query → specifybeta toolchain には追加設定が必要beta かどうかは? version と path で判断

macos-patterns module:Agent が Mac を Web として書くのを防ぐ

macos-patterns module は、この Skill パックの中心です。macOS の native pattern を参照可能な形にし、Agent が Web 的な発想で Mac app を書くのを防ぎます。多くの SwiftUI Agent skill には似た問題があります。Agent は Web 風 UI を書けても、menu bar、window hierarchy、screen geometry といった macOS 固有概念を理解していないのです。

具体的な pain point は次のとおりです。

  1. menu bar app の 3 方式:MenuBarExtra(SwiftUI native)、NSStatusItem(古い AppKit)、NSPopover(pop-up window)。Agent は混同しやすく、選び方を間違えると macOS らしくない UI になります。
  2. activation policy:Dock icon toggle、LSUIElement config、NSApplication.setActivationPolicy()。知らないと background app を foreground app のように書いてしまいます。
  3. NSPanel vs NSWindow:floating window(Inspector などの NSPanel)と normal window(NSWindow)の違い。ここを間違えると window behavior が期待とずれます。
  4. window level と collection behavior:CGShieldingWindowLevel、NSWindow.Level、collectionBehavior(multi-screen、full-screen behavior)。知らないと window が変な layer に出たり、screen をまたいで崩れたりします。
  5. screen geometry:frame vs visibleFrame(Dock/menu bar を含むか)、Y axis flip(macOS coordinate は左下原点)、multi-screen handling。WWDC video には出てくる細部ですが、Agent が知っているとは限りません。
  6. keyboard shortcut の 3 段階:SwiftUI .keyboardShortcut()(simple)、NSEvent monitor(global)、Carbon hotkey(system-level)。Agent は適切な tier を選び間違えがちです。
  7. その他の pattern:file picker(NSOpenPanel)、clipboard(NSPasteboard)、drag and drop(NSDragging)、NavigationSplitView + inspector、launch at login(LaunchAgent)、Quick Look(QLPreviewPanel)、NSWorkspace、ScreenCaptureKit、UserDefaults/@AppStorage persistence。

典型的な使い方:macOS UI を書かせる前に、この skill を明示的に load します。menu bar app を作りたいなら、「macos-patterns ではどの menu bar 方式を推奨している?」と聞きます。MenuBarExtra は SwiftUI native の推奨、NSStatusItem は AppKit の古い選択肢だと返せるはずです。

pattern list は長いので、skill は各 pattern を recommendation/alternative/use case/code example/limitation の 5 列に分けます。高頻度のものをいくつか見ます。

方式推奨/代替適用場面code example制限
MenuBarExtra推奨SwiftUI native、simple caseMenuBarExtra("App", systemImage: "app") { ContentView() }macOS 13+
NSStatusItem代替complex customization または AppKit interopNSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength)lifecycle を手動管理
NSPopover補助click 後に開く popover windowNSPopover() + NSStatusItemNSStatusItem と組み合わせる必要あり

activation policy comparison

policy推奨場面configurationcode制限
NSApplication.ActivationPolicy.regularforeground app、Dock icon ありInfo.plist に LSUIElement を設定しないdefault behavior最も一般的
NSApplication.ActivationPolicy.accessorybackground app、Dock icon なし、menu bar ありInfo.plist に LSUIElement=true を設定NSApplication.shared.setActivationPolicy(.accessory)menu bar は表示される
NSApplication.ActivationPolicy.prohibited完全 background、UI なしLaunchAgent configurationNSApplication.shared.setActivationPolicy(.prohibited)Dock なし、menu bar なし

window level comparison

typelevel value適用場面code制限
NSWindow.Level.normal0normal windowdefault最も一般的
NSWindow.Level.floating3floating window、Inspector などwindow.level = .floating他 app を強く覆わない
CGShieldingWindowLevelhighestshielding layer、notch UI などwindow.level = CGShieldingWindowLevel()すべてを覆うため慎重に使う

制限:macOS 専用で、iOS は扱いません。cross-platform pattern が必要なら、claude-swift-skills の cross-platform module など別の skill を使います。

FAQ で多いのは、Dock icon をどう切り替えるかです。NSApplication.setActivationPolicy() を動的に使います。multi-screen はどう扱うか。NSScreen.screens で全 screen を列挙し、visibleFrame で Dock/menu bar を除いた usable area を取得します。Y axis flip はどうするか。macOS coordinate は左下原点(0 が左下)です。Agent は Web の左上原点に引きずられやすいため、手動変換が必要です。

settings-ui module:settings window と Liquid Glass

settings-ui module は 2 つの問題を扱います。macOS settings window の正しい実装方法と、Liquid Glass(macOS 26 の新 material)config です。要するに、Agent に SwiftUI の Window scene を雑に使わせず、macOS convention に沿った settings window を書かせるための module です。

具体的な pain point は、SwiftUI の Window scene が fullSizeContentView を support しないことです。そのため settings window の transparent background extension が効きません。Liquid Glass の config を間違えると material も正しく表示されません。Agent が知らないと、system settings window と違う見た目になります。

典型的な使い方:NSWindowController + .fullSizeContentView + NavigationSplitView。skill は complete Swift file を提供しており、project にそのままコピーできます。flow:

  1. NSWindowController を作成
  2. fullSizeContentView を config
  3. NavigationSplitView(sidebar + detail)を追加
  4. transparent background を設定
  5. Liquid Glass(macOS 26+)を統合

code example(skill には complete file があります):

// SettingsWindowController.swift
class SettingsWindowController: NSWindowController {
    convenience init() {
        let window = NSWindow(
            contentRect: NSRect(x: 0, y: 0, width: 600, height: 400),
            styleMask: [.titled, .closable, .resizable],
            backing: .buffered,
            defer: false
        )
        window.title = "Settings"
        window.fullSizeContentView = true // 重要な設定
        self.init(window: window)
    }
}

制限:Liquid Glass は macOS 26+ でのみ使えます。古い version では通常の material に graceful fallback します。Liquid Glass が不要なら、この部分は無視して standard SwiftUI WindowGroup を使えます。

FAQ:古い version ではどう fallback するか。skill は system version を check し、material を切り替える fallback code を提供します。sidebar をどう追加するか。NavigationSplitView を使います。skill に complete example があります。

auto-update module:Sparkle auto update integration

auto-update module は、Sparkle auto update integration の timing 問題を解きます。SPUStandardUpdaterControllerapplicationDidFinishLaunching が戻る前に作成する必要があります。そうしないと update check が失敗することがあります。この detail は Sparkle docs にありますが、Agent はよく見落とします。その結果、user に auto update prompt が出ません。

典型的な使い方:UpdaterManager singleton + Info.plist config + EdDSA key generation。skill は UpdaterManager.swift を提供しており、そのまま使えます。

flow:

  1. SPM dependency(Sparkle)を追加
  2. UpdaterManager singleton を作成
  3. Info.plist(SUFeedURL、SUPublicEDKey)を config
  4. Sparkle sign_update で EdDSA key を生成
  5. UI(settings toggle + menu bar button)を追加

code example(skill には complete file があります):

// UpdaterManager.swift
class UpdaterManager {
    static let shared = UpdaterManager()
    private var updaterController: SPUStandardUpdaterController!

    init() {
        // applicationDidFinishLaunching が戻る前に作成する必要があります
        updaterController = SPUStandardUpdaterController(
            startingUpdater: true,
            updaterDelegate: nil,
            userDriverDelegate: nil
        )
    }
}

制限:Mac App Store 外で配布する app 向けです。App Store に出す場合、Sparkle は使えません。App Store の built-in update mechanism を使います。

FAQ:EdDSA key はどう生成するか。Sparkle の sign_update tool を使います。skill には詳細手順があります。update test はどうするか。local feed server を立てるか、release 後に manual update check を trigger します。

notch-ui module:notch area の Dynamic Island 風 UI

notch-ui module は、MacBook の notch area に Dynamic Island 風 floating UI を作るためのものです。普通の window を上端に置くのではなく、iPhone 14 Pro のような notch UI に近い挙動を書かせる module です。

pain point は、特定の NSPanel config(borderless、CGShieldingWindowLevel)、notch 位置を計算する screen geometry math、凹んだ Bezier の「耳」curve を持つ custom shape です。Agent が知らないと、位置がずれたり、形が合わなかったりします。Notch UI macOS SwiftUI project でもよく起きる問題です。

典型的な使い方:borderless NSPanel + CGShieldingWindowLevel + NotchShape。skill は NotchWindow.swift と NotchShape.swift を提供しており、そのままコピーできます。

flow:

  1. borderless NSPanel を作成
  2. CGShieldingWindowLevel を設定
  3. NotchShape(凹 Bezier の「耳」curve)を実装
  4. spring animation を追加
  5. notch のない Mac には fallback pill mode を用意

code example(skill には complete file があります):

// NotchWindow.swift
class NotchWindow: NSPanel {
    init() {
        super.init(
            contentRect: calculateNotchFrame(),
            styleMask: [.borderless],
            backing: .buffered,
            defer: false
        )
        level = CGShieldingWindowLevel() // 重要な設定
        backgroundColor = .clear
    }
}

制限:MacBook notch 向けです。iMac や Mac mini など notch のない Mac では fallback pill mode を使います。notch UI が不要なら、この module は無視できます。

FAQ:notch のない Mac ではどうするか。skill は top center に表示する fallback pill mode を提供します。位置調整はどうするか。screen size と notch position から計算します。skill には math formula があります。

release module:complete release pipeline

release module は macOS release pipeline の複雑さを扱います。8+ の manual step は抜け漏れや順序ミスが起きやすい。version bump、Archive、Notarize、Export、DMG creation、EdDSA signing、appcast.xml update、GitHub release。Agent が理解していないと、どれかを飛ばして release failure になったり、update delivery が壊れたりします。

典型的な使い方:release.json を追加し、Go CLI を実行します。skill はそのまま使える Go CLI tool を提供しています。

flow(8 step):

  1. version bump:Info.plist と project file の version を更新
  2. Archivexcodebuild archive で package
  3. Notarizenotarytool で公証 submit
  4. Exportxcodebuild -exportArchive.app を export
  5. DMG creationcreate-dmg で installer を作成
  6. EdDSA signing:Sparkle sign_update で署名
  7. appcast.xml update:Sparkle generate_appcast で feed を更新
  8. GitHub releasegh release create で GitHub に公開

command example:

# Go CLI
go run github.com/fayazara/macos-app-skills/release/cli@latest

または各 step を手動で実行します。skill には complete command list があります。

# Archive
xcodebuild -project MyApp.xcodeproj -scheme MyApp archive

# Notarize
notarytool submit MyApp.zip --apple-id YOUR_ID --password YOUR_PASSWORD --team-id YOUR_TEAM

# Export
xcodebuild -exportArchive -archivePath MyApp.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath .

# DMG
create-dmg --volname "MyApp" --volicon "icon.icns" MyApp.app MyApp.dmg

# EdDSA signing
sign_update MyApp.dmg

# appcast.xml
generate_appcast MyApp.app

# GitHub release
gh release create v1.0.0 MyApp.dmg --title "v1.0.0" --notes "Release notes"

制限:GitHub CLI と Sparkle EdDSA key が必要です。gh を config していないと最後の step で止まります。EdDSA key がないと signing step で止まります。

FAQ:release.json はどう config するか。skill は template を提供し、version number、公証 credential、DMG config などを指定できます。公証 failure はどう扱うか。notarytool の error log を見ます。skill には troubleshooting checklist があります。

サブモジュール分解

サブモジュール何か何を解決するか典型的な使い方commandflow制限FAQ
what it iscomplete release pipeline + Go CLImacOS release の 8 step flow を automaterelease.json + Go CLIgo run github.com/fayazara/macos-app-skills/release/cli@latestversion bump → Archive → Notarize → Export → DMG → EdDSA → appcast → GitHubGitHub CLI + Sparkle key が必要GitHub CLI がない? GitHub に手動 release
what it solves8+ manual step の抜け漏れAgent の step omission による release failureskill を load し、flow に従う固定 command なし、step checklist に従う各 step 実行 → error check → iterative handlingflow を飛ばさないどこか失敗した? checklist を見る
typical usagerelease.json + Go CLIstandard release implementationrelease.json を追加し CLI を実行上の code block を参照config → run → result checkrelease.json は手動 config が必要release.json は? skill に template あり
CLIGo CLI toolrelease flow を automate1 command で releasego run github.com/.../cli@latestCLI 実行 → 完了待ち → result checkGo environmentGo がない? 各 step を手動実行
flow8 step release flow明確な step checklist手動または CLI で実行固定 command なし、logic としての flowbump → Archive → Notarize → Export → DMG → EdDSA → appcast → GitHubstep order を変えないorder は変えられる? 推奨しない
limitationGitHub CLI + Sparkle keyprerequisite を明示gh と key config を確認gh --versionsign_update --helpcheck → config → executetool が欠けると止まるSparkle key は? sign_update tool を使う
FAQrelease.json config、公証 failurecommon question の answerskill template と troubleshooting checklist を使う固定 command なしtemplate 確認 → config → error handling公証は複数回失敗することがある公証失敗? notarytool log を確認

3 つの類似 project 比較:どの Skill パックを選ぶか?

macos-app-skills のほかに、似た Skill パックとして fireworks-macapp-creator と claude-swift-skills があります。3 project は position がかなり違い、向いている scenario も変わります。

positioning の違い

projectpositionmodule 数特徴
macos-app-skills機能 module 型、macOS 固有 scenario に集中7 modulesbuild、macos-patterns、settings-ui、auto-update、notch-ui、release、install integration
fireworks-macapp-creatorarchitecture + style system + scaffold tool8 stylesPython scaffold tool、SwiftUI-first + AppKit interop、style-driven UI
claude-swift-skillsSwift full-stack + iOS/macOS + WWDC 202522 skillsSwift 6.2、SwiftUI、SwiftData、Liquid Glass、Foundation Models、iOS/macOS cross-platform

use case comparison

scenariomacos-app-skillsfireworks-macapp-creatorclaude-swift-skills
macOS-only app推奨使える重い。iOS も含む
macOS + iOS cross-platformiOS は support しないiOS は support しない推奨
release pipeline が必要release module ありあるが macos-app-skills ほど詳しくないmacos-distribution あり
style system が必要style system なし8 preset stylesstyle system なし
WWDC 2025 feature が必要一部あり(Liquid Glass など)一部ありWWDC 2025 を広く cover
scaffold tool が必要scaffold なしPython tool で SwiftPM project を生成scaffold なし

recommendation

選び方は主に 3 つです。platform scope、feature needs、WWDC feature coverage。

macOS-only app:macos-app-skills または fireworks-macapp-creator。release pipeline と notch UI が必要なら macos-app-skills。complete scaffold と style system が必要なら fireworks です。

macOS + iOS cross-platform:claude-swift-skills。ここで唯一 iOS を cover し、Foundation Models(local LLM)、tech-stack validator、PRD architecture tool など 22 skills を含みます。

WWDC 2025 feature が必要:claude-swift-skills。Liquid Glass、Swift 6.2、SwiftData new features などを広く cover しています。

この 3 package は以前試したことがありますが、長所と短所ははっきりしています。macos-app-skills は最も軽く、すぐ始めやすい。fireworks-macapp-creator は新規 project に向けて最も complete。claude-swift-skills は cross-platform と WWDC feature まで含む最も広い選択肢です。最終判断は、やはり project の要件次第です。

まとめ

macos-app-skills は、AI Agent でネイティブ macOS app を作るときの実用的な toolkit です。build、macos-patterns、settings-ui、auto-update、notch-ui、release、install integration という 7 module を細かな contract table に落とし、Agent が最初からつまずく可能性を下げます。実際に導入するなら、ローカルの Xcode、Swift、signing、公証、Sparkle key、Agent model 自体を確認する必要があります。skills を automatic release guarantee として扱ってはいけません。

選択の目安:macOS-only app なら macos-app-skills または fireworks。macOS + iOS cross-platform なら claude-swift-skills。release pipeline が必要なら macos-app-skills。style system が必要なら fireworks。WWDC 2025 feature が必要なら claude-swift-skills です。

次の action:npx skills add fayazara/macos-app-skills -g -y で macos-app-skills を install し、project の要件に合わせて類似 package を選びます。AGENTS.md の best practice も確認してください。問題が出たら、skill 内の FAQ と troubleshooting checklist から見ていくのが早いです。

macos-app-skills を AI Coding Agent に接続する方法

インストールコマンド、Agent の再起動、読み込み確認、モジュール別の使い分け、排障までの最小手順です。

⏱️ 目安時間: 20 分

  1. 1

    ステップ 1: ローカル環境を確認する

    macOS 14+、Xcode 15+、Swift 5.9+ を満たしているか確認し、`sw_vers`、`xcodebuild -version`、`swift --version` で version を見ます。
  2. 2

    ステップ 2: Skill パックをインストールする

    `npx skills add fayazara/macos-app-skills -g -y` を実行します。または repository 内の skill directory を、使っている Agent の skills path に手動でコピーします。
  3. 3

    ステップ 3: 再起動して読み込みを確認する

    Agent を再起動し、読み込まれた skills を一覧させます。あるいは build、macos-patterns、settings-ui などの module を知っているか直接聞きます。
  4. 4

    ステップ 4: task に合う module を読み込む

    ビルドなら build、メニューバーや window や hotkey なら macos-patterns、settings window、auto update、notch UI、release ならそれぞれの専用 module を使います。
  5. 5

    ステップ 5: 人間のレビューを残す

    署名、公証、Sparkle key、permission、第三者 script、release step は人間が確認します。Skill は pattern と checklist を渡すだけで、release risk を肩代わりしません。

FAQ

macos-app-skills とは何ですか?
fayazara/macos-app-skills が提供する AI Agent skills のセットです。Claude Code、Cursor、OpenCode などの Coding Agent 向けに、ネイティブ macOS 開発で必要な build、window pattern、settings window、auto update、notch UI、release workflow を再利用できる知識 module として整理しています。
なぜ Agent は macOS アプリで間違えやすいのですか?
多くの Agent は Web や iOS の前提で code を生成しがちです。MenuBarExtra、NSStatusItem、NSPanel、NSWindow、activation policy、screen coordinate、release signing flow を混同します。macos-app-skills の価値は、こうした platform 固有の pattern を code 生成前に Agent へ渡せる点にあります。
最初に使うべき module はどれですか?
既存の Xcode project を触るなら、まず build module で `xcodebuild` を通します。メニューバー、window、hotkey、multi-screen、file interaction を作るなら macos-patterns。配布準備に入るなら auto-update と release を見ます。
Xcode や人間の release check を置き換えられますか?
置き換えられません。これは知識と手順 checklist です。ローカルの Xcode、Swift、signing certificate、Sparkle key、GitHub CLI、公証設定、そして Agent を動かす model quality に依存します。実際の release 前には build artifact と account permission を人間が確認してください。
第三者 Skill を入れる前に何を確認すべきですか?
第三者 Skill には script、command、reference、Agent への behavior instruction が含まれることがあります。README と SKILL.md を読み、Agent に実行させる可能性のある command、読む可能性のある path、project の安全境界に合うかを確認しましょう。

12分で読めます · 公開日: 2026年7月17日 · 更新日: 2026年7月17日

コメント

GitHubアカウントでログインしてコメントできます

Easton BlogEaston Blog