Skip to content

Closes #369 Blog: AGENTS.md, {admiral}, and the AI-Assisted Programmer#370

Merged
bms63 merged 14 commits intomainfrom
369-blog-post-agentsmd-admiral-and-the-ai-assisted-programmer
Mar 30, 2026
Merged

Closes #369 Blog: AGENTS.md, {admiral}, and the AI-Assisted Programmer#370
bms63 merged 14 commits intomainfrom
369-blog-post-agentsmd-admiral-and-the-ai-assisted-programmer

Conversation

@jeffreyad
Copy link
Copy Markdown
Collaborator

@jeffreyad jeffreyad commented Mar 17, 2026

Thank you for your Pull Request! We have developed this task checklist to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your blog post.

Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the main branch until you have checked off each task.

  • Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update), and make sure the corresponding issue is linked in the Development section on the right hand side
  • Ensure your new post folder is of the form "posts/date_with_short_tile" and the blog post file and any other artifacts have informative but succinct names.
  • Run the script from CICD.R line by line to first check the spelling in your post and then to make sure your code is compatible with our code-style. Address any incongruences by following the instructions in the file!
  • Choose (possibly several) tag(s) or categories from the current list: c("Metadata", "SDTM", "ADaM", "TLG", "Shiny", "Python", "Community", "Conferences", "Submissions", "Technical", "DEI") for your blog post. If you cannot find anything that fits your blog post, propose a new tag to the maintainers! Note: if you use a tag not from this list, the "Check Post Tags" CICD pipeline will error. We occasionally tidy up all tags for consistency.
  • Add a short description for your blog post in the description field at the top of the markdown document.
  • Blog post is short, personalized, reproducible and readable
  • Add a disclaimer at the top of your post, if appropriate (example: Disclaimer
    This blog contains opinions that are of the authors alone and do not necessarily reflect the strategy of their respective organizations.)
  • Address all merge conflicts and resolve appropriately
  • Assign two of us (@aaehmann, @ashley-tarasiewicz, @chrisprice-phuse) as reviewers in the PR.
  • Pat yourself on the back for a job well done! Much love to your accomplishment!

@jeffreyad jeffreyad requested a review from bms63 March 20, 2026 16:30

## What Is AGENTS.md?

`AGENTS.md` is a plain markdown file you commit to your repository that gives AI coding agents the context they need to work correctly in your project. Think of it as a README for agents — while `README.md` tells a new developer what the project is, `AGENTS.md` tells an AI assistant how to work in it correctly.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dang that is really good analogy!! I'll need to use that


## Why This Matters for the pharmaverse

ADaM derivations encode decades of CDISC regulatory expectations that don't appear anywhere in the R syntax. The fact that `ANL01FL` is an analysis flag with specific derivation logic, that `DTYPE = "LLOQ"` imputation records follow specific rules, or that the admiral programming strategy mandates `dplyr` verbs and discourages base R — none of this is inferable from the code alone.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ADaM derivations encode decades of CDISC regulatory expectations that don't appear anywhere in the R syntax. The fact that `ANL01FL` is an analysis flag with specific derivation logic, that `DTYPE = "LLOQ"` imputation records follow specific rules, or that the admiral programming strategy mandates `dplyr` verbs and discourages base R — none of this is inferable from the code alone.
ADaM derivations encode decades of CDISC regulatory expectations that don't appear anywhere in the R syntax. The fact that `ANL01FL` is an analysis flag with specific derivation logic, that `DTYPE = "LLOQ"` imputation records follow specific rules — none of this is inferable from the code alone.

or that the admiral programming strategy mandates dplyr verbs and discourages base R — none of this is inferable from the code alone.

could we remove this part - I don't think we should highlight that and maybe remove it from our manifesto entirely. @manciniedoardo WDYT?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok to remove - we sometimes use base R anyway, no need to be so prescriptive.

Copy link
Copy Markdown
Collaborator

@bms63 bms63 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is super thorough!! wowsie - I'll need to have another read through again!!

@rossfarrugia, @aaehmann, @nicholas-masel, @orladoylenvs and others from council - we are actively discussing this is in admiral meetings and have a few resources here: pharmaverse/admiraldev#547 triggered from this slack discussion: https://pharmaverse.slack.com/archives/C02951M3MK3/p1773227847371619

This post gives a really great summation of what we are utilizing in admiral as well as what we have come up against in admiral. I see this is hitting one of the pharmaverse pillars (AI-based solutions and agents will play a critical role in future ways of working).

Is there a push to develop some guidelines/principles or any other discussions you all can share that are happening around use of AI in pharmaverse council - similar to say https://ropensci.org/blog/2026/02/26/ropensci-ai-policy/ ??

Also want to make sure this post is okay to put out there!!??!!


## Introduction

