0 of 5 done

Claude Code in Optum Financial

Getting started with Claude Code

You've just received access to Claude Code. It's time to make it yours: tune how it works, connect GitHub and Jira, and set it up properly in one of your repos.

~20 minutes 5 steps Your progress is saved in this browser
What this is. A practical companion written by engineers at The Agile Monkeys who work in these codebases every day. It assumes you've already got Claude Code installed; if you haven't, start with the official Getting Started page, which covers what you need to get access.
I'm using

1 Tune how it works 3 min

Out of the box, Claude Code asks before almost everything. A few minutes here decide whether it feels like a colleague or a pop-up machine.

Start a session

Open the Code tab, choose Local, and pick your repository as the project folder. Next to the send button are the two controls you'll use most: the model dropdown and the mode selector.

Make it plan before it writes

Set the mode selector to Plan: Claude explores and proposes, and changes nothing until you approve. Then switch to Accept edits or Manual to carry it out. Thirty seconds reading a plan saves twenty minutes reviewing a diff that went the wrong way.

Review the diff, not the chat

When Claude changes files, click the +12 −1 counter to open the diff. Click any line to leave a comment, then Cmd+Enter (Mac) or Ctrl+Enter (Windows) sends them all and Claude revises. Review code, top right, gets a second pass for bugs before you commit.

Make it plan before it writes

Press Shift+Tab to cycle modes until you see plan mode: it reads and proposes, and changes nothing until you approve the plan. Thirty seconds reading a plan saves twenty minutes reviewing a diff that went the wrong way. To start every session there, add "defaultMode": "plan" to your settings.

Stop being asked about the safe things

Permission rules have no settings screen, so let Claude write them. Paste this into a session:

Allow the read-only commands you'd never refuse, and deny what it should never touch. Paste this into a session, or edit ~/.claude/settings.json yourself:

Add to my personal Claude Code settings: allow git status, git diff
and git log without asking, and never read .env files or anything
under secrets/.
What that writes to ~/.claude/settings.json
{
  "permissions": {
    "allow": ["Bash(git status)", "Bash(git diff *)", "Bash(git log *)"],
    "deny": ["Read(./.env)", "Read(./.env.*)", "Read(./secrets/**)"]
  }
}

Deny always beats allow. The same rules apply in the desktop app and the terminal.

Grow the list as you go: when it asks about something harmless for the third time, allow it.

Settings → Claude Code holds the app's own preferences, and the ring next to the model picker shows your usage.

  • /model — pick the model and save it as your default.
  • /terminal-setup — so Shift+Enter gives you a new line instead of sending.
  • /doctor — checks your setup when something looks off.

2 Connect GitHub 3 min

The best way to connect Claude Code to GitHub is GitHub's official connector, its MCP server (+ConnectorsGitHub), but it isn't available at Optum yet. Until it is, use the GitHub CLI, gh: with it, Claude can open pull requests, read issues and watch CI for you, and it's what powers the app's pull request and CI features.

You need gh installed on your machine first, from the company's software catalogue.

