Skip to content

[code-infra] Add flakyness analyzer skill#1447

Open
Janpot wants to merge 3 commits into
masterfrom
add-claude-skills
Open

[code-infra] Add flakyness analyzer skill#1447
Janpot wants to merge 3 commits into
masterfrom
add-claude-skills

Conversation

@Janpot

@Janpot Janpot commented May 11, 2026

Copy link
Copy Markdown
Member

Fetches recent CircleCI failure data into a directory of plain-text files and walks the LLM through grep-based pattern discovery to bucket failures into fixable flake, external outage, or real bug. output and cache live under .claude/cache/ (gitignored).

Sample output

gh/mui/mui-x master — last 7 days

64/252 workflow runs failed (25.4% failure rate). 69 failed jobs classified.

Fixable flake (88%):

  • 49 times, 71%, browser page crashed mid-test (vitest browser session lost), example
  • 7 times, 10%, failed to connect to browser session within timeout, example
  • 3 times, 4%, hung job — "Too long with no output (10m)", example
  • 1 time, 1%, tsc forced-termination during @mui/x-charts:build, example
  • 1 time, 1%, timing race in dataSourceTreeData.DataGridPro revalidate test, example

External outage (6%):

  • 4 times, 6%, archive.ubuntu.com unreachable during apt install of ffmpeg, example

4 real issues (not flaky) — pnpm proptypes drift not committed (generated propTypes out of sync with source). Same root cause across the 4 hits, fix is to run pnpm proptypes and commit.

Bottom line: the failure rate on master is dominated by vitest browser-test instability (~80% of failures are page crashes or browser-session timeouts) — retries will green most runs, but this needs a real investigation into vitest
browser flakiness. Everything else is small and well-understood.

Adds .claude/skills/ to version control so team members get project-level
Claude Code skills automatically when they clone the repo. Includes
circleci-why-flaky as the first skill — fetches recent CircleCI failure
data and walks the LLM through grep-based bucketing into fixable flake,
external outage, or real bug.
@code-infra-dashboard

code-infra-dashboard Bot commented May 11, 2026

Copy link
Copy Markdown

Deploy preview

https://deploy-preview-1447--mui-internal.netlify.app/

Bundle size

Total Size Change: 0B(0.00%) - Total Gzip Change: 0B(0.00%)
Files: 29 total (0 added, 0 removed, 0 changed)

Show details for 29 more bundles

@mui/internal-docs-infra/abstractCreateDemoparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/abstractCreateDemoClientparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/abstractCreateTypesparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/CodeControllerContextparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/CodeExternalsContextparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/CodeHighlighterparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/CodeHighlighter/errorsparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/CodeHighlighter/typesparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/CodeProviderparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/createDemoDataparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/createDemoData/typesparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/createSitemapparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/createSitemap/typesparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useCodeparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useCodeWindowparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useCopierparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useDemoparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useErrorsparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useLocalStorageStateparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/usePreferenceparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useScrollAnchorparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useSearchparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useSearch/typesparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useTypeparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useTypesparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/useUrlHashStateparsed: 0B(0.00%) gzip: 0B(0.00%)
@mui/internal-docs-infra/withDocsInfraparsed: 0B(0.00%) gzip: 0B(0.00%)
createParseSourceWorkerClientparsed: 0B(0.00%) gzip: 0B(0.00%)
grammarsparsed: 0B(0.00%) gzip: 0B(0.00%)

Details of bundle changes

Performance

Total duration: 13.43 ms -2.50 ms(-15.7%) | Renders: 4 (+0) | Paint: 65.99 ms -2.16 ms(-3.2%)

Test Duration Renders
HeavyList mount 7.28 ms ▼-2.38 ms(-24.6%) 1 (+0)

2 tests within noise — details


Check out the code infra dashboard for more information about this PR.

@Janpot Janpot changed the title Track shared Claude Code skills [code-infra] Add flakyness analyzer skill May 11, 2026

@michelengelen michelengelen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looking good ... might prove more useful than my local skill i added because of the ci reports being fetched! :D

@Janpot Janpot marked this pull request as ready for review May 18, 2026 13:09
@zannager zannager added the scope: code-infra Involves the code-infra product (https://www.notion.so/mui-org/5562c14178aa42af97bc1fa5114000cd). label May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: code-infra Involves the code-infra product (https://www.notion.so/mui-org/5562c14178aa42af97bc1fa5114000cd).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants