Skip to content

Restructure docs around case studies and patterns - #84

Merged
cmungall merged 5 commits into
mainfrom
claude/aidocs-refresh-plan-9nku4d
Aug 19, 2026
Merged

cmungall merged 5 commits into
mainfrom
claude/aidocs-refresh-plan-9nku4d

Conversation

@cmungall

Copy link
Copy Markdown
Member

This PR reorganizes the documentation to center on real working repositories rather than abstract how-tos. The new structure makes it easier for curators to find and copy working setups.

Key changes

  • Added case studies section with pages for 9 repositories (GO, Uberon, Mondo, Cell Ontology, EFO, DisMech, AI Gene Review, CommunityMech, HabitatMech) that run agents on real curation work. Each page points to the actual files and folders to copy.

  • Added patterns section with 10 short pages describing practices that appear in multiple repositories (skills, scanners, validation, guards, etc.). Each pattern names the repositories that use it.

  • Simplified how-tos by removing the detailed GitHub Actions setup guide and replacing it with a pointer to Claude Code's built-in install-github-app command.

  • Added "Your first curation session" tutorial for non-technical curators to try an agent in the cloud without installing anything.

  • Rewrote home page to emphasize that agents are already working in real repositories, and this site points at those repositories so you can copy working setups.

  • Added Evidence page documenting where the observations on the site come from (agent-watcher reports).

  • Updated CLAUDE.md to point to AGENTS.md as the authoritative guidance file.

  • Removed outdated content: deleted the "Using local AI tools" tutorial, the "Examples" page, and individual client app reference pages that duplicated information.

  • Updated mkdocs.yml navigation to reflect the new structure with case studies and patterns as top-level sections.

The documentation now follows the principle stated in the repository: repositories are the source of truth, not centralized guidance. If a page disagrees with a repository, readers are directed to trust the repository.

https://claude.ai/code/session_017tKFksxqHZJNLoH1zJ5WXm

The site described a Goose-first, single-guide world that no longer matches
what these repositories do. Rebuild it around the repositories themselves.

New:
- docs/case-studies/: one page per repository running agents on real curation.
  Ontologies (GO, Uberon, Mondo, Cell Ontology, EFO) and the mechs (DisMech,
  AI Gene Review, CommunityMech, HabitatMech and the CultureBot family).
- docs/patterns/: nine practices that appear in more than one repository, each
  linking to the repositories that use it.
- docs/evidence.md: where the skill, subagent and workflow counts come from.
- docs/tutorials/first-curation-session.md: a cloud-first first session,
  replacing the Goose, OWL-MCP and Protege walkthrough.
- docs/reference/harnesses.md: replaces six client stub pages.

Changed:
- Goose is now documented as historic throughout. It stays described because
  it is still deployed, but it is no longer recommended for new setups.
- Canonical site URL is now ai4curation.io/aidocs, matching the CNAME.
- CLAUDE.md is a pointer to AGENTS.md, so this repository follows the
  one-source-of-instructions pattern it documents.
- set-up-github-actions.md leads with Claude Code Action; the dragon-ai-agent
  and Goose route moves to a historic section.
- author-skills.md no longer ends in a TODO, and its skill counts are current.

Removed:
- Six client comparison stubs, examples.md, and the Goose tutorial. Their
  content is covered by the case studies and the harnesses page.

Infrastructure:
- mkdocs build is now --strict in deploy, and a new docs-checks workflow runs
  the strict build plus a link check on pull requests and weekly. Outbound
  links to other repositories are the main thing that rots here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017tKFksxqHZJNLoH1zJ5WXm
@claude

claude Bot commented Aug 18, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

The link check on the previous commit found 11 errors out of 456 links.
All of them were real except the bot-blocked hosts.

Genuine mistakes in the new pages:
- HabitatMech's term requests page is at pages/term-requests.html. The link
  in HabitatMech's own README is missing the pages/ segment and 404s.
- geneontology/go-jupyter is not a public repository. Describe the shared
  JupyterHub setup without linking to it, in three places.

Pre-existing errors the check surfaced:
- owl-mcp is ai4curation/owl-mcp, not monarch-initiative/owl-mcp.
- dismech renamed stale-pr-reassign.yml to pr-shepherd.yml.

