en un clic
reflect
Extract and persist conversation learnings before context loss. TRIGGER when: user runs /reflect, or before /clear or compaction.
Menu
Extract and persist conversation learnings before context loss. TRIGGER when: user runs /reflect, or before /clear or compaction.
Update stale documentation and comments to match current code
Tag a new version, push to trigger CI, monitor the build, and verify the GitHub release
Guidelines for creating and updating Claude Code skills. TRIGGER when: writing a new SKILL.md, modifying an existing skill, or the user asks about skill conventions.
Analyzes changes and generates Conventional Commit messages
Arrange a project's README and GitHub Pages documentation into a consistent user-first layout: short README that links out, just-the-docs Jekyll site with a user-facing index, one page per user-facing feature (split into child pages when long), and a developer guide with technical sub-pages. TRIGGER when: setting up docs/ for a new project, adding a GitHub Pages site, writing or restructuring a README that will link to GH Pages, adding a new user-facing feature page, or asked to align docs with this project or bga-assistant. DO NOT TRIGGER when: editing unrelated docs outside docs/, working on a project that already has an incompatible docs framework (Docusaurus, MkDocs, VitePress, etc.).
Create or update the data flow architecture document (docs/pages/data-flow.md).
| name | reflect |
| description | Extract and persist conversation learnings before context loss. TRIGGER when: user runs /reflect, or before /clear or compaction. |
| allowed-tools | Bash(bash ~/.claude/skills/reflect/gather-context.sh), Read, Write, Edit, Glob, Grep, Bash(git rev-parse:*) |
Extract durable knowledge from the current conversation and persist it to long-term memory. Run this before compacting or clearing context so insights are not lost.
git rev-parse --show-toplevel 2>/dev/null || pwdpwdR=$(git rev-parse --show-toplevel 2>/dev/null || pwd) && cat "$R/CLAUDE.md" 2>/dev/null || echo "(none)"R=$(git rev-parse --show-toplevel 2>/dev/null || pwd) && ls "$R/.claude/skills/" 2>/dev/null || echo "(none)"bash ~/.claude/skills/reflect/gather-context.sh 2>/dev/null || echo "(gather-context blocked — Process step 1 will fall back to the Read tool)"CLAUDE.md, .claude/skills/, and the project memory dir derived from the project ID are all relative to Repo root from Context (NOT cwd — /reflect can be invoked from a subdirectory like src-tauri/). The bundled gather-context.sh already derives the project ID from the repo root; the manual fallback in Process step 1 below uses Repo root the same way.
Review pre-loaded context. The Context section has two inventory sources:
gather-context.sh): parse the === global-claude-md ===, === global-memory-index ===, === project-id ===, === project-memory-index ===, === global-learnings ===, and === global-skills === blocks. The script has already deduced the current project's mangled ID from CWD (replace every non-alphanumeric character with -; see ~/.claude/skills/skill/references/claude-project-memory-paths.md) and cat'd only this project's MEMORY.md — no directory scanning needed.If the global-inventory line starts with (gather-context blocked …), fall back to loading each source manually:
~/.claude/CLAUDE.md~/.claude/memory/MEMORY.md-) — NOT cwd, since cwd may be a subdirectory and would produce a nonexistent project ID. Then Read ~/.claude/projects/<project-id>/memory/MEMORY.md~/.claude/learnings/* (filenames are self-documenting; read bodies only when topic overlaps the current session)~/.claude/skills/*/SKILL.mdOnly read the full body of a specific memory, learning, or SKILL.md when its name suggests overlap with something in the current conversation.
Use the pre-loaded project memory. The === project-memory-index === block from Context already contains the current project's MEMORY.md (or (none) if the project has no memory yet). Individual memory files live at ~/.claude/projects/<project-id>/memory/<memory-name>.md — use the project ID from the === project-id === block when you need to read or write one.
Project memory may be version-controlled. If ~/.claude/projects/<project-id>/memory is a symlink (wired by ~/.claude/scripts/link-project-memory.sh), it points into the repo's committed <repo>/.claude/memory/. The Write/Edit tools refuse to write through symlinks, so resolve it with readlink and write to the real repo path; the saved file is then committable with the rest of the work.
Check skills relevant to the session. From the project-skills listing and the === global-skills === block, identify any skills the user invoked or whose scope overlaps with potential findings. Read those SKILL.md files so you can judge whether a finding should become a skill update.
Scan the conversation for knowledge worth persisting. Look for these categories — but only extract what is durable (useful in future conversations), non-obvious (not derivable from code or git), and not already stored (check against the memory indexes and learnings list from steps 1 and 2):
a. Feedback — user corrections or confirmed approaches
b. Project context — decisions, constraints, ongoing work
c. User profile — role, expertise, preferences
d. References — pointers to external systems
e. CLAUDE.md updates — patterns or conventions discovered
f. Skill updates — feedback or workflow refinements that belong inside an existing skill's definition
SKILL.md (project-local or global). Prefer editing the skill over saving a feedback memory when the rule is scoped to that skill.g. Learnings — long-form technical reference for reusable domain knowledge
~/.claude/learnings/<topic>.md — topic-named, flat directory, no frontmatter, no index fileFilter ruthlessly. Do NOT save:
git log)Present findings to the user. For each proposed change, show:
Format as a numbered list. Ask: "Save these? (all / numbers / none)"
Save approved items. For each approved item:
~/.claude/learnings/<topic>.md as long-form markdown. No frontmatter. No index update (the flat directory uses filenames as the index).SKILL.md in place. Keep edits minimal and consistent with the surrounding style; don't rewrite sections that aren't affected by the finding.Report what was saved and where. If nothing was worth saving, say so — a clean conversation with no new learnings is fine.