Agent skill

Custom Mode Creator for claude-mem

by thedotmack in thedotmack/claude-mem

Walks you through creating, installing and verifying a custom claude-mem mode, including note types, tags and optional Telegram alerts for chosen memories.

Apache-2.0Auto-check passedAgent Workflows

Install Custom Mode Creator for claude-mem

skills CLI
$ npx skills add thedotmack/claude-mem --skill mode-creator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install thedotmack/claude-mem mode-creator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugin/skills/mode-creator .claude/skills/mode-creator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mode-creator
GitHub stars
98k
Token cost
~2.4k tokens
SKILL.md length
1,247 words
Files
6 (incl. scripts, references)
Skills in repo
26
Repo updated
First seen
Licence
Apache-2.0

At a glance

Walks you through creating, installing and verifying a custom claude-mem mode, including note types, tags and optional Telegram alerts for chosen memories.

  • Works in 8 steps: Open with the purpose → Discover what is worth remembering → Propose the mode → …
  • Customizing what claude-mem remembers for your kind of work
  • SKILL.md covers Ground rules, 1. Open with the purpose, 2. Discover what is worth… and 3. Propose the mode, plus 5 more sections
  • Runs JavaScript scripts from its folder; calls node and npx

What it does

The skill interviews you about what you work on, then proposes a small taxonomy: observation types, which are mutually exclusive kinds of notes, plus concept tags that can be reused across them. It waits for your approval before installing anything. It opens with the purpose, using examples such as a law student noting rules and exam traps or an architect capturing design decisions, and asks about your work before asking for a mode name or any JSON fields. It inspects the existing bundled and user modes first and may remix a close match.

Custom files go into the modes folder of the claude-mem data directory, never into the plugin cache or a bundled mode. The skill can set up Telegram alerts for particular memories without ever exposing the bot token in chat, arguments or logs, merges new triggers with existing ones and keeps timestamped backups of settings. It then restarts the worker and checks that the active mode appears in startup context. Existing observations keep their old types, and the new mode applies to future ones.

Helper scripts install-mode.mjs and configure-telegram.mjs handle the writes, and an evals file and reference notes on mode authoring and Telegram come with it. It works with a local worker runtime only. With a server runtime it explains the limit and stops before changing anything.

When your agent uses it

  • Customizing what claude-mem remembers for your kind of work
  • Adding domain-specific observation types or tags
  • Sending Telegram notifications for particular kinds of memory
  • Checking that a newly installed mode is active

Example prompts

  • “I am a paralegal. Set up a claude-mem mode that tracks rulings, deadlines and conflicting precedents.”
  • “Create a variant of the code mode that also tags performance and security observations.”
  • “Send me a Telegram alert whenever claude-mem records a production incident.”

Requirements

  • A local claude-mem worker installation
  • Node.js 20 or newer
  • A tool for asking you questions during the interview
  • Network access and a Telegram account for alerts
  • Compatibility (from SKILL.md): Requires a local claude-mem worker installation, an interactive question tool, filesystem access, and Node.js 20+. Telegram setup requires network access and a Telegram account.

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Open with the purpose
  2. Discover what is worth remembering
  3. Propose the mode
  4. Ask about Telegram alerts
  5. Draft, validate, and install
  6. Connect Telegram when needed
  7. Restart and prove the result
  8. Hand off clearly

What it can do on your machine

Read from SKILL.md and the folder at commit 71ddd11. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires a local claude-mem worker installation, an interactive question tool, filesystem access, and Node.js 20+. Telegram setup requires network access and a Telegram account.

    From compatibility in the SKILL.md frontmatter.

Context cost

Custom Mode Creator for claude-mem loads about 2.4k tokens when it runs, and up to ~5.3k if it reads all its reference files. Until then it costs about 122 tokens; SKILL.md has 1,247 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~122
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from thedotmack/claude-mem at commit 71ddd11, republished under its Apache-2.0 licence (© thedotmack). 1,247 words, ~2,441 tokens.

Download SKILL.mdSave it as .claude/skills/mode-creator/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
mode-creator
description
Interactively create, install, activate, and verify custom claude-mem modes, including domain-specific observation types, concept tags, optional Telegram alerts, bot setup, worker restart, and startup-context verification. Use this whenever someone asks to customize what claude-mem remembers, create or change a mode, track domain-specific notes, add observation types or tags, or send Telegram notifications for particular memories—even if they do not use the word "mode."
compatibility
Requires a local claude-mem worker installation, an interactive question tool, filesystem access, and Node.js 20+. Telegram setup requires network access and a Telegram account.

Mode Creator

Create a useful note-taking system, not merely a valid JSON file. Interview the user, propose a small taxonomy, obtain approval, install it durably, configure optional alerts, restart the worker, and prove the active mode appears in startup context.