AI coding assistants are becoming a natural part of how clinical R programmers work — autocompleting functions, suggesting test cases, drafting derivations. But out of the box, these agents know nothing about ADaM conventions, CDISC standards, or how the pharmaverse ecosystem fits together. They don't know that flag variables take `"Y"` or `NA` — never `"N"`. They don't know that `{pharmaversesdtm}` is the canonical source of test SDTM data, or that `{xportr}` is waiting downstream to turn your dataset into a submission-ready XPT file. `AGENTS.md` is a simple, open standard that changes that — and the admiral ecosystem now has infrastructure to generate and maintain these files automatically across every package in the family.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it true about the "never "N""? Our examples have in {admiral} have loads of N's!!


## Why This Matters for the pharmaverse

ADaM derivations encode decades of CDISC regulatory expectations that don't appear anywhere in the R syntax. The fact that `ANL01FL` is an analysis flag with specific derivation logic, that `DTYPE = "LLOQ"` imputation records follow specific rules, or that the admiral programming strategy mandates `dplyr` verbs and discourages base R — none of this is inferable from the code alone.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor: {admiral} is not always formatted inside curlies in the blog.

@jeffreyad
Copy link
Copy Markdown
Collaborator Author

@adcascone and I were originally to write a joint blog about both the AGENTS.md files in {admiral} and the overall strategy and consideration. Now we are thinking perhaps these should be separated into two blogs 1) this specific blog about AGENTS.md and 2) a more general discussion of impact of AI on open source.

@jeffreyad jeffreyad requested a review from adcascone March 24, 2026 16:26
@jeffreyad jeffreyad changed the title Draft--Blog: AGENTS.md, {admiral}, and the AI-Assisted Programmer Closes #369 Blog: AGENTS.md, {admiral}, and the AI-Assisted Programmer Mar 24, 2026
@rossfarrugia
Copy link
Copy Markdown
Contributor

@rossfarrugia, @aaehmann, @nicholas-masel, @orladoylenvs and others from council - we are actively discussing this is in admiral meetings and have a few resources here: pharmaverse/admiraldev#547 triggered from this slack discussion: https://pharmaverse.slack.com/archives/C02951M3MK3/p1773227847371619

This post gives a really great summation of what we are utilizing in admiral as well as what we have come up against in admiral. I see this is hitting one of the pharmaverse pillars (AI-based solutions and agents will play a critical role in future ways of working).

Is there a push to develop some guidelines/principles or any other discussions you all can share that are happening around use of AI in pharmaverse council - similar to say https://ropensci.org/blog/2026/02/26/ropensci-ai-policy/ ??

Also want to make sure this post is okay to put out there!!??!!

@mdubel @Coutuan3s as council reps for the "Future Focus" pillar I wanted to tag you both here to comment.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 30, 2026

Preview removed.

This PR has been closed and the preview website has been removed.

@bms63
Copy link
Copy Markdown
Collaborator

bms63 commented Mar 30, 2026

👀 Preview available!

The preview website for this PR is available at: https://pharmaverse.github.io/blog/369-blog-post-agentsmd-admiral-and-the-ai-assisted-programmer

The preview is updated every time a new commit is pushed to this PR.

amazing!! @jeffreyad, @manciniedoardo, @aaehmann, @ashley-tarasiewicz previews of the blog are now available in the PR

@bms63
Copy link
Copy Markdown
Collaborator

bms63 commented Mar 30, 2026

@jeffreyad I am going to merge and publish soon, but could we do a seperate update for the image and make this transparent? btw love the image

image

@bms63 bms63 merged commit 45d909b into main Mar 30, 2026
6 checks passed
@bms63 bms63 deleted the 369-blog-post-agentsmd-admiral-and-the-ai-assisted-programmer branch March 30, 2026 16:33
@mdubel
Copy link
Copy Markdown

mdubel commented Mar 30, 2026

@manciniedoardo @bms63 and others.
Thank you for this discussion. It is important, and I do support the remarks from this blog post. In my opinion, end goal for all pharmaverse should be to have AGENTS.md instructions. Preferably all starting from the common core source presented by the council. The file used in admiral might be a great starting point.

Note that this exact topic was also discussed recently during Phuse US, especially in sessions:
AV14: Emerging Trends & Innovation Advance Session
OS21: Manual vs AI Assisted Workflows: Practical Strategies for Complex R Package Development

The conclusions were clear:

  1. AI supported coding is a future and a great opportunity to boost our productivity.
  2. We need guardrails, instructions, and agreed review process for the AI generated code.

This is indeed our close interest as a Pharmaverse Future Focus pillar, thus expect guidance to come.

Note that we are working right now on the automated governance workflow for all the packages in the Pharmaverse. It was suppose to have all the standard metrics and checks, related to maintenance, code quality, tests. However, after Phuse discussions and posts like this, I see that 'being AI ready' is also a crucial part to include in the package review report.

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.

Blog Post: AGENTS.md, {admiral} and the AI-Assisted Programmer

7 participants