Skip to content

Knowledge sharing for AI-assisted engineering, as CTO Scorecard Q20 scores it, means turning lessons from accepted changes, failed agent runs, review findings, and incidents into versioned artifacts with an owner and a source. Top score needs those artifacts updated from real evidence and exercised in recurring sessions.

This page is for the tech lead who keeps the team’s agent setup working and the CTO who answers Q20. The situation: in June an engineer spent an afternoon finding out why the agent kept writing migrations with the wrong timestamp format, and posted the fix in a chat thread. In September a new engineer hits the same failure, the thread is gone, and the team wiki still recommends two commands the tools have since renamed.

What you get from a versioned knowledge loop

Section titled “What you get from a versioned knowledge loop”
  • The Q20 scoring table, and how it relates to the knowledge-sharing question on the Tech Lead Scorecard.
  • A routing table that sends each lesson to one home: an instruction file, a skill, a hook, a test, a runbook, or a decision record.
  • A lesson record template with owner, provenance, evidence, and a retirement trigger, ready to commit.
  • The per-tool traps that keep lessons in one person’s memory, and a headless probe that proves a fresh agent session finds the shared version.
  • A 30-minute recurring session agenda, three copy-paste prompts, the measures that show the loop works, and its failure modes.

How does CTO Scorecard Q20 score knowledge sharing?

Section titled “How does CTO Scorecard Q20 score knowledge sharing?”

The scorecard asks “How does the team share AI tooling know-how (skills, prompts, MCPs, tricks)?” and scores four answers.

PointsAnswerEvidence that earns it
0None, ad-hoc SlackNone.
1Slack or Discord channel, no archiveA channel people scroll back through.
2Internal doc or wiki with patternsA page of prompts and configurations, usually without owners or dates.
3Versioned patterns with owners and evidence, updated from reviews and incidents and exercised in recurring team sessionsThe knowledge index, lesson records linked to the failures that produced them, discovery-probe results, and the minutes of the last two sessions.

The step from 2 to 3 is the one that matters. A wiki records what somebody believed once. A versioned artifact with an owner, a source, and a test is something the team can check, change through review, and delete when a tool release makes it wrong.

The Tech Lead Scorecard asks the same question from the team side (“Do you run internal knowledge-sharing on AI workflows?”) and gives its top score to “Regular cadence + captured artifacts”. The loop on this page satisfies both.

Most knowledge rot starts with a lesson stored in the wrong place: a hard rule written as advice in a Markdown file, or a one-person preference copied into every tool’s instruction file. Route each lesson by what has to happen for it to take effect.

When the lesson is…Its home is…Canonical pageProof that it works
A repository fact every session needs (commands, protected paths, conventions)The shared instruction core, AGENTS.md or CLAUDE.mdShared agent rulesA fresh session quotes it correctly
A procedure for a recurring taskA skill (SKILL.md package)Shared skillsPositive and negative trigger fixtures
Something that must never happenA hook, permission rule, or CI gateShared hooks governanceA blocked-action test
A defect class that escaped reviewA test, property check, or lint ruleFailure taxonomyThe check fails on the defective commit
An operational response (rollback, credential rotation)A runbookMaintain loopA dry run by someone who did not write it
A choice between options (tool, model, workflow)A decision recordArchitecture decisionsBaseline, result, and a review date
A new idea nobody has testedThe learning stream: a demo or a session topicThis page, “Run a recurring AI knowledge-sharing session”Becomes one of the rows above, or is dropped

Two rules keep the table honest. First, prefer the earliest control that catches the problem: a lesson that can be a test should not be a sentence in AGENTS.md, because the model may ignore a sentence and CI cannot ignore a test. Second, each lesson has exactly one home; other files link to it instead of copying it.

A lesson record is the metadata that lets anyone decide in one minute whether a piece of knowledge still holds. Keep one per lesson in docs/agent-knowledge/, and list them in docs/agent-knowledge/INDEX.md so there is one place to search.

---
id: KN-014
title: Migrations must use UTC timestamps in the file name
owner: "@payments-lead"
status: active # draft | active | superseded | retired
home: AGENTS.md#migrations # the one canonical artifact this lesson lives in
source: incident INC-2291 (2026-06-12), PR #4410 review finding
evidence: tests/migrations/test_filename_format.py fails on commit 3f9c2e1
tools_checked: Claude Code 2.1.283, Codex CLI 0.157.1
last_verified: 2026-09-26
review_by: 2026-12-26
retire_when: the migration generator enforces UTC itself
---
## What happened
The agent generated migrations named with local time; two ran out of order in staging.
## What changed
Added the rule to AGENTS.md#migrations and a filename test that fails on local-time names.
## How we know it holds
The test runs in CI on every PR. The discovery probe asks a fresh session
for the migration naming rule and checks the answer quotes AGENTS.md.