Ground rules

  • Use the available interactive question tool (AskUserQuestion, request_user_input, or equivalent) for the interview. Ask in small batches and wait for each response.
  • Explain observation types as mutually exclusive kinds of notes and concepts as reusable tags. Avoid jargon unless the user uses it first.
  • Inspect existing bundled and user modes before inventing a new one. Reuse or remix a close match when that serves the user better.
  • Do not edit a plugin cache or bundled mode. Install custom files under the resolved claude-mem data directory's modes/ folder.
  • Do not expose a Telegram token in chat, command arguments, logs, or tool output. Treat it like a password.
  • Preserve unrelated settings and existing Telegram triggers. The helpers make timestamped backups and merge requested triggers.
  • Custom modes are supported by the local worker runtime. If CLAUDE_MEM_RUNTIME is server, explain that this workflow cannot safely install a per-user mode into the shared server and stop before mutation.
  • Existing observations keep their original types. The new mode applies to future observation generation.

1. Open with the purpose

Begin with this message inside the first interactive question:

Custom modes let you take notes for whatever you're working on. If you're a law student, you may want to write down every time a case establishes a rule, a professor flags an exam trap, or doctrines conflict. If you're an architect, you may want to capture every design decision, code constraint, client preference, or site discovery. What are you working on?

Do not start by asking for a mode name or JSON fields. Learn the work first.

If the answer is code-related, say:

Code mode already works well for software work. A custom variant may work better if it also tracks [2–4 specific kinds of notes inferred from their work] and tags [2–4 useful cross-cutting themes]. Would you like to keep standard code mode or customize it?

Use concrete suggestions. For an ML platform engineer, for example, suggest experiment outcomes, data-contract changes, production incidents, model decisions, cost findings, and reproducibility risks—not generic “custom notes.” If the user chooses standard code mode, do not create a redundant file; continue to the optional notification and verification steps.

2. Discover what is worth remembering

Use follow-up questions to obtain:

  1. Three examples of moments or findings they would want available next week.
  2. Routine activity that should be skipped.
  3. The nouns and decisions they search for later: people, cases, materials, clients, constraints, experiments, incidents, and so on.
  4. Anything sensitive that should never be recorded or sent to Telegram.
  5. Whether notes should be selective or detailed.

Infer answers already present in the conversation instead of asking twice. When the user gives a broad answer, propose examples and let them select or edit them.

3. Propose the mode

Read references/mode-authoring.md before drafting.

Propose:

  • A clear mode name and lowercase ID.
  • Usually 4–8 observation types. Each observed item gets exactly one type.
  • Usually 4–8 concept tags. An item may get several concepts.
  • One-sentence recording and skipping policies.
  • Two realistic notes the mode would record and two it would skip.

Present the proposal in plain language and use the interactive question tool for approval. Let the user rename, add, remove, or reword categories. Do not write or install until they approve the taxonomy and privacy boundary.

Prefer an inherited ID such as code--architecture-practice so the mode reuses claude-mem's stable output protocol while replacing the domain taxonomy and behavioral prompts. The code parent is an implementation base; the override must remove code-specific semantics from the prompts. Use a standalone mode only when inheritance is genuinely unsuitable.

4. Ask about Telegram alerts

After the taxonomy is approved, ask:

Would you like Telegram notifications when claude-mem records any particular types or tags? Alerts include the observation type, title, subtitle, project, and observation ID, so avoid selecting categories that may expose sensitive material.

If yes:

  • Let the user select exact observation types and/or concept tags from the approved mode.
  • Explain that matching is OR: after alerts are explicitly enabled, any selected type or any selected concept sends an alert. Selecting triggers alone does not enable delivery: per-observation alerts default to off. With the user's consent, set CLAUDE_MEM_TELEGRAM_OBSERVATION_ALERTS_ENABLED to "true" in the resolved data directory's settings.json after running the installer or credential helper.
  • Ask whether they already have a Telegram bot connected to claude-mem.
  • Read references/telegram.md, then guide new users through BotFather and the secure setup helper.

If no, leave every Telegram setting unchanged.

Show full SKILL.md (468 more words)Show less

5. Draft, validate, and install

Resolve the absolute directory containing this SKILL.md; all helper paths are relative to that directory.

Write the approved mode to a temporary JSON file. Use the exact inherited override shape in the authoring reference. Then validate without mutating anything:

bash
node <skill-directory>/scripts/install-mode.mjs \
  --mode <temporary-mode.json> \
  --mode-id <parent--custom-id> \
  --dry-run

Fix every validation error before installation. Then install and activate it:

bash
node <skill-directory>/scripts/install-mode.mjs \
  --mode <temporary-mode.json> \
  --mode-id <parent--custom-id> \
  --telegram-types <comma-separated-approved-types> \
  --telegram-concepts <comma-separated-approved-concepts>

