reflect-and-improve — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited reflect-and-improve (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A self-improvement loop for Claude Code. After significant work, this skill triggers a structured review of what happened — errors made, permissions granted, user corrections, implicit preferences — and writes confirmed learnings to persistent memory files so future sessions start smarter.
Goal: Every session leaves Claude Code slightly better calibrated to the user and codebase.
/reflect-and-adaptRun these 6 steps in order. Skip any step that has no findings.
Scan recent actions in the current session for signals worth learning from.
Look for:
Output format:
## Review Checkpoint — [date]
- [RETRY] Ran tests 3 times before realizing venv wasn't activated
- [CORRECTION] User said "use pnpm, not npm" — package manager preference
- [DENIED] User denied `git push` — wants to review before pushing
- [ABANDONED] Started editing wrong file, had to switch to correct oneAction: If you find 0 signals, skip to step 6. Don't force findings.
Track which operations the user approved or denied to reduce future permission prompts.
Capture:
Write to: permissions.md in the project memory directory
Format:
# Permission Patterns
Last updated: YYYY-MM-DD
## Approved
- git commit with co-author — always approved
- npm install — approved for this project
- file creation in src/ — approved
## Denied
- git push — user wants to review first
- modifying .env — never touch without asking
## Implicit
- if user asks to "set up tests", creating test files is implicitly approvedRules:
Classify errors you made and record the fix so you don't repeat them.
Error categories:
| Category | Example |
|---|---|
| Wrong assumption | Assumed Python 3.10 but project uses 3.8 |
| Missing context | Didn't read package.json before running npm commands |
| Tool misuse | Used cat instead of Read tool |
| Wrong file | Edited the test file instead of the source file |
| Stale knowledge | Used deprecated API method |
| Ordering error | Ran tests before installing dependencies |
Write to: errors.md in the project memory directory
Format:
# Error Catalog
Last updated: YYYY-MM-DD
## [date] Wrong assumption — Python version
- What happened: Used match/case syntax, but project requires Python 3.8
- Root cause: Didn't check pyproject.toml before writing code
- Fix: Always read pyproject.toml or setup.cfg for Python version constraints
- Prevention: Before writing Python code, check version requirements
## [date] Missing context — Package manager
- What happened: Ran `npm install` but project uses pnpm
- Root cause: Didn't check for pnpm-lock.yaml
- Fix: Check for lock files (pnpm-lock.yaml, yarn.lock, package-lock.json) first
- Prevention: Before any install command, check which lock file existsRules:
Capture implicit preferences the user reveals through their behavior and corrections.
Signal types:
Write to: preferences.md in the project memory directory
Format:
# User Preferences
Last updated: YYYY-MM-DD
## Coding Style
- TypeScript: single quotes, no semicolons, 2-space indent
- Python: black formatter, type hints preferred
- Prefers functional style over classes
## Communication
- Likes concise responses — no fluff
- Doesn't want time estimates
- Prefers bullet points over paragraphs
## Tools
- Package manager: pnpm
- Test framework: vitest (not jest)
- Linter: biome
## Workflow
- Wants to review git diffs before committing
- Prefers small, focused commits over large batchesRules:
Write confirmed learnings to persistent memory files. This is the actual "getting smarter" step.
Target directory: The project-level memory directory
~/.claude/projects/<project>/memory/~/.claude/memory/ (but be conservative — most things are project-scoped)What qualifies as a confirmed learning:
What does NOT qualify:
Process:
Anti-patterns to avoid:
Identify moments where the user experience could be smoother.
Look for:
Output format:
## Friction Audit — [date]
- User corrected package manager twice → saved to preferences.md
- Had to re-read config file I should have cached → added to review checklist
- User provided project structure context that exists in README → read README first next timeActions:
~/.claude/projects/<project>/memory/
MEMORY.md # Index + high-level context (loaded into system prompt)
permissions.md # Approved/denied operations
errors.md # Error catalog with prevention rules
preferences.md # User style and tool preferences=== Reflect and Improve — 2026-02-17 ===
## Review Checkpoint
- [CORRECTION] User said "use vitest not jest" — test framework preference
- [RETRY] Failed to run tests — forgot to install deps first
- [DENIED] git push denied — user reviews before pushing
## Permission Patterns
→ Updated permissions.md: added "git push — review first"
## Error Catalog
→ Updated errors.md: "Always run install before test commands"
## User Preferences
→ Updated preferences.md: "Test framework: vitest (not jest)"
## Memory Synthesis
→ Wrote 3 entries across 3 topic files
→ No MEMORY.md changes needed (topic files already linked)
## Friction Audit
- 1 friction point: had to be told test framework twice
→ Fixed: saved to preferences.md, won't happen again~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.