Agent skill

Touch Backend

by 389ds in 389ds/389-ds-base

Rules for modifying back-ldbm database code under the dual-backend (BDB + LMDB) architecture.

Custom licenceAuto-check passedTesting & QA

Install Touch Backend

skills CLI
$ npx skills add 389ds/389-ds-base --skill touch-backend -a claude-code

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

GitHub CLI
$ gh skill install 389ds/389-ds-base touch-backend --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/389ds/389-ds-base.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/touch-backend .claude/skills/touch-backend && 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
touch-backend
GitHub stars
294
Token cost
~1.3k tokens
SKILL.md length
605 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Custom licence

At a glance

Rules for modifying back-ldbm database code under the dual-backend (BDB + LMDB) architecture.

  • Works in 8 steps: Decide placement before writing code. → Mirror-or-NULL-check — never mirror… → New vtable capability. Add the typedef… → …
  • Tasks that involve Unit testing
  • SKILL.md covers Steps and Maintenance
  • Calls git and make

What it does

Touch Backend is an agent skill from 389ds/389-ds-base. Rules for modifying back-ldbm database code under the dual-backend (BDB + LMDB) architecture. Read BEFORE editing anything in ldap/servers/slapd/back-ldbm/, its db-bdb/ subdir, or its db-mdb/ subdir. Decides where a change belongs (shared vs per-backend), whether to mirror it into the other backend, and how to verify BOTH backends — including the trap where the BDB pytest CI job reports green having run zero tests. Triggers: "backend change", "bdb", "lmdb", "mdb", "dblayer", "vtable", "IDL", "entry cache"…

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

It sits in Testing & QA, covering Unit testing. It works with pytest. The repository describes itself as: The enterprise-class Open Source LDAP server for Linux.

When your agent uses it

  • Tasks that involve Unit testing

Example prompts

  • “backend change”
  • “dblayer”
  • “vtable”
  • “/touch-backend”

Workflow steps

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

  1. Decide placement before writing code.
  2. Mirror-or-NULL-check — never mirror blindly. Evaluate every per-backend
  3. New vtable capability. Add the typedef and slot to the private struct
  4. Branching above the abstraction. If shared code must behave differently
  5. Verify BOTH backends. Run the touched pytest suite once per backend via
  6. STOP if you tested BDB on a default build. A plain ./configure
  7. STOP before trusting a green BDB CI job. The BDB pytest workflow skips
  8. Add the regression test to the feature's existing suite (indexes,

What it can do on your machine

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

    • git
    • make

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

  • Network

    No URLs in SKILL.md. Its commands use git, 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.

Context cost

Touch Backend loads about 1.3k tokens when it runs. Until then it costs about 149 tokens; SKILL.md has 605 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~149
When it runs · the whole SKILL.md, loaded when a task matches
~1.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); files beside SKILL.md are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 605 words (~1,317 tokens).