Omit both Telegram flags when alerts were declined. The installer:

  • Merges the override with its parent and validates the complete mode.
  • Installs the source override under <data-dir>/modes/.
  • Sets CLAUDE_MEM_MODE in settings.json.
  • Merges approved alert triggers without deleting existing triggers.
  • Writes atomically and reports any backup paths.

Review its JSON result. Do not claim success if ok is not true.

6. Connect Telegram when needed

If alerts were requested and both bot token and chat ID are already present, ask permission to reuse them and send a test. If credentials are missing, explain the BotFather steps from the Telegram reference.

Run the credential helper only after explicit consent:

bash
node <skill-directory>/scripts/configure-telegram.mjs \
  --types <comma-separated-approved-types> \
  --concepts <comma-separated-approved-concepts>

The helper accepts the token through hidden terminal input, validates it with getMe, discovers or asks for the chat ID, sends a test message, and stores the settings with owner-only permissions. Never pass the token as an argument.

If the agent environment cannot give the user control of an interactive terminal, show the exact helper command and pause for the user to run it locally. This is the only acceptable manual boundary; do not ask them to paste the token into chat as a workaround. After they confirm, inspect only whether the credential fields are present—never print their values.

7. Restart and prove the result

Read the configured runtime before restarting. For a worker runtime, use the verified CLI restart path:

bash
npx claude-mem restart
npx claude-mem status

If the CLI shim is unavailable, run the installed plugin's scripts/worker-service.cjs restart with Bun. Do not use a bare restart HTTP request when the verified CLI path is available.

Verify all of the following:

  1. Restart reports a new healthy worker and exits successfully.
  2. The installed file exists under the resolved data directory.
  3. settings.json names the intended CLAUDE_MEM_MODE without displaying secrets.
  4. Request full startup context with the session_start_context MCP tool when available. Otherwise call /api/context/inject?project=mode-creator-verification&full=true on the configured local worker.
  5. Startup context contains Mode: <mode name> (<mode id>).
  6. If Telegram was configured, the test message arrived.

If the worker falls back to code, inspect the worker log for a mode validation or lookup error, repair the mode, and repeat the restart. Do not describe a fallback as successful activation.

8. Hand off clearly

Conclude with:

  • Active mode name and ID.
  • Installed path.
  • Observation types and concepts.
  • Telegram trigger types/concepts, or “unchanged.”
  • Restart and startup-context verification result.
  • Backup paths for rollback.
  • One short example of what the new mode will now remember.

Never include the Telegram bot token in the handoff.

© thedotmack, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in plugin/skills/mode-creator of thedotmack/claude-mem.

  • SKILL.md
  • evals/evals.json
  • references/mode-authoring.md
  • references/telegram.md
  • scripts/configure-telegram.mjs
  • scripts/install-mode.mjs

Open the folder on GitHubat commit 71ddd11

Compare with similar skills

Custom Mode Creator for claude-mem next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Custom Mode Creator for claude-mem compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Custom Mode Creator for claude-mem this skillthedotmack/claude-mem98k—~2.4kAutomated safety check: PassApache-2.0
Chat SDKdatabuddy-analytics/Databuddy1.2k—~2.6kAutomated safety check: PassAGPL-3.0
Watchmen Setupfirstbatchxyz/watchmen296—~1.1kAutomated safety check: NotesMIT
Test Ocas Openclawpwrdrvr/openclaw-codex-app-server265—~4kAutomated safety check: PassMIT
OmniRoute Plugins, Skills and Memory CLIdiegosouzapw/OmniRoute74k—~1kAutomated safety check: PassMIT
Agentmemory Capture Hooksrohitg00/agentmemory29k—~444Automated safety check: PassApache-2.0

Similar skills

  • Chat SDK

    databuddy-analytics/Databuddy

    Build multi-platform chat bots with Chat SDK (chat npm package).

    1.2k GitHub stars~2.6k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Watchmen Setup

    firstbatchxyz/watchmen

    Walks through installing watchmen, running its init wizard, wiring the plugin into Codex or Claude Code and checking the result with doctor.

    296 GitHub stars~1.1k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check: notes
  • Test Ocas Openclaw

    pwrdrvr/openclaw-codex-app-server

    Regression test the OpenClaw Codex App Server plugin against a live local OpenClaw instance in Telegram or Discord.

    265 GitHub stars~4k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Command reference for the omniroute CLI's memory, plugin, marketplace and skills commands: search and manage stored memory, install and scaffold plugins, and find skill packages.

    74k GitHub stars~1k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agentmemory Capture Hooks

    rohitg00/agentmemory

    Describes the lifecycle hooks in the agentmemory Claude Code plugin that record observations automatically, and what to check when observations go missing.

    29k GitHub stars~444 tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Installs mnemon in the agent container so agents recall relevant past context before replying and store new insights after every turn.

    31k GitHub stars~1.7k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed

More from thedotmack/claude-mem

All 26 skills in this repo
  • Claude-Mem Cloud Sync

    thedotmack/claude-mem

    Checks claude-mem cloud sync status and guides you through connecting a cmem.ai Pro account without the sync token ever passing through the chat.

    98k GitHub starsUsed in 1 repo~1k tokens
    Auto-check: notes
  • Claude-Mem Search

    thedotmack/claude-mem

    Searches the user's persistent cross-session memory for timestamped observations synthesized from past agent sessions on cmem.ai.

    98k GitHub starsUsed in 1 repo~511 tokens
    Auto-check passed
  • Claude-Mem Cowork Pairing

    thedotmack/claude-mem

    Pairs the claude-mem Cowork plugin with a cmem.ai account by writing the sync token, user id and SyncHub URL into the plugin config without exposing the secret.

    98k GitHub starsUsed in 1 repo~659 tokens
    Auto-check passed
  • Project Timeline Report

    thedotmack/claude-mem

    Writes a narrative Journey Into report on a project's whole development history, built from the timeline that claude-mem has recorded.

    98k GitHub starsUsed in 1 repo~3.1k tokens
    Auto-check passed
  • Pull Request Babysitter

    thedotmack/claude-mem

    Keeps watching a pull request, fixing real review and CI problems and resolving stale threads, until it is clean and ready to merge.

    98k GitHub stars~1.1k tokensUpdated 2 days ago
    Auto-check passed
  • Claude-Mem Install for Grok Bot

    thedotmack/claude-mem

    Use this when setting up claude-mem on Grok Bot: local worker plus CMEM Pro observer (default), optional host-login observer, or remote cmem.ai. No Cursor…

    98k GitHub stars~440 tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Custom Mode Creator for claude-mem

What does Custom Mode Creator for claude-mem do?

Walks you through creating, installing and verifying a custom claude-mem mode, including note types, tags and optional Telegram alerts for chosen memories. The skill interviews you about what you work on, then proposes a small taxonomy: observation types, which are mutually exclusive kinds of notes, plus concept tags that can be reused across them. It waits for your approval before installing anything.

When should I use Custom Mode Creator for claude-mem?

Custom Mode Creator for claude-mem fits situations like: customizing what claude-mem remembers for your kind of work; adding domain-specific observation types or tags; sending Telegram notifications for particular kinds of memory; checking that a newly installed mode is active.

How do I install Custom Mode Creator for claude-mem in Claude Code?

Run `npx skills add thedotmack/claude-mem --skill mode-creator -a claude-code`. Or copy the skill folder (plugin/skills/mode-creator in thedotmack/claude-mem) into .claude/skills/mode-creator in your project. Claude Code loads it when a task matches its description.

How do I install Custom Mode Creator for claude-mem in Codex?

Run `npx skills add thedotmack/claude-mem --skill mode-creator -a codex`. Or copy the skill folder (plugin/skills/mode-creator in thedotmack/claude-mem) into .agents/skills/mode-creator in your project. Codex loads it when a task matches its description.

Can I use Custom Mode Creator for claude-mem in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add thedotmack/claude-mem --skill mode-creator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mode-creator, .gemini/skills/mode-creator, .github/skills/mode-creator and .opencode/skills/mode-creator in your project.

What does Custom Mode Creator for claude-mem need to run?

Going by SKILL.md and its folder, Custom Mode Creator for claude-mem needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node and npx). Our summary lists: A local claude-mem worker installation; Node.js 20 or newer; A tool for asking you questions during the interview; Network access and a Telegram account for alerts. Compatibility (from SKILL.md): Requires a local claude-mem worker installation, an interactive question tool, filesystem access, and Node.js 20+. Telegram setup requires network access and a Telegram account..

Does Custom Mode Creator for claude-mem access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Custom Mode Creator for claude-mem safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Custom Mode Creator for claude-mem use?

Custom Mode Creator for claude-mem is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Custom Mode Creator for claude-mem use?

About 2.4k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.8k tokens, read only when the agent opens those files.

What are the alternatives to Custom Mode Creator for claude-mem?

Skills that share tags, products or a category with Custom Mode Creator for claude-mem: Chat SDK (databuddy-analytics/Databuddy, 1.2k stars), Watchmen Setup (firstbatchxyz/watchmen, 296 stars), Test Ocas Openclaw (pwrdrvr/openclaw-codex-app-server, 265 stars) and OmniRoute Plugins, Skills and Memory CLI (diegosouzapw/OmniRoute, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Custom Mode Creator for claude-mem?

thedotmack (a GitHub user) maintains it in thedotmack/claude-mem, which has 97,851 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 7, 2026.

Source: thedotmack/claude-mem on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.