Four fields do the work. source ties the lesson to a real failure, so nobody keeps a rule whose reason is lost. home enforces the single canonical location. evidence names the check that fails when the lesson is violated. retire_when states in advance what makes the lesson obsolete, which is what lets the team delete it without a debate.

Add a CODEOWNERS entry for docs/agent-knowledge/ and for each instruction and skill path, so every change to shared knowledge gets a review from its owner. For the dated tool facts that lessons depend on (versions, flags, defaults) and the CI check that fails on retired terms, reuse the setup in keeping a team current rather than building a second one.

Run the AI knowledge-sharing loop in five steps

Section titled “Run the AI knowledge-sharing loop in five steps”
  1. Capture the signal where it appears. Give the team one intake: a knowledge label on issues, or a short form that files one. Signals worth capturing are a repeated question, a failed or abandoned agent run, a review finding the agent repeats, an escaped defect, an onboarding block, and an experiment result. A signal is one line plus a link to the run, PR, or incident.

  2. Route it to one home within a week. The owner of the intake applies the routing table above, or closes the signal as “not durable” with a reason. Unrouted signals older than two weeks are the first item at the next session.

  3. Change the artifact through a pull request with evidence. The PR updates the home artifact and adds or updates the lesson record. It carries a reproducer or a failing check, and CI runs any skill fixtures or hook tests the change touches. The owner in CODEOWNERS approves.

  4. Prove discovery in a fresh session. Run the discovery probe (next section) in each approved tool. A lesson that a fresh agent session cannot find does not exist for the next engineer, whatever the wiki says.

  5. Review and retire on schedule. On or before review_by, the owner re-checks the evidence and either renews the date or sets status: retired and removes the text from its home. Superseded lessons point to their replacement for one release, then go.

Keep personal memory from becoming the team’s source

Section titled “Keep personal memory from becoming the team’s source”

Claude Code and Codex both keep some knowledge per person, and that is where team lessons quietly get stuck. The rule is the same in all three tools: personal memory is a draft, and anything the team needs moves into the repository through review.

Checked against Claude Code 2.1.283.

Claude Code reads CLAUDE.md files and can “accumulate learnings automatically with auto memory” (memory docs). Auto memory is machine-local: it lives under ~/.claude/projects/<project>/memory/ and is not shared across machines or through the repository, so a lesson it captured helps only the person who hit the failure. /memory lists the CLAUDE.md files, toggles auto memory, and opens its folder; review what auto memory learned and promote the team-relevant parts into the repository’s instruction file or a skill through a PR.

Claude Code reads AGENTS.md only when the project has no CLAUDE.md, and only from v2.1.277, which is on both release channels since stable reached v2.1.287 (checked 2026-10-12). If your shared core is AGENTS.md, keep a thin CLAUDE.md that points to it, as shared agent rules describes.

Prove a fresh agent session finds the lesson

Section titled “Prove a fresh agent session finds the lesson”

Reading the lesson record proves nothing about whether an agent will apply it. The discovery probe asks a fresh, read-only session a question the lesson answers, and checks the answer against the record. Run it from the repository root in a terminal, and keep the output as the evidence for step 4.

Terminal window
# Claude Code 2.1.283: plan mode does not edit files; the session is not saved to disk
# needs CLAUDE.md, or AGENTS.md (v2.1.277+)
claude -p --permission-mode plan --no-session-persistence \
"How must new database migration files be named in this repository? Quote the file and line that says so. If no instruction covers it, answer NOT FOUND." \
> probe-KN-014-claude.txt
# Codex CLI 0.157.1: read-only sandbox, no session files, final answer to a file
# run in a trusted checkout: untrusted projects don't load AGENTS.md (0.150.0+)
codex exec --sandbox read-only --ephemeral -o probe-KN-014-codex.txt \
"How must new database migration files be named in this repository? Quote the file and line that says so. If no instruction covers it, answer NOT FOUND."

A pass is an answer that states the rule and quotes the home named in the record, or the file it is imported from (a CLAUDE.md that points to AGENTS.md counts). NOT FOUND, a paraphrase from the code, or a quote from a stale wiki page is a fail, and the fix belongs to the owner. Run the probes for every lesson touched in a release, and for the whole index once a quarter.

