Agent skill

Add Persistence Or Serializer

by NEventStore in NEventStore/NEventStore

A skill your agent uses when: adding a new persistence provider, adding a new serializer, reviewing an existing serializer implementation, wiring up a new storage backend, or checking whether a…

MITAuto-check passed

Install Add Persistence Or Serializer

skills CLI
$ npx skills add NEventStore/NEventStore --skill add-persistence-or-serializer -a claude-code

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

GitHub CLI
$ gh skill install NEventStore/NEventStore add-persistence-or-serializer --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/NEventStore/NEventStore.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-persistence-or-serializer .claude/skills/add-persistence-or-serializer && 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
add-persistence-or-serializer
GitHub stars
1.6k
Token cost
~1.2k tokens
SKILL.md length
379 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when: adding a new persistence provider, adding a new serializer, reviewing an existing serializer implementation, wiring up a new storage backend, or checking whether a…

  • Works in 6 steps: Implement ISerialize… → Create a dedicated project under… → Write the wireup extension in a class… → …
  • : adding a new persistence provider
  • SKILL.md covers When to invoke, Checklist and Review Checklist
  • Calls dotnet

What it does

Add Persistence Or Serializer is an agent skill from NEventStore/NEventStore. Use when: adding a new persistence provider, adding a new serializer, reviewing an existing serializer implementation, wiring up a new storage backend, or checking whether a persistence/serialization component follows NEventStore conventions.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: A persistence agnostic Event Store for .NET. The licence is MIT.

When your agent uses it

  • : adding a new persistence provider
  • Adding a new serializer
  • Reviewing an existing serializer implementation
  • Wiring up a new storage backend

Example prompts

  • “/add-persistence-or-serializer”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Implement ISerialize (src/NEventStore/Serialization/ISerialize.cs)
  2. Create a dedicated project under src/NEventStore.Serialization./
  3. Write the wireup extension in a class SerializationWireupExtension
  4. Known-types pattern: if your serializer needs explicit type registration (like the JSON serializer does for List and Dictionary), accept…
  5. Logging: inject LogFactory.BuildLogger(typeof(MySerializer)) and guard every log call with Logger.IsEnabled(LogLevel.X) before formatting…
  6. Tests: create src/NEventStore.Serialization..Tests/ using the same DefineConstants=NUNIT pattern. Run…

What it can do on your machine

Read from SKILL.md and the folder at commit 8f2e896. 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

    Shell commands in SKILL.md call:

    • dotnet

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

  • Network

    No URLs in SKILL.md.

    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.

Context cost

Add Persistence Or Serializer loads about 1.2k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 379 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~68
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from NEventStore/NEventStore at commit 8f2e896, republished under its MIT licence (© NEventStore). 379 words, ~1,194 tokens.

