DEV Community

DarkenAmber
DarkenAmber

Posted on

Toolkit that gives Claude persistent memory and custom behaviors - here's what I learned

Every time I started a new chat with Claude, I had to re-explain everything.
"Build this as a single HTML file, no React, no npm."
"Bias toward shipping, not planning."
"Remember I'm building for Android first."
Every. Single. Time.
So I built claude-kit - a collection of skills and MCP servers that make Claude work the way I think, without repeating myself.

What is claude-kit?
Two things in one repo:
Skills - Markdown files that change how Claude reasons for a specific task. Copy one file to your project and Claude immediately knows your rules.
MCP Servers - Python servers that give Claude new capabilities it didn't have before.
claude-kit/
├── skills/ - copy SKILL.md to your project. No install needed.
└── mcp/ - run server.py to give Claude new capabilities.
The tagline I kept coming back to: Skills fix the habits. MCP fixes the memory.

The skills
single-file-app
I've built 4 real products as single HTML files - no npm, no React, no backend:

DarkenAmber IT Tools - 17+ developer tools in 194KB
ZeroOffice - PDF, image, AI tools offline
PrivacyKit - photo privacy tools, no upload required

Without this skill, Claude would start every tool with npx create-react-app. With it:
bashcurl -o CLAUDE.md https://raw.githubusercontent.com/DarkenAmber/claude-kit/main/skills/single-file-app/SKILL.md
claude
Claude now defaults to vanilla JS, localStorage, offline-first. Every time.
ship-it
This one took the most iteration to get right.
Early versions were too aggressive - they told Claude to skip everything. The final version shows trade-offs instead of making decisions:
User saysClaude shows"We need tests before launching""Manual smoke test now or write tests after validation - your call""Let me refactor first""Refactor now (cleaner, delayed feedback) or ship and refactor if users return (faster validation, messier code)"
The key insight: a skill should be an advisor, not a saboteur.
The most important part of ship-it is the Do NOT use when section:

Payments and billing
Auth and licensing
Irreversible data operations

Without this, the skill would tell you to skip tests on your payment module. That's dangerous.
flutter-app
Android-first, offline-first, Google Drive as backend.
The most technically detailed skill. Went through 3 rounds of code review:

Fixed UTF-8 byte length bug for Drive Media (Cyrillic/non-ASCII content)
Updated to google_sign_in 7.x API (breaking changes from v6)
Added AZ/EN/RU localization patterns
Separated personal vs team Drive scopes (OAuth verification implications)

indie-builder
Build and launch micro-SaaS as a solo developer.
Key addition after review: two revenue models - subscription MRR and one-time/license. Most indie playbooks only cover subscription. Hardware-gated demo tiers (free tier that only works with your device) are a valid funnel, not a leak.
Distribution channels that actually matter for non-US markets: Telegram and Play Store ASO. Both missing from most Western indie guides.
telegram-bot
aiogram 3.x, webhook in production, FSM for conversations.
The review caught two real bugs:

asyncio.run(main()) + web.run_app() = RuntimeError in production. Fixed by making main() a regular function.
ADMIN_IDS=123,456 in .env causes JSONDecodeError. Fixed with field_validator.

The MCP servers
memory-kit
This is the one that surprised me most.
Local SQLite with FTS5 full-text search. No cloud, no registration. Token stays on your machine.
I installed it, wrote "remember that I prefer dark themes" and Claude called recall() and remember() automatically. Then in a new chat:

"Here's what I've got on your preferences: Brand & identity - DarkenAmber with amber accent #E8A020. Stack - Flutter with setState, ESP32/ESP8266, single-file HTML tools. Working style - concept-first, debug one bug at a time..."

It remembered everything across sessions. That's the feature.
Install:
bashcd mcp/memory-kit
pip install -r requirements.txt
Add to claude_desktop_config.json:
json{
"mcpServers": {
"claude-kit-memory": {
"command": "python",
"args": ["/path/to/claude-kit/mcp/memory-kit/server.py"]
}
}
}
skills-server
MCP server that loads skills dynamically from GitHub. Instead of copying SKILL.md manually, Claude can call get_skill("flutter-app") and load the rules directly into the conversation.
5 tools: list_skills, get_skill, search_skills, recommend_skills, export_skill
TTL cache + stampede protection so it doesn't hammer GitHub on every call.
telegram-mcp
Let Claude send messages, photos, and files to Telegram without leaving the conversation.
Bot token from environment variable - never passed through the model. HTML parse_mode with fallback to plain text. Multipart for local files.
github-mcp
Close the development loop. Read issues, create PRs, comment - without switching to the browser.
8 tools. Token from GITHUB_TOKEN env. Repo validation against path injection. Readable errors for 401/403/404.

What I learned building this

  1. Each skill took 3+ rounds of review to be actually useful The first version of ship-it was a list of rules. The final version is a decision framework. The difference is whether it helps you think or tries to think for you.
  2. The Do NOT use when section matters more than the rules Every skill has a section that explicitly says when NOT to apply it. Without this, the skill becomes dangerous in the wrong context.
  3. Code review catches real bugs flutter-app v1.0 had a bug that would silently corrupt files with Cyrillic content. telegram-bot v1.0 would crash in production. Independent review rounds caught both.
  4. MCP servers need tokens from environment, not parameters If the bot token is a function parameter, it passes through the LLM context on every call - going to Anthropic's servers. Token in env = stays local. This is a security design decision, not just a convenience.

Quick start
bash# Clone
git clone https://github.com/DarkenAmber/claude-kit.git

Install a skill (5 seconds)

curl -o CLAUDE.md https://raw.githubusercontent.com/DarkenAmber/claude-kit/main/skills/ship-it/SKILL.md

Start Claude Code

claude

Claude now ships instead of over-engineers

For MCP servers, see the README for full setup instructions with Windows and Mac paths.

What's next
More skills in progress: docs-writer, test-writer, content-engine.
More MCP servers planned based on what users actually need.
If you build something with claude-kit - I'd love to hear about it.

What rules do you give your AI coding assistant? Do you have a CLAUDE.md you swear by?

Top comments (0)