Claude Code Guide
556 Low Code / No Code · A practical Claude Code guide

Welcome to Claude Code.

You don't need to be a developer to build real things anymore. This guide shows you how the 556 Low Code / No Code team uses Claude Code — to design, prototype, analyse and ship — using plain English, not code. It's written for two audiences: new joiners to our team, and any NBG colleague curious to try Claude Code on their own work. By the end you'll know what Claude Code is for, when a tool needs an LLM inside it, how to organise the work, and which patterns of ours are worth borrowing.

Who this guide is for

You — a product person, business analyst, or domain expert. Maybe you're joining our team, or maybe you're a bank colleague curious to try Claude Code on your own work. Either way, you probably have zero coding background and that is completely fine — you won't need it. What you'll need is what you already have: good judgment, the ability to describe a problem clearly, and patience to iterate.

The guide is structured so anyone in the bank can read it and walk away with a working setup and a clear mental model. The parts that are specific to our team (our skills marketplace, our project conventions, our GitHub org) are flagged so you know what's "ours" and what's general — borrow the parts that fit.

The mindset shift

You're not learning to code. You're learning to collaborate with an AI that codes. Your most valuable skill is being able to describe what you want — clearly, with context, with constraints. That's a product skill, not a technical one.

Section 1

The big picture in 60 seconds

What we do has three layers, stacked. Read top to bottom: the top is where we live and have leverage; each layer underneath is the machinery that makes it possible.

① OUR WAY OF WORKING · what we add CLAUDE.md · skills marketplace · project shape — turns the tool into consistent results ② CLAUDE CODE · the tool the brain with hands and eyes — reads files, runs commands, talks to GitHub ③ THE LLM · the engine Claude · GPT · Gemini — pure text in, text out. No access to anything on its own.

The LLM — the engine

Think of it as a very smart text-completion box. You type, it produces text back. That's literally all it does. It has no memory between conversations, no ability to see your files, no ability to do anything in the world. claude.ai in your browser is this layer in pure form: a brilliant chat partner who can't actually touch anything.

Claude Code — the tool

A program that wraps the LLM and gives it hands and eyes. Same brain, now wired up to your laptop: it can open files, read them, write new ones, run scripts, talk to GitHub. This is what turns "a chat box" into "something that can actually build working things." Without this layer you can think with the LLM but you can't do anything with it.

Our way of working — what we add

The rules, conventions, and skills we layer on top of Claude Code: the CLAUDE.md files, our skills marketplace, our standard project folder shape. Without it, Claude Code is incredibly capable but it'll do things slightly differently every time, in whatever the average correct way is — not necessarily our way. With it, every session produces consistent, predictable, team-shaped results.

Where the leverage is

We don't control the LLM (Anthropic builds it). We don't control Claude Code (Anthropic builds that too). But the top layer is entirely ours — every rule in CLAUDE.md, every skill in our marketplace, every project convention we agree on. The bottom two layers are gifts we receive. The top layer is what we choose to do with them — and it's the only place where each minute we invest pays back across every future Claude Code session anyone on the team runs.

Section 2

What is Claude Code, really?

