---
name: flutter-dart-log-failure-parser
description: "Parse failures from Dart and Flutter test logs."
license: "BSD-3-Clause"
metadata:
  decimalai-skill-id: "b91a1dd8-9c8f-4d01-8850-df194d82196d"
  decimalai-version-id: "d225d111-66a8-493a-96d0-e2a77b76f24d"
  decimalai-version: "1"
  decimalai-body-sha256: "1a4979eb03154a5413f5fa5bcbc5f08bcfba626ef681b5ac49d681a19ce02b7a"
  decimalai-name: "flutter/dart-log-failure-parser"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "testing"
  decimalai-source: "https://app.decimal.ai/s/flutter-dart-log-failure-parser@1/SKILL.md"
---
# Dart Log Failure Parser

## Workflow

### 1. Analyze Raw Log Output

Analyze the raw log output for failure details. Do not skim the output; check the entire log. **The description of findings should include specific details for the failures (e.g., unformatted files, specific test names), not just the top-level command that failed.**

### 2. Look for Failure Patterns

#### Pattern A: Error Blocks (e.g., Linux Analyze)
Search for blocks starting with `╡ERROR #`.
Example:
```
╔═╡ERROR #1╞════════════════════════════════════════════════════════════════════
║ Command: bin/cache/dart-sdk/bin/dart --enable-asserts /b/s/w/ir/x/w/flutter/dev/bots/analyze_snippet_code.dart --verbose
║ Command exited with exit code 255 but expected zero exit code.
║ Working directory: /b/s/w/ir/x/w/flutter
╚═══════════════════════════════════════════════════════════════════════════════
```

#### Pattern B: Task Result JSON
Search for "Task result:" followed by a JSON object.
Example:
```json
Task result:
{
  "success": false,
  "reason": "Task failed: PathNotFoundException: Cannot open file..."
}
```

#### Pattern C: Failing Tests List
For general Dart tests, look for a list at the end of the log starting with "Failing tests:".
Example:
```
Failing tests:
  test/general.shard/cache_test.dart: FontSubset artifacts for all platforms on arm64 hosts
  test/general.shard/cache_test.dart: FontSubset artifacts on arm64 linux
```

#### Pattern D: Build Failures
For build failures (e.g., engine tests failing at compile time), look for the following indicators in the logs or API summaries:
- Lines starting with `FAILED:` (indicates a Ninja target failed).
- Compiler error messages (e.g., `error:`, `fatal error:`).
- Linker error messages (e.g., `undefined reference to`).
- Summary messages in the check-runs API output like `1 build failed: [<build_name>]`.