Download SKILL.mdSave it as .claude/skills/add-persistence-or-serializer/SKILL.md (or your agent's skills folder).
name
add-persistence-or-serializer
description
Use when: adding a new persistence provider, adding a new serializer, reviewing an existing serializer implementation, wiring up a new storage backend, or checking whether a persistence/serialization component follows NEventStore conventions.

Add or Review a Persistence Provider / Serializer

When to invoke

  • User asks to create a new persistence backend (e.g., MongoDB, PostgreSQL).
  • User asks to create a new serializer (e.g., MessagePack, Protobuf).
  • Code review of an existing provider or serializer against repository conventions.

Checklist

For a new Serializer
  1. Implement ISerialize (src/NEventStore/Serialization/ISerialize.cs):

    csharp
    public interface ISerialize
    {
        void Serialize<T>(Stream output, T graph) where T : notnull;
        T? Deserialize<T>(Stream input);
    }
  2. Create a dedicated project under src/NEventStore.Serialization.<Name>/:

    • Target netstandard2.0 to stay consistent with the core library.
    • Set GenerateAssemblyInfo=false (version is managed by GitVersion).
    • Add PackageId, Authors, Description, PackageTags matching the existing .csproj files.
    • Include icon.png, license.txt, and Readme.md as pack items pointing to the root files.
    • Enable GenerateDocumentationFile, IncludeSymbols, SymbolPackageFormat=snupkg.
    • Reference NEventStore.Core.csproj.
  3. Write the wireup extension in a class <Name>SerializationWireupExtension:

    csharp
    public static class <Name>SerializationWireupExtension
    {
        public static SerializationWireup Using<Name>Serialization(
            this PersistenceWireup wireup,
            /* optional settings */)
        {
            return wireup.UsingCustomSerialization(new <Name>Serializer(/* ... */));
        }
    }
    • Return SerializationWireup, not PersistenceWireup, so .Compress() and .EncryptWith() remain available.
  4. Known-types pattern: if your serializer needs explicit type registration (like the JSON serializer does for List<EventMessage> and Dictionary<string, object>), accept them via a params Type[]? knownTypes parameter.

  5. Logging: inject LogFactory.BuildLogger(typeof(MySerializer)) and guard every log call with Logger.IsEnabled(LogLevel.X) before formatting the message. Never use Console.Write*.

  6. Tests: create src/NEventStore.Serialization.<Name>.Tests/ using the same DefineConstants=NUNIT pattern. Run NEventStore.Persistence.AcceptanceTests.SerializationTests against the new serializer to verify round-trip correctness.


Show full SKILL.md (206 more words)Show less
For a new Persistence Provider
  1. Implement IPersistStreams (src/NEventStore/Persistence/IPersistStreams.cs), which composes IPersistStreamsSync and IPersistStreamsAsync. Both sides must be implemented.

  2. Create a dedicated project (same conventions as a serializer project above).

  3. Wireup extension on Wireup, returning PersistenceWireup:

    csharp
    public static PersistenceWireup Using<Name>Persistence(this Wireup wireup, /* connection options */)
    {
        wireup.Register<IPersistStreams>(new <Name>PersistenceEngine(/* ... */));
        return new PersistenceWireup(wireup);
    }
  4. Acceptance tests: reference NEventStore.Persistence.AcceptanceTests and provide a PersistenceEngineFixture that wires up your engine. All PersistenceEngineConcern-based tests must pass green against your implementation.

  5. Thread safety: IPersistStreams must be multi-thread safe. Use thread-safe collections or locking; document any remaining single-threaded constraints in XML doc comments.

  6. Initialize() must be synchronous and complete before the method returns. The wireup calls it during Build().

  7. Checkpoint tokens: must be monotonically increasing and comparable. Do not use random GUIDs as checkpoint values.


Review Checklist

  • ISerialize / IPersistStreams fully implemented (no NotImplementedException stubs left).
  • Wireup extension returns correct Wireup subclass (SerializationWireup or PersistenceWireup).
  • GenerateAssemblyInfo=false in .csproj.
  • icon.png, license.txt, Readme.md included as pack items.
  • All public types have XML doc comments.
  • Nullable reference types respected (? annotations correct).
  • Guard.NotNull used at public boundaries.
  • Logging uses LogFactory.BuildLogger with IsEnabled guards.
  • Acceptance tests pass (serialization round-trip or persistence contract).
  • dotnet build ./src/NEventStore.Core.sln -c Release --no-restore succeeds.
  • dotnet test ./src/NEventStore.Core.sln -c Release --no-build passes.

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

Files

Just SKILL.md in .agents/skills/add-persistence-or-serializer of NEventStore/NEventStore.

Open the folder on GitHubat commit 8f2e896

Compare with similar skills

Add Persistence Or Serializer 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.

Add Persistence Or Serializer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add Persistence Or Serializer this skillNEventStore/NEventStore1.6k—~1.2kAutomated safety check: PassMIT
Add Model Provideropenclaw/openclaw392k—~1.1kAutomated safety check: PassMIT
OmniRoute Provider Managementdiegosouzapw/OmniRoute74k—~2.4kAutomated safety check: PassMIT
OmniRoute Providers CLIdiegosouzapw/OmniRoute74k—~2.2kAutomated safety check: PassMIT
Swift Actor Persistenceaffaan-m/ECC276k4 repos~1.2kAutomated safety check: PassMIT
Session Persistruvnet/ruflo74k—~415Automated safety check: NotesMIT

Similar skills

  • Add Model Provider

    openclaw/openclaw

    Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

    392k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • OmniRoute Provider Management

    diegosouzapw/OmniRoute

    Manages AI provider connections, API keys, OAuth flows and connection tests through OmniRoute's REST API across its 327-provider catalog.

    74k GitHub stars~2.4k tokensUpdated today
    Backend & APIsAuto-check passed
  • OmniRoute Providers CLI

    diegosouzapw/OmniRoute

    Command reference for managing provider connections in the omniroute gateway: browse the catalog, test and validate connections, rotate API keys and read per-provider metrics.

    74k GitHub stars~2.2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Thread-safe data persistence in Swift using actors — in-memory cache with file-backed storage, eliminating data races by design.

    276k GitHub starsUsed in 4 repos~1.2k tokens
    MobileAuto-check passed
  • Session Persist

    ruvnet/ruflo

    Persist and restore agent sessions across conversations with state snapshots

    74k GitHub stars~415 tokensUpdated today
    Auto-check: notes
  • Adds an AI model provider to LobeHub end to end: runtime integration, model cards, configuration, branding and documentation, or documentation-only updates.

    83k GitHub stars~2.8k tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from NEventStore/NEventStore

  • Git Gh Pat Auth

    NEventStore/NEventStore

    A skill your agent uses when: authenticating git and GitHub CLI for NEventStore tasks, fixing gh auth errors, setting PAT environment variables, preparing a shell session for git push and gh issue…

    1.6k GitHub stars~828 tokensUpdated 2 mo ago
    Auto-check passed

Questions about Add Persistence Or Serializer

What does Add Persistence Or Serializer do?

A skill your agent uses when: adding a new persistence provider, adding a new serializer, reviewing an existing serializer implementation, wiring up a new storage backend, or checking whether a…. Add Persistence Or Serializer is an agent skill from NEventStore/NEventStore. Use when: adding a new persistence provider, adding a new serializer, reviewing an existing serializer implementation, wiring up a new storage backend, or checking whether a persistence/serialization component follows NEventStore conventions.

When should I use Add Persistence Or Serializer?

Add Persistence Or Serializer fits situations like: : adding a new persistence provider; adding a new serializer; reviewing an existing serializer implementation; wiring up a new storage backend.

How do I install Add Persistence Or Serializer in Claude Code?

Run `npx skills add NEventStore/NEventStore --skill add-persistence-or-serializer -a claude-code`. Or copy the skill folder (.agents/skills/add-persistence-or-serializer in NEventStore/NEventStore) into .claude/skills/add-persistence-or-serializer in your project. Claude Code loads it when a task matches its description.

How do I install Add Persistence Or Serializer in Codex?

Run `npx skills add NEventStore/NEventStore --skill add-persistence-or-serializer -a codex`. Or copy the skill folder (.agents/skills/add-persistence-or-serializer in NEventStore/NEventStore) into .agents/skills/add-persistence-or-serializer in your project. Codex loads it when a task matches its description.

Can I use Add Persistence Or Serializer 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 NEventStore/NEventStore --skill add-persistence-or-serializer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-persistence-or-serializer, .gemini/skills/add-persistence-or-serializer, .github/skills/add-persistence-or-serializer and .opencode/skills/add-persistence-or-serializer in your project.

What does Add Persistence Or Serializer need to run?

Going by SKILL.md and its folder, Add Persistence Or Serializer needs the command-line tools its instructions call (dotnet).

Does Add Persistence Or Serializer access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Add Persistence Or Serializer 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. Review the folder before installing.

What licence does Add Persistence Or Serializer use?

Add Persistence Or Serializer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Add Persistence Or Serializer use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Add Persistence Or Serializer?

Skills that share tags, products or a category with Add Persistence Or Serializer: Add Model Provider (openclaw/openclaw, 392k stars), OmniRoute Provider Management (diegosouzapw/OmniRoute, 74k stars), OmniRoute Providers CLI (diegosouzapw/OmniRoute, 74k stars) and Swift Actor Persistence (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add Persistence Or Serializer?

NEventStore (a GitHub organization) maintains it in NEventStore/NEventStore, which has 1,613 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on July 22, 2026.

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