Excluded from the check: claude.ai and learn.deeplearning.ai return 403 to
automated requests. Both links are correct in a browser.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017tKFksxqHZJNLoH1zJ5WXm
@claude

claude Bot commented Aug 18, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

"Agent" was covering three different things: the software, the subagent, and
the GitHub identity work appears under. Split off the last one and call it a
bot, which is the word GitHub already puts in the byline (ai4c-agent[bot]).

The frame: the agent is the software that does the work, the bot is the
identity it works under, and one agent can work under different bots in
different repositories.

New docs/reference/bots.md covers:
- The bots in use: ai4c-agent, ai4c-reviewer, claude, copilot-swe-agent,
  github-actions, dragon-ai-agent.
- GitHub Apps versus machine accounts, and why Apps are preferable for new
  setups: per-run tokens, per-repository permissions, no seat.
- Why DisMech runs two of its own. GitHub does not let an identity approve its
  own pull request, so ai4c-agent writes and ai4c-reviewer supplies the
  approving review that branch protection requires. Without that split, every
  agent pull request would need a human approval.
- Setting the commit author so App commits attribute correctly.
- Reading a byline to work out what produced a change.

Corrected elsewhere: dragon-ai-agent is semi-retired, not simply "still
running". Mondo still runs the machine account on a PAT; DisMech retired the
account and keeps @dragon-ai-agent as a trigger keyword only, with the work
done by the ai4c-agent App. The same mention means different things in the two
repositories, which is worth knowing when reading old issue threads.

Updated: harnesses.md, github-integrations.md, the DisMech and Mondo case
studies, the untrusted-surface pattern, glossary, and nav.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017tKFksxqHZJNLoH1zJ5WXm
@claude

claude Bot commented Aug 19, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

Restructure docs/reference/bots.md into docs/reference/bots/ with an overview
plus one page per bot: ai4c-agent, ai4c-reviewer, claude, copilot-swe-agent,
dragon-ai-agent. Drop the "bots you will meet" heading.

Corrected: GO runs both ai4c-agent and ai4c-reviewer. The previous version
listed them for DisMech and AI Gene Review only.

GO's two agent workflows turn out to be the best-documented examples of this
setup anywhere in these repositories, and their header comments supply several
things worth writing down:

- A GitHub App cannot be @-mentioned. "@ai4c-agent" renders as plain text, so
  every bot mention is really a trigger keyword that a workflow matches against
  comment text. This generalises the dragon-ai-agent case rather than being an
  exception to it, and it means a keyword can be migrated without touching the
  identity. GO honours @dragon-ai-agent as a legacy handle during that move.
- An App has two different numbers. The app id mints the token; the bot
  account's user id is what commit attribution needs. Using the wrong one
  silently unlinks commits from the App.
- Review actions skip bot-authored pull requests by default, so the editing bot
  has to be named in allowed_bots or the highest-value reviews never happen.
- GO keeps the review rubric in the pr-review skill rather than the workflow
  prompt, so humans and bots apply the same criteria.
- Authorized triggerers are listed in .github/ai-controllers.json.

Also updated the GO case study, which had described the two workflows without
naming the identities they run as.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017tKFksxqHZJNLoH1zJ5WXm
@claude

claude Bot commented Aug 19, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

The link check failed on one link out of 506: the DRAGON-AI paper at
pubmed.ncbi.nlm.nih.gov/39415214/. PubMed answers automated clients with 203
Non-Authoritative Information rather than 200, so lychee rejected it.

Verified the link is correct through the NCBI esummary API: PMID 39415214 is
Toro S et al., "Dynamic Retrieval Augmented Generation of Ontologies using
Artificial Intelligence (DRAGON-AI)", J Biomed Semantics 15, 2024. The fix
belongs in the checker, not the citation.

203 is a success code, so accept it generally rather than excluding PubMed.
Any future PubMed citation on this site would hit the same thing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017tKFksxqHZJNLoH1zJ5WXm
@claude

claude Bot commented Aug 19, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

@cmungall
cmungall merged commit d295549 into main Aug 19, 2026
2 of 3 checks passed
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