Learn-skills.dev content-memory
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/agilebydesign/agilebydesign-skills/content-memory" ~/.claude/skills/neversight-learn-skills-dev-content-memory && rm -rf "$T"
manifest:
data/skills-md/agilebydesign/agilebydesign-skills/content-memory/SKILL.mdsource content
Content Memory Pipeline
Convert source documents to markdown (in place) and chunk them for agent memory. Content lives in
memory/ or workspace/. Chunks go directly into memory/<domain>/<topic>/.
Architecture
- memory/ (project root): Content and chunks. No
orconverted/
subfolders—chunks go directly in topic folders. Markdown inchunked/
.<folder>/markdown/ - workspace/ (optional): Source content for sync_and_chunk; copied to memory.
- Convert to markdown/: PDF/DOCX → .md written in
for each folder.<folder>/markdown/ - Chunk: Reads from
orsource/<domain>/
, writes tomemory/<domain>/
.memory/<domain>/<topic>/
When to Activate
- "Add content to memory", "refresh memory", "ingest for agent"
- "Sync workspace to memory", "convert and chunk"
Step 1: Convert to Markdown
Convert non-.md files to markdown in a
markdown/ subfolder per folder:
python scripts/convert_to_markdown.py --source <path> [--memory <domain>] python scripts/convert_to_markdown.py --from source/CBE/domain_journeys_approach
- Writes
in.md
(e.g.<folder>/markdown/
→CB Domain/foo.pdf
)CB Domain/markdown/foo.md
files are skipped.md
Step 2: Chunk to Memory
Chunk markdown and write directly into memory topic folders:
python scripts/chunk_markdown.py --memory <domain> [--incremental]
- Reads from:
orsource/<domain>/**/*.md
.memory/<domain>/**/*.md - Writes to:
(nomemory/<domain>/<topic>/
subfolder)chunked/
: Only chunk new or modified files--incremental
Step 3: Sync Workspace (Convert + Copy + Chunk)
One command for workspace content:
python scripts/sync_and_chunk.py --workspace <topic> --memory <domain> [--incremental]
- Converts non-.md to
(in workspace)<folder>/markdown/ - Copies
→workspace/<topic>memory/<domain>/<topic> - Chunks to
memory/<domain>/<topic>/
Chunking Strategy
- Slide decks (
): One chunk per slide<!-- Slide number: N --> - Other docs (>200 lines): Split at
or#
boundaries## - Small files (<200 lines): Single chunk
Each chunk includes:
<!-- Source: path | file://url -->
Key Behaviors
- Content in memory – Put content in
or sync from workspace.memory/<domain>/<topic>/ - Convert to markdown/ – Markdown written in
for each folder.<folder>/markdown/ - Chunks in memory – No
subfolder; chunks go directly inchunked/
.memory/<domain>/<topic>/ - Incremental – Use
to skip unchanged files.--incremental
Project-Specific Transformers
| Location | Scope |
|---|---|
| Memory-specific |
| Workspace-level |
Each
.py exports EXTENSIONS and convert(path: Path) -> str.
Scripts
| Script | Purpose |
|---|---|
| Convert to markdown/ |
| Chunk to memory |
| Convert + copy + chunk (workspace) |
Run from workspace root. Set
CONTENT_MEMORY_ROOT if needed.
Troubleshooting
| Issue | Fix |
|---|---|
| No markdown | Run convert; then chunk. Or sync workspace to memory first. |
| Missing markitdown | |