Skip to content

reprexes: port review-driven fixes from lab-manual PR #282 - #147

Merged
d-morrison merged 1 commit into
mainfrom
claude/busy-galileo-r3o6n7
Jun 22, 2026
Merged

reprexes: port review-driven fixes from lab-manual PR #282#147
d-morrison merged 1 commit into
mainfrom
claude/busy-galileo-r3o6n7

Conversation

@d-morrison

Copy link
Copy Markdown
Collaborator

Why

The reprexes skill landed upstream here before UCD-SERG/lab-manual#282 finished its review rounds. Five improvements developed on that PR's branch never reached this copy. Since lab-manual reads the skill through the .ai-config submodule (.claude/skills → .ai-config/skills), this stale copy is what collaborators and the @claude CI bot actually use — so PR #282 became a no-op and the fixes were stranded in its branch history.

This PR ports those fixes into skills/reprexes/SKILL.md.

What changed

  • Rscript --vanilla in the clean-session step (step 3). Without --vanilla, Rscript still sources .Rprofile / .Renviron, which contradicts the "clean session" framing; the flag skips them.
  • Dropped the inaccurate "since reprex 2.0" qualifier on callr-backed execution. callr-backed clean-session execution predates reprex 2.0, so the version claim was wrong.
  • Namespaced the remaining reprex-package callsreprex::reprex(input = ...), reprex::reprex_clean() / _rescue() / _invert(), and the validation-bonus reference — so they work without an explicit library(reprex). sessionInfo() stays bare (base R); tidyverse::tidyverse_update() was already namespaced.
  • Blank lines before the nested lists in step 2 and under "Useful arguments:", for CommonMark-correct rendering.

Note on the reprex_invert() flag

The last review round on #282 flagged reprex_invert() as a possible hallucinated function name. It is real — confirmed exported in the reprex NAMESPACE. The text is ported as-is.

Follow-up

Once this merges, the .ai-config submodule pin in UCD-SERG/lab-manual should be bumped to pick it up (the weekly bump-ai-config.yml workflow does this automatically). PR #282 will be closed as superseded.

🤖 Generated with Claude Code


Generated by Claude Code

The reprexes skill landed upstream here before UCD-SERG/lab-manual PR #282
finished its review rounds, so five improvements developed on that PR's
branch never reached this copy. lab-manual reads the skill through the
.ai-config submodule, so the stale copy is what collaborators and the
@claude CI bot actually use. Port the fixes:

- Rscript --vanilla in the clean-session step, so it skips .Rprofile /
  .Renviron instead of silently sourcing them.
- Drop the inaccurate "since reprex 2.0" qualifier on callr-backed
  execution (callr predates reprex 2.0).
- Namespace the remaining reprex-package calls (reprex::reprex(input=),
  reprex::reprex_clean/_rescue/_invert, and the validation-bonus
  reference) so they work without library(reprex).
- Add blank lines before the nested lists in step 2 and under "Useful
  arguments:" for CommonMark-correct rendering.

reprex_invert() was flagged as a possible hallucination during review;
confirmed it is a real exported function in the reprex NAMESPACE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VczBpwQw7cXiiPAiiosmoi
Copilot AI review requested due to automatic review settings June 22, 2026 14:19
@github-actions
github-actions Bot removed the request for review from Copilot June 22, 2026 14:20
@claude

claude Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Claude finished @d-morrison's task in 1m 45s —— View job


Review: clean ✅

  • Gather context
  • Read changed file and diff
  • Verify factual claims (hallucination check)
  • Post findings

skills/reprexes/SKILL.md — 5 changes, all verified:

Change Verdict
Rscript --vanilla Correct. --vanilla implies --no-init-file (skips .Rprofile) and --no-environ (skips .Renviron). Description is accurate.
Drop "since reprex 2.0" on callr Correct. callr-backed execution was introduced in reprex ≈ 0.3.0, well before 2.0.
Namespace reprex::reprex(input=...) Real API; input accepts a file path.
Namespace reprex::reprex_clean/rescue/invert() All three are real exported functions. reprex_invert() is confirmed exported in the reprex NAMESPACE (the concern raised during #282 review was addressed correctly).
Blank lines before nested lists (step 2, "Useful arguments:") Correct CommonMark fix. Without blank lines, some renderers collapse the nested bullets.

No hallucinations found. The "all exported in reprex 2.x" qualifier on the companion-helpers line was pre-existing and unchanged.

@d-morrison
d-morrison merged commit fcabdf9 into main Jun 22, 2026
4 checks passed
@d-morrison
d-morrison deleted the claude/busy-galileo-r3o6n7 branch June 22, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants