Skill Integration

Skills don't operate in isolation. They integrate with: user-provided instructions (CLAUDE.md), tools (bash, file ops, MCP), other skills, and the conversation context.

This page covers how the layers fit together.

Instruction precedence

When skill instructions conflict with user instructions, who wins?

Per the standard system prompt: **user instructions always take precedence**.

Order:

1. User's explicit instructions (CLAUDE.md, direct requests)

2. Skill instructions

3. Default system prompt

If a skill says "always TDD" and CLAUDE.md says "this project doesn't use TDD," CLAUDE.md wins.

This matters: skills should defer to user context when they conflict.

Skills + tools

Skills tell Claude what to do; tools (Bash, Read, Edit, etc.) are how Claude does it.

A skill might say:

> Use git diff to see changes; use grep to find patterns; edit files via Edit tool.

The skill's instructions inform tool usage. The tools are the actuators.

For some skills, specific tools are essential:

- Code review skills use Read, Grep, Bash

- Code modification skills use Edit, Write

- Investigation skills use multiple tools

Skills + MCP servers

MCP (Model Context Protocol) servers expose external functionality. Skills can recommend or require specific MCP tools.

A "Slack notification" skill might say "use the slack MCP server's send_message tool."

The MCP layer is the interface; the skill orchestrates.

Skills + CLAUDE.md

CLAUDE.md is project-specific instructions. Often:

- Code style preferences

- Build/test commands

- Project conventions

- Things to avoid

Skills should respect CLAUDE.md. A skill can suggest TDD; CLAUDE.md saying "no TDD here" overrides.

Skills can reference CLAUDE.md:

```markdown

Check CLAUDE.md for project-specific conventions before applying default style.

```

Skills + memory

Some Claude environments have memory systems (auto-memory, persistent storage). Skills interact:

- Skills may read memory for relevant context

- Skills may write to memory (preferences, learnings)

- Skill behavior may adapt based on memory

For environments without memory, skills are stateless across conversations.

Workflow integration

Skills can chain in workflows:

```

1. brainstorming → 2. writing-plans → 3. test-driven-development → 4. requesting-code-review

```

Each is its own skill; together they form a workflow.

Some workflows are encoded in a "process" skill that coordinates others:

```markdown

The development workflow:

1. Invoke brainstorming

2. Invoke writing-plans

3. Invoke test-driven-development

4. Invoke requesting-code-review

```

A meta-skill orchestrates the others.

Specific integrations

Skills in CI

Some skills suggest running CI commands:

```bash

mvn clean test

```

The skill says when to run; the user runs (or the bash tool runs if authorized).

Skills modifying files

Edit/Write tools modify files. Skills guide what changes; tools execute.

For shared codebases, skills should be careful — modifications affect users.

Skills with subagents

Skills can suggest spawning subagents for parallel work. Sub-agents have their own context; results return to the main conversation.

```markdown

For independent investigations, spawn parallel subagents with the Agent tool.

```

Skills with hooks

Some Claude environments support hooks (events on tool calls, conversation start, etc.). Skills can suggest hook configurations:

```markdown

Set up a hook to run linting after every Edit:

{ "hooks": [...] }

```

Discoverability

For skills to be useful, Claude must know they exist.

In Claude Code: skills are listed in system reminders by name + description. Claude scans this list when deciding invocation.

For new skills: announcing in CLAUDE.md helps if discoverability is an issue.

Conflicts between skills

Multiple skills may match a request. Claude picks one (usually based on description specificity).

For predictable behavior:

- Specific descriptions

- Explicit triggers

- Don't overlap

If conflicts persist, user can be explicit ("use the X skill").

Cross-organization skills

Some skills are personal; some shared in teams; some published as open-source.

For shared skills:

- Documentation matters more

- Versioning matters

- Maintenance ownership

See [SkillLibraries](SkillLibraries).

Integration testing

For complex skill integrations:

1. Test the skill alone (does it work?)

2. Test composition (does it work with the skills it expects to follow?)

3. Test conflicts (what happens when two skills could apply?)

4. Test in different projects (does CLAUDE.md affect it?)

Common failure patterns

- **Skill that overrides user instructions.** Should defer; not override.

- **Skill that requires unavailable tools.** Won't work in all environments.

- **Skill assumptions about CLAUDE.md.** Brittle if missing.

- **Heavy MCP server requirements.** Limits portability.

- **Skill that bypasses user oversight.** "Just do it" without confirmation for risky actions.

A reasonable approach

For new skills:

1. Respect the precedence (user > skill > default)

2. Use available tools deliberately

3. Compose with related skills

4. Document integration assumptions

5. Test in real environments

Further Reading

- [CustomSkillsArchitecture](CustomSkillsArchitecture) — Skill basics

- [SkillComposition](SkillComposition) — Skill chains

- [SkillLibraries](SkillLibraries) — Sharing skills

- [SkillPerformance](SkillPerformance) — Adjacent concern

- [AgenticAi Hub](AgenticAiHub) — Cluster index