Task skills are structured execution workflows installed by `carrick init` to guide AI coding agents through multi-step cross-service evaluations. Each skill executes a deterministic sequence of Carrick tool calls, applies unambiguous classification terms, and produces a structured findings report with exact source file and line locations.

`carrick init` installs four specialized skills:

| Skill | Invocation trigger | Tools executed |
| :--- | :--- | :--- |
| [`carrick-impact`](/carrick-impact) | Evaluated before modifying or deleting routes, handlers, response shapes, events, or shared functions; also triggered by "who calls this?" or "what breaks if I change it?" | `get_operation`, `get_callers`, `check_compatibility`, and `carrick check <file> --recheck --json` for modified files |
| [`carrick-reuse`](/carrick-reuse) | Evaluated at the conclusion of tasks that add or modify functions; also triggered by "does this already exist?" or "where have we built this twice?" | `find_similar` (targeted or project audit mode) |
| [`carrick-drift`](/carrick-drift) | Evaluated before altering request or response types, or when investigating unresolved compatibility errors | `get_service_graph`, followed by `get_contract_pair` per service pair |
| [`carrick-census`](/carrick-census) | Evaluated for exhaustive discovery queries ("find every place that does X") | `search_by_intent` across dual phrasings, paged to completion |

## Design principles

Task skills operate under strict reporting rules to ensure reliable agent output:

- **Tool-backed evidence**: Every finding derives directly from a Carrick tool response or local CLI check. Agents verify returned spans in source code before classifying them.
- **Strict single-class assignment**: Every row in a findings table receives exactly one classification term determined by deterministic evaluation rules.
- **Explicit coverage accounting**: Reports state the number of returned rows alongside the total scanned candidate count, making partial or truncated results immediately visible.
- **Non-destructive reporting**: Skills do not modify source code autonomously. They present findings and offer to create GitHub issues for confirmed items.

## File locations and ownership tracking

`carrick init` writes byte-identical skill files for supported agent harnesses:

```
.claude/skills/<name>/SKILL.md
.agents/skills/<name>/SKILL.md
```

Each skill file includes a cryptographic digest in its footer:

```
<!-- carrick:skill sha256:0123456789ab -->
```

Carrick uses this digest to track file ownership:

- **Matching digest**: The file has not been modified locally and will be updated automatically by newer CLI versions.
- **Modified content with marker**: The file contains local edits, which Carrick preserves during subsequent updates while logging a notice.
- **Missing marker**: The file is unmanaged and remains untouched.

When you run `carrick remove`, the CLI deletes only unedited skill files whose digests match package defaults.

## Maintaining skill files

When you upgrade the CLI (`npm install -g carrick@latest`), existing workspace files remain unchanged until refreshed.

Use the following tools to maintain skill files:

- `carrick doctor`: Identifies missing skills, modified files, and outdated versions.
- `carrick init`: Refreshes unedited skill files and hook definitions while preserving customised files.

## Automated end-of-task reuse nudge

Carrick automatically prompts agents to check for duplicate implementations after adding new functions:

1. **Detection**: On file modifications, `carrick check <file> --recheck` identifies newly declared functions not present in the index (`recheck.new_functions`).
2. **Session tracking**: `carrick hook post-edit` records newly introduced function names in `~/.carrick/sessions/`.
3. **Agent notification**: When the task finishes, `carrick hook stop` (Claude Code) or `carrick hook user-prompt` (Codex) outputs a single reminder prompting the agent to run `carrick-reuse` on the new functions.

The notification runs once per set of functions, preventing duplicate reminders during subsequent turns.

## Related

- [MCP tools](/mcp-tools) documents the complete toolset executed by task skills.
- [Connecting your agent](/connecting-your-agent) explains agent harness configuration.
- [CLI](/cli) covers `carrick doctor`, `carrick init`, and `carrick remove`.