Agentic Coding Tools and AI Assistants
AI-powered coding assistants can speed up writing, debugging, and refactoring code. They can also introduce subtle errors, leak context to third-party servers, or push changes in the wrong direction if you are not careful.
This guide covers tools the lab commonly uses—Claude Code, GitHub Copilot, ChatGPT / Codex, and local models (Ollama)—plus practices that keep agents useful and your work reproducible.
Related: Computing Best Practices · VS Code on Klone
New to agentic AI? Start with the Bootcamp
The Agentic AI Bootcamp is a short, self-paced onboarding ramp (~4–6 hours) that walks new lab members and OPUS-AAI participants through what agentic AI is, how to set up and drive Claude Code, hands-on starter exercises, and how to shape a marine-genomics project of their own. Work through it first, then use this page as your day-to-day reference.
Before you get started!: Roberts Lab AI Use Indicator
The Roberts Lab AI Use Indicator provides a simple, standardized way to disclose how generative AI tools were used in a work product. This rubric can be applied to lab notebook posts, manuscripts, presentations, reports, GitHub commits, code repositories, outreach products, and other scholarly or professional outputs.
The goal is not to discourage AI use, but to make its role transparent. Authors remain responsible for the accuracy, originality, interpretation, reproducibility, and ethical use of all material in the final work product.
How to use the indicator
Each work product should include one AI Use Indicator level, selected by the author based on the highest level of AI involvement. For example, if AI was used for both grammar editing and code troubleshooting, the appropriate level would likely be Level 2 rather than Level 1.
A recommended placement is near the end of a notebook post, README, manuscript acknowledgments section, presentation title slide, or GitHub commit message.
Five-level rubric
| Level | Label | Description | Short disclosure |
|---|---|---|---|
| Level 0 | No AI use | No generative AI tools were used in creating the work product. | No generative AI tools were used in creating this work product. |
| Level 1 | AI-assisted editing | AI was used only for grammar, clarity, formatting, summarizing, or minor wording improvements. The ideas, analysis, code, and interpretation are human-generated. | Generative AI was used only for grammar, clarity, formatting, or minor wording improvements. The ideas, analysis, code, and interpretation are the author’s own. |
| Level 2 | AI-assisted drafting or coding | AI helped draft sections, suggest code, outline content, troubleshoot errors, or reorganize material, but the author substantially revised, verified, and approved the final product. | Generative AI was used to help draft text, outline content, suggest code, or troubleshoot errors. All outputs were reviewed, revised, and verified by the author. |
| Level 3 | AI-supported analysis or interpretation | AI contributed to analytical decisions, interpretation, figure design, literature framing, or synthesis of results. Human review and verification are required and documented where appropriate. | Generative AI was used to help evaluate analytical options, interpret results, design figures, or synthesize information. Final decisions, validation, and conclusions are the author’s responsibility. |
| Level 4 | Substantial AI contribution | AI produced a major first draft, substantial code, synthetic interpretation, or large portions of the work product. The final version required human validation, revision, and responsibility. | Generative AI produced a major first draft, substantial code, synthetic interpretation, or large portions of the work product. The final version was reviewed, revised, validated, and approved by the author. |
Recommended disclosure format
Use the following format when adding a disclosure to a work product:
AI Use Indicator: Level X — Label. Short disclosure statement.
Example:
AI Use Indicator: Level 2 — AI-assisted drafting or coding. Generative AI was used to help draft text, outline content, suggest code, or troubleshoot errors. All outputs were reviewed, revised, and verified by the author.
Clickable badge tags
The following HTML badges can be added to Quarto pages, GitHub README files, notebook posts, or other HTML-compatible documents. Each badge links to this page (rubric above) so details can be understood.
Level 0 — No AI use
<a href="https://robertslab.github.io/resources/Agentic-Coding-Tools/#five-level-rubric"><img alt="AI Use Level 0: No AI use" src="https://img.shields.io/badge/AI%20Use-Level%200%20No%20AI%20use-lightgrey"></a>
Level 1 — AI-assisted editing
<a href="https://robertslab.github.io/resources/Agentic-Coding-Tools/#five-level-rubric"><img alt="AI Use Level 1: AI-assisted editing" src="https://img.shields.io/badge/AI%20Use-Level%201%20Editing-blue"></a>
Level 2 — AI-assisted drafting or coding
<a href="https://robertslab.github.io/resources/Agentic-Coding-Tools/#five-level-rubric"><img alt="AI Use Level 2: AI-assisted drafting or coding" src="https://img.shields.io/badge/AI%20Use-Level%202%20Drafting%2FCoding-yellowgreen"></a>
Level 3 — AI-supported analysis or interpretation
<a href="https://robertslab.github.io/resources/Agentic-Coding-Tools/#five-level-rubric"><img alt="AI Use Level 3: AI-supported analysis or interpretation" src="https://img.shields.io/badge/AI%20Use-Level%203%20Analysis%2FInterpretation-orange"></a>
Level 4 — Substantial AI contribution
<a href="https://robertslab.github.io/resources/Agentic-Coding-Tools/#five-level-rubric"><img alt="AI Use Level 4: Substantial AI contribution" src="https://img.shields.io/badge/AI%20Use-Level%204%20Substantial%20AI%20Contribution-red"></a>
Compact badge versions
These shorter badges may be useful for GitHub commits, repository READMEs, or notebook headers.
Compact Level 0
<a href="https://robertslab.github.io/resources/Agentic-Coding-Tools/#five-level-rubric"><img alt="AI Use L0: None" src="https://img.shields.io/badge/AI%20Use-L0%20None-lightgrey"></a>
Compact Level 1
<a href="https://robertslab.github.io/resources/Agentic-Coding-Tools/#five-level-rubric"><img alt="AI Use L1: Editing" src="https://img.shields.io/badge/AI%20Use-L1%20Editing-blue"></a>
Compact Level 2
<a href="https://robertslab.github.io/resources/Agentic-Coding-Tools/#five-level-rubric"><img alt="AI Use L2: Drafting/Coding" src="https://img.shields.io/badge/AI%20Use-L2%20Drafting%2FCoding-yellowgreen"></a>
Compact Level 3
<a href="https://robertslab.github.io/resources/Agentic-Coding-Tools/#five-level-rubric"><img alt="AI Use L3: Analysis" src="https://img.shields.io/badge/AI%20Use-L3%20Analysis-orange"></a>
Compact Level 4
<a href="https://robertslab.github.io/resources/Agentic-Coding-Tools/#five-level-rubric"><img alt="AI Use L4: Substantial" src="https://img.shields.io/badge/AI%20Use-L4%20Substantial-red"></a>
Author responsibility
Use of generative AI does not reduce the author’s responsibility for the final product. Authors should verify factual claims, check code and analyses, confirm citations, disclose AI use transparently, and ensure that confidential, sensitive, or unpublished data are handled appropriately.
AI Resource Quick comparison
| Tool | Where it runs | Best for | Needs internet |
|---|---|---|---|
| Claude Code | Terminal, VS Code, desktop app, web | Repo-wide agentic work: multi-file edits, running and fixing scripts, git workflows | Yes |
| GitHub Copilot | VS Code and other IDEs, GitHub.com | Tab completion, in-editor chat, issue → PR cloud agent | Yes |
| ChatGPT / Codex | Browser, desktop app, terminal CLI, IDE extension | Explaining concepts, one-off scripts, repo-wide tasks via CLI | Yes |
| Ollama + Continue | Your machine only | Quick questions, regex help, privacy-sensitive drafts | No (after model download) |
| Image tools | Various | Figures, diagrams, mockups (verify licensing & accuracy) | Usually yes |
Principles for using AI assistants in research code
Protect your main branch and your data
- Work on a branch. Agents can edit many files at once. A feature branch limits damage and makes review easy.
- Never commit secrets. Do not paste API keys, passwords, or
.envcontents into chat. Add those paths to.gitignorebefore sharing a repo with an agent. - Treat unpublished data carefully. Sequences, field notes, and embargoed results may be sent to vendor servers when you use cloud tools. Prefer local models or offline workflows when sensitivity matters.
- Review every change. Read diffs like a colleague’s PR. Run tests and spot-check outputs—especially statistics, file paths, and HPC job scripts.
Give agents enough context
Agents work better when the repository explains itself:
| File | Purpose |
|---|---|
CLAUDE.md / AGENTS.md (or .github/copilot-instructions.md) |
Project goals, conventions, how to run code, what not to touch. Claude Code reads CLAUDE.md; Codex reads AGENTS.md; Copilot reads .github/copilot-instructions.md (and AGENTS.md) |
tasks.md |
Current sprint: what is done, in progress, and blocked |
README.md in each folder |
What data and scripts live where (Computing Best Practices) |
Keep these files short and current. Stale instructions are worse than none.
Match the mode to the job
| You want to… | Use |
|---|---|
| Understand code or an error message | Ask / chat (read-only Q&A) |
| Agree on an approach before any files change | Plan mode (Copilot Plan, Claude Code plan mode) |
| Change a specific function or block | Inline chat on a selection (Cmd+I / Ctrl+I in VS Code) |
| Multi-step work (tests, refactors, debugging) | Agent / coding agent (Copilot Agent, Claude Code, Codex) |
| An entire GitHub issue implemented as a PR | Copilot cloud agent on GitHub |
Watch usage limits
Claude, Copilot, and ChatGPT plans all have usage limits (Copilot now meters chat and agent use in monthly AI Credits). Usage depends heavily on whether you use lightweight Ask vs heavier Agent sessions and which model you select. Check your account dashboard when sessions stop unexpectedly.
Claude Code
Claude Code is Anthropic's agentic coding tool and the one the Agentic AI Bootcamp teaches. It works in a project directory: it reads your files, proposes and makes edits, runs commands and scripts, reads the output, and iterates. It runs in the terminal, and also as a VS Code extension, a desktop app, and on the web.
Access
Claude Code needs a Claude subscription (Pro, Max, Team, or Enterprise) or API access. Lab members and program participants: ask your lead before paying for anything—access is usually provided.
Install
# Native installer (macOS / Linux / WSL)
curl -fsSL https://claude.ai/install.sh | bash
# or, with Node.js 18+
npm install -g @anthropic-ai/claude-code
See the setup docs for Windows and other options, which change over time.
Typical workflow
cdinto your git repository (on a feature branch)- Start a session:
claude - Describe the task; for anything non-trivial, use plan mode (
Shift+Tab) so it proposes an approach before touching files - Approve or decline file edits and commands as it asks—read what it is about to do
- Review
git diff, run tests, then commit
Give it lasting context with CLAUDE.md
A CLAUDE.md file at the repo root is read at the start of every session. Put project goals, directory layout, how to run things, and what not to touch there (see memory docs). Run /init in a session to draft one, then edit it down.
Tips
- Start a fresh session (
/clear) for each new task; long sessions drift - It can be confidently wrong—sanity-check numbers, statistics, and biology
- On Klone, run it from a compute node session, not a login node, if it will execute analyses
GitHub Copilot
GitHub Copilot suggests code as you type and can run conversational or agentic workflows in the editor and on GitHub.com.
Prerequisites
- GitHub account with Copilot access. GitHub Education gives verified students the free Copilot Student plan (unlimited completions, monthly AI Credits for chat/agent use, automatic model selection) and verified teachers free Copilot Pro. A limited Copilot Free plan is available to everyone.
- VS Code or another supported IDE
- Active internet connection (cloud models)
Check access: github.com/copilot
Setup in VS Code
1. Install the extension
- Open VS Code → Extensions (
Cmd+Shift+X/Ctrl+Shift+X) - Install GitHub Copilot Chat (by GitHub). This single extension now provides both inline completions and the chat panel; the separate "GitHub Copilot" extension has been folded into it.
2. Sign in
- Click the Copilot icon in the status bar → Sign in to GitHub
- Complete browser authentication
- Confirm the status bar shows Copilot as enabled
3. Verify inline completion
Create a test file and start a function:
def calculate_gc_content(
Gray ghost text should appear; accept with Tab, dismiss with Esc.
Ask, Plan, and Agent in VS Code
The Copilot Chat panel has three built-in modes (pick from the dropdown in the chat box), plus inline chat for quick edits:
Ask — Chat panel for questions without automatic edits.
- Examples: “What does this function do?”, “Write a regex for valid FASTA headers”
- Copilot explains or suggests snippets; you apply changes manually
- Best for learning and planning
Plan — Work out an approach before anything changes.
- Describe the goal; Copilot researches the code and proposes a step-by-step plan
- Refine the plan, then hand it to Agent to implement
- Best for anything touching more than a file or two
Inline chat (Cmd+I / Ctrl+I) — Change selected code from a prompt.
- Select code → inline chat → e.g. “Convert this loop to vectorized pandas”
- Shows a diff; accept or reject
- Best for localized refactors (this replaces the former Edit mode)
Agent — Multi-step, goal-oriented sessions.
- Can read files, propose edits, run terminal commands (depending on settings), and iterate on errors
- Best for debugging, test runs, and larger refactors
- Use on a branch; review all file changes before commit
Rule of thumb: Ask to understand → Plan to agree on an approach → Agent to make and verify changes (inline chat for small, local edits).
Practical use cases in the lab
- Tab completion while writing R, Python, shell, or Quarto/Rmd
- Explaining unfamiliar API calls or error stacks
- Refactoring repetitive plotting or file I/O
- Drafting tests or README sections (then verify)
- Scaffolding Slurm scripts—always validate partition, account, and resource flags against Klone guides
Copilot on the web
github.dev editor
- Open any repository on GitHub
- Press
.(period) to open the web VS Code editor, or visithttps://github.dev/owner/repo - Use it for quick browsing and small edits. Extension support in github.dev is limited, so for full Copilot features use desktop VS Code or a Codespace
Code view on GitHub.com
- Look for the Copilot control in file views for explanations and improvement ideas
- Treat suggestions as starting points, not ground truth
Assign issues to the Copilot cloud agent
One of the strongest workflows for repo maintenance:
- Open an issue with clear background, acceptance criteria, and files or areas to touch
- Assign the issue to Copilot (same as assigning a teammate)
- Copilot plans work, pushes to a branch, and opens a pull request
- You review the PR; request changes or merge when satisfied
Write issues the way you would for a human contributor: what “done” looks like, constraints, and test commands if any.

GitHub now calls this the Copilot cloud agent (formerly "coding agent"). Official docs: Start Copilot sessions
Copilot on UW Klone (HPC)
Copilot runs in VS Code on your laptop, talking to cloud models; compute still runs on Klone when you execute code remotely.
Recommended: VS Code on Klone via ProxyJump — connect to a compute node with Remote-SSH so login nodes stay free.
Alternative: Hyak OnDemand VS Code is easier to start and is what Hyak recommends over connecting to login nodes, but it uses the Open VSX extension gallery, so Copilot may not be available or may behave differently there; see pros/cons in the Klone VS Code guide.
Basic Remote-SSH flow:
# On your laptop: install Remote-SSH in VS Code, configure ProxyJump per UW-IT
ssh your_netid@klone.hyak.uw.edu
# Then salloc a compute node and connect VS Code to klone-node (see klone_VS-Code.md)
Copilot documentation
- GitHub Copilot documentation
- VS Code agents and Copilot guide
- Prompting best practices (GitHub Blog)
ChatGPT and OpenAI Codex
ChatGPT (chat)
ChatGPT is useful for:
- Explaining algorithms, statistics, or file formats
- Drafting small standalone scripts before moving them into a repo
- Brainstorming analysis plans (then implementing and validating in version-controlled code)
Limitations: Chat sessions are not tied to your repo unless you upload files or use connectors. It will not run your Klone jobs or know your directory layout unless you provide that context. Always copy final code into GitHub with normal review.
OpenAI Codex (CLI agent)
Codex is OpenAI's coding agent (distinct from the older “Codex” API name). The CLI runs in your terminal, reading and editing files in a project directory, running commands, and working across a repository; Codex is also available as an IDE extension and as a cloud agent in ChatGPT.
Install (examples):
npm install -g @openai/codex
# or
brew install --cask codex
Typical workflow:
cdinto your git repository (on a feature branch)- Start Codex:
codex - Describe the task in natural language; approve file and command changes when prompted
- Review
git diff, run tests, then commit
Access is included with many ChatGPT paid plans; see Codex CLI documentation for authentication options.
When to prefer Codex or Claude Code vs Copilot: Codex and Claude Code are strong when you want a terminal-first, repo-wide agent session, with or without VS Code. Copilot is stronger for inline completion and GitHub-native issue → PR flows.
Ollama (local models)
Running models locally keeps prompts on your machine—useful for quick help (regex, bash one-liners, explaining error messages) without sending text to a cloud API.
Install Ollama
- Download from ollama.com
- Pull a coding-oriented model, for example:
ollama pull qwen2.5-coder:7b
Smaller models are faster; larger models are better for multi-file reasoning but need more RAM. qwen2.5-coder:7b runs on most laptops; the newer qwen3-coder (30B and up) is stronger if you have the memory (~32 GB+).
Use with VS Code (Continue extension)
Continue connects VS Code to Ollama for chat and optional tab completion.
- Install the Continue extension in VS Code
- Ensure Ollama is running (
ollama serveif needed) - Configure Continue to use
http://localhost:11434as the Ollama API base - Select your pulled model in Continue’s model picker
Example minimal config.yaml (in ~/.continue/ on macOS/Linux, %USERPROFILE%\.continue\ on Windows; Continue's YAML config replaces the older config.json, see Continue docs):
name: local-config
version: 0.0.1
schema: v1
models:
- name: Qwen2.5 Coder
provider: ollama
model: qwen2.5-coder:7b
apiBase: http://localhost:11434
roles:
- chat
- edit
- autocomplete
When local models are enough
- Syntax checks and small transformations
- Drafting commit messages or docstrings
- Learning a new library API at your desk
When to use cloud tools instead
- Large refactors across many files
- Agents that run tests and iterate on CI failures
- Tight integration with GitHub Issues and PRs
Image generation
AI image tools can help with conceptual diagrams, presentation figures, and mockups. They are poor sources of scientific truth—do not use them for data plots, specimen IDs, or quantitative results.
| Tool | Notes |
|---|---|
| ChatGPT Images | Good for rough schematics (DALL·E has been retired; ChatGPT now uses OpenAI's GPT Image models); check OpenAI usage policies |
| Copilot / VS Code | Some plans support image generation in chat; treat output as draft art |
| Dedicated tools (Midjourney, Ideogram, etc.) | Useful for outreach graphics; document that AI assisted if required by venue |
Lab practice: Prefer real data visualizations (ggplot2, matplotlib, etc.) for publication. Use generated images only where accuracy is not implied, and label them as illustrative.
Choosing a workflow (examples)
| Task | Suggested approach |
|---|---|
| Fix a failing R script on your laptop | Claude Code in the repo, or Copilot Ask / Agent in VS Code, on a branch |
| Implement a filed GitHub issue end-to-end | Assign issue to Copilot cloud agent, review PR |
| Explain a Slurm error without leaving the terminal | Claude Code or Codex pointed at the job log |
| Quick regex for filenames, no cloud | Ollama + Continue |
| Heavy analysis on Klone | VS Code Remote-SSH (or Hyak OnDemand) to a compute node, or Claude Code in a compute-node session; submit big jobs via Slurm |
| Figure for a seminar slide (not data) | Image tool + manual cleanup in Illustrator/PowerPoint |
Getting help
- Lab: open a GitHub issue on this handbook repo
- UW Hyak / Klone: Hyak documentation and UW-IT office hours
- Claude Code: Claude Code docs and the Agentic AI Bootcamp
- Copilot access / education: GitHub Education
If something in this page is outdated (models and UIs change quickly), edit the doc via the pencil icon in the handbook or submit a PR.