Skip to content
Back to skills

Update Focus

ASecurity

Update current-focus.md with a structured session summary. Use when the user asks to update current-focus.md with a structured session summary.

  • 144 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
ai-agentsgobashgit

Security analysis

A100/100

Scanned September 23, 2026

npx -y skills add flonat/flonat-research --skill update-focus --agent claude-code

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.

Security grade badge for Update Focus
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/flonat-update-focus/badge)](https://www.skillsdirectory.com/skills/flonat-update-focus)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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?

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.