“One backend plugin, two storage implementations. Shared semantics live in ldap/servers/slapd/back-ldbm/*.c; the implementations live in db-bdb/ and db-mdb/ behind a function-pointer vtable (struct dblayer_private in dblayer.h) that is filled only by bdb_init() and mdb_init().”

— opening of SKILL.md by 389ds, Custom licence
name
touch-backend

Read the full SKILL.md on GitHub

Files

Just SKILL.md in .agents/skills/touch-backend of 389ds/389-ds-base.

Open the folder on GitHubat commit cb60126

Compare with similar skills

Touch Backend 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.

Touch Backend compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Touch Backend this skill389ds/389-ds-base294—~1.3kAutomated safety check: PassCustom licence
Adk Verify Snippetsgoogle/adk-python22k—~1.4kAutomated safety check: PassApache-2.0
Hermetic Python Unit TestsdimensionalOS/dimos4.6k—~1.4kAutomated safety check: PassCustom licence
Test GuardamElnagdy/guard-skills1.3k2 repos~2.1kAutomated safety check: PassMIT
Fla Optimization Loopfla-org/flash-linear-attention5.8k—~2.6kAutomated safety check: PassMIT
Pytest Runnersaleor/saleor23k—~251Automated safety check: PassBSD-3-Clause

Similar skills

  • Adk Verify Snippets

    google/adk-python

    Official

    Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail…

    22k GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Hermetic Python Unit Tests

    dimensionalOS/dimos

    Rules for writing, fixing and reviewing pytest unit tests that are hermetic: behavior-focused, deterministic, isolated and cheap to run.

    4.6k GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Test Guard

    amElnagdy/guard-skills

    Reviews newly written or edited tests against nine rules that cut test bloat, such as mock-heavy checks and near-duplicate cases, before they are committed.

    1.3k GitHub starsUsed in 2 repos~2.1k tokens
    Testing & QAAuto-check passed
  • Fla Optimization Loop

    fla-org/flash-linear-attention

    Disciplined, reproducible loop for making an FLA kernel faster (Triton, Gluon, TileLang, CuTe) without ever breaking or gaming correctness.

    5.8k GitHub stars~2.6k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Pytest Runner

    saleor/saleor

    Run pytest tests with automatic virtual environment activation. Use this skill whenever running tests, executing pytest, or when asked to "run tests", "test…

    23k GitHub stars~251 tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Port Node Red Node

    oldrev/edgelinkd

    Port a Node-RED node into EdgeLinkd the way this repo does it: implement the node in Rust under crates/core/src/runtime/nodes, mirror Node-RED's mocha spec as pytest tests under tests/, register the…

    121 GitHub stars~3k tokensUpdated yesterday
    Testing & QAAuto-check passed

More from 389ds/389-ds-base

  • Commit And PR

    389ds/389-ds-base

    Commit and open a PR the 389-ds-base way — "Issue NNNN - summary" subject, Bug Description/Fix Description body, Fixes:/Relates: trailer, AI-attribution trailer, and squash-merge etiquette.

    294 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Write Test

    389ds/389-ds-base

    Add or extend a pytest integration test for 389 Directory Server under dirsrvtests/.

    294 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Add CLI Option

    389ds/389-ds-base

    Add or change a dsconf/dsctl/dsidm/dscreate flag, subcommand, or noun in src/lib389 — argparse wiring, argtoattr maps, lib389 allowlists, generated man pages, Cockpit coupling, and clu tests.

    294 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Add Config Attribute

    389ds/389-ds-base

    Add, rename, or wire a server config attribute end to end - a core cn=config attribute (the slap.h/libglobs.c chain) or a plugin config-entry attribute - including the schema line, defaults, upgrade…

    294 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Verify Changes

    389ds/389-ds-base

    Verify a 389-ds-base change by routing through the environment's build/test skill — static Python gates plus, via that skill, C compile, cmocka, RPM build and pytest suites, cargo tests, and the…

    294 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • UI Expose Attribute

    389ds/389-ds-base

    Expose a server setting in the Cockpit web console (389-console) or change web UI behavior.

    294 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Touch Backend

What does Touch Backend do?

Rules for modifying back-ldbm database code under the dual-backend (BDB + LMDB) architecture. Touch Backend is an agent skill from 389ds/389-ds-base. Rules for modifying back-ldbm database code under the dual-backend (BDB + LMDB) architecture.

When should I use Touch Backend?

Touch Backend fits situations like: tasks that involve Unit testing.

How do I install Touch Backend in Claude Code?

Run `npx skills add 389ds/389-ds-base --skill touch-backend -a claude-code`. Or copy the skill folder (.agents/skills/touch-backend in 389ds/389-ds-base) into .claude/skills/touch-backend in your project. Claude Code loads it when a task matches its description.

How do I install Touch Backend in Codex?

Run `npx skills add 389ds/389-ds-base --skill touch-backend -a codex`. Or copy the skill folder (.agents/skills/touch-backend in 389ds/389-ds-base) into .agents/skills/touch-backend in your project. Codex loads it when a task matches its description.

Can I use Touch Backend 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 389ds/389-ds-base --skill touch-backend -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/touch-backend, .gemini/skills/touch-backend, .github/skills/touch-backend and .opencode/skills/touch-backend in your project.

What does Touch Backend need to run?

Going by SKILL.md and its folder, Touch Backend needs the command-line tools its instructions call (git and make).

Does Touch Backend access the network?

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

Is Touch Backend 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 Touch Backend use?

Touch Backend has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Touch Backend use?

About 1.3k tokens (SKILL.md is roughly 5.3k 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 Touch Backend?

Skills that share tags, products or a category with Touch Backend: Adk Verify Snippets (google/adk-python, 22k stars), Hermetic Python Unit Tests (dimensionalOS/dimos, 4.6k stars), Test Guard (amElnagdy/guard-skills, 1.3k stars) and Fla Optimization Loop (fla-org/flash-linear-attention, 5.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Touch Backend?

389ds (a GitHub organization) maintains it in 389ds/389-ds-base, which has 294 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 6, 2026.

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