pcliangx/agf-running-apple-sit
Use when apple-dev has finished feature code + Unit tests (Swift Testing) and is about to enter code-review. Provides the Apple SIT scope (xcodebuild test + simulator per declared target), the AC-driven integration walk, APIProtocol-mock discipline, and evidence sink (progress/apple-dev.md). SIT is dev-owned; apple-code-reviewer audits the evidence.
npx skills add https://github.com/pcliangx/AppGenesisForge --skill agf-running-apple-sit
Use this skill when:
SIT verifies that independently-developed components compose correctly at the app-integration layer — SwiftUI 视图 ↔ AppCore 业务层 ↔ swift-openapi-generator 生成的 client ↔(mock 后端)。It is NOT:
swift test 已在分支全绿)If a failure reproduces in plain swift test with mocks, it's a unit-level miss — fold it back into the unit suite, don't write it up as a SIT defect.
maincd apple/AppCore && swift test,strict concurrency 零 warningdocs/changes/<change>/tasks.md(AC↔scenario 映射,ADR-012;旧 feature fallback docs/prd/[feature]-[date].md),且每条 AC 的 target 归属清楚(macos / ios / universal)APIProtocol(ADR-008),禁手写 JSON fixture;openapi.json 与 main 上后端导出一致xcrun simctl list devices available 有目标 destinationIf any precondition fails: SendMessage product-lead, do not proceed.
SIT 在模拟器 / 本机层执行(非签名分发包——那是 E2E 的事):
# iOS target
xcodebuild test -project apple/App.xcodeproj -scheme App \
-destination 'platform=iOS Simulator,name=iPhone 16' \
-resultBundlePath sit-ios.xcresult
# macOS target
xcodebuild test -project apple/App.xcodeproj -scheme App \
-destination 'platform=macOS' \
-resultBundlePath sit-macos.xcresult
uvicorn app.main:app)+ 真实 Postgres(docker compose up -d postgres),client 指向 localhost;LLM 类 AC 用 dedicated SIT key(参见 agf-wiring-apple-llm 的 env 契约)。Walk every AC from docs/changes/<change>/tasks.md(旧 feature fallback PRD). For each AC at the integration layer:
xcrun xcresulttool get --path *.xcresult --format json 关键段)/ 后端响应摘录> Verify, don't assume. 不许因为"代码看着对"写 Passed——跑命令、贴真实输出、对比。
证据全部进 progress/apple-dev.md 的 SIT 证据 段(pool 模式 progress/apple-dev-<N>.md)——pass = 单行 AC 标注(✅ AC-N (integration, macos|ios): <一句话>),fail/blocked 展开命令 + 输出 + 偏差。大体积 xcresult → progress/evidence/[feature]/ 按路径引用。
Format authority: .claude/standards/ac-lifecycle.md → 完整条目格式(5 段格式)。UAT 签字后由 product-lead 归档到 docs/qa/[feature]-process-log.md。
APIProtocol(ADR-008)❌ Redo SITTake pcliangx/agf-running-apple-sit from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.