desk-journal — GitHub Copilot skill: journal memory
Keeps a desk journal across sessions by recording completed work, current state, and the next step. Use it when work needs to resume with its context intact.
npx skills add github/awesome-copilot --skill desk-journalWhat desk-journal does
desk-journal reads and appends a persistent desk journal at desks/<desk-name>/journal.md. At the end of a session, it records completed work, the current state, and the task to continue. At the start of another session, it reads the latest entry; it can also capture decisions and significant progress during work.
Each entry is a dated section with a short summary. The skill advises concrete notes, including failed paths, and keeps an entry to 3-5 lines. Larger context should go into a separate artifact on the bench.
When a desk closes, the journal records its overall summary, artifacts, and handoff details. A next step is required, because a later session otherwise has to reconstruct the work. That makes a vague closing note a poor handoff.
What it helps with
- preserve work context between sessions
- record the current task state
- leave a concrete next step
- document failed approaches and decisions
- write a desk closure handoff
Example prompts for the agent
- "Write a desk journal entry with completed work, current state, and the next step."
- "Read `desks/<desk-name>/journal.md` and pick up the current context."
- "Append our decision and the failed approach to the desk journal."
How to install desk-journal
1Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill desk-journal2GitHub CLI
gh skill install github/awesome-copilot desk-journal3Manually: put the files in place
.github/skills/desk-journal/SKILL.md1Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill desk-journal -a claude-code2Manually: put the files in place
~/.claude/skills/desk-journal/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/desk-journal/
Manually: put the files in place
.agents/skills/desk-journal/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/desk-journal/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
Platform CLI
gemini skills install https://github.com/github/awesome-copilot --path skills/desk-journalManually: put the files in place
.devin/skills/desk-journal/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set554
The whole set →Similar
Questions about desk-journal
How do I install desk-journal in GitHub Copilot?
Run npx skills add github/awesome-copilot --skill desk-journal. The skill file is placed at .github/skills/desk-journal/SKILL.md.
What does desk-journal do?
The skill maintains a desk journal that preserves context across sessions. It records completed work, current state, and the next action.
What should a desk-journal entry contain?
An entry includes a date, short summary, completed work, current state, and next step. It also encourages recording failed paths so a later session does not repeat them.
Source text
SKILL.md · MIT
--- name: desk-journal description: 'Write, append, or read desk journal entries. The journal is persistent memory — what survives session boundaries. A good entry has: what was done, current state, next step.' --- # Desk Journal Manage a desk's journal — the persistent memory that survives session boundaries. ## When to use - **End of session:** Write what was done, current state, next step - **Start of session:** Read the journal to pick up where you left off - **Mid-session checkpoint:** Note significant progress or decisions - **Desk wind-down:** Write a final summary when a desk is being closed ## How to write a journal entry Append to `desks/<desk-name>/journal.md`. Each entry is a section: ```markdown ## <date> — <short summary> - **Worked on:** <what was done this session> - **Current state:** <where things stand right now> - **Next step:** <what the next session should pick up> ``` ### Guidelines - **Be specific.** "Worked on security scanning" is useless to the next session. "Scanned repos A, B, C for CWE-502; found 3 findings in A, 0 in B and C; findings triaged to bench" — that's a trail. - **Include what didn't work.** Dead ends are valuable — they prevent the next session from walking the same path. - **Keep it short.** The journal is a trail marker, not a diary. 3-5 lines per entry. If you need more, the important context should go on the bench as a separate artifact. - **Always include next step.** The next session starts from zero. Without a next step, it has to re-derive everything. ## End-of-desk entry When a desk is being wound down (not just a session ending, but the desk itself closing): ```markdown ## <date> — Desk closed - **Summary:** <what this desk accomplished overall> - **Artifacts:** <what's on the bench from this desk> - **Handoff:** <anything another desk or the operator needs to know> ``` ## Reading the journal At session start, read the desk's journal to pick up context. The most recent entry is the most important — it has the current state and next step. Earlier entries provide history if needed. ## Principles - The journal is a cairn — stones left so the next traveler finds the way. Every entry is a stone. - Honesty over completeness. "I got stuck on X and don't know why" is more useful than silence. - The journal is for the next session, not for the current one. Write for someone who knows nothing about what you just did.
© github · MIT · github/awesome-copilot