{"id":24679,"plugin_id":"plugins~Plugin_b80dd84519148191a409cde181c9b3d6","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:18:34.631Z","digest":"d808db42f464e4a9e791ba448ebd25f81e7dd032941ca278760cdae4ef0b6694","against":null,"payload":{"description":"Triage macOS tests across Xcode and SwiftPM. Use when narrowing failures, explaining assertions or crashes, or separating setup from regressions.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":283}],"name":"test-triage","skill_md_contents":"---\nname: test-triage\ndescription: Triage macOS tests across Xcode and SwiftPM. Use when narrowing failures, explaining assertions or crashes, or separating setup from regressions.\n---\n\n# Test Triage\n\n## Quick Start\n\nUse this skill to run the smallest meaningful test scope first, classify\nfailures precisely, and avoid treating every test failure like a product bug.\n\n## Workflow\n\n1. Detect the test harness.\n   - Use `xcodebuild test` for Xcode-based projects.\n   - Use `swift test` for SwiftPM packages.\n\n2. Narrow the scope.\n   - If the user gave a target, product, or test filter, use it.\n   - If not, prefer the smallest likely failing target before a full suite.\n\n3. Classify the result.\n   - Build failure\n   - Assertion failure\n   - Crash or signal\n   - Async timing or flake\n   - Environment or fixture setup issue\n   - Missing entitlement or host app issue\n\n4. Rerun intelligently.\n   - Use focused reruns when a specific case fails.\n   - Avoid burning time on full-suite reruns without new information.\n\n5. Summarize clearly.\n   - What command ran\n   - Which tests failed\n   - What kind of failure it was\n   - The best next proof step or fix path\n\n## Guardrails\n\n- Distinguish compilation failures from test execution failures.\n- Call out when a test appears to assume iOS-only or simulator-only behavior.\n- Mark likely flakes as such instead of overstating confidence.\n\n## Output Expectations\n\nProvide:\n- the command used\n- the smallest failing scope\n- the top failure category\n- a concise explanation of the likely cause\n- the next rerun or fix step\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}