{"id":"61cb3059-b881-4f61-932c-b964e08b7640","shortId":"JWMw6u","kind":"skill","title":"cowork-session-planner","tagline":"Generate a pre-session brief for Cowork: current status, session goal, and prioritised work plan from local project files — before your first real message. Use when starting a session, returning after a break, or needing focus. Triggers: 'session brief', 'prepare my session', 'st","description":"# Cowork Session Planner\n\nThis skill generates a pre-session brief for non-technical Cowork users by scanning available project files (context.md, logs, tasks, CLAUDE.md) and producing a minimal structured brief: current project status, recommended session goal, and a prioritised work plan. It runs at the very start of a session — before any real work task is requested — so the user knows exactly where to focus.\n\n**Input:** Current workspace / project folder. Optional: explicit session goal as free text.\n\n**Output:** Structured markdown brief (inline response). Optionally saved to `output/session-brief.md` on user request.\n\n---\n\n## Language Detection\n\nDetect the user's language from their message:\n- If Russian (or contains Cyrillic): respond in Russian\n- If English (or other Latin-script language): respond in English\n- If ambiguous: respond in the language of the trigger phrase used\n\n---\n\n## Instructions\n\n### Step 1: Parse Input\n\n1. Check if the user provided an explicit session goal (free text after the trigger phrase).\n   - If yes: store as `stated_goal`; use it as the primary session focus in Step 4.\n   - If no: `stated_goal` is empty; derive focus from project files in Step 3.\n\n2. Identify the project folder to scan.\n   - Default: current workspace / selected folder.\n   - If user specifies a path, use that path.\n\n---\n\n### Step 2: Scan Project Files\n\n1. Look for the following files in the workspace (in order of priority):\n   - `context.md` or `CLAUDE.md` — project overview and status\n   - `logs/log.md` — recent activity log\n   - `TASKS.md` or any file containing open tasks\n   - Any `output/skill-spec.md` or in-progress output files\n\n2. For each found file, extract:\n   - **context.md / CLAUDE.md:** project name, current status, open questions\n   - **logs/log.md:** last log entry (date + action description)\n   - **TASKS.md:** open tasks (status: pending or in_progress)\n   - **skill-spec.md:** if present, note \"skill spec in progress\"\n\n3. Note any missing files for the Notes section of the brief.\n\n**Edge Cases:**\n- If no context.md or CLAUDE.md found: proceed without project overview; flag as missing in Notes.\n- If log file is empty or absent: skip last-action extraction; open brief with \"No activity log found.\"\n- If multiple task files found with conflicting state: list all sources; flag conflict in Notes.\n\n---\n\n### Step 3: Determine Session Focus\n\n1. If `stated_goal` is set: use it as the session goal. Skip to Step 4.\n\n2. Otherwise, derive focus from extracted data:\n   - Check open tasks (status: pending / in_progress) — select the highest-priority item.\n   - If no tasks, check last log entry — infer next logical step from last completed action.\n   - If neither available: propose \"Define session goal\" as the first task.\n\n3. Compile a prioritised work list (max 5 items):\n   - Item 1: derived or stated session goal\n   - Items 2–5: remaining open tasks or logical next steps\n\n---\n\n### Step 4: Assemble Brief\n\n1. Build the pre-session brief with these sections:\n   - **Project / Status:** project name + 1-sentence current state\n   - **Session Goal:** recommended or stated goal (1 sentence)\n   - **Work Plan:** numbered list, max 5 items\n   - **Blockers:** any open blockers or conflicts from Step 2; \"None\" if clean\n   - **Notes:** any missing files, file conflicts, or flags from Step 2\n\n2. Use bilingual headers (EN + RU) if Russian was detected; English-only otherwise.\n\n3. Display the brief inline. Do not save to file unless user explicitly requests it.\n\n---\n\n### Step 5: Handle Save Request\n\n1. If user says \"save\" or \"save to file\": write brief to `output/session-brief.md`.\n2. Confirm file written and provide path.\n\n---\n\n## Negative Cases\n\n- **No project files found (empty workspace):** Return: \"No project files found. Please select your project folder or provide a session goal to get started.\" Do not generate an empty or partial brief.\n- **User invokes mid-session (active tasks detected):** Detect in-progress tasks or recent log entries (within last hour). Note: \"It looks like you're already mid-session.\" Offer a **re-focus brief** instead of an initial brief (same format, but titled \"Re-focus Brief\").\n\n---\n\n## Output Format\n\nInline markdown response:\n\n```\n## Сессионный бриф / Session Brief\n**Проект / Project:** [project name or folder]\n**Статус / Status:** [1-sentence current state]\n\n### Фокус сессии / Session Goal\n[Recommended or stated session goal — 1 sentence]\n\n### План работы / Work Plan\n1. [Task 1 — highest priority]\n2. [Task 2]\n3. [Task 3]\n...\n\n### Блокеры / Blockers\n- [Blocker 1 if any, otherwise: None]\n\n### Заметки / Notes\n- [Missing files, conflicts, or flags — if any]\n```\n\n**Field rules:**\n- Work Plan: 1–5 items; each item is a specific, actionable task (not a vague category)\n- Blockers: specific obstacle or \"None\"\n- Notes: only populated when something is flagged (missing file, conflict, mid-session detection)","tags":["cowork","session","planner","claude","skills","kit","kirkruglov","agent-skills","agentic-skills","ai-agents","ai-skills","awesome-list"],"capabilities":["skill","source-kirkruglov","skill-cowork-session-planner","topic-agent-skills","topic-agentic-skills","topic-ai-agents","topic-ai-skills","topic-awesome-list","topic-claude","topic-claude-ai","topic-claude-ai-skills","topic-claude-code","topic-claude-cowork","topic-claude-memory","topic-claude-skills"],"categories":["claude-skills-kit"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/KirKruglov/claude-skills-kit/cowork-session-planner","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add KirKruglov/claude-skills-kit","source_repo":"https://github.com/KirKruglov/claude-skills-kit","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (4,908 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:13:36.719Z","embedding":null,"createdAt":"2026-05-18T13:21:13.947Z","updatedAt":"2026-05-18T19:13:36.719Z","lastSeenAt":"2026-05-18T19:13:36.719Z","tsv":"'1':183,186,257,401,473,493,507,517,583,703,716,722,724,736,754 '2':232,253,296,417,480,534,548,549,596,727,729 '3':231,333,397,463,563,730,732 '4':217,416,490 '5':470,481,524,579,755 'absent':368 'action':315,372,451,762 'activ':279,378,642 'alreadi':663 'ambigu':171 'assembl':491 'avail':68,454 'bilingu':551 'blocker':526,529,734,735,768 'break':38 'brief':10,44,59,80,131,344,375,492,499,566,593,636,672,677,685,694 'build':494 'case':346,604 'categori':767 'check':187,424,440 'claude.md':74,272,303,351 'clean':537 'compil':464 'complet':450 'confirm':597 'conflict':387,393,531,543,745,782 'contain':154,285 'context.md':71,270,302,349 'cowork':2,12,49,64 'cowork-session-plann':1 'current':13,81,117,240,306,509,705 'cyril':155 'data':423 'date':314 'default':239 'defin':456 'deriv':224,419,474 'descript':316 'detect':142,143,558,644,645,786 'determin':398 'display':564 'edg':345 'empti':223,366,609,633 'en':553 'english':160,169,560 'english-on':559 'entri':313,443,653 'exact':112 'explicit':122,193,575 'extract':301,373,422 'field':750 'file':24,70,228,256,262,284,295,300,337,364,384,541,542,572,591,598,607,614,744,781 'first':27,461 'flag':357,392,545,747,779 'focus':41,115,214,225,400,420,671,684 'folder':120,236,243,620,700 'follow':261 'format':679,687 'found':299,352,380,385,608,615 'free':126,196 'generat':5,54,631 'get':627 'goal':16,86,124,195,207,221,404,412,458,478,512,516,625,710,715 'handl':580 'header':552 'highest':434,725 'highest-prior':433 'hour':656 'identifi':233 'in-progress':291,646 'infer':444 'initi':676 'inlin':132,567,688 'input':116,185 'instead':673 'instruct':181 'invok':638 'item':436,471,472,479,525,756,758 'know':111 'languag':141,147,166,175 'last':311,371,441,449,655 'last-act':370 'latin':164 'latin-script':163 'like':660 'list':389,468,522 'local':22 'log':72,280,312,363,379,442,652 'logic':446,486 'logs/log.md':277,310 'look':258,659 'markdown':130,689 'max':469,523 'messag':29,150 'mid':640,665,784 'mid-sess':639,664,783 'minim':78 'miss':336,359,540,743,780 'multipl':382 'name':305,506,698 'need':40 'negat':603 'neither':453 'next':445,487 'non':62 'non-techn':61 'none':535,740,772 'note':328,334,340,361,395,538,657,742,773 'number':521 'obstacl':770 'offer':667 'open':286,308,318,374,425,483,528 'option':121,134 'order':267 'otherwis':418,562,739 'output':128,294,686 'output/session-brief.md':137,595 'output/skill-spec.md':289 'overview':274,356 'pars':184 'partial':635 'path':248,251,602 'pend':321,428 'phrase':179,201 'plan':20,91,520,721,753 'planner':4,51 'pleas':616 'popul':775 'pre':8,57,497 'pre-sess':7,56,496 'prepar':45 'present':327 'primari':212 'prioriti':269,435,726 'prioritis':18,89,466 'proceed':353 'produc':76 'progress':293,324,332,430,648 'project':23,69,82,119,227,235,255,273,304,355,503,505,606,613,619,696,697 'propos':455 'provid':191,601,622 'question':309 're':662,670,683 're-focus':669,682 'real':28,103 'recent':278,651 'recommend':84,513,711 'remain':482 'request':107,140,576,582 'respond':156,167,172 'respons':133,690 'return':35,611 'ru':554 'rule':751 'run':93 'russian':152,158,556 'save':135,570,581,587,589 'say':586 'scan':67,238,254 'script':165 'section':341,502 'select':242,431,617 'sentenc':508,518,704,717 'session':3,9,15,34,43,47,50,58,85,100,123,194,213,399,411,457,477,498,511,624,641,666,693,709,714,785 'set':406 'skill':53,329 'skill-cowork-session-planner' 'skill-spec.md':325 'skip':369,413 'someth':777 'sourc':391 'source-kirkruglov' 'spec':330 'specif':761,769 'specifi':246 'st':48 'start':32,97,628 'state':206,220,388,403,476,510,515,706,713 'status':14,83,276,307,320,427,504,702 'step':182,216,230,252,396,415,447,488,489,533,547,578 'store':204 'structur':79,129 'task':73,105,287,319,383,426,439,462,484,643,649,723,728,731,763 'tasks.md':281,317 'technic':63 'text':127,197 'titl':681 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agents' 'topic-ai-skills' 'topic-awesome-list' 'topic-claude' 'topic-claude-ai' 'topic-claude-ai-skills' 'topic-claude-code' 'topic-claude-cowork' 'topic-claude-memory' 'topic-claude-skills' 'trigger':42,178,200 'unless':573 'use':30,180,208,249,407,550 'user':65,110,139,145,190,245,574,585,637 'vagu':766 'within':654 'without':354 'work':19,90,104,467,519,720,752 'workspac':118,241,265,610 'write':592 'written':599 'yes':203 'блокеры':733 'бриф':692 'заметки':741 'план':718 'проект':695 'работы':719 'сессии':708 'сессионный':691 'статус':701 'фокус':707","prices":[{"id":"32cca6a2-acdc-41ff-97f2-964ce798f0ce","listingId":"61cb3059-b881-4f61-932c-b964e08b7640","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"KirKruglov","category":"claude-skills-kit","install_from":"skills.sh"},"createdAt":"2026-05-18T13:21:13.947Z"}],"sources":[{"listingId":"61cb3059-b881-4f61-932c-b964e08b7640","source":"github","sourceId":"KirKruglov/claude-skills-kit/cowork-session-planner","sourceUrl":"https://github.com/KirKruglov/claude-skills-kit/tree/main/skills/cowork-session-planner","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:13.947Z","lastSeenAt":"2026-05-18T19:13:36.719Z"}],"details":{"listingId":"61cb3059-b881-4f61-932c-b964e08b7640","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"KirKruglov","slug":"cowork-session-planner","github":{"repo":"KirKruglov/claude-skills-kit","stars":7,"topics":["agent-skills","agentic-skills","ai","ai-agents","ai-skills","awesome-list","claude","claude-ai","claude-ai-skills","claude-code","claude-cowork","claude-memory","claude-skills","memory-management","productivity","productivity-tools","project-management"],"license":"mit","html_url":"https://github.com/KirKruglov/claude-skills-kit","pushed_at":"2026-05-18T04:27:46Z","description":"40+ curated agent skills for Claude Cowork and Claude.ai — ready-to-use tools for non-technical users: project management, productivity, and AI workflow automation","skill_md_sha":"0eed8cead101e205ffb31bf1b91186f6822c1053","skill_md_path":"skills/cowork-session-planner/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/KirKruglov/claude-skills-kit/tree/main/skills/cowork-session-planner"},"layout":"multi","source":"github","category":"claude-skills-kit","frontmatter":{"name":"cowork-session-planner","description":"Generate a pre-session brief for Cowork: current status, session goal, and prioritised work plan from local project files — before your first real message. Use when starting a session, returning after a break, or needing focus. Triggers: 'session brief', 'prepare my session', 'start my cowork session', 'бриф сессии', 'подготовь сессию', 'что делать в этой сессии'."},"skills_sh_url":"https://skills.sh/KirKruglov/claude-skills-kit/cowork-session-planner"},"updatedAt":"2026-05-18T19:13:36.719Z"}}