Installs into .claude/skills of the current project.
Are you the author of Update Focus?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/flonat-update-focus)
---
name: update-focus
description: "Update current-focus.md with a structured session summary. Use when the user asks to update current-focus.md with a structured session summary."
allowed-tools: Read, Edit, Bash(git log*), Bash(date*), Bash(ls*)
skill-dependencies: [session-log]
---
# Update Focus Skill
> Structured end-of-session update to `.context/current-focus.md` that preserves the document's full structure.
## Purpose
The stop hook nudges to update `current-focus.md` at session end, but ad-hoc edits risk flattening its rich structure. This skill handles session rotation, open loop management, and targeted questions — so the file stays useful as a working memory between sessions.
## When to Use
- At the end of a work session (triggered by stop hook or manually)
- When the user says "update my focus", "save where I left off", "update current focus"
- After `session-log` if `current-focus.md` wasn't updated
## Canonical Document Structure
`current-focus.md` follows this structure — **always preserve it**:
```markdown
# Current Focus
> Update this file regularly...
## This Week's Focus (w/c YYYY-MM-DD)
### Primary Goal
[One sentence]
### Active Projects (Top 3)
1. **[Project]** - [Status/phase]
2. **[Project]** - [Status/phase]
3. **[Project]** - [Status/phase]
### Waiting On
- [ ] [Person] - [What] - [Since when]
### Upcoming Deadlines
| Deadline | What | Project |
|----------|------|---------|
## Recent Context
### Last Session Summary (YYYY-MM-DD — [Title])
- [Bullet points of what happened]
### Previous Session (YYYY-MM-DD — [Title])
- [Bullet points]
### Previous Session (YYYY-MM-DD — [Title])
- [Bullet points]
### Previous Session (YYYY-MM-DD — [Title])
- [Bullet points]
### Open Loops
Things I started but haven't finished:
- [ ] [Item]
- [x] [Completed item — remove on next update]
### Mental State
[Optional: How are you feeling about work?]
---
## Quick Reference
### Key Meetings This Week
- [Day]: [Meeting] with [Person] about [Topic]
### Papers in Active Revision
- [Paper title] - [Journal] - [Stage]
---
```
## Workflow
### Step 1: Read current state
Read these three sources to understand what happened:
1. `.context/current-focus.md` — current file contents
2. Latest file in `log/` — most recent session log (if one was created)
3. `git log --oneline -10` — recent commits for concrete evidence of work done
Also note today's date for week rollover detection.
### Step 2: Detect week rollover
Compare the `w/c` date in `## This Week's Focus (w/c YYYY-MM-DD)` against today's date.
- If today is in a **new week** (Monday-based), flag that weekly sections need updating.
- If same week, skip weekly section updates.
Week rollover means: Primary Goal, Active Projects Top 3, Waiting On, Upcoming Deadlines, and Key Meetings may all need refreshing.
### Step 3: Draft session summary
From the session context (conversation history, commits, log), draft a summary in the **same bullet-point format** as existing entries:
```markdown
### Last Session Summary (YYYY-MM-DD — [Short Title])
- [What was done, in bullet points]
- [Key decisions or outputs]
- [Files/commits if relevant]
```
Keep it concise — 3-6 bullet points. Match the style of existing entries.
### Step 4: Ask targeted questions (2-4 max)
Ask only what's needed. Skip questions where the answer is obvious from context.
**Always ask:**
1. "Does this session summary look right?" (show the draft)
2. "Any open loops to add or check off?" (show current list with proposed changes marked)
**Ask only if relevant:**
3. "How are you feeling about work?" — only if Mental State is still a placeholder (`[Optional: ...]`)
4. "Has your primary goal or top 3 changed?" — only on **week rollover**
Present questions concisely with proposed answers. Let the user confirm or adjust.
### Step 5: Apply the update
Use `Edit` to make targeted changes. **Never rewrite the whole file.**
#### Session rotation rules
- **Rename** the current `### Last Session Summary (...)` to `### Previous Session (...)`
- **Insert** the new `### Last Session Summary (...)` in its place
- **Keep a maximum of 4 session entries** in Recent Context (1 Last + 3 Previous)
- If there are already 4 entries, **delete the oldest** Previous Session
- Preserve the exact header format: `### Last Session Summary (YYYY-MM-DD — Title)` for the newest, `### Previous Session (YYYY-MM-DD — Title)` for older ones
#### Open loop management
- **Check off** items that were completed this session (change `- [ ]` to `- [x]`)
- **Remove** items marked `[x]` from previous sessions (they've been acknowledged)
- **Add** new open loops identified during the session
- Keep the intro line: `Things I started but haven't finished:`
#### Other updates
- Update **Mental State** if the user provided one
- Update **weekly sections** if week rollover was detected and the user confirmed changes
- Update **Quick Reference** if meetings or paper revisions changed
- Update **Waiting On** if new blockers emerged or old ones resolved
### Step 6: Confirm
Report what was changed:
```
Updated .context/current-focus.md:
- Session: [title] added to Recent Context
- Open loops: [N checked off, M added]
- [Any other changes]
```
If no session log was created this session, offer: "Want me to run `session-log` too?"
## Integration with Other Skills
| Skill | Relationship |
|-------|-------------|
| `session-log` | Creates the detailed log; `update-focus` updates the working memory. Often run together. |
| `save-context` | For ad-hoc saves to any context file. Defers to `update-focus` for structured focus updates. |
| `vault sync (edit vault files directly)` | Updates `projects/_index.md` and vault. For full session-level focus updates, defers to `update-focus`. |
## Example Interaction
**Claude:** Here's what I'd update in `current-focus.md`:
**Session summary:**
```
### Last Session Summary (2026-02-08 — Update Focus Skill)
- Created `update-focus` skill for structured current-focus.md updates
- Updated stop hook, session-log, and update-context with cross-references
- Updated CLAUDE.md skills list (16 → 17)
```
**Open loops — proposed changes:**
- [x] ~~Commit all pending changes~~ (done this session)
- [ ] Test new skills on CAPE-MOBO or MRes paper *(keep)*
- [ ] Try replication protocol on a real paper *(keep)*
- **New:** [ ] Test `update-focus` skill end-to-end
Does this look right? Any open loops to add or change?
**the user:** Looks good, also check off the replication one, I decided to skip it.
**Claude:** Got it. *[Applies edits]* Updated `.context/current-focus.md`:
- Session: "Update Focus Skill" added to Recent Context
- Open loops: 2 checked off, 1 added
- Previous sessions rotated (oldest dropped)
Want me to run `session-log` too?