reflect
Skill49 starsChanged 3 months agoMITView on GitHub
End-of-day distillation routine — reads recent runs + findings, decides what graduates / dismisses / stays open, writes a one-paragraph day summary. Routine-only.
We split this skill into the rules it gives an agent
9 rules. 0 are common, 7 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 153 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
After all the day's work is done.
- Distinctive: line 17
If you skipped a day, run it anyway — better than not at all
- Distinctive: line 21
Run in this order. Don't shortcut — the order is what makes the cycle work.
- Very specific: line 25
Call entity_list with type: 'finding' and a generous limit (50).
- Distinctive: line 42
Discipline: don't promote a finding the first time you see it.
- Distinctive: line 46
Call your context tools (search_memory, recall, etc.) to surface anything from today's work that wasn't already filed.
- Very specific: line 48
Use record_finding(body, category?, tags?) to file it.
- Distinctive: line 57
Write a single paragraph of 2-4 sentences covering:
- Distinctive: line 69
If the day was quiet:
“Common” is measured: kept by at least 6 in 10 of the 153 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Reflect
End-of-day consolidation. Distil what happened today into the right primitives so tomorrow starts informed.
Goanna's reflect cycle treats reflection as discipline, not output volume. Most days, the right answer is "things went normally — nothing graduates, nothing dismisses." Don't manufacture findings just to fill the page.
When to run
- Once per day, typically 22:00-23:00 local
- After all the day's work is done; before sleeping the agent
- If you skipped a day, run it anyway — better than not at all
Steps
Run in this order. Don't shortcut — the order is what makes the cycle work.
1. Survey the day
Call entity_list with type: 'finding' and a generous limit (50). Read each finding's title + body + status + recurrenceCount.
Mentally bucket findings by:
- My agent's findings (where
fields.agentNamematches my own instance) — these are MY craft - Other agents' findings (visible in the same user's store) — read for cross-pollination but don't promote those
2. For each of MY recent findings, decide
Walk through findings I created or that target me. For each:
| Status now | Decision logic | Action |
open, recurrenceCount = 0 | Has it been ≥7 days since createdAt with no recurrence? → Dismiss as one-off. Otherwise leave open. | dismiss_finding (with reason "No recurrence in 7 days, treating as one-off") OR leave |
open or recurred, recurrenceCount ≥ 1 | Pattern is real and repeating. Promote it. | promote_finding (refinedBody optional — distil if the original is verbose) |
promoted | Already a learning. Skip. | (none) |
dismissed | Already filed. Skip. | (none) |
Discipline: don't promote a finding the first time you see it. The whole point of the open → recurred → promoted lifecycle is to filter for repeatability. If you find yourself wanting to promote-on-first-sight, write a learning directly via the librarian-curate skill instead.
3. Look for unrecorded patterns from the day
Call your context tools (search_memory, recall, etc.) to surface anything from today's work that wasn't already filed. For each genuine new pattern:
- Use
record_finding(body, category?, tags?)to file it. Use specific bodies — "auth tokens with trailing whitespace fail validation silently" beats "auth bug". - Categories that work well:
auth,data,ux,perf,tooling,process,client,cost. - Don't file:
- "Things went normally" — not a finding.
- "Completed task X" — that's an agent_run, not a finding.
- General reflections — those are journal notes, not findings.
4. Compose a one-paragraph summary
Write a single paragraph of 2-4 sentences covering:
- What I did today (broad strokes)
- What graduated (titles of newly promoted learnings, if any)
- What dismissed (count, not list)
- What I'm watching tomorrow (the open thread, if any)
This becomes the routine's outputSummary via the SessionEnd hook. Keep it tight — the next reflect run will see this and the prior 4 summaries as context. Don't summarise the summary.
Example:
Worked through the connector OAuth refactor most of the day. One finding promoted to a learning (PKCE state cookies need explicit SameSite=None; recurred 3rd time). Two open findings dismissed as one-offs. Tomorrow: revisit the new approval queue UI feedback the user flagged.
If the day was quiet:
Quiet day. Held the cron, processed three inbox items, no novel patterns surfaced. Nothing to file.
That's a complete reflection. Short is fine.
Anti-patterns
- Generating tech-news summaries — reflection is about distilling YOUR work, not external content.
- Promoting on first sight — the lifecycle exists for a reason. Open findings ferment until they earn promotion.
- Filing "things went normally" as a finding — that's the absence of a finding, not a finding.
- Long preamble in the summary — assistant turns burn tokens; the next-fire run-tail block has limited budget.
- Cross-promoting other agents' findings — that's the librarian's job in
librarian-curate. Stay in your lane.
Output
By the time reflection is done:
- Recurring patterns from MY findings have been promoted to learnings (where applicable)
- One-off open findings older than 7 days have been dismissed with a reason
- Any unrecorded patterns from today's work have been filed via
record_finding - A one-paragraph summary exists as the run's outputSummary
Target: 5-10 minutes of work. Don't expand the cycle to fill more time.
Goanna lineage
This skill is adapted from goanna's goanna-reflect skill (~/Documents/goanna/skills/reflect/SKILL.md). Goanna's version writes to filesystem markdown; this version writes to the entities table via the record_finding / promote_finding / dismiss_finding tools. Same discipline, different transport.
Other versions162 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 162
- github/gh-aw★ 5.5ksame name
- bradygaster/squad★ 3.3ksame name
- backnotprop/pstack★ 3.3ksame name
- microsoft/Generative-AI-for-beginners-dotnet★ 3.2ksame name
- rilldata/rill★ 3ksame name
- microsoft/waza★ 1.5ksame name
- llama-farm/llamafarm★ 837same name
- haddock-development/claude-reflect-system★ 373same name
- egregore-labs/egregore★ 293same name
- akitaonrails/my-skills★ 283same name
152 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use poteto-help, make-bot-ui and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ianclearySkillpoteto-help
Guides users through pstack setup, /poteto-mode, and picking the skill, playbook, or principle for a task. Type /poteto-help with a question.
Also in 9 projects that use this
Xia-AtaraxiaSkillmake-bot-ui
Builds a small web page whose buttons wake an agent over a webhook: a local server keeps the sender key server-side and POSTs JSON to a webhook-triggered routine, and the page is exposed on the existing Tailscale node. Use for \"make a bot UI\", \"a dashboard with buttons that trigger the agent\", \"wake the bot from a page\", handing a webhook sender key to the server without pasting it in chat, or putting that UI on the tailnet. Not for general frontend work - use principle-frontend; not for tailnet health or reachability - use tailscale.
Also in 17 projects that use this
bnemaSkillsetup-pstack
Configure which Pi models pstack uses per role. Detects available provider/model specs and writes pstack's user configuration. Use for /setup-pstack, "configure pstack models", or changing pstack model choices.
Also in 22 projects that use this
Xia-AtaraxiaSkillbenchmark-checklist
Vets performance measurements for the limiter, tuning, physical limits, errors, repeatability, relevance, and proof that timed work happened. It applies to 'check this benchmark', 'report this speedup', measured regressions, and choosing a library or configuration from numbers. It reports spread and gaps before drawing a conclusion. Not for general testing policy or choosing test oracles - use principle-testing.
Also in 18 projects that use this
jaydubya818Skillprinciple-attack-the-premise
Apply when repeated fixes fail and a shared assumption may be wrong.
Also in 25 projects that use this
jaydubya818Skillprinciple-test-behavior-not-implementation
Apply when tests mirror internals instead of asserting observable outcomes.
Also in 25 projects that use this
- +4 more from jaydubya818
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-asks-tasksSkill
- caretakerSkill
- code-reviewSkill
- compare-optionsSkill
- create-reportSkill
- csv-analyseSkill
- document-qaSkill
- draft-emailSkill
- enrich-errorSkill
- extract-structured-dataSkill
- fact-checkSkill
- git-diff-summariserSkill
- librarian-curateSkill
- meeting-notesSkill
- morning-briefSkill
- plan-taskSkill
- remember-conversationSkill
- reverieSkill
- review-code-securitySkill
- review-email-toneSkill
- review-outputSkill
- review-summary-faithfulnessSkill
- rewrite-for-audienceSkill
- route-findingSkill
- routine-health-checkSkill
- save-research-docSkill
- score-importanceSkill
- summarise-urlSkill
- web-researchSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