Think of Claude Code as an extremely capable colleague who lives on your laptop. They can read every file in a project, write new files, run programs, search the web, and talk to GitHub — all by chatting with you in plain English. (And via optional MCP connectors, they can reach into your Email, SharePoint, Jira, etc. — but that's an add-on, not the default.)

The four things that make it different from "just ChatGPT"

  1. It has hands. A web chatbot only talks. Claude Code can actually do things — open files, edit them, run scripts, fetch data, push commits to GitHub.
  2. It has context. It sees the whole project folder. When you ask "fix the bug in this report," it can read every relevant file before answering.
  3. It works in loops, not just turns. A chat box does one prompt → one reply. Claude Code can plan, execute, check, adjust, and continue on its own — for many minutes, across many steps, sometimes splitting work into parallel sub-agents — until the goal is actually met. You don't have to babysit every step. It's a workflow engine, not a Q&A bot.
  4. It can specialise. Through skills (we'll get there), we teach it how our team works — our naming conventions, our project shape, our deployment process. So it doesn't just work generically; it works our way.

What a session actually looks like

You open a terminal in a project folder. You type natural language. Claude responds, and may ask permission to do things. Here's a real-feeling exchange — the kind of "Tuesday afternoon" task we all run into:

What's in this folder?

Claude › 12 files. Mostly Excel files with the monthly numbers, plus
        a draft PowerPoint deck and your one-page project brief.
        Want me to summarise any of them?

Read the deck and the brief. Are they saying the same thing?

Claude › Mostly, but there's a mismatch:
        • The brief states a 12% Q1 growth target.
        • The deck references "double-digit growth" verbally,
          but the chart on slide 6 shows projected Q1 at 9%.
        Looks like the chart wasn't updated when the target moved.

Fix the chart in the deck — Q1 should read 12%, matching the brief.

Claude › I'll update slide 6 in `q1-review-draft.pptx`.
        Save a backup copy first as `.bak`? [Y/n]

Notice three things: you spoke English, Claude read across multiple files and spotted a problem you might have missed, and it asked before changing anything. That last part — the asking — is the safety model. You stay in the driver's seat.

A note on trust

Claude Code is powerful and confidently wrong sometimes. Treat it like a brilliant junior: capable, fast, but in need of review. Always look at what it changes before you accept. This is built into the tool — by default it asks before doing anything irreversible.

Section 3

Setting up & running Claude Code day-to-day

The practical handful of things that make Claude Code feel like home. None of it is hard; all of it pays off the first day.

Pick a terminal

Claude Code runs inside your terminal. The terminal you choose affects how pleasant the experience is. Both built-in terminals work, but a modern one is much nicer for agent work — better colours, image previews, smoother input.

On Mac

macOS ships with a built-in Terminal app — it works, but most of us use one of these instead:

  • cmux recommended — multiplexed setup with multiple panes, ideal for running several Claude sessions side-by-side.
  • Ghostty — fast, native, GPU-accelerated.
  • iTerm2 — long-time favourite, very featureful, lots of customisation.
  • Warp — modern AI-aware terminal.

On Windows

Two paths — pick one and stick with it:

  • WSL (Windows Subsystem for Linux) recommended — runs a real Linux environment inside Windows. Better compatibility with most dev tools including Claude Code. Install WSL2 from the Microsoft Store, then run Claude Code from inside the Linux shell.
  • PowerShell — the native Windows shell. Easiest to start with; works fine for most tasks. Some tooling (especially Unix-style scripts) may need extra setup.

When in doubt: WSL. It's what most agent-tool docs assume.

Starting Claude Code

From inside any project folder, just type:

claude
The way we actually run it — skip the permission prompts

We almost always start Claude Code with the skip-permissions flag:

claude --dangerously-skip-permissions

This tells Claude not to ask "OK to edit X?" / "OK to run Y?" before every single action. The name sounds dramatic, but in practice:

  • You're in a project folder you control — Claude can't escape it.
  • You can press Esc any time to stop Claude mid-action (see below).
  • Code changes are revertible via git in seconds.
  • It makes the session noticeably smoother — no constant interruptions for confirmations.

Use it as your default. Just know what it means.

Resuming a previous conversation

Closed the terminal? Paused for a meeting? Coming back the next morning? Run:

claude --continue

(short form: claude -c). Claude picks up exactly where you left off — same context, same project understanding, same conversation history. You don't have to re-explain what you were doing.

Stopping Claude mid-response

Press Esc. Claude stops its current response immediately. Useful when:

  • It's going down a wrong path and you want to correct course.
  • It's about to run something you didn't quite expect.
  • You realised mid-sentence that you need to clarify the request.

After stopping, you can just type the clarification and continue. Nothing is lost.

Showing Claude a screenshot

You can give Claude UI mockups, error screenshots, design references, diagrams, a photo of a whiteboard — anything visual. Claude reads them as part of the context. The flow is different on each OS:

On Mac paste from clipboard

  1. Take an area screenshot to clipboard: 4, then drag the selection.
  2. In Claude Code, paste with Ctrl Vyes, Control, not Command. Claude Code's input loop intercepts Ctrl V specifically for image paste; V won't work for images even though it's the normal Mac paste shortcut.

Note: omitting (so 4) saves the screenshot to the Desktop as a file instead — drag it into the terminal if you'd rather use a file path.

On Windows save to file first

The Windows terminal doesn't accept clipboard image paste. You need the screenshot as a file:

  1. Capture to file:
    • Win Shift S → drag a selection → click the toast notification → Save As, or
    • Win PrintScreen — auto-saves a full-screen capture to Pictures\Screenshots\.
  2. Give Claude the file path. Easiest way: open File Explorer, find the screenshot, and drag the file straight into the Claude Code terminal window — the path drops in automatically. Or type the path manually.
  3. Wrap a sentence around it, e.g. "Look at C:\Users\me\Pictures\Screenshots\sketch.png and tell me what you think."
Why this matters for a product/BA

"Show, don't describe" is gold. Send the error message, send the deck slide, send the mockup you sketched on paper — Claude reads it directly. Almost always faster than typing what you mean.

How Claude reaches outside your laptop

Out of the box, Claude Code can read and write files in your project folder and run shell commands. But how does it talk to external services — GitHub, your email, SharePoint, Jira, a database? There are two routes, and it's worth knowing which is which.

CLI tools most common

Small command-line programs already installed on your machine. When Claude needs one, it just runs the command — same as you would in a terminal.

Examples: gh (GitHub), git, az (Azure), psql (Postgres), npm, python.

Setup: install once per machine (e.g. brew install gh). After that, Claude uses them automatically.

MCP servers connectors

Long-running "bridges" that expose a specific external service to Claude as if it were a native ability. Stands for Model Context Protocol.

Examples: WorkIQ (Outlook + SharePoint), Atlassian (Jira), Google Drive, Playwright (browser automation).

Setup: configured once in Claude Code's settings file (or via a plugin). After that, you can just say "search my emails for…" and Claude knows what to do.

The 30-second rule for our audience

You don't need to memorise which connector is CLI and which is MCP. Just know: if Claude can't reach a service you'd expect it to reach (e.g. "it can't see my SharePoint" or "gh not found"), the fix is to install the missing CLI tool or set up the right MCP server. Ping the team — usually a one-time setup.

Managing the conversation's memory (the context window)

Claude has a working-memory limit per conversation, called the context window. Think of it like a colleague who can hold maybe 200 pages of working notes in their head at once. Once that fills up, older parts of the conversation start to get summarised or forgotten.

Signs you're running low:

  • Claude getting noticeably slower to respond.
  • Claude forgetting things you said earlier in the session.
  • Claude proactively asking to compact the conversation.

Two things you can do about it:

  • /compact — ask Claude to summarise the conversation so far. The summary stays, the full transcript is dropped, you keep room for more work. Useful for long sessions on one topic.
  • /clear, or just start a fresh claude session — for when you change topic entirely. Cheaper than dragging a giant context with you.
A simple discipline

If you're switching to a fundamentally different task, start fresh. Don't pile multiple unrelated tasks into one mega-session. Short, focused sessions are sharper than long, sprawling ones — same as for humans.

Section 4

Talking to Claude — the basics of a good prompt

The single biggest predictor of a good Claude Code session is your first prompt. Get it right and the rest flows. Get it vague and you spend the next half hour redirecting.

Six rules that cover most of it

  1. Context first, ask second. "Look at <file>, then…" beats "Build me X."
  2. Describe the business value, not the steps — and not the tools either. Say what done looks like at the user / outcome level. Don't prescribe how ("open the CSV, group by email, count > 1…") and don't prescribe which tools ("use pandas / use regex"). Claude usually picks a better path than the one you'd dictate. "Find the duplicate customers in this list and produce a clean version" beats "loop through rows, hash the email column, mark duplicates."
  3. Pin constraints, not methods. Constraints bound the space ("no external services," "must run on Windows," "keep it under 100 lines"). Methods dictate the path ("use library X") — and they cost you. State the constraints once, early; leave the path to Claude.
  4. One thing per prompt. Don't pile five asks together. Do one, review, then the next.
  5. Iterate, don't restart. When something's off, say what's off and let Claude adjust. Don't begin again from scratch.
  6. Show, don't describe. Paste the error, paste the screenshot, paste an example row of data — beats three paragraphs of explanation. (Section 3 covers how to paste images.)

A bad opener vs a good opener

Bad vague

Fix the dashboard.

Which dashboard? Fix what? In which file? With what data? Claude has to ask 4 follow-up questions before it can even start.

Good specific

Look at `app/dashboard.tsx`. The status badges
aren't refreshing when I switch users — the
previous user's badge stays. Reproduce by clicking
"Switch user" on a row. Find the cause and propose
a fix before changing anything.

Tells Claude where to look, what's wrong, how to reproduce, and what to do. Claude can start work immediately.

The rhythm of a session

You're the product person in the loop. Claude proposes; you accept, redirect, or push back. Three steps, looping:

  1. Describe what you want, with context.
  2. Read what Claude proposes.
  3. Accept, refine, or correct — then go again.

That's the work. No coding required. The skill compounds — better prompts mean better proposals mean faster sessions.

A tip that's saved everyone time

When Claude misunderstands something, your next message should start with "No, what I meant was…" or "Actually, the goal is…" — not a from-scratch re-explanation. Claude carries context. Correct, don't restart.

Section 5

Two ways to use LLMs — build time vs runtime

There's one distinction that confuses everyone at first. Once you see it, the whole landscape clicks. There are two completely different reasons to reach for an LLM, and they need different tools.
1 · BUILD TIME Claude Code you Claude Code tool one-time: AI helps you create the tool 2 · RUNTIME An LLM API key user the tool LLM API every-time: the tool calls an LLM to do its job

1 · Build time Claude Code

We use an LLM to help us build the tool. The conversation produces a script, an app, a report. Once the tool exists, the LLM walks away — the tool runs on its own.

This is what Claude Code is for. It writes what a human developer would have written, then steps aside.

It's a one-time use during creation.

You talk to Claude. Claude writes the tool. The tool now exists. Job done.

2 · Runtime An LLM API key

Sometimes the tool itself needs AI intelligence to do its job. Every time someone uses the tool, it calls an LLM to make a decision.

This requires an API key — Anthropic, Gemini, or Azure OpenAI — and the tool calls the chosen LLM at runtime.

It's an ongoing use, every time the tool runs.

A user pushes a button. The tool calls an LLM behind the scenes. The LLM is part of how the tool works.

The mental rule

Claude Code — one-time, during the building phase. AI helps you create.
API key (Anthropic / Gemini / Azure OpenAI) — every-time, during the running phase. AI runs inside what you created.

When does a tool need an LLM inside it?

The honest question to ask: "Could this task be done with a plain script — pattern matching, lookups, if-statements?" If yes, don't put an LLM inside the tool. You're wasting money and inviting unpredictability. If no — if the task requires understanding meaning — then you need an LLM at runtime.

Classic signals that you do need one:

Judging / evaluating

"Does this customer complaint match a known issue type?" "Is this answer good enough?" Subjective evaluation a regex can't make.

Routing / classifying

"Which department should this email go to?" "What is this document about?" Decisions on free-form input.

Extracting

"Pull the loan amount and term from this PDF letter." Different layouts, same intent — needs comprehension, not parsing.

Summarising

"Reduce these 30 audit comments to a one-paragraph status." Variable input, sensible output.

Generating

"Draft a reply addressing each point in this complaint." New text shaped by context.

Comparing meaning

"Are these two policy descriptions saying the same thing?" Semantic equality, not string equality.

The reliability check

An LLM at runtime is slower and less predictable than a regular function call. If you can do the task deterministically with code, do it with code. Reach for an LLM only when the task genuinely requires judgment — understanding, comparing, summarising, classifying — the things that don't have one right answer.

Which API key for which job

Once you've decided your tool needs an LLM inside it, there are three providers you'd pick between. The choice is mostly about data sensitivity and document size.

Provider Best at You'd pick it when…
Anthropic API (Claude)
deep reasoning
Careful reasoning, following long instructions faithfully, handling nuance. The runtime decision needs to be high-quality and reliable, and the data is not bank-confidential.
Azure OpenAI (GPT family)
bank-data safe
Same model family as ChatGPT, but hosted inside our bank's Azure tenant. Mandatory whenever the tool will see real bank data at runtime — customers, transactions, internal documents. Data stays inside the tenant.
Gemini API (Google)
huge context
Reading enormous documents in a single call — whole regulations, hundreds of pages. The tool needs to reason over very long documents on each run, and the data isn't bank-confidential.
The data-residency rule (load-bearing)

If a tool will process real bank data at runtime, its LLM calls must go through Azure OpenAI, not directly to Anthropic or Google. This isn't preference — it's compliance. Confidential data leaving the bank's Azure tenant is not acceptable.

Concrete examples — scenario → verdict

If someone asks you to… Build with Run with
"Rename a folder of files based on a fixed rule." Claude Code none the script does it
"Build a dashboard that summarises my Excel data with charts." Claude Code none deterministic math
"Triage incoming complaint emails into 6 categories." Claude Code Azure OpenAI bank data
"Pull the loan amount and term from these PDF letters." Claude Code Azure OpenAI bank data
"Given a 500-page regulatory PDF, answer questions about it." Claude Code Gemini huge context · use Azure OpenAI if confidential
"Check whether two contract clauses say the same thing." Claude Code Anthropic API or Azure OpenAI if confidential
"Add a one-paragraph commentary to the daily numbers dashboard." Claude Code Azure OpenAI data is internal

Pattern to remember: Build with is almost always Claude Code. The interesting decision is Run with — and the data sensitivity does most of the picking for you.

Interactive

Build time or runtime? (decision helper)

Two quick questions — we'll suggest the right tool.

1. What are you doing?

Section 6

How our team actually uses Claude Code

The fastest way to get oriented is to clone one of our projects from GitHub, open it locally, and run claude inside it. You'll see our pattern instantly.

The pattern

Almost every project follows the same shape:

  1. A GitHub repository in our team's organisation, cloned to a folder on your laptop
  2. A CLAUDE.md file at the root — the project's "user manual" for Claude (rules, conventions, the ports it uses). This is the file we cover in depth in the next section — read it carefully when you join a project.
  3. An Issues - Pending Items.md — the standing list of known issues for this project
  4. A planning folder (.planning/) if the project uses the optional GSD framework — most don't
  5. The actual project content: a web app, a Python notebook, a Power Apps canvas YAML, an Excel + script combo, depending on what we're building

Working in a project

Day-to-day usage looks like this:

cd <path-to-the-cloned-project>
claude
# (Claude Code starts, reads CLAUDE.md, knows the project)

What did we work on last? Anything pending?
Claude › The pending list shows 2 items: one rule is missing,
        and the date format on the export is wrong.

Let's fix the export date format first.
Claude › Looking at exporter.ts… proposing this change…
The big shift you'll feel

The work isn't "writing code." The work is describing what you want clearly, then reviewing what Claude proposes. Two product-and-BA skills you already have.

Section 7 · LOAD-BEARING

CLAUDE.md — the single most important file in any project

If you remember one thing from this guide, remember this. CLAUDE.md is how you teach Claude how to behave — across every session, for every team member, forever. It is the difference between a team that uses AI consistently and a team where every conversation produces something slightly different.

What is it?

A plain Markdown file that Claude reads automatically at the start of every conversation, before you've even typed your first prompt. It contains your rules — conventions, glossary, do's and don'ts, hard-learned lessons. Whatever you write here, Claude obeys across every session, every team member, every time.

Why it's crucial (and not optional)

Without it, every session starts cold

Claude has no idea about your conventions, your domain, or your past decisions. You'd retrain it every time you open it. Exhausting and unreliable.

Consistency across people

Five colleagues working on the same project would each describe things slightly differently — and Claude would do slightly different things for each. CLAUDE.md anchors everyone to the same rules.

It captures hard-won lessons

Every bug you fix, every awkward production incident, teaches a rule. Write it down in CLAUDE.md and that mistake never happens again — not to you, not to a teammate, not to a future hire.

It eliminates "AI drift"

Without rules, Claude defaults to generic best practices that may be wrong for our context. CLAUDE.md keeps the AI doing things our way, not the average way.

It onboards humans too

New team members read CLAUDE.md to learn the project. The AI reads the same file and applies it. One source of truth, both audiences.

It compounds

Every rule you add raises the floor of every future session, forever. Skip it = quality stays random. Treat it as load-bearing = the team gets a compounding asset.

The two CLAUDE.md files you'll meet

Global ~/.claude/CLAUDE.md

Applies to every project on your machine. Personal and team-wide defaults that you don't want to repeat in every project.

Lives at ~/.claude/CLAUDE.md. We share a team version — ask any of us for a copy.

Good things to put here:

  • Universal coding rules ("never use silent fallbacks", "singular DB table names")
  • Port management policy
  • Which MCP tool to use for Email, SharePoint, Jira, etc.
  • "Never commit unless I explicitly ask" — version-control safety

Project <project-root>/CLAUDE.md

Applies only when working inside this project. Project-specific conventions, tech stack, domain glossary, the ports it uses.

Lives at the project root. Read by Claude the moment you open a session there.

Good things to put here:

  • What the project is and who uses it (one paragraph)
  • Tech stack: language, frameworks, deployment target
  • Ports the project's dev server uses
  • Domain glossary — internal terms, abbreviations
  • Naming conventions for files, components, tables
  • Things to avoid that bit us in the past on this project

The two layers compose. Both apply in any project. Where they disagree, the project's CLAUDE.md wins for that project — it's the more specific authority.

A skeleton project CLAUDE.md to copy

Compact starter — covers the team's standard folder layout, the rules that recur project-to-project, and the slots you fill in per project.

# <Project Name>

<One-paragraph description: what this project does, who uses it, what business problem it solves.>

## Tech stack
- Frontend: <framework / language>
- Backend:  <framework / language>
- Database: <engine>
- Deployment: <target>

## Ports
- Frontend dev server: <port>
- Backend API:         <port>

## Structure (folder layout)

- `docs/design/`     — plans (`plan-NNN-<short-desc>.md`), `project-design.md`, `project-functions.md`
- `docs/reference/`  — PDFs, schemas, screenshots, other teams' docs
- `docs/tools/`      — one document per reusable tool built in this project
- `test_scripts/`    — test runners and fixtures
- `prompts/`         — reusable prompts, numbered (`001-<name>.md`)
- `Issues - Pending Items.md` (at root) — pending items on top (most critical first), completed below

## Project-specific rules

- <Naming conventions specific to this project's domain>
- <Architecture rules — "never X for Y in this codebase">
- <Anything that bit us in THIS project that the global CLAUDE.md doesn't already cover>

## Tools built in this project

One concise entry per tool — the full doc lives at `docs/tools/<tool-name>.md`. Claude reads the doc on demand when the tool is relevant.

- **`<tool-name>`** — <one-line description of what the tool does>. See `docs/tools/<tool-name>.md`.

## Domain glossary

- **<Term>** — <what it means in this project's domain>.

## Hard-learned rules

- <Things that bit us once and we never want to forget — incidents, edge cases, anti-patterns specific to this project>
A few rules that always apply (no need to repeat per project)

These live in the global ~/.claude/CLAUDE.md — don't paste them into every project's CLAUDE.md:

  • No silent fallbacks for configuration — missing config raises an exception, never a default.
  • Database tables are singularCustomer, not Customers. Plural only for join tables (CustomerTransactions).
  • Tools are TypeScript unless explicitly stated otherwise.
  • When locating code, return folder + file + class/function + line number + code extract.
  • No version-control operations unless explicitly asked.

Best practices

  • Keep it short. One to two pages. Not a novel. If it grows past that, split into linked sub-files.
  • Lead with rules that have teeth — "never X", "always Y", "if Z then…". Vague aspirations don't help Claude (or humans).
  • Add a rule when you've corrected Claude on the same thing twice. Once might be a glitch. Twice is a pattern worth saving.
  • Update it during the session, not later. The moment you notice a missing rule, say "add this to CLAUDE.md so we never have to say it again." Claude will do it.
  • Be specific. "Use ISO 8601 dates" beats "use a good date format". Claude follows instructions literally.
  • Never put secrets in it. Keys, passwords, customer data — never. This file is in version control. Use environment variables.
  • Review it during PR reviews. If a change in a PR implies a new convention, the same PR should update CLAUDE.md.
The most expensive mistake you can make

Skipping CLAUDE.md. A team without a good CLAUDE.md is paying the AI-onboarding cost every session, and getting random results in return. A team with a good CLAUDE.md invests that cost once per rule and gets consistency forever. This is the single highest-leverage file in your entire workflow.

How to start one

Two easy paths:

  • From scratch in a new project: run /claudemd — our scaffold skill drops a starter CLAUDE.md tailored to the team's standard project shape.
  • From an existing project that doesn't have one: open a Claude Code session and ask "Look at this project and propose a CLAUDE.md." Claude drafts one from what it sees. You review, edit, save.
Section 8

Skills — teaching Claude how we work

A skill (or plugin) is a packaged instruction set that teaches Claude how to do a specific kind of task our way. Instead of explaining the steps every time, you install it once and Claude follows the recipe whenever the moment is right.
If you're bank-curious and not on our team yet

The concept of skills is universal. Anthropic's official skills and the wider community's public skills work for anyone with Claude Code installed — you don't need org access. You can also build and use your own skills without anything special. Only our marketplace is team-private. Read this section for the concept; install public skills freely; ping us when you'd like access to ours.

Why skills matter

Without skills, every team member would describe things differently, Claude would do things slightly differently each time, and we'd never build muscle memory. With skills, the team's way of working becomes reproducible. Anyone on the team installs them once and the same workflows kick off identically — on your laptop, on mine, on a new joiner's.

How we distribute them: a team plugin marketplace

Rather than scatter our skills across many small repos, we keep them in one place — a plugin marketplace on GitHub: 556LowCodeNoCode/Skills. Each plugin lives in its own folder; a single marketplace.json manifest lists them all.

The payoff:

  • One-time install per machine — no copying files around.
  • One update command picks up every skill that's been added or improved.
  • One place to contribute — when you build a skill, you open a PR against the marketplace and everyone gets it on their next update.

Two kinds of skills you'll meet

Built-in / public skills

Come from Anthropic or the wider community. We install them and they just work.

Examples: frontend-design, database-schema-designer, commit-work, web-to-markdown, codex-plan, gemini.

Our own skills we built these

All bundled in our own plugin marketplace on GitHub: 556LowCodeNoCode/Skills. One /plugin marketplace add command and you have every team skill available.

  • /team — our multi-agent build orchestrator
  • /claudemd — scaffolds the team's standard project template
  • deploy — deploys a built app to our cloud environment
  • uat-panel — drop-in User Acceptance Testing system
How to install our skills (one-time setup)

Open a Claude Code session and run:

/plugin marketplace add 556LowCodeNoCode/Skills
/plugin install team@556LowCodeNoCode-skills
/plugin install claudemd@556LowCodeNoCode-skills
/plugin install deploy@556LowCodeNoCode-skills
/plugin install uat-panel@556LowCodeNoCode-skills

You only do this once per machine. After that, every team skill is available in every Claude Code session you open. To pick up new skills later: /plugin marketplace update 556LowCodeNoCode-skills.

Access note: the marketplace repo is private to the org. If you're on our team you already have access. If you're a bank colleague exploring, ping one of us and we'll add you — the marketplace and the install commands then work the same way.

The skills we use the most

SkillWhat it doesWhen you'd use it
/team ours Runs the full multi-agent dev workflow (refine → research → plan → build → test → verify). When you have a single concrete request: "build me X". One shot, end-to-end.
/gsd-* family framework ~90 sub-commands for managing long-running projects with phases, milestones, planning. When you're building something bigger than a one-shot — a project with multiple delivery phases.
deploy ours End-to-end deployment of our web apps to our cloud environment, including auth setup. "Deploy this prototype so a stakeholder can try it."
/claudemd ours Scaffolds our standard project template into a folder. Starting a new project from scratch.
uat-panel ours Drops a complete UAT system into a web app — generated test cases, in-app snipping & feedback panel, results in your own DB. When stakeholders need to test a prototype and you want their feedback captured systematically.
frontend-design Helps build polished, non-generic-looking UIs. When you're building a screen or a prototype that real people will see.
database-schema-designer Designs robust DB schemas (singular table names, proper constraints — matches our rules). Anytime you're modelling data.
commit-work Reviews changes, groups them logically, writes good commit messages, then commits. When you want to save your work to GitHub at the end of a session.
jira Creates / updates / searches Jira tickets from inside a Claude conversation. When you don't want to leave the terminal to update a ticket.

Why we build our own skills

Out-of-the-box skills are great, but they don't know our project layout, our deployment process, our domain, or our hard-learned rules. When we notice ourselves repeating the same instructions to Claude — "use singular table names, never kill a process on a port, register every issue in Issues - Pending Items.md" — that's the moment to turn it into a skill and push it to the marketplace so the whole team gets it forever.

How to create a skill — two paths

You don't have to plan a skill before you start. Two routes work — pick whichever fits how the moment came up.

Path A — "I know what skill I want"

You've spotted the repeatable pattern in advance: "I want a skill that takes a CSV and produces a one-page HTML summary in our team's format." You design it upfront, then install Anthropic's skill-creator (an official public skill) and ask it to scaffold a new skill matching your spec. It interviews you, drafts the SKILL.md, and packages it correctly.

Path B — "We just did something useful — can we save it?" most common

You worked through a task in Claude Code — analysing a spreadsheet, drafting a report, fixing a recurring kind of bug — and realise: this is something I'll do again. Just say it: "What we just did — can you extract it as a reusable skill?" Claude reads back the conversation, identifies the steps, drafts a SKILL.md, and (optionally) hands it to skill-creator to package properly.

The lesson hidden in Path B

Don't pre-think every skill. The best skills often emerge from work you've already done well — once you've actually solved the problem, the recipe is obvious; before you've solved it, you'd just be guessing. So when you just nailed something clever, take five minutes to ask Claude "what did we just do? Can we save it as a skill?" before the lesson fades. That five minutes pays back forever.

When should you suggest a new skill?
  • You've explained the same procedure to Claude three times across different sessions.
  • Multiple team members would benefit from doing this exact thing the exact same way.
  • The procedure is non-obvious enough that getting it wrong creates problems.
  • There's a stable "recipe" — same steps, just different inputs.

When you spot a candidate, mention it. We can author the skill together in 30 minutes, drop it under plugins/<name>/ in the marketplace, and from the next /plugin marketplace update everyone has it.

How to contribute a new skill to the marketplace

Three steps:

  1. Create a folder plugins/<your-plugin-name>/ in the Skills repo with this shape:
    plugins/<your-plugin-name>/
    ├── .claude-plugin/plugin.json    (metadata)
    ├── commands/                      (optional — slash-commands as .md files)
    ├── skills/                        (optional — each skill in its own folder with SKILL.md)
    ├── agents/                        (optional — sub-agents)
    └── README.md
  2. Add an entry to .claude-plugin/marketplace.json under plugins[] with the name, source path, description, version, author, and a category.
  3. Open a PR. Once it's merged, anyone on the team gets your skill on their next /plugin marketplace update 556LowCodeNoCode-skills.

If you've never built one and want help, ask Claude: "I want to turn this into a plugin in our team marketplace — walk me through it."

Section 9

GSD — Get Shit Done

Before reading the rest of this section, remember: you always have a choice of how much structure to wrap around a piece of work. There are three levels, and you pick per project. GSD is just the heaviest of them — used only when it actually pays off.

Lightest

Plain Claude Code

Just open Claude in a folder and work. No skill, no framework, no ceremony.

For: one-off scripts, quick analyses, exploratory hacking, daily ad-hoc work.

Middle

A dedicated skill (e.g. /team)

One concrete request handled by a packaged multi-phase workflow, end-to-end, in one command.

For: "build me X today" — a single sitting, single deliverable.

Heaviest

GSD framework

A full project-management layer — roadmap, milestones, phases, audit trail, persistent state.

For: projects that span weeks or months and need to stay coherent across many sessions and people.

GSD is optional. It's a community framework built on top of Claude Code — source at github.com/gsd-build/get-shit-done. The team doesn't mandate it. Use it when the project's size and time horizon make the heavier scaffolding pay off; stick with the lighter options otherwise. The rest of this section explains what GSD actually gives you, so you can judge.

What it offers

GSD adds a persistence layer on top of a project: a .planning/ folder that holds a roadmap, the current milestone, each phase's plan, the audit trail, and verification reports. Claude reads this folder at the start of every session, so the project carries its own memory across many days and many sessions.

The problem it's designed to solve

Claude Code is great in a single session — you ask, it builds, you review. But if a project takes weeks, across many sessions, possibly with a 2-week pause in the middle, you'd lose the thread. You'd forget what you decided. Claude would have no memory of yesterday's discussion. GSD's planning layer prevents that — at the cost of more upfront structure.

The shape of a GSD project (if you use one)

  1. New project: /gsd-new-project — Claude interviews you about goals, constraints, who the users are, and writes a PROJECT.md.
  2. Roadmap: breaks the project into milestones and phases.
  3. Per phase: discuss → spec → plan → execute → verify → secure. Each step is its own command.
  4. Audit: at any point ask /gsd-progress and Claude reports exactly where you are.
  5. Ship: /gsd-ship creates a clean PR ready for review.

When it tends to pay off

  • Long horizon — the project will span weeks or months, with many sessions.
  • Multiple collaborators — you want a clear audit trail of what was decided and why.
  • You care about traceability — every phase has falsifiable acceptance criteria; "done" means something measurable.
  • Resumability matters — you may pause and pick up two weeks later without losing context.

When it's overkill

  • One-off scripts and quick analyses — just use Claude Code directly.
  • Single-sitting prototypes — /team is faster and lighter.
  • Exploratory hacking where you don't yet know what you're building.
Spotting GSD in an existing project

You'll recognise a GSD-managed project by the .planning/ folder at its root, containing PROJECT.md, ROADMAP.md, and per-phase folders like phase-03-<short-name>/. If you don't see that folder, the project isn't using GSD — and that's fine.

If you want to try it

/gsd-new-project        # start a fresh GSD project here
/gsd-progress           # where are we? what's next?
/gsd-do "add a date filter to the report"   # smart router — picks the right command
/gsd-next               # advance to the next logical step
/gsd-help               # the full command index (~90 sub-commands)

Don't feel obliged to memorise the GSD command list. Even people who use it daily look up /gsd-help when they need something specific.

Section 10

Choosing your workflow — a decision aid

You've seen the three options (Section 8 has the side-by-side). This is the short cheat to use when you're staring at a task and wondering which level of structure to wrap around it.

The mental model

Plain Claude Code = "Let me just do this thing." (no ceremony)
/team = "Here's the spec — deliver it end-to-end." (one full sprint of work, one command)
GSD = "We're building something over weeks — let's plan it, scope it, build it in phases, check our work along the way." (only when the heavier scaffolding actually pays off)

Rule-of-thumb table

If you're thinking…Reach for
"A one-off script to compare two Excel files."Plain Claude Code
"Build me a working prototype dashboard in one go."/team
"Add one feature to an existing project."Plain Claude Code or /team — whichever feels right
"We're delivering a multi-phase product over the next quarter."/gsd-new-project (if you want the structure)
"Add a small feature to an existing GSD project."Stay in GSD: /gsd-add-phase or /gsd-quick
"I just want to chat through an idea before committing."Plain CC, or /gsd-explore / /gsd-sketch

When in doubt, start lighter — escalate to /team or GSD only when you actually feel the gap.

Section 11

GitHub

GitHub is just a memory system for your work, online. It saves every version, lets multiple people contribute without overwriting each other, and gives you a place to discuss changes. You'll never have to learn its command-line syntax — Claude will do all of it for you.
Our team's GitHub home

Our work lives at github.com/orgs/556LowCodeNoCode/repositories.

  • If you're joining our team — you'll be added to the org and have read access on day one.
  • If you're a bank colleague curious to explore — ping any of us and we'll add you as an outside collaborator on the repos that interest you, or to the org for full read access.

Once you have access: browse what we've built, clone any repo, open it locally, run claude inside to start exploring.

What it is, in plain terms

  • A backup with a brain. Every change you save (a "commit") is permanently recorded with the date, who did it, and why.
  • A history book. You can go back to any past version of any file. Mistakes are reversible.
  • A place to collaborate. When you propose changes to shared code, your teammate can comment line-by-line before merging it in. That conversation is the "pull request" (PR).
  • A home for issues. Bug reports, feature requests, discussions — they all live there.

Why we use it

  • Our team has its own GitHub organisation — all our work lives there.
  • It's how we collaborate on projects without stepping on each other's toes.
  • It's how new joiners — and any bank colleague we've added — discover what we've built. Clone a repo and you have it locally.
  • Code reviews ("PR reviews") are where we learn from each other.

The good news: you don't talk to GitHub directly

You talk to Claude Code, and Claude talks to GitHub using a tool called gh (the GitHub CLI). You don't need to learn git commands or GitHub's web UI deeply. Anything you can do in the web interface, Claude can do for you in plain English:

Show me the open issues on this repo.

Create an issue titled "Date format on export is wrong"
   with the description from our last conversation.

What was changed in the last 5 commits to this project?

Commit the changes I've made and push them up.

Open a pull request for my branch with a summary of what changed.

Check the PR I opened yesterday — any new comments?
The key insight

GitHub is not a new skill to learn. It's a system Claude already knows how to drive. You describe what you want; Claude runs the right gh commands. Your job is to know what you want, not how to do it.

The one tool to install — GitHub CLI (gh)

Claude doesn't talk to GitHub by magic — it uses a small terminal program called gh (the official GitHub CLI). Think of it as the bridge between your terminal and GitHub. Install it once, authenticate it once, and from then on Claude drives it for you in plain English.

Install (one-time)

Mac

brew install gh

No Homebrew? Install it first from brew.sh.

Windows

WSL (Ubuntu / Debian):

sudo apt install gh

PowerShell:

winget install --id GitHub.cli

Pick whichever shell you actually run Claude Code from.

First-time authentication

Connect gh to your GitHub account:

gh auth login

Follow the prompts: pick GitHub.com, pick HTTPS, then "Login with a web browser". gh shows a one-time code, opens GitHub in your browser, you paste the code, click Authorize. Done — you won't need to do this again on this machine.

Useful gh commands (vocabulary, not homework)

You don't need to memorise these — Claude runs them for you. But it helps to recognise them in conversation:

CommandWhat it does
gh repo clone 556LowCodeNoCode/<repo>Clone one of our team repos to your laptop
gh repo view --webOpen the current repo's GitHub page in your browser
gh repo list 556LowCodeNoCodeList every repo in our org from the terminal
gh issue listSee open issues in the current repo
gh issue createOpen a new issue
gh pr createOpen a pull request for your current branch
gh pr view --webOpen the current PR's page in your browser
gh pr checksSee the CI / status checks for the current PR
gh auth statusConfirm you're logged in and what scopes you have

Hit a "gh: command not found" error? You skipped the install step above. Ask Claude — it'll walk you through it.

Concepts worth knowing the names of

Repository (repo) the project's home on GitHub

One folder on your laptop = one repo in our GitHub organisation. You clone a repo to start working on it; you push your changes back when you're done.

Commit a saved version of your work

A snapshot with a message explaining what changed and why. A commit lives on your laptop only until you push it. Smaller, focused commits are better than giant ones — easier to review, easier to roll back.

Push sending your commits up to GitHub

Committing saves your work locally on your laptop. Pushing sends those commits up to GitHub so the rest of the team can see them. Until you push, your changes only exist on your machine — invisible to everyone else and not backed up anywhere off-laptop.

The flow is always: commitpush. You can commit many times before pushing; when you push, all those commits land on GitHub at once.

In Claude Code you don't need to type git commands — just say "push my changes" and Claude runs the right command. The opposite direction is pull: bringing other people's pushed commits down to your laptop.

Branch a parallel line of work

You're working on a change without disturbing the main version. When ready, you "merge" your branch back. Claude handles all of this for you.

Pull request (PR) proposing your changes for review

"Hey team, I'm proposing this change — what do you think?" Reviewers comment, you adjust, you merge when approved. The standard way we collaborate.

Issue a tracked task, bug, or idea

A discussion thread for one specific thing. Tagged, assigned, closed when resolved. Many of our projects keep their backlog as GitHub issues.

Quick cheat sheet

I want to…Type this
Clone a team projectBrowse our org, then gh repo clone 556LowCodeNoCode/<repo>
Start Claude Code (preferred)cd <project-folder> && claude --dangerously-skip-permissions
Resume the last conversationclaude --continue (or claude -c)
Stop Claude mid-responsePress Esc
Show Claude a screenshotMac: 4 → drag → Ctrl V in Claude (not V) · Win: save the screenshot to a file (e.g. Win PrintScreen) → drag the file into the terminal window
Create a brand new project folderMake an empty folder, cd in, then run /claudemd
Build something in one go/team build me <the thing>
Start a long-running project/gsd-new-project
See where we are in a GSD project/gsd-progress
Advance to the next step/gsd-next
Quick capture an idea / todo/gsd-note or /gsd-add-todo
Deploy a prototype to our cloudAsk: "deploy this"
Commit and save your work"commit my work" or /commit-work
Push commits up to GitHub"push my changes"
See open GitHub issues"show me open issues on this repo"
Open a pull request"open a PR with a summary"
See all available commands/help or /gsd-help

House rules (from our global CLAUDE.md)

  • No silent fallbacks. If a configuration is missing, the tool throws an error rather than guessing. We want to know.
  • Singular table namesCustomer, not Customers.
  • Never kill a process on a port — another teammate may be using it. Switch to a different port instead.
  • Every project has an Issues - Pending Items.md — that's where we track problems. Most critical at the top.
  • Claude doesn't commit unless you say so. No surprise git operations.