SKILL

Interactive weekly review for professional projects. Goes through each active project one at a time: presents last week's progres…

MichalKazimierczak updated 23d ago
Claude CodeGeneric
View source ↗
# weekly_projects_review

Interactive weekly review for professional projects. Goes through each active project one at a time: presents last week's progress, discusses current state, then plans and writes next-week tasks to the weekly note. After the per-project loop, also sweeps non-professional tasks (done last week + still open) so they don't rot.

## Key paths

- Vault: `/Users/michal/Library/Mobile Documents/iCloud~md~obsidian/Documents/Michal/`
- Professional project notes: `<vault>/Projects/Current_projects/professional/`
- Weekly notes: `<vault>/Reviews/Weekly_notes/YYYY-WXX.md`
- Daily notes: `<vault>/Daily_notes/YYYY-MM-DD.md`

## Arguments: $ARGUMENTS

Resolve week context:
- No argument → last week = previous ISO week, planning week = current ISO week
- Week specified ("W22", "last week", "2026-W21") → resolve accordingly
- Project name specified → review only that project, skip others

---

## Step 1 — Orient

Identify:
- **Last week:** YYYY-WXX, Monday–Sunday dates
- **Planning week:** YYYY-WXX, Monday–Sunday dates (Friday date = task due date)
- **Last week's weekly note:** `<vault>/Reviews/Weekly_notes/<last-week>.md`
- **This week's weekly note:** `<vault>/Reviews/Weekly_notes/<this-week>.md` — create from template if missing (see Step 4 for required sections)

Find active projects: read all `.md` files in `<vault>/Projects/Current_projects/professional/` where frontmatter has `status: active`.

For each project note read:
- `## 📊 Current state`
- `## 🔑 Key decisions made`
- `## ❓ Open questions`
- `## 📝 Running log` (last 3 entries)
- `## 🧪 Validation queue` (open items only — `[ ]` tasks)

Also read the `## 🗂 Projects this week` section of last week's weekly note if present, to see which tasks were planned and (by checking completion marks) which were done.

Tell the user how many projects were found and which ones, then begin the per-project loop.

---

## Step 2 — Per-project review (one project at a time)

Work through projects sequentially. Do not move to the next project until the current one is resolved.

### 2a. Present last week

Synthesise from the running log and last week's task list. Show:

───────────────────────────────────────── Project: [Display name] ([[NoteFilename]]) Stage: [current_stage from frontmatter] ─────────────────────────────────────────

Last week (W[XX]): • [what was done — from running log entry and/or completed tasks] • [if nothing recorded: "No running log entry for W[XX] — summarise below."]

Current state: [Current state section, condensed to 2–3 sentences]

Open questions: • [each item from Open questions section]

Pending validation: [open validation queue items, or "none"]


### 2b. Discuss

Ask the user two questions in a single message:
1. Any updates to current state or open questions since last week?
2. What should be the focus for [planning week]? What are the 2–4 most important things to move forward?

Wait for the user's response before generating tasks.

### 2c. Generate tasks

From the user's response, propose 3–5 tasks for the planning week.

Each task must be:
- Concrete and actionable: verb + object + scope
- Tagged: `#task #project/<slug>`
- Due on the Friday of the planning week: `📅 YYYY-MM-DD`
- Format: `- [ ] [description] #task #project/<slug> 📅 YYYY-MM-DD`

Present the proposed tasks and ask for approval or adjustments. Iterate until the user confirms.

### 2d. Update the project note

After tasks are confirmed:

1. **Running log:** if no entry exists for last week, append one:
   `- **[Monday date]** (W[XX]) [1-sentence summary of what was accomplished, based on the discussion]`

2. **Current state:** if the user indicated changes, update `## 📊 Current state`.

3. **Open questions:** if questions were resolved or new ones raised, update `## ❓ Open questions`. Move resolved questions to `## 🔑 Key decisions made` with a brief rationale.

After updating the project note, move to the next project.

---

## Step 3 — Review other tasks (non-professional)

After all professional projects are reviewed, sweep the non-professional task surface so they don't rot.

### 3a. Scope

Look for `#task` lines (both `- [x]` done and `- [ ]` open) that are NOT covered by the professional-projects review. The exclusion rule mirrors the "Other Tasks" Obsidian-Tasks query in the weekly note:

- exclude any line in `Projects/Current_projects/professional/`
- exclude lines tagged with any of:
  `#project/data_policy_project`,
  `#project/female_designers_2026`,
  `#project/ip_value_infringement`,
  `#project/matching_2026`,
  `#proj/female_designers_2026`,
  `#proj/ip_value_infringement`,
  `#proj/matching_2026`

Sources to scan:
- `Daily_notes/YYYY-MM-DD.md` for every day of last week
- `Meetings/YYYY/*.md` (filter by `file.day` in last week range)
- `Inbox/*.md`
- `Notes/Fleeting notes/*.md`

Use `grep -rE "^- \[(x| )\].*#task"` on those paths, then drop lines matching the exclusion tags. Cross-check against the Tasks plugin queries already embedded in last week's weekly note.

### 3b. Present

Show two lists:

Done last week (non-professional): • [task text] —

Still open (non-professional): • [task text] (due: YYYY-MM-DD or none) —


If a list is empty, say so explicitly. Do not invent items.

### 3c. Discuss

Ask the user, for the open list:
- Anything to **close** outright (no longer relevant)?
- Anything to **reschedule into the planning week** (give a new 📅 date)?
- Anything to **deprioritize** (drop due date / strip from active surface)?
- Anything new to **add** to the planning week from outside this list?

For the done list: optional one-line acknowledgement or follow-up (e.g., "X is done — flag for next week's review?").

### 3d. Apply

For each user decision:
- **Close:** edit the source note to mark `- [x] ... ✅ YYYY-MM-DD`.
- **Reschedule:** edit the source note to add or replace `📅 YYYY-MM-DD`.
- **Deprioritize:** remove the `📅` field; do not delete the task.
- **N

Maintain SKILL?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

[SKILL on getagentictools](https://getagentictools.com/loops/michalkazimierczak-weekly-projects-review?ref=badge)