|
| 1 | +--- |
| 2 | +name: devtools-work-issues |
| 3 | +description: Work through a batch of GitHub issues in this repository with parallel agents, then combine, verify and ship them as one pull request per batch. Use when asked to fix all issues of a priority or label, or several issues at once. |
| 4 | +--- |
| 5 | + |
| 6 | +# Work a batch of issues |
| 7 | + |
| 8 | +Each issue still goes through the `devtools-fix-issue` skill. This skill is about running many of them at once without agents getting in each other's way. |
| 9 | + |
| 10 | +## 1. Plan the batch |
| 11 | + |
| 12 | +- List the issues: `gh issue list --repo santoshyadavdev/angular-devtools --label P2 --state open --limit 200`. |
| 13 | +- Leave out issues that need a product or design decision, or a manual test the maintainer has to do. List them in the report as "for later", and settle the decisions afterwards with the `grilling` skill. If only part of an issue is clear, do that part and use `Refs #<n>` for it. |
| 14 | +- Titles follow `area: what is wrong` (`router: a failed lazy navigation is only logged`), and the area is a commit scope, so it usually names the group. Title any follow-up issue the same way. |
| 15 | +- Group the rest by the files they touch (inspector or area: forms, router, http, analog, signals, overlay and popup, cli and config, extension), so no two groups edit the same code. Aim for three to eight issues per group. |
| 16 | + |
| 17 | +## 2. One worktree per group |
| 18 | + |
| 19 | +- Create a detached worktree per group, plus one for combining, in a folder git ignores: |
| 20 | + `git worktree add --detach <path> <base>`, then `pnpm install --frozen-lockfile --prefer-offline` in each. |
| 21 | +- Agents only edit files in their own worktree. They don't commit, stage, branch, stash or push. A reviewer reads each group's work with `git diff` plus the new files, which `git diff` leaves out: list them with `git ls-files --others --exclude-standard`. |
| 22 | +- Each agent returns, per issue: fixed, partly fixed or skipped, the cause and fix in a line, the test it added, and its check results. |
| 23 | +- With many worktrees inside the repository folder, Nx finds duplicate projects. Run it as `NX_WORKSPACE_ROOT_PATH=$PWD NX_DAEMON=false pnpm exec nx test angular-devtools`. |
| 24 | + |
| 25 | +## 3. Combine |
| 26 | + |
| 27 | +- Copy each group's changed and new files into the combine worktree. For a file that another group changed too, use `git merge-file` against the base version (`git show <base>:<path>`) and keep every fix. |
| 28 | +- Run the full `devtools-verify` checks there once, and fix breakage between groups. |
| 29 | +- Run `pnpm extension:build` once at the end, not in every group, and commit `extension/ui` in its own commit. |
| 30 | + |
| 31 | +## 4. Verify before the pull request |
| 32 | + |
| 33 | +Run read-only agents against the combined branch, each in its own worktree and port range: |
| 34 | + |
| 35 | +- a code review per pull request (`devtools-reviewer` role); |
| 36 | +- the panel in a real browser, every inspector tab, with axe (`a11y-reviewer` role); |
| 37 | +- every agent tool through a real MCP client; |
| 38 | +- every setup: Express hub, Vite plugin, CLI, static report, the Analog example; |
| 39 | +- regressions: tests deleted or weakened since `main`, and removed tools, config keys or flags. |
| 40 | + |
| 41 | +Then have a second agent try to refute each finding, and fix only what survives. |
| 42 | + |
| 43 | +## 5. Ship |
| 44 | + |
| 45 | +- One pull request per batch, with `Closes #<n>` per fixed issue, a "Left open" section, and the checks. |
| 46 | +- Stacked batches (P2 built on P1, and so on): after the first is squash merged, merge `main` into the next one. Its conflicts are the same changes on both sides, so keep the branch's side, then check that the diff against the old branch head only adds what landed on `main` since. Watch for paragraphs the merge duplicates in docs. |
| 47 | +- Conflicts in `extension/ui/assets` are build output. Drop both sides and run `pnpm extension:build` again. |
| 48 | + |
| 49 | +## 6. Clean up |
| 50 | + |
| 51 | +Remove the worktrees (`git worktree remove -f -f <path>`, then `git worktree prune`) and delete the merged local branches. |
0 commit comments