ワンクリックで
ios-ui-worker
Builds iOS SwiftUI views, ViewModels, platform services, and AR features for the heatmap feature in NetMonitor-iOS.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Builds iOS SwiftUI views, ViewModels, platform services, and AR features for the heatmap feature in NetMonitor-iOS.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Run the iOS functional smoke test suite on the remote Mac mini. Verifies all tools, dashboard, network map, settings, and timeline produce correct outcomes with screenshot capture at each verification point.
Scaffold a new SwiftData @Model class for NetMonitor-2.0. Creates the model file in NetMonitorCore, registers it in SchemaV1, regenerates the Xcode project, and verifies the build.
Run the NetMonitor-2.0 test suite. CRITICAL — tests must run on the mac-mini via SSH, never locally on this machine (no display session for UI tests, and the PreToolUse hook blocks local xcodebuild test calls). Use this skill any time you need to verify tests pass before committing or completing work.
Builds macOS SwiftUI views, ViewModels, and platform services for the heatmap feature in NetMonitor-macOS.
Builds shared Swift core logic in NetMonitorCore — models, services, renderers, serialization, and unit tests.
Run the NetMonitor-2.0 coverage gates and interpret results. Use after making code changes to verify coverage thresholds are still met before completing work. Must run on mac-mini via SSH.
| name | ios-ui-worker |
| description | Builds iOS SwiftUI views, ViewModels, platform services, and AR features for the heatmap feature in NetMonitor-iOS. |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the WORK PROCEDURE.
Use for features that involve:
NetMonitor-iOS/Views/Heatmap/ or NetMonitor-iOS/Views/Tools/NetMonitor-iOS/ViewModels/NetMonitor-iOS/Platform/ (e.g., NEHotspotNetwork, ARKit)AGENTS.md for coding conventions and boundaries.factory/library/architecture.md for package placementNetMonitor-iOS/Views/Tools/ for tool view structureNetMonitor-iOS/ViewModels/ for ViewModel patternNetMonitor-iOS/Views/Tools/ToolsView.swift for navigation/ToolDestination enumNetMonitor-iOS/Platform/Theme.swift and GlassCard.swift for liquid glass stylingTests/NetMonitor-iOSTests/@MainActor @Observable final class patternprivate(set) var for observable stateerrorMessage: String?GlassCard, GlassButton, Theme from existing components{screen}_{element}_{descriptor}NetMonitor-iOS/Platform/xcodebuild -scheme NetMonitor-iOS -configuration Debug build — must succeedxcodebuild -scheme NetMonitor-macOS -configuration Debug build — must also succeed (no regression)swiftlint lint --quiet — zero errorsswiftformat . — cleanssh mac-mini "cd ~/Projects/NetMonitor-2.0 && xcodebuild test -scheme NetMonitor-iOS -destination 'platform=iOS Simulator,OS=latest,name=iPhone 17 Pro' CODE_SIGN_IDENTITY='' CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO -parallel-testing-enabled NO -only-testing:NetMonitor-iOSTests 2>&1 | tail -30".factory/library/architecture.md if you made architectural decisions.factory/library/user-testing.md if you found testing surface detailslet config = ARWorldTrackingConfiguration()
if ARWorldTrackingConfiguration.supportsSceneReconstruction(.mesh) {
config.sceneReconstruction = .meshWithClassification // LiDAR
}
config.planeDetection = [.horizontal, .vertical]
config.environmentTexturing = .automatic
{
"salientSummary": "Built iOS heatmap blueprint survey: floor plan import (PHPicker + UIDocumentPicker), zoomable canvas with measurement points and heatmap overlay, floating RSSI HUD with liquid glass styling, 3 visualization types (signal/download/latency), project save/load to Documents. Added ToolDestination.wifiHeatmap and dashboard card. Wrote 22 ViewModel tests. iOS and macOS both build. Launched in simulator — dashboard loads, floor plan imports, tap places dots, heatmap renders after 3 points.",
"whatWasImplemented": "Created: Views/Heatmap/HeatmapDashboardView.swift, Views/Heatmap/HeatmapSurveyView.swift, Views/Heatmap/HeatmapCanvasView.swift, Views/Heatmap/FloatingRSSIHUD.swift, ViewModels/HeatmapSurveyViewModel.swift. Modified: ToolsView.swift (added .wifiHeatmap case + ToolItem), Enums.swift (added ToolType.wifiHeatmap).",
"whatWasLeftUndone": "",
"verification": {
"commandsRun": [
{"command": "xcodebuild -scheme NetMonitor-iOS -configuration Debug build 2>&1 | tail -5", "exitCode": 0, "observation": "BUILD SUCCEEDED"},
{"command": "xcodebuild -scheme NetMonitor-macOS -configuration Debug build 2>&1 | tail -5", "exitCode": 0, "observation": "BUILD SUCCEEDED"},
{"command": "swiftlint lint --quiet 2>&1 | grep -c 'error'", "exitCode": 0, "observation": "0 errors"}
],
"interactiveChecks": [
{"action": "Launched iOS simulator, tapped Tools tab", "observed": "Wi-Fi Heatmap card visible with correct icon and liquid glass styling"},
{"action": "Tapped heatmap card, created new project", "observed": "Project creation view with name field and floor plan import options"},
{"action": "Imported PNG floor plan, tapped 4 locations", "observed": "Blue markers appeared, heatmap overlay rendered after 3rd tap with correct colors"}
]
},
"tests": {
"added": [
{"file": "Tests/NetMonitor-iOSTests/HeatmapSurveyViewModelTests.swift", "cases": [
{"name": "testTapPlacesMeasurementPoint", "verifies": "Tap adds point with correct floor plan coordinates"},
{"name": "testHeatmapRendersAfterThreePoints", "verifies": "Overlay appears when 3+ points exist"},
{"name": "testVisualizationSwitch", "verifies": "Switching type updates rendered overlay"}
]}
]
},
"discoveredIssues": []
}