Copy-paste prompts for knowledge maintenance

Section titled “Copy-paste prompts for knowledge maintenance”

Run these in the approved tool from the repository root. They work the same in Claude Code, Codex, and Cursor.

Replace KN-014 and the migration task with a lesson from your own index. The third prompt tests the path a person follows, which the headless probe does not.

Run a recurring AI knowledge-sharing session

Section titled “Run a recurring AI knowledge-sharing session”

The scorecard’s top answer requires that patterns are “exercised in recurring team sessions”. Run a 30-minute knowledge session every two weeks with a rotating facilitator, separate from any demo slot.

MinutesItemOutput
5Open signals older than one weekEach one routed or closed with a reason
10One lesson from the last two weeks, shown on the real failure: the run, the fix, the checkTeam agrees the home is right, or it moves
10One lesson due for review: rerun its probe and its evidence check liveRenewed, rewritten, or retired
5One new tool behaviour someone saw this fortnightA signal filed, or “nothing” recorded

Write the minutes into docs/agent-knowledge/sessions/ with the date and the artifacts changed. A session with no artifact change and no explicit “nothing” did not count. Skills training belongs in review-to-learn sessions; this session is about the knowledge base itself.

How do you verify knowledge sharing works without reading every page?

Section titled “How do you verify knowledge sharing works without reading every page?”

The tech lead should not reread the whole knowledge base each month. The loop is verified from what it produces.

  • Repeat failures fall. Tag agent failures by class using the failure taxonomy. A failure class that has a lesson record and still recurs means the lesson is in the wrong home or is not found.
  • Probes pass. The discovery probe results for every lesson touched in a release are attached to the release PR. The quarterly full run is kept with the session minutes.
  • Evidence checks run in CI. Every evidence field names a test, a fixture, or a hook test that CI runs; a record whose check has been deleted fails the audit prompt.
  • Nothing is overdue. A scheduled job lists records past review_by. The count at each session is a number the team can see go down.
  • Retirements happen. A knowledge base where nothing has been retired in a quarter is growing without being maintained.
  • A named owner signs off. The tech lead owns the index and accepts each quarter’s audit; the CTO’s Q20 evidence is the index, the last two sets of session minutes, and the latest probe results.

What breaks when teams share AI knowledge?

Section titled “What breaks when teams share AI knowledge?”

The tips archive. A wiki page of 60 prompts and copied configurations that nobody owns, half of it written for tool versions that are gone. Recovery: import only items that have a source and a current owner into lesson records, and archive the rest with a date. Items nobody claims within two weeks stay archived.

The same rule in five files. A lesson copied into CLAUDE.md, AGENTS.md, a Cursor rule, a skill, and a README drifts apart within a month, and the agent follows whichever it read last. Recovery: choose one home, replace the copies with links, and add the “more than one file” check from the audit prompt to the quarterly run. If you must keep per-tool files, generate them from one source (rules sync) instead of editing each copy.

Advice where a control belongs. “Never edit the generated client” as a sentence fails the first time the model ignores it. Recovery: move it to a permission rule, hook, or CI check, and keep the sentence only as the explanation.

Lessons live in personal memory. Auto memory or a private rules file fixed the problem for one engineer, and everyone else still hits it. Recovery: make “promote personal memory” a standing question in the session, and add the probe to developer onboarding so a new engineer surfaces the gap.

Stale vendor facts. A lesson says a flag or default that a release changed, and the agent follows it. Recovery: record tools_checked in every lesson, date-stamp tool facts in one file, and fail CI on retired terms as keeping a team current describes.

Sessions turn into demos. The meeting shows new features every fortnight and no artifact changes. Recovery: keep the agenda above, and record “nothing” explicitly when nothing changed so the pattern is visible.

The prerequisite for this loop is a shared instruction core and a skills setup that already work; the next step is feeding production evidence into it automatically.

For every other question on the scorecard, start from the CTO Scorecard answer key. For the tech lead’s version of this question, see the Tech Lead Scorecard answer key.

Frequently asked questions

How does CTO Scorecard Q20 define effective AI knowledge sharing?

Effective knowledge sharing turns lessons from accepted changes, failed agent runs, review findings, and incidents into versioned repository artifacts (AGENTS.md, skills, evals, or checks) with a named owner, a linked source, and a retirement date.

Why do chat channels of prompt tricks fail to score full points on Q20?

Ad-hoc chat tips drift out of date and are invisible to coding agents at runtime, whereas versioned repository artifacts are loaded automatically by agents and exercised in recurring team sessions.