From sdd-engineering
Captures session learnings into repository-local INSIGHTS.md files to build compounding project knowledge. Triggered at the end of any coding session lasting 30+ minutes, or whenever the user runs /engineering-insights. Discovers where INSIGHTS.md files live in the current repo (does not assume a fixed layout), extracts patterns, mistakes, decisions, and project-specific context from the session, and appends datestamped entries. Do not trigger for trivial single-file edits with no discoveries.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdd-engineering:engineering-insightsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Captures what you learned this session into the repository's `INSIGHTS.md` file(s) so the next
Captures what you learned this session into the repository's INSIGHTS.md file(s) so the next
session starts smarter. This skill makes no assumption about the repo's module layout — it
discovers where insights should go from the repository itself.
Find the target file(s) for the areas the session touched, in this order:
git ls-files '**/INSIGHTS.md' (or find . -name INSIGHTS.md -not -path '*/node_modules/*'). Prefer the one closest to the code you changed.CONTRIBUTING.md, ARCHITECTURE.md, or a
package README names where session notes go, follow that.INSIGHTS.md at the root of the top-level package or
directory that changed (e.g. next to that area's package.json / source root). If the change
spans several areas, update the insights file nearest each.If a session touched multiple areas, update each relevant file.
Capture Progress:
- [ ] Step 1: Identify which areas of the repo were touched this session
- [ ] Step 2: Reflect — extract raw learnings (see categories below)
- [ ] Step 3: Quality-check each entry (see standards below)
- [ ] Step 4: Locate/read the existing INSIGHTS.md for each area (if any)
- [ ] Step 5: Append new entries; never overwrite existing ones
- [ ] Step 6: Confirm entries are concrete, dated, and non-redundant
git diff --name-only HEAD 2>/dev/null || git status --short
Group the changed files by their top-level directory / package. Those groups are the "areas" you will capture insights for.
For each area, identify discoveries in one of these four categories:
Each entry must name a concrete file, function, or command — not a general principle.
| Bad (vague) | Good (specific) |
|---|---|
| "Be careful with async" | "jobs/queue.ts must await the insert before notify() — fire-and-forget drops rows under load" |
| "Migrations can be tricky" | "Migrations never auto-run on boot — run the migrate command first; the #1 first-run failure" |
Reject an entry if: it could apply to any project of this kind, lacks a file path or function name, or is already written down in the repo's docs.
cat <path>/INSIGHTS.md 2>/dev/null || echo "(file does not exist yet)"
Check for duplicates. If an existing entry covers the same point, add a dated correction note rather than a new entry.
NEVER use the Write tool on an existing INSIGHTS.md — that overwrites accumulated history.
Edit to insert the new entry under the correct section heading
(## Patterns, ## Mistakes, …), immediately below that heading.Write (only this case) with this template:# INSIGHTS.md — <Area Name>
Session learnings accumulated over time. Treat as high-confidence guidance.
Read before working in this area. Update at session end via /engineering-insights.
---
## Patterns
## Decisions
## Mistakes
## Context
## Open Questions
Each entry:
### YYYY-MM-DD — <one-line summary>
<Concrete observation. Include a file path or function name. One to three sentences.>
| Session type | Action |
|---|---|
| 30+ min session with discoveries | Always run |
| Trivial single-file fix, no surprises | Skip |
| Bug whose root cause was non-obvious | Always capture in Mistakes |
| Architecture decision made | Always capture in Decisions |
When an INSIGHTS.md exceeds ~50 entries, consolidate: merge related entries, remove outdated
workarounds for fixed bugs, and promote stable patterns into the repo's long-lived docs.
npx claudepluginhub vadimpoltoratskiy/dev-digest-ai-marketplace --plugin sdd-engineeringCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.