• keppo-bot[bot]'s avatar
    Add deflake-e2e-from-run skill (#3247) · 1ab2dfc1
    keppo-bot[bot] 提交于
    ## Summary
    
    Adds a new skill, `dyad:deflake-e2e-from-run`, for root-causing E2E
    failures from a specific CI run by reading the Playwright HTML report
    artifacts directly — traces, screenshots, error-context, and app
    stdout/stderr — instead of rebuilding and rerunning locally.
    
    This complements the existing `deflake-e2e` and
    `deflake-e2e-recent-commits` skills, which drive *discovery* by
    repeat-running tests. This new skill is for when you already have a
    failing run and want to root-cause fast.
    
    ## What the skill covers
    
    - Downloading the merged `html-report` artifact with `gh run download -R
    dyad-sh/dyad -n html-report`.
    - `jq` queries against `results.json` for `unexpected` vs `flaky` test
    buckets.
    - Matching trace `.zip` hashes (paths in `results.json` are CI-side;
    files are local in `/tmp/pw-report/data/`).
    - Reading `test.trace` as JSONL to extract the step timeline.
    - Correlating with app IPC logs that show up as `stderr`/`stdout` trace
    events (gold for race-condition root-causing — e.g. `(proposal_handlers)
    › IPC: get-proposal returned: …` at failure time).
    - A short playbook of common failure shapes (disabled-button-after-fill,
    navigation races, cross-test state) and their usual fixes.
    
    Derived from the workflow used to root-cause #3246.
    
    ## Test plan
    
    - [x] Skill file follows the same frontmatter format as existing skills
    in `.claude/skills/`.
    - [x] Verified via the use case in #3246 (full investigation done
    end-to-end using exactly these steps).
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    <!-- devin-review-badge-begin -->
    
    ---
    
    <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/3247"
    target="_blank">
      <picture>
    <source media="(prefers-color-scheme: dark)"
    srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
    <img
    src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
    alt="Open in Devin Review">
      </picture>
    </a>
    <!-- devin-review-badge-end -->
    Co-authored-by: 's avatarWill Chen <7344640+wwwillchen@users.noreply.github.com>
    Co-authored-by: 's avatarClaude Opus 4.7 (1M context) <noreply@anthropic.com>
    1ab2dfc1
名称
最后提交
最后更新
.agents 正在载入提交数据...
.claude 正在载入提交数据...
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
.storybook 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
makers 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
plans 正在载入提交数据...
rules 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.npmrc 正在载入提交数据...
.oxfmtrc.json 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CLA.md 正在载入提交数据...
CLAUDE.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
lint-staged.config.js 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...
windowsSign.ts 正在载入提交数据...