Skills 101

Understanding Claude Code's configuration options and behaviors

Before going deep on Nori, many users want to understand Claude Code itself. This guide explains how Claude Code integrates with your computer, what happens during installation and session start, and how your agent uses different context files. While focused on Claude Code, these concepts carry over to all other coding agents.

Customizing Your Agent

Context is everything. To get the 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:

CLAUDE.md / AGENTS.md

Loaded at session start

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.

Directory Structure

Claude Code

~/.claude/
├── CLAUDE.md
├── skills/
│   ├── skill-name/
│   │   └── SKILL.md
│   └── another-skill/
│       └── SKILL.md
└── commands/
    └── command-name.md

Cursor

~/.cursor/
├── AGENTS.md
├── profiles/
│   └── profile-name/
│       ├── AGENTS.md
│       └── rules/
│           └── rule-name/
│               └── RULE.md
└── commands/
    └── command-name.md

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
└── 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

Claude Code Only

  1. Session Initialization - Claude Code starts and identifies your working directory
  2. Load Global Configuration - The system loads global settings from ~/.claude/, including CLAUDE.md, base skills, subagents, and commands
  3. Load Project CLAUDE.md - If a .claude/CLAUDE.md file exists in your project directory, it's loaded as project-specific instructions
  4. Index Skills and Commands - Available skills and slash commands are indexed for use
  5. Register Hooks - Event hooks are registered to trigger on specific events
  6. Assemble Context - All configuration is assembled into context that Claude Code uses to understand your environment

With Nori Skillsets

  1. Session Initialization - Claude Code starts and identifies your working directory. Nori checks for an active skillset configuration
  2. Load Global Configuration - The system loads base settings from ~/.claude/ including global skills, subagents, and commands
  3. Load Project CLAUDE.md - If a .claude/CLAUDE.md file exists in your project directory, it's loaded as project-specific instructions
  4. Load Active Skillset (Nori Enhancement) - If you've activated a skillset, its configuration is loaded from ~/.claude/profiles/[skillset]/
  5. Merge Skillset Context (Nori Enhancement) - Skillset-specific CLAUDE.md is merged with project and global configurations
  6. Index Skills and Commands (Nori Enhancement) - All available skills and slash commands are indexed, with skillset versions taking precedence
  7. Register Hooks - Event hooks are registered
  8. Assemble Context - All configuration (global + project + skillset) is assembled into coherent context

Additional Resources