dyad:pr-fix:actions
PR Fix: Actions
Fix failing CI checks and GitHub Actions on a Pull Request.
Arguments
$ARGUMENTS: Optional PR number or URL. If not provided, uses the current branch's PR.
Task Tracking
You MUST use the TaskCreate and TaskUpdate tools to track your progress. At the start, create tasks for each step below. Mark each task as in_progress when you start it and completed when you finish. This ensures you complete ALL steps.
Instructions
-
Determine the PR to work on:
- If
$ARGUMENTScontains a PR number or URL, use that - Otherwise, get the current branch's PR using
gh pr view --json number,url,title,body --jq '.' - If no PR is found, inform the user and stop
- If
-
Check for failing CI checks:
gh pr checks <PR_NUMBER>Identify which checks are failing:
- Lint/formatting checks
- Type checks
- Unit tests
- E2E/Playwright tests
- Build checks
-
For failing lint/formatting checks:
- Run
npm run lint:fixto auto-fix lint issues - Run
npm run fmtto fix formatting - Review the changes made
- Run
-
For failing type checks:
- Run
npm run tsto identify type errors - Read the relevant files and fix the type issues
- Re-run type checks to verify fixes
- Run
-
For failing unit tests:
- Run the failing tests locally to reproduce:
npm run test -- <test-file-pattern> - Investigate the test failures
- Fix the underlying code issues or update tests if the behavior change is intentional
- Run the failing tests locally to reproduce:
-
For failing Playwright/E2E tests:
- Check if the failures are snapshot-related by examining the CI logs or PR comments
- If snapshots need updating, run the
/dyad:e2e-rebaseskill to fix them - If the failures are not snapshot-related:
- IMPORTANT: First build the application before running E2E tests:
E2E tests run against the built binary. If you make any changes to application code (anything outside ofnpm run builde2e-tests/), you MUST re-runnpm run buildbefore running E2E tests again. - Run the failing tests locally with debug output:
DEBUG=pw:browser PLAYWRIGHT_HTML_OPEN=never npm run e2e -- <test-file> - Investigate and fix the underlying issues
- IMPORTANT: First build the application before running E2E tests:
-
For failing build checks:
- Run the build locally:
npm run build - Fix any build errors that appear
- Run the build locally:
-
After making all fixes, verify:
- Run the full lint check:
npm run lint - Run type checks:
npm run ts - Run relevant unit tests
- Optionally run E2E tests locally if they were failing
- Run the full lint check:
-
Commit and push the changes:
If any changes were made:
git add -A git commit -m "Fix failing CI checks - <summary of fix 1> - <summary of fix 2> ...Then run
/dyad:pr-pushto push the changes. -
Provide a summary to the user:
- List which checks were failing
- Describe what was fixed for each
- Note any checks that could not be fixed and require human attention
More from dyad-sh/dyad
dyad:multi-pr-review
Multi-agent code review system that spawns three independent Claude sub-agents to review PR diffs. Each agent receives files in different randomized order to reduce ordering bias. One agent focuses specifically on code health and maintainability. Issues are validated using reasoned analysis rather than simple vote counting. Reports merge verdict (YES / NOT SURE / NO). Automatically deduplicates against existing PR comments. Always posts a summary (even if no new issues), with low priority issues in a collapsible section.
30remember-learnings
Review the current session for errors, issues, snags, and hard-won knowledge, then update the rules/ files (or AGENTS.md if no suitable rule file exists) with actionable learnings.
30dyad:plan-to-issue
Create a plan collaboratively with the user, then convert the approved plan into a GitHub issue.
26dyad:feedback-to-issues
Turn customer feedback (usually an email) into discrete GitHub issues. Checks for duplicates, proposes new issues for approval, creates them, and drafts a reply email.
25dyad:deflake-e2e-recent-commits
Automatically gather flaky E2E tests from recent CI runs on the main branch and from recent PRs by wwwillchen/keppo-bot/dyad-assistant, then deflake them.
25dyad:pr-push
Commit any uncommitted changes, run lint checks, fix any issues, and push the current branch.
25