Repository navigation
Add agent skills for recurring repo workflows - #1486
Conversation
Move step-by-step workflows out of AGENTS.md into skills under .agents/skills (read by Codex), symlinked into .claude/skills (read by Claude Code): open-pr, review-pr, add-module, triage-issue, diagnose-ci, update-dependencies and publish-release. AGENTS.md keeps the rules that apply to every task, adds verification, image pinning and CommonJS dependency rules, and fixes the Vitest sequential guidance for Vitest 5. The bug report template now asks for DEBUG logs, the container runtime, the test runner and the last working version.
✅ Deploy Preview for testcontainers-node ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
@claude Push access is fixed (#1493). Please apply the pending changes from these review threads in one run and push. Where threads overlap, follow the order below.
|
|
Claude finished @cristianrgreco's task in 4m 4s —— View job Applied and pushed the review changes in
|
- Replace publish-release with a read-only review-release skill; agents never publish - Add a Releases section to AGENTS.md - open-pr: ask for a maintainer dry run instead of dispatching it, add a commit and push step with the signing and force-push rules, drop the --body-file note - triage-issue: replace the hardcoded failing-phase and known-causes tables with searching the source, issues, PRs and docs - update-dependencies and diagnose-ci: point at the signing rules and open-pr Co-authored-by: Cristian Greco <10348798+cristianrgreco@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add the .claude/skills symlink the review run could not create, and align two leftover triage-issue phrases with the removed known-causes table.
…d Go Co-authored-by: Cristian Greco <10348798+cristianrgreco@users.noreply.github.com>
Co-authored-by: Cristian Greco <10348798+cristianrgreco@users.noreply.github.com>
Co-authored-by: Cristian Greco <10348798+cristianrgreco@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Cristian Greco <10348798+cristianrgreco@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Cristian Greco <10348798+cristianrgreco@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Cristian Greco <10348798+cristianrgreco@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replace the verify, diff and open-PR bullets with a check-compiles step, which catches type errors Vitest and Biome miss, and a single hand-off to open-pr, which already covers the title and labels.
Add the rule to AGENTS.md so it applies to every task, and have review-pr flag comments that restate the code or describe the change.
…dit-83c819 # Conflicts: # AGENTS.md
…dit-83c819 # Conflicts: # AGENTS.md
main added three rules to AGENTS.md. They apply to every task, so they stay there; review-pr, diagnose-ci, triage-issue and add-module now refer to them where they apply. diagnose-ci also lists the new Docs workflow.
main moved the docs build from its own workflow into a Docs job in Checks. Update the AGENTS.md codeinclude note and diagnose-ci, name the npm install step unambiguously in update-dependencies, and have review-pr check for codeinclude marker-name collisions, which CI cannot catch.
Sort the rules under API and docs, Code, Dependencies and Tests. The bullet text is unchanged.
Replace the fixed list of failure shapes with steps that find the bump that broke the PR and then adapt, hold back or ignore it, as triage-issue and diagnose-ci already do.
CONTRIBUTING still told contributors to run Git hooks that were removed with Husky. Replace that with the format, lint and targeted test commands, add the PR title convention, and point at AGENTS.md and the skills. add-module now ends with adding the module to the community module registry, which six recent modules missed.
…dit-83c819 # Conflicts: # AGENTS.md
main now runs knip in the Lint job, so contributors should run it with format and lint.
Lint and Compile now run for the whole repository, so only the tests follow the touched packages. Dependabot also covers Docker Compose and pip, so point at dependabot.yml for the full list. Reword the lockfile step after holding back an npm package.
Summary
Moves the step-by-step workflows out of
AGENTS.mdinto seven repository skills. They live in.agents/skills/, where Codex reads them, and.claude/skills/symlinks each one so Claude Code reads them too:open-prreview-pradd-moduletriage-issuediagnose-cimainand the last green run, search past PRs and issues, reproduce, then fix or routeupdate-dependenciesreview-releaseThe skill content comes from:
triage-issue,diagnose-ciandupdate-dependenciesdeliberately have no list of known causes. Such lists go stale, as the Bun/Ryuk workaround already had, so the skills send the agent to the source, the workflow files, the failing bump, past issues and PRs, anddocs/instead.AGENTS.mdnow holds only the rules that apply to every task:open-prandreview-pr.mainwhile this PR was open (root cause, test images, codeinclude marker names, import boundaries, public API exports) keep their text, and the skills point to them where they apply.npm run knip. The second keeps the approval gate, signing and force-push rules.open-prandupdate-dependenciesrepeat the signing and force-push rules where they commit.npm publishwithout--dry-run, and never edit releases. A maintainer releases by publishing the draft. Agents with permission dispatch thenpm-publish.ymldry run:open-prfor large, possibly breaking or release-affecting changes, andreview-releaseonmainbefore a release. Without permission, they ask a maintainer to run it.FROMlines for the same image.review-prflags comments that restate the code or describe the change..sequentialmodifier, so it now says{ concurrent: false }.The bug report template now asks for:
DEBUG=testcontainers*logs, and how to collect themCONTRIBUTING.mdno longer tells contributors to run the Git hooks that were removed with Husky. It now gives the format, lint, knip and targeted test commands and the PR title convention, and points atAGENTS.mdand the skills.add-moduleends with listing the new module in the catalog at testcontainers.com/modules, through a PR totestcontainers/community-module-registry. Six recent modules never got that entry.Verification
Skill format. Checked against Claude's skill authoring best practices:
SKILL.mdfrontmatter parses with js-yaml, each name matches its folder, and each has a.claude/skillssymlink that resolves.Symlinks. Claude Code's skills docs say a
.claude/skills/<name>entry can be a symlink to a directory elsewhere. The symlinks are committed as git symlinks (mode120000). Codex reads.agents/skillsdirectly.Test runs. Fresh subagents ran two skills, read-only, using the first version of each. The skills were then tightened from what they reported.
triage-issueanddiagnose-ciwere reworked again in review, when their lists of known causes were replaced with working from the source, the run and past issues.review-pron PR 1447 independently raised the points from the maintainer's own review:restart()path is untouchedIt also flagged:
triage-issueon issue 1442 reproduced the leak with testcontainers-python 4.15.0 alongside a Node suite. It traced the cause to the Python binding force-removing its Ryuk, which corrects the session-id explanation in the report. It also checked a one-linelang=nodefilter red-green inreaper.test.ts, then reverted it.CI.
changed-modules.mjsselects no packages for these paths, so Checks runs only Lint and Docs. Compile, the smoke tests and Tests are skipped.Skill discovery. A fresh Claude Code 2.1.283 session on the PR head lists all seven skills through the
.claude/skillssymlinks.Not breaking
This only touches docs, agent configuration and the issue template. No package source, manifest or lockfile changed.