Customizing Your Agent

Coding agents contain layers of config for modifying and enhancing their abilities.

Context is everything. To get the absolute best performance from Claude Code, you need it to understand as much about you as possible: your intentions, workflow, expectations, design standards, and code. There are four configuration areas that provide consistent performance improvements, each distinct in how they influence agent context:

CLAUDE.md / AGENTS.md (loaded at session start)

The "CLAUDE.md" is the starting layer of agent context. This file is loaded in full when your session begins and remains in context throughout. Use it to define your consistent workflow preferences, design standards, and references to when skills/rules and subagents should be invoked. Claude Code uses CLAUDE.md, while Cursor uses AGENTS.md.

Skills / Rules (called in-session if determined relevant)

Skills (Claude Code) or rules (Cursor) are the building blocks of agent behavior. When invoked, they're added to context for that task. Each skill defines a step-by-step process for a specific development pattern. Things like test-driven development, systematic debugging, or code review. Skills give your agent proven workflows to follow. They can include checklists, decision trees, and example patterns that guide the agent through complex tasks consistently.

Why Skills Matter

Skills transform general-purpose agents into specialized tools. Instead of generic "write some tests" behavior, a TDD skill enforces: write the test first, watch it fail, write minimal passing code, refactor. This consistency compounds—good patterns get reinforced across every task.

Subagents (called when relevant)

Specialized agents that handle delegated tasks independently with their own focused context. Use for complex, isolated work like code review or testing. Available in Claude Code (native) and Cursor (via Nori Skillsets).

/ Commands (available in chat)

Custom slash commands provide quick access to workflows and utilities directly from the agent chat interface. Commands are defined in markdown files and can trigger skills, subagents, or custom scripts. They offer a fast way to invoke common tasks without typing full instructions.

Documentation (retrieved as needed)

Knowledge that lives outside the session but provides context about your codebase. Write docs with your agent as the primary audience: code patterns, conventions, and architecture details that help your agent understand your project.

~/.claude/ ├── CLAUDE.md ├── skills/ │ ├── skill-name/ │ │ └── SKILL.md │ └── another-skill/ │ └── SKILL.md │ └── <optional scripts> └── commands/ │ └── command-name.md └── settings.json └── hooks └── statusline
~/.cursor/ ├── AGENTS.md ├── profiles/ │ └── profile-name/ │ ├── AGENTS.md │ └── rules/ │ └── rule-name/ │ └── RULE.md │ └── <optional scripts> └── commands/ │ └── command-name.md └── hooks.json

Nori Skillsets bundle these configurations into role-specific packages, so you can focus on building.

Installation and File System Access

What Happens During Installation

When you install Claude Code, it creates a configuration directory structure on your machine:

~/.claude/ ├── CLAUDE.md # Project instructions ├── skills/ # Custom abilities ├── subagents/ # Specialized agents ├── commands/ # Slash commands ├── hooks.json # Event triggers └── profiles/ # Profile configurations

This directory structure is created in your home directory (~/.claude/) and serves as the foundation for all agent context.

File System Permissions

Claude Code requires specific permissions to work:

Security Note

Claude Code operates with the permissions you grant it. It can only access files and directories within your working directory and the ~/.claude/ configuration directory. It cannot access system files or directories outside your authorized workspace.

Session Startup Flow

What happens when you start a Claude Code session:

Step 1
Session Initialization
Claude Code starts and identifies your working directory.
Step 2
Load Global Configuration
The system loads global settings from ~/.claude/. This includes your CLAUDE.md file, base skills, subagents, and commands.
Step 3
Load Project CLAUDE.md
If a .claude/CLAUDE.md file exists in your project directory, it's loaded as project-specific instructions. This provides context about your codebase, conventions, and requirements.
Step 4
Index Skills and Commands
Available skills and slash commands are indexed for use. Claude Code reads metadata from each skill's SKILL.md file and command markdown files and will call the skill if relevant in the session.
Step 5
Register Hooks
Event hooks from hooks.json are registered to trigger on specific events (session start, tool use, user input, etc.).
Step 6
Assemble Context
All configuration is assembled into context that Claude Code uses to understand your environment and requirements.
Step 1
Session Initialization
Claude Code starts and identifies your working directory. Nori checks for an active skillset configuration.
Step 2
Load Global Configuration
The system loads base settings from ~/.claude/ including global skills, subagents, and commands available to all sessions.
Step 3
Load Project CLAUDE.md
If a .claude/CLAUDE.md file exists in your project directory, it's loaded as project-specific instructions providing context about your codebase and conventions.
Step 4 (Nori Enhancement)
Load Active Skillset
If you've activated a skillset (e.g., senior-swe, product-manager), its configuration is loaded from ~/.claude/profiles/[skillset]/. Skillsets bundle specialized skills, custom CLAUDE.md instructions, subagent configurations, and slash commands tailored to specific roles.
Step 5 (Nori Enhancement)
Merge Skillset Context
Skillset-specific CLAUDE.md is merged with project and global configurations. Skills and commands from the skillset are added to the available set, with skillset versions taking precedence over global ones.
Step 6 (Nori Enhancement)
Index Skills and Commands
All available skills and slash commands (global + skillset-specific) are indexed. Claude Code reads metadata from each skill's SKILL.md file to understand when and how to invoke them. Skills become available for the agent to call when relevant tasks arise.
Step 7
Register Hooks
Event hooks from hooks.json are registered. These can modify behavior or inject additional context on specific events.
Step 8
Assemble Context
All configuration (global + project + skillset) is assembled into coherent context that Claude Code uses throughout the session. This layered approach ensures role-specific behavior while respecting project conventions.