Memory
SkillDocs & knowledgePersistent per-project memory for KMP Starter Template apps. Use when starting work on a project (read memory first), when learning the project structure, or after making significant changes (write/update memory).
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Memory skill
What this skill tells your AI
The instructions your AI receives, as published by devatrii/kmp-starter-template in .agents/skills/kmp-starter/memory/SKILL.md and read by ahel’s review.
Keep a lightweight, persistent memory of each project so future sessions can resume without re-exploring everything.
Storage location
Store memory inside the skill directory, keyed by project:
{skill}/.skill-storage/{project}/
memory.md # REQUIRED — core memory (see below)
structure.md # optional — module / feature / screen layout
decisions.md # optional — key decisions made + why
progress.md # optional — current status, blockers, next steps
{skill}= the directory containing thisSKILL.md.{project}= a stable, filesystem-safe slug for the project (lowercase, hyphens). Derive from the app/package name (e.g.com.example.myapp→myapp, or the app namenotes-app). Use the same slug every session for the same project.
Generate structure.md automatically
Use the bundled scan-project.py to produce structure.md (module tree, feature slices, nav routes, Koin wiring, versions):
python3 scan-project.py --root /path/to/project --project my-app
It writes {skill}/.skill-storage/{project}/structure.md directly. Run it at the start of a session on an unfamiliar project, then read the file instead of re-walking the whole tree.
When to read
At the start of any session on a project:
- Compute the
{project}slug. - If
{skill}/.skill-storage/{project}/memory.mdexists, read it before exploring code. - Read
structure.md/decisions.md/progress.mdonly when relevant to the task.
If memory does not exist, create it after "Phase 1 — Understand the project".
What to store in memory.md
Keep it concise and factual. Use this template:
# Project Memory — {App Name}
## What it is
[One or two sentences describing the app and its purpose.]
## Goal
[What the app is trying to achieve / deliver.]
## Target audience
[Who it is for.]
## Special requirements
- [Any non-default constraints, integrations, backend, privacy, platforms, languages.]
## Key facts
- Package: `{your-package}`
- Features enabled: [database / purchases / analytics / remote config / notifications / locale ...]
- Min SDK / iOS target: ...
## Current state
[What is built, what is in progress, known gaps.]
Add/update sections only as needed. Do not dump entire file trees; summarize.
What to store in structure.md
A high-level map of the code you actually depend on:
- Module layout (
settings.gradle.ktsincludes, notablefeatures/*). - Which screens exist and their route classes (e.g.
AppScreens.Home). - Which feature slices exist and where (data / domain / presentation).
- Any custom infrastructure that was added (not part of Starter).
What to store in decisions.md
One line per non-obvious decision: what was chosen and why (e.g. "used StarterFileManager cache instead of Downloads because files are temporary", "did not add a Logic for X because it's a one-line repository call").
When to write / update
Write or update memory when:
- A new feature, screen, or module is added/removed.
- A significant architectural decision is made.
- Project metadata changes (package, enabled features).
- The task ends with unfinished work (record it in
progress.md).
Keep updates small and additive. Prefer editing an existing file over creating many files.
Rules
- Never store secrets, API keys, or tokens in memory files.
- Keep
{project}slug stable across sessions. - Memory is a convenience, not a source of truth — always verify against the actual codebase when a decision matters.
Signals
- GitHub stars
- 162
- Forks
- 28
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
kmp-starter-memory- Source
- github.com/devatrii/kmp-starter-template