{"slug":"continual-learning-2","title":"continual-learning","summary":"Use when asked to mine prior chats on a scheduled or watcher tick and maintain project memory. Not for remote, credential, publish, deploy, or irreversible mutation.","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-30T19:50:07.611038Z","repo":{"url":"https://github.com/OutlineDriven/outline-driven-development","stars":54,"forks":10,"license":"Apache-2.0","updatedAt":"2026-09-28T03:16:21Z"},"bodyHtml":"<hr>\n<h2>name: continual-learning\ndescription: 'Use when asked to mine prior chats on a scheduled or watcher tick and maintain project memory. Not for remote, credential, publish, deploy, or irreversible mutation.'\ndisable-model-invocation: true</h2>\n<h1>Continual learning</h1>\n<h2>Contract</h2>\n<table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Bound contract</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Trigger</td>\n<td>A scheduled tick or watcher event fires to mine prior chats and maintain project memory.</td>\n</tr>\n<tr>\n<td>Authority</td>\n<td>Reversible local: writes only AGENTS.md and the continual-learning index; rollback is version control. No remote mutation.</td>\n</tr>\n<tr>\n<td>Side effect</td>\n<td>Updates AGENTS.md and the continual-learning index with deduplicated high-signal memory entries.</td>\n</tr>\n<tr>\n<td>Done</td>\n<td>Deduplicated high-signal memory updates are written, or an explicit no-update result is returned.</td>\n</tr>\n</tbody>\n</table>\n<h2>Inputs</h2>\n<ul>\n<li>Prior chat transcripts or session logs accessible in the local workspace (required).</li>\n<li>Existing AGENTS.md (required, read before mutation).</li>\n<li>The continual-learning index at <code>.continual-learning/index.json</code> (required, read before mutation). The index schema is a JSON object with an array of entries, each carrying <code>fact</code>, <code>source_session</code>, <code>date</code>, and <code>category</code> (one of <code>decision</code>, <code>convention</code>, <code>constraint</code>, <code>resolved-problem</code>, <code>project-knowledge</code>).</li>\n<li>Update scope or focus filter (optional).</li>\n</ul>\n<h2>Procedure</h2>\n<ol>\n<li>On a scheduled tick or watcher event, enumerate accessible prior chat transcripts and session logs in the local workspace. Done when: every accessible transcript and log is enumerated.</li>\n<li>Read the current AGENTS.md and <code>.continual-learning/index.json</code> to establish the existing memory baseline. Done when: the existing memory baseline is read and the current set of recorded facts is known.</li>\n<li>Extract candidate memory facts from the transcripts: decisions, conventions, constraints, resolved problems, and project-specific knowledge. Done when: candidate facts are extracted from every transcript.</li>\n<li>Deduplicate each candidate against the existing baseline; drop entries that duplicate, contradict without new evidence, or restate lower-signal information already recorded. Done when: every candidate is deduplicated against the baseline.</li>\n<li>Apply the high-signal gate. A candidate passes when it meets one of: records a decision that changed project direction, establishes a convention or constraint that governs future work, resolves a problem that recurred or is likely to recur, or captures project-specific knowledge not derivable from the codebase. Drop candidates that restate obvious or one-off information. Done when: every surviving candidate is classified and only high-signal entries remain.</li>\n<li>Capture the prior state of AGENTS.md and the index before writing, so the update can be rolled back. Apply the deduplicated high-signal updates to AGENTS.md and <code>.continual-learning/index.json</code> as local writes only. Done when: the high-signal updates are written and the prior state is captured.</li>\n<li>If no candidate survives deduplication and the gate, record an explicit no-update result. Done when: a no-update result is recorded or updates are applied.</li>\n</ol>\n<h2>Failure and recovery</h2>\n<ul>\n<li>Unreadable transcript: skip that source, continue with the rest, and report the skipped source in the result.</li>\n<li>Unreadable index: return a blocked result naming the missing or corrupt index; do not write updates without a baseline.</li>\n<li>Conflicting evidence between a candidate and an existing entry: do not overwrite; surface the conflict and leave the existing entry unchanged.</li>\n<li>Partial-result rule: write only the deduplicated subset that resolved cleanly; never write unverified or low-signal entries to meet a quota.</li>\n<li>Rollback: the prior state captured in step 6 restores AGENTS.md and the index to their pre-update content. Revert by replacing the current files with the captured prior state.</li>\n<li>Blocked result: if no transcripts are accessible or the index cannot be read, return a blocked result naming the missing input; do not fabricate memory.</li>\n</ul>\n<h2>Output</h2>\n<p>Statement of which deduplicated high-signal memory updates were applied to AGENTS.md and <code>.continual-learning/index.json</code>, or that no update was made and why no candidate survived the gate.</p>\n","files":[{"path":"agents/openai.yaml","sizeBytes":209,"isText":true},{"path":"SKILL.md","sizeBytes":4160,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-30T19:52:16.027811Z","sha256":"1A83AA0CD789BEA2F5A8EC7971D2AC7FAFE038C78CBA0CA61C2052A30104A1B4","sizeBytes":1977},"review":null,"source":{"repositoryUrl":"https://github.com/OutlineDriven/outline-driven-development","path":".devin/skills/continual-learning","license":"Apache-2.0","commit":"b0e8ce89a19fac880251dc3ea1babfeb4503a4fe","subtreeSha":"4873AC616A96A58EDC3DFCF7D3766BA4EE0CE811F4D31E1EFC96B527144C35F9","lastSyncedAt":"2026-09-30T19:49:48.917811Z"},"reviewedAt":"2026-09-30T19:56:38.114672Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/OutlineDriven/outline-driven-development/tree/main/.devin/skills/continual-learning"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install outlinedriven-outline-driven-development@llmmart"},{"target":"git","command":"git clone https://github.com/OutlineDriven/outline-driven-development.git"}]}