The more you run your AI agents, the less useful they get. Unless you do this.
An agent that can't remember what it found last week will keep finding it forever. This is how you close the loop.
What you’ll get
A
weekly-reporterthat only surfaces genuinely new accomplishments — and outputs “No new accomplishments this week” when there aren’t anyA
comm-coach-auditorthat tracks whether your communication flaws are actually improving, recurring, or corrected - instead of rediscovering the same issue every session.A first-run diagnosis mode that lets the comm-coach generate your
SKILL.mdfrom your own transcripts, so the agent tells you what to practice rather than you guessing.A reusable pattern for making any accumulating agent trustworthy over time
What you need
Both agents from the previous articles already set up and running:
weekly-reporterskill:~/.claude/skills/weekly-reporter/SKILL.md— from The last status report you’ll write by handcomm-coach-auditorcommand:~/.claude/commands/comm-coach-auditor.md— from How to command meetings better than 99% of tech managers
Two new Notion pages (the agents create these on first run if they don’t exist):
Accomplishments Log — the weekly-reporter’s exclusion filter
Communication Capabilities Journal — the comm-coach’s improvement diary (you may already have this if you’ve been running the auditor)
An annoying issue: agents without memory repeat themselves
By definition, agents without context have a significant flaw - they’re stateless. Every run starts from scratch with no knowledge of what was found last time.
For the weekly-reporter, this means the same accomplishment surfaces across consecutive runs - just worded differently. After I built the agent, it correctly reported in its first run:
“Shipped the core content asset for the weekly-reporter launch. Wrote and iterated a full Substack draft built around a personal management story — 2 hours reclaimed, how they were spent.”
Accurate and useful, so far so good 🙂
The following week, the same PR and the same Notion page were still the most recent artifacts in the window. So the agent surfaced them again as: “Completed and finalized the Substack article on status reporting automation.”
Uhhhh.
Same work, different sentence? Completely useless to anyone reading the report - and a trust issue, because I started to wonder what else is being recycled…
For the comm-coach-auditor, the problem is the different but equally frustrating. The agent identified a pattern in my communication: stating conclusions without anchoring them in what the listener already knows. It first surfaced this precisely:
“Setting the context (Client Infrastructure Review): ‘At current scale we can handle this migration in two phases without impact to availability.’ — the client’s actual concern was whether the first phase could land before their Q3 deployment freeze, not availability in general. No context was established for what constraint the recommendation was responding to.”
Again, very useful because of its specificity. It was actionable, so I worked on it.
Then the next session flagged the same pattern again as a fresh discovery. And the session after. The agent was rediscovering it from scratch each time, with no memory that it had already been named, worked on, and partially corrected.
Fortunately, the fix is the same in both cases: a persistent log the agent reads before it reasons, and writes to after it finishes.
The concept: closing the Feedback Loop
Three steps:
Dump all findings into a log — every accomplishment the weekly-reporter surfaces, every flaw the comm-coach flags
Read the log before reasoning — use it as an exclusion filter (weekly-reporter) or a progress tracker (comm-coach)
Output only the increment — what is genuinely new, what has been corrected, what has regressed
For the weekly-reporter, “new” means: not already in the Accomplishments Log. For the comm-coach, “new” means: a flaw not previously flagged, or a regression of something marked corrected.
This makes both agents dramatically more useful to read. You don’t have to filter the noise anymore - you can actually act on pure signal.
The modified weekly-reporter
Two additions to the existing skill file: a LOG config variable pointing at a Notion page, and two new steps - one that reads the log before compilation, one that updates it after.
## Additional workflow steps (insert into existing weekly-reporter)
## Configuration
[...]
<!-- ADD THIS -->
ACCOMPLISHMENTS_LOG: Accomplishments Log # exact Notion page title
<!--
FIRST-RUN INITIALIZATION
On first installation, run the agent repeatedly with increasing LOOKBACK_DAYS
(7, 14, 21, 28) until it outputs "No new accomplishments from the last week."
This builds the exclusion filter from your backlog so future runs only surface
genuinely new work.
-->
## Workflow
[...]
<!-- ADD THIS -->
[**Prerequisite**] Load the Accomplishments Log:
- Search Notion for a page titled ACCOMPLISHMENTS_LOG.
- If it does not exist, create it — this is the first run.
- Read all existing entries. Each entry is a previously reported accomplishment.
- Any item in the log is EXCLUDED from this run — even if it appears in the
source data. Do not include it. Do not rephrase it.
<!-- ADD THIS -->
5. Update the Accomplishments Log:
- Append each new accomplishment from this run to the log page in Notion.
- Format: [YYYY-MM-DD] — [accomplishment, one sentence]
The modified comm-coach-auditor
The comm-coach already has a Communication Capabilities Journal. The modification extends it: the agent now reads the journal before scoring, tracks first-flag and last-occurrence dates, and reports corrections when a flaw has been absent for two consecutive sessions.
## Additional workflow steps (insert into existing comm-coach-auditor)
2b. Load the Communication Capabilities Journal before scoring:
- Fetch the journal page from Notion.
- Extract all previously flagged weak points with:
- first_flagged: date the pattern was first identified
- last_occurrence: most recent session it appeared
- status: active | corrected | regression
- This list is the context for step 5 — use it to classify every finding.
5b. Classify each finding before logging:
NEW: this pattern has not appeared in the journal before.
Log it with today as first_flagged. Status: active.
RECURRING: this pattern appeared in the journal and has occurred again.
Update last_occurrence. Increment recurrence count.
Do NOT present it as a new discovery.
CORRECTED: this pattern appeared in the journal but has NOT occurred in any
transcript reviewed in the last two sessions. Output:
"You have corrected [flaw name]. Last occurrence: [date].
Monitoring for regression."
Update status to: corrected.
REGRESSION: a corrected pattern has reappeared. Flag explicitly as a
regression — not a new discovery. Update status to: regression.
<!--
DIAGNOSIS MODE — FIRST INSTALLATION
If no SKILL.md exists at SKILLS_FILE, run in diagnosis mode:
1. Review the last 5 available transcripts without a skills file.
2. Identify the top 3 recurring communication patterns across them.
3. Draft a SKILL.md based on those findings and save it to SKILLS_FILE.
4. Ask the user to review and confirm before the next scored run.
This lets the agent generate your SKILL.md from your own communication data
rather than requiring you to write it cold from scratch.
-->
On the data source
The log files live wherever your agents already read from. If you’re on Notion, the Accomplishments Log and the Communication Capabilities Journal are just Notion pages - the agents create them on first run if they don’t exist.
If you’re on Google Drive, replace the Notion fetch and update steps with read_file_content and create_file against a Google Doc. The logic is identical; only the storage layer changes. The same applies to Microsoft 365 via SharePoint - swap the Notion MCP calls for Microsoft Graph, and the pattern transfers directly.
This is the third piece in the series. The first article gave you the weekly-reporter. The second gave you the comm-coach. This one makes both of them trustworthy enough that you stop second-guessing the output — and start spending the attention you saved on the work that actually matters.
If you run into issues setting up this workflow in your workspace, shoot me an email or DM me. I’ll help you get it up and running.



