スキル一覧に戻る

claude-improve-config

anam-org / metaxy

20🍴 2📅 2026年1月19日

Self-reflect on the current session to identify mistakes and propose improvements to .claude configuration (CLAUDE.md, hooks, skills).

SKILL.md

---
name: claude-improve-config
description: Self-reflect on the current session to identify mistakes and propose improvements to .claude configuration (CLAUDE.md, hooks, skills).
---

# Claude Config Self-Improvement

Analyze the current session for errors, mistakes, or inefficiencies and propose improvements to the `.claude` configuration to prevent similar issues in the future.

## When to Use

- After a session with significant mistakes or rework
- When you notice patterns that could be prevented with better configuration
- When explicitly requested via `/claude-improve-config`
- Automatically triggered by the `SessionEnd` hook

## Self-Reflection Process

### 1. Analyze the Session

Review the conversation for:

- **Repeated mistakes**: Same error made multiple times
- **Misunderstandings**: User had to correct Claude's interpretation
- **Inefficient workflows**: Better approaches discovered late in the session
- **Tool misuse**: Wrong tool for the job, excessive tool calls
- **Missing context**: Information that would have helped if in CLAUDE.md
- **Ignored instructions**: Existing CLAUDE.md rules that were violated

### 2. Categorize Issues

Rate severity:

- **Critical**: Caused significant rework or user frustration
- **Moderate**: Caused delays or minor corrections needed
- **Minor**: Slight inefficiency but didn't impact outcome

Only propose changes for **critical** or **moderate** issues.

### 3. Propose Configuration Changes

Changes can include:

**CLAUDE.md Updates:**

- New guardrails or constraints
- Clarified existing instructions
- Project-specific patterns to follow

**New Hooks:**

- PreToolUse hooks to prevent specific mistakes
- PostToolUse hooks to validate outputs
- Stop hooks to enforce checks before completion

**New Skills:**

- Reusable knowledge for recurring tasks
- Best practices for specific domains

### 4. Format the Proposal

Present proposals clearly:

```markdown
## Session Reflection

### Issues Identified

1. **[Critical/Moderate]** Brief description of the issue
   - What happened: ...
   - Why it happened: ...
   - Impact: ...

### Proposed Changes

#### Change 1: [Type - CLAUDE.md/Hook/Skill]

**Rationale:** Why this change prevents the issue

**Implementation:**
[Show the exact changes to make]

#### Change 2: ...
```

## Guidelines

- Only propose changes that are **generalizable** - don't add rules for one-off situations
- Keep CLAUDE.md **concise** - prefer hooks for enforcement over verbose instructions
- Test proposed hooks mentally - ensure they won't block legitimate workflows
- Prefer **minimal changes** - one well-designed rule is better than many narrow ones
- Consider **false positives** - hooks should not create friction for normal operations

## Example Proposals

### Example 1: Missing Test Verification

**Issue:** Claude claimed tests passed without running them.

**Proposal:** Add to CLAUDE.md:

```markdown
**Test verification**: Never claim tests pass without showing actual test output. Always run `uv run pytest` with the specific test file before marking test-related tasks complete.
```

### Example 2: Repeated Lint Failures

**Issue:** Code was submitted with lint errors multiple times.

**Proposal:** Add PostToolUse hook for Write/Edit:

```json
{
  "matcher": "Write|Edit",
  "hooks": [
    {
      "type": "command",
      "command": "ruff check --select=E,F $TOOL_INPUT.file_path 2>/dev/null || true"
    }
  ]
}
```

### Example 3: Wrong Branch for PR

**Issue:** PR was created against wrong base branch.

**Proposal:** Add to CLAUDE.md:

```markdown
**Pull requests**: Always verify the target branch before creating a PR. For this project, PRs should target `main` unless explicitly specified otherwise.
```

## Non-Examples (Do NOT Propose)

- One-off mistakes that won't recur
- User preference differences (not errors)
- Issues already covered by existing configuration
- Overly specific rules that won't generalize
- Changes that would slow down normal workflows significantly