agentleFS
hidenobunagaihidenobunagai/astack/skills/reflect/SKILL.md

reflect

Skill1 starsChanged 9 days agoMITView on GitHub

Mine the current analysis session for durable learnings, such as a wrong join, a missed null check, a warehouse quirk, or a notebook step that should have been a function, using three parallel review agents, then route each learning to an edit on an existing skill. Use when the user says reflect or /reflect.

172 other projects use a version of this, 38 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use poteto-help, setup-pstack and 4 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.
  • ianclearySkill

    poteto-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 14 projects that use this

  • bnemaSkill

    setup-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 24 projects that use this

  • eryzerzSkill

    make-bot-ui

    Use when building a custom UI (page, dashboard, buttons) that should wake a Grok Bot over a webhook, when the user must provide a webhook sender key, or when exposing that UI on Tailscale.

    Also in 19 projects that use this

  • jaydubya818Skill

    automate-me

    Use when the user wants working preferences captured in a reusable mode skill.

    Also in 39 projects that use this

  • jaydubya818Skill

    poteto-mode

    Use when non-trivial work should follow the smallest rigorous Jstack workflow.

    Also in 27 projects that use this

  • +1 more from jaydubya818

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 163 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Look only in this workspace's slug directory.

    line 20
  2. Distinctive:

    Follow each approved row's routing:

    line 52

“Common” is measured: kept by at least 6 in 10 of the 163 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Reflect

Mine the current conversation for durable learnings, then route each one into a skill edit.

Invoke this when the user says "reflect" or "/reflect". Skip it when the conversation is trivial, off topic, or already covered by a skill the session followed correctly. One-off events are not learnings.

Panel note

This panel uses Claude models only, so vendor diversity is not available. Each reviewer has a distinct lens (judgment, tooling, divergent), and the models are mixed across sonnet and haiku. The lenses are what keep the findings from repeating.

1. Locate the active transcript

Claude Code stores each session as a JSONL file in ~/.claude/projects/<slug>/. The slug is the workspace path with its separators (and . and :) replaced by -. The exact form differs by OS, so list ~/.claude/projects/ and pick the folder whose name matches the workspace path. For /path/to/project the slug is -path-to-project.

Look only in this workspace's slug directory. Do not glob across ~/.claude/projects/*/. That reads private sessions from unrelated projects.

ls -t ~/.claude/projects/<slug>/*.jsonl ~/.claude/projects/<slug>/*/subagents/*.jsonl 2>/dev/null | head -10

For each candidate, check the first user message. Take the file whose opening user message matches this conversation's first request. If none matches, pass a short digest of the session instead.

2. Spawn three reviewers in parallel

Send one message with three Agent calls. Each uses subagent_type general-purpose, because the reviewers need MCP and CLI access to check the tickets, notebooks, and query logs the transcript names. The brief says "do not modify files".

LensModelEffortTemplate
Judgmentsonnetmediumreferences/judgment-reviewer.md
Toolinghaikulowreferences/tooling-reviewer.md
Divergenthaikumediumreferences/divergent-reviewer.md

Pass each template verbatim. Replace the transcript path or digest where the template marks it. The reviewers return their findings as their agent results. Wait for all three before step 3.

3. Synthesize

One Agent call with subagent_type general-purpose, model sonnet, effort medium. Pass references/synthesizer.md verbatim, with each reviewer's full output inlined where marked. It returns an Accepted, Rejected, and Backlog list. It may spot-check citations through MCP or by reading files. It must not write.

4. Structural enforcement check

Move any Accepted item that a lint rule, a validation script, a schema, or a runtime check would enforce more reliably into Backlog. A check that runs every time beats a sentence that someone must remember. See the principle-encode-lessons-in-structure skill.

5. Apply

Present the synthesizer's full Accepted, Rejected, and Backlog output. Wait for explicit approval before you apply any Accepted edit. The user picks the subset and may change a routing. Skill changes affect every future session, so do not apply them automatically.

Follow each approved row's routing:

  • Trivial edit to an existing skill (a bullet, a tightened sentence, a stale fact): the parent edits the file directly.
  • Substantive edit to an existing skill (a new section, a new table, more than about 10 lines): hand it to the authoring-a-skill playbook of the analyst-mode skill, and run its draft, test, and iterate loop.
  • tune description: <skill path> (the skill exists but did not trigger when it should have): hand it to the authoring-a-skill playbook and run its description-tuning loop.
  • new skill: <kebab-name>: hand the creation to the authoring-a-skill playbook. Do not invent the layout ad hoc.

Each skill's name must match its directory name. If the repo has a skill validator, run it on every touched skill before you call the edit done.

Backlog items go into the reply. This plugin has no tracker of its own. File them only where the user names one.

6. Summarize for the user

A short list with no preamble:

  • Edits applied: <skill path>, with one line on what changed.
  • New skills created: <skill path>, with one line each. This is rare.
  • Backlog: the item title and the mechanism it suggests, one line each.
  • Dropped: one line per rejected finding, with the reason from the synthesizer.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.