Anthropic published its definitive guide to Claude Code customisation this week. It covers seven distinct methods for controlling how Claude behaves during a coding session. If you have been running Claude Code with a single CLAUDE.md file and nothing else, you are getting roughly 30 per cent of its capability. The other six methods exist to make your sessions reliable, scoped, and maintainable at team scale. This post walks through all seven with concrete Australian context.
The Seven Ways to Steer Claude Code
Each method has different characteristics: when it loads, how long it persists, what authority level it carries, and whether it survives context compaction during a long session. Picking the wrong one means repeating yourself every session or burying an instruction so deep it never fires.
1. CLAUDE.md: Your Persistent Instruction Set
A CLAUDE.md file loads at session start, stays in context throughout, and carries high authority. This is the right home for rules that should apply across every task in the project: language version, naming conventions, preferred libraries, and any project-wide constraints. For Australian codebases this typically means currency formatting (AUD, not USD), date format (DD/MM/YYYY), AEDT/AEST timezone handling, and GST calculation rules. Whatever belongs in CLAUDE.md loads every single session, so keep it focused on what genuinely applies universally.
2. Rules: Session-Scoped Constraints
Rules are inline instructions targeted at a specific task or session. They are more ephemeral than CLAUDE.md; they do not survive context compaction, and they are not meant to. The right use case is a constraint you want for this task but not permanently: "for this session, only refactor, do not add new features" or "in this sprint, touch only files under /src/payments". Use Rules when the constraint is real but temporary.
3. Skills: Modular Capabilities Loaded on Demand
Skills are modular capability bundles that activate when their trigger conditions match. Each skill has its own SKILL.md, its own tool set, and its own scope. They load only when needed, which keeps context clean during sessions that do not require them. For Australian development teams, skills map naturally to domain-specific work: a Xero API integration skill, an Australian payroll rules skill with STP reporting logic, a state-based payroll tax calculation skill, or a MYOB connector skill. Domain knowledge that does not belong in the root CLAUDE.md lives here.
4. Subagents: Specialised Delegation
Subagents are specialised agents that Claude Code delegates to. A subagent has its own context, its own instruction set, and handles a bounded portion of the work before returning control to the main session. They are the right tool for parallel workstreams (testing and implementation running simultaneously), strict separation of concerns (a security-review subagent that operates independently from the coding subagent), or any task where you want a domain specialist that stays in its lane.
5. Hooks: Event-Driven Guardrails
Hooks fire in response to specific Claude Code events: before a file edit, after a tool call, on session end. They are the automation layer on top of Claude's actions. Practical uses include running tests before every commit, logging all file changes to an audit trail, blocking certain file paths from being written unless conditions are met, and triggering a security scan whenever a dependency file changes. Hooks are what turn a capable assistant into a process that enforces your team's standards automatically.
6. Output Styles: Consistent Formatting
Output styles control the format and tone of Claude Code's responses and generated code. They let you standardise comment style, enforce a documentation format, or ensure generated code matches your team's conventions without repeating the instruction every session. For teams shipping to Australian clients, output styles can enforce AU English spelling, AUD currency notation, and the preferred comment structure for your stack.
7. System Prompt Appending: Absolute Authority
Direct system-level instruction injection is the highest-authority method available. It overrides everything else and affects the model's fundamental behaviour for the session. Use it sparingly, and only for constraints that must hold regardless of what any other instruction says. Absolute safety rails, hard access restrictions, and non-negotiable output requirements belong here. Everything else belongs in one of the six methods above.
How to Choose: The Decision Framework
Anthropic's guide includes a comparison table across all seven methods. These five questions cover most decisions:
Does this instruction need to survive context compaction? If yes, use CLAUDE.md or Skills (they reload). Rules and inline instructions do not survive long sessions.
Is this a permanent project rule or a one-off? Permanent rules go to CLAUDE.md. One-off constraints go to Rules.
Does it need to trigger automatically on an event? Use Hooks.
Is it specialised enough to warrant its own scope and tool set? Use a Skill or Subagent.
Must it override everything else, with no exceptions? Use system prompt appending. Keep it short.
AU-Specific Defaults Worth Setting From Day One
Most Australian engineering teams reach for Claude Code before they have thought through their configuration layer. The result is inconsistency: some sessions enforce conventions, others do not. For teams we work with across Sydney and Melbourne, we recommend starting with three configuration layers in place before writing a single line of production code:
CLAUDE.md: Currency in AUD with correct formatting, dates as DD/MM/YYYY, timezone as AEDT/AEST with explicit UTC offset, GST at 10%, and AU Privacy Act data handling rules for any code that touches PII.
Skills: Xero and MYOB API patterns, STP Phase 2 reporting rules, state-based payroll tax rate tables (NSW, VIC, and QLD each differ), and AUSTRAC/AML transaction monitoring patterns for fintech work.
Hooks: Pre-commit test runner, automatic PR description generation from commit diff, and a dependency security scan that triggers on changes to package.json or requirements.txt.
The Configuration Gap Is Where Projects Stall
Teams that skip proper Claude Code configuration do not save time; they spend it repeatedly correcting the same mistakes. A mid-market Sydney development team running Claude Code without skills or hooks will typically spend $4,000 to $9,000 in corrective engineering hours over a six-month project, fixing inconsistencies that a properly configured skill or hook would have caught at the point of generation. That is before accounting for the review overhead when AU-specific rules have been ignored in generated code.
The seven methods are not alternatives to each other. They are a layered system. CLAUDE.md sets the foundation. Rules add session-specific constraints. Skills bring in domain knowledge on demand. Hooks enforce process automatically. Subagents handle specialised work independently. Output styles keep generated text consistent. System prompt appending holds the hard limits. Used together, they turn Claude Code from a capable assistant into a reliable team member that follows your standards without prompting.
If your team is introducing Claude Code and wants the configuration set up correctly from the start, book a session with Automata AI. We run Claude Code configuration workshops for Australian engineering teams and have worked through AU-specific edge cases (payroll, fintech, healthcare data rules) that are not in the official documentation.
Based on Anthropic's official guide published 18 June 2026.



