|
All checks were successful
Deploy to Cloudflare Pages / deploy (push) Successful in 1m7s
Add the Sendable requirement for entity IDs, note that IntentCancellationReason is a struct, narrow the AppEnum checklist to enums without explicit raw values, point type-name contract links at the specialist index, and state a few unverified behaviors as unverified. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| docs | ||
| plans | ||
| .gitignore | ||
| mkdocs.yml | ||
| README.md | ||
| requirements.txt | ||
| skills-lock.json | ||
iOS Agent Skills ガイド
Xcode 27 に同梱されている Apple 公式の Agent Skills の内容を、社内 iOS エンジニア向けに日本語で解説する MkDocs Material サイトのソースです。
公開先: https://ios-agent-skills-guide.pages.dev
URL を知っていれば誰でも閲覧できます(robots.txt で検索エンジンのインデックスは無効化しています)。
デプロイ
main に push すると、Forgejo Actions が自動でビルドして Cloudflare Pages に反映します。手動のデプロイ作業は不要です。
- ワークフロー:
.forgejo/workflows/deploy.yml - ビルドは
mkdocs build --strictで行うため、内部リンクが壊れているとデプロイされずに CI が失敗します - 失敗したときは Forgejo の Actions タブでエラーを確認してください
ローカルでプレビューする
uv venv .venv
uv pip install --python .venv/bin/python -r requirements.txt
.venv/bin/mkdocs serve
http://127.0.0.1:8000 で確認できます。ファイルを保存すると自動でリロードされます。
公開時と同じ厳密チェックをかけたいときは次を実行します。
.venv/bin/mkdocs build --strict
ディレクトリ構成
| パス | 内容 |
|---|---|
docs/ |
サイト本体(Markdown)。ここを編集する |
docs/stylesheets/extra.css |
文字サイズ・サイドバー幅などの見た目の調整 |
mkdocs.yml |
サイト設定とナビゲーション |
plans/ |
各セクションの構成案と引き継ぎ資料 |
requirements.txt |
mkdocs-material のバージョン固定。ローカルと CI で共有 |
Apple 原文の取得
このサイトの内容は Xcode 27 beta 5(build 27A5237l)に同梱されていた Agent Skills を基にしています。beta のバージョンが上がるとスキル自体の記述が変わることがあるため、新しい beta や正式版が出たら原文を取り直して差分を確認してください。更新したときは、各ページ末尾のクレジットに書いてあるバージョン表記も合わせて直します。
解説の元になっている Apple 原文(英語)は、このリポジトリには含めていません。Xcode 27 があれば手元に取り出せます。
xcrun agent skills export ~/.agents/skills
複数の Xcode を入れている場合は DEVELOPER_DIR で指定します。
DEVELOPER_DIR=/Applications/Xcode-beta5.app xcrun agent skills export ~/.agents/skills
エクスポートしたものを ~/.claude/skills/ に置けば、Claude Code から Agent Skill としてそのまま使えます。
ソフト非推奨 API 一覧の更新
docs/swiftui-specialist/soft-deprecated-apis.md の表は SDK が上がるたびに古くなります。更新するときの手順です。
- Apple の SwiftUI Agent Skill 側の
references/soft-deprecated-apis.mdが新しくなっていれば、それを一次ソースにする - 一次ソースがない場合は SDK ヘッダを直接引く。SDK のパスは
xcrun --show-sdk-path --sdk iphoneosで取得し、SwiftUI.frameworkの.swiftinterfaceをdeprecated: 100000.0で検索する - 差分を各セクションの表に反映する。改名系は既存のグループ見出しに追加する
- 冒頭の警告ボックスの SDK バージョン表記を必ず更新する(ここが古いままだと、一覧全体の信頼性が判断できなくなります)
書くときのルール
著作権上、次は必ず守ってください。
- Apple 原文および参考記事の翻訳・逐語訳・転載をしない。内容を理解したうえで自分の言葉で書き直す
- コード例は原文からコピーしない。題材・型名・変数名を差し替えて、ゼロから書く
- 原文にない補足を書く場合は、本文中に「原文にはない補足」と明示する
- 各ページの末尾に出典クレジットを入れる
ページの基本構成は「概要 → 悪い例(Before)→ 良い例(After)→ なぜそうすべきか」です。新 API を扱うページでは、末尾に Availability と deployment target が古いときのゲーティング方法をまとめます。
文章のチェック
日本語の不自然さ(AI っぽい言い回し、翻訳調、対比構文の多用など)は natural-japanese で機械的に検出できます。
pnpm dlx skills add coji/natural-japanese
uv run .agents/skills/natural-japanese/scripts/lint.py --json --genre tech docs/対象.md
検出はあくまで疑いの提示です。この題材では API 名や主語が繰り返されるため、repeated_sentence_lead(文頭の反復)と low_lexical_diversity_ttr(語彙の多様性)はほぼ誤検知になります。判断が要るのは antithesis_repetition(「A ではなく B」の多用)、forbidden_phrase、translationese の 3 つです。
詳しい経緯・執筆の進め方・検証の手順は plans/handoff.md にあります。