mcpbeat

Dart Log Failure Parser

flutter/dart-log-failure-parser

Parse failures from Dart and Flutter test logs.

566 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
178160
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/flutter/flutter --skill dart-log-failure-parser

The instruction itself

8 sections, as written by the author

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:

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>].

How to use it

Copy the folder

Take flutter/dart-log-failure-parser from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.