Then open the terminal pane (Views menu, or Ctrl+`) and sign in once:

Then sign in once:

gh auth login

Now, from a feature branch:

Open a draft PR for this branch. Summarise what changed and why,
and list anything a reviewer should look at closely.

Once the PR is open, a CI status bar appears in the session and the app notifies you when checks finish. Turn on Auto-fix there and Claude reads failing checks and pushes fixes on its own.

CI is failing on this PR. Find out why and tell me the fix.
Don't push anything.

3 Connect Jira 5 min

The best way to connect Claude Code to Jira is Atlassian's official connector, its MCP server (+ConnectorsAtlassian Rovo), but it isn't available at Optum yet. Until it is, use a small skill we publish with this guide: one file that teaches Claude to use Jira's REST API with your token, and so with your permissions — nothing more.

1. Create a Jira API token

Go to your Atlassian account → SecurityAPI tokens and create one.

2. Give it to Claude Code, not to the chat

Start a new session and, before you send anything, look at the controls in the prompt area: one of them is a dropdown that says Local. (It only appears there, at the start of a session; you won't find it in a session that's already running.) Hover Local, click the gear icon next to it, and add these three. They're stored encrypted on your machine:

Export these three in your shell profile:

  • JIRA_URLhttps://optumfinancial.atlassian.net
  • JIRA_EMAIL — the email you sign in to Jira with
  • JIRA_API_TOKEN — the token you just created

Once they're saved, start a fresh session so Claude picks them up. Never paste the token into a prompt.

3. Install the skill

Paste this into a session. Claude downloads the skill into your personal skills folder and tells you what it does — or read it first:

Download https://claudecodeguide.theagilemonkeys.com/skills/jira/SKILL.md into my
personal skills folder at ~/.claude/skills/jira/SKILL.md, then tell me
what it does.

4. Start from the ticket

Read PROJ-123. Summarise the acceptance criteria, find the code it
touches, and give me a plan. Don't write any code yet.

4 Set it up in your repo 8 min

Everything annoying about a first session — it guessed the wrong test command, invented a folder structure, used a pattern your team abandoned years ago — has the same cause: no context. Fix it once, in the repo, for everyone.

Let Claude write CLAUDE.md

In a session on the repo, type /init. Claude reads the code and drafts a CLAUDE.md, which you review in the diff like any other change. Then fix it: it gets the commands right and the judgement calls wrong. Fifteen lines is enough:

What a good one looks like
# <Project name>

## What this is
<Two sentences. What it does, who uses it.>

## Commands
- Test: <...>
- Lint: <...>
- Run locally: <...>

## Conventions
- <The pattern we actually follow, not the one in the old docs>
- <What never to touch without asking>

## Watch out
- <The thing that trips up everyone new to this repo>

Share the permissions with the team

Create .claude/settings.json allowing our test, lint and build commands
without asking and denying reads of .env and secrets/. Then commit it
together with CLAUDE.md.
What ends up in the repo
your-repo/
├── CLAUDE.md                what Claude needs to know about this repo
└── .claude/
    ├── settings.json        team permissions — committed
    └── settings.local.json  yours only — stays out of git

Then calibrate it

Explain what this service does and trace the path a request takes
through it. Don't change anything.

You already know the answer — that's the point. Wherever it's wrong, add the missing line to CLAUDE.md. The next person on your team gets a better first session than you did.

5 Go further: AGENTS.md, skills, subagents, hooks 3 min

Pick one and add it to your repo. Each turns something you'd otherwise repeat in every prompt into part of the setup — and Claude can write all of them for you.

AGENTS.md

Already have an AGENTS.md for other coding tools? Claude Code reads it when the repo has no CLAUDE.md. If you have both, start CLAUDE.md with @AGENTS.md so one file stays the source of truth.

Skills

Reusable instructions Claude loads when they're relevant, or when you call them by name — the Jira skill from step 3 is one. Type / in the prompt box (or +Slash commands) to see what you have, and Customize in the sidebar to manage them. Type / to see what you have.

Create a project skill called review-diff that summarises my
uncommitted changes in three bullets and lists risks: missing tests,
error handling, hardcoded values, anything against CLAUDE.md.

Subagents

Specialists with their own instructions and context, saved in .claude/agents/. A reviewer is a good first one:

Create a subagent called reviewer that checks a diff against the
conventions in CLAUDE.md and reports problems without editing.

Hooks

CLAUDE.md is guidance; hooks are guaranteed. They run a command on every matching action:

Add a hook to .claude/settings.json that runs our formatter on every
file you edit.

Plugins

Bundles of skills, subagents, hooks and connectors that another team already built. Click +PluginsAdd plugin to browse, and choose whether it's for you or the whole project. Run /plugin to browse and install. More in the skills, hooks and CLAUDE.md docs.

Hit a usage limit? You're not out of Claude — you can opt in to a higher tier. The Claude Code overview in the resources below explains how.

That's the setup

Claude Code now knows your permissions, your GitHub, your tickets and your repo, and plans before it acts. That is genuinely most of the value — and it is roughly where most people stop.

More resources