Domain 320% weight

Quick Reference: Domain 3Claude Code Configuration & Workflows

CLAUDE.md File Hierarchy

LevelLocationScope
User~/.claude/CLAUDE.mdAll projects for this user
Project./CLAUDE.md or .claude/CLAUDE.mdThis project only
Directorysrc/CLAUDE.md, tests/CLAUDE.mdThis directory and below

Key rule: Put coding standards, project structure, and key conventions in project-level CLAUDE.md. Keep it focused — Claude reads it every session.

Hooks Lifecycle

HookTimingCan Block?Use Case
PreToolUseBefore tool executesYes (exit 2)Validate inputs, enforce policies
PostToolUseAfter tool completesNoLogging, notifications, cleanup
NotificationOn status changesNoExternal alerts, progress tracking

Hooks receive TOOL_NAME and TOOL_INPUT as environment variables. PostToolUse also receives TOOL_OUTPUT.

Permission Model

SettingEffect
allowedToolsWhitelist — tools here run without approval
deniedToolsBlacklist — tools here are blocked completely
Default (neither)Claude asks for user approval each time

Security rule: User-level denied tools cannot be overridden by project-level settings. This prevents malicious repos from escalating permissions.

Custom Slash Commands

Create .claude/commands/my-command.md with a prompt template. The filename becomes the command name. Use $ARGUMENTS placeholder for user input.

CI/CD Integration

FlagPurpose
--printNon-interactive single-shot mode
--dangerously-skip-permissionsAuto-approve all tool use (CI only)
--modelOverride default model
--output-format jsonMachine-readable output
Anti-PatternWhy It Fails
Skip permissions in productionSecurity risk — tools can modify files, run code
No timeout on CI runsClaude may loop indefinitely, blocking pipeline
Missing CLAUDE.md in CIClaude lacks project context, produces poor results