Agent skill

Write Test

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

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

Custom licenceAuto-check passedTesting & QA

Install Write Test

skills CLI
$ npx skills add 389ds/389-ds-base --skill write-test -a claude-code

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

GitHub CLI
$ gh skill install 389ds/389-ds-base write-test --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/write-test .claude/skills/write-test && 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
write-test
GitHub stars
294
Token cost
~1.8k tokens
SKILL.md length
665 words
Files
2 (incl. references)
Skills in repo
7
Repo updated
First seen
Licence
Custom licence

At a glance

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

  • Works in 8 steps: Place the file. New tests go in… → Start from the canonical preamble (used… → Pick the topology fixture from the table… → …
  • Asked to add a test
  • Calls python3 and pip
  • Write a regression test

What it does

Write Test is an agent skill from 389ds/389-ds-base. Add or extend a pytest integration test for 389 Directory Server under dirsrvtests/. Use when asked to add a test, write a regression test, create a new test file or suite, add a CLI test, or extend the test for X. Enforces the hard conventions - topology fixtures imported from test389.topologies (lib389.topologies does not exist), one unique :id: UUID per test docstring, a module-level tier marker (pytestmark), DEBUGGING-aware cleanup finalizers, and the testimony plus duplicate-id gates CI runs on every PR. C…

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/cmocka.md`).

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

When your agent uses it

  • Asked to add a test
  • Write a regression test
  • Create a new test file
  • Extend the test for X

Example prompts

  • “/write-test”

Requirements

  • Python 3

Workflow steps

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

  1. Place the file. New tests go in dirsrvtests/tests/suites// — pick by the FEATURE under test, not by the C file you changed (a reindex bug…
  2. Start from the canonical preamble (used by essentially every suite file)
  3. Pick the topology fixture from the table in docs/agents/testing.md — topology_st (standalone), topology_i2 (2 standalones)…
  4. Mint the :id:: python3 -c "import uuid; print(uuid.uuid4())" (or python3 dirsrvtests/create_test.py -u). One fresh UUID per test function.
  5. Write the docstring. Field order is canonical, :id: always first
  6. Cleanup. The shared topology fixtures already register a finalizer (stops instances, disarms the watchdog) — with standard fixtures you…
  7. Backend-conditional tests (BDB-only or LMDB-only behavior) combine tier and skip in a pytestmark list
  8. Run the gates before pushing, from the repo root, exactly as CI's validate workflow does

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:

    • python3
    • pip

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

  • Network

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

Write Test loads about 1.8k tokens when it runs, and up to ~2.5k if it reads all its reference files. Until then it costs about 146 tokens; SKILL.md has 665 words of instructions outside code blocks.

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

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 665 words (~1,785 tokens).

“The full test-framework contract (fixture table, docstring fields, environment variables) is docs/agents/testing.md. For C unit tests, read references/cmocka.md instead of this page.”

— opening of SKILL.md by 389ds, Custom licence
name
write-test

Read the full SKILL.md on GitHub

Files

SKILL.md and 1 other file (references) in .agents/skills/write-test of 389ds/389-ds-base.

  • SKILL.md
  • references/cmocka.md

Open the folder on GitHubat commit cb60126

Compare with similar skills

Write Test 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.

Write Test compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Write Test this skill389ds/389-ds-base294—~1.8kAutomated safety check: PassCustom licence
Test Generationagulli/atlas-agents578—~598Automated safety check: PassMIT
Clean PytestLeoYeAI/openclaw-master-skills2.2k—~4.2kAutomated safety check: PassMIT
Python Testingathola/claude-night-market342—~800Automated safety check: PassMIT
Adk Verify Snippetsgoogle/adk-python22k—~1.4kAutomated safety check: PassApache-2.0
Hermetic Python Unit TestsdimensionalOS/dimos4.6k—~1.4kAutomated safety check: PassCustom licence

Similar skills

  • Test Generation

    agulli/atlas-agents

    Generate comprehensive test suites for existing code. An agent skill from agulli/atlas-agents.

    578 GitHub stars~598 tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Clean Pytest

    LeoYeAI/openclaw-master-skills

    Write clean, maintainable pytest tests using Fake-based testing, contract testing, and dependency injection patterns.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Python Testing

    athola/claude-night-market

    Python testing patterns with pytest, fixtures, TDD, mocking, async and integration tests.

    342 GitHub stars~800 tokensUpdated yesterday
    Testing & QAAuto-check passed
  • 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
  • OpenROAD Module Test Adder

    The-OpenROAD-Project/OpenROAD

    Adds integration or unit tests to an OpenROAD module: writes the Tcl test, generates golden files and registers it in both CMake and Bazel.

    3.2k GitHub stars~1.8k tokensUpdated today
    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
  • 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
  • Touch Backend

    389ds/389-ds-base

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

    294 GitHub stars~1.3k 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 Write Test

What does Write Test do?

Add or extend a pytest integration test for 389 Directory Server under dirsrvtests/. Write Test is an agent skill from 389ds/389-ds-base. Add or extend a pytest integration test for 389 Directory Server under dirsrvtests/.

When should I use Write Test?

Write Test fits situations like: asked to add a test; write a regression test; create a new test file; extend the test for X.

How do I install Write Test in Claude Code?

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

How do I install Write Test in Codex?

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

Can I use Write Test 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 write-test -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/write-test, .gemini/skills/write-test, .github/skills/write-test and .opencode/skills/write-test in your project.

What does Write Test need to run?

Going by SKILL.md and its folder, Write Test needs the command-line tools its instructions call (python3 and pip). Our summary lists: Python 3.

Does Write Test access the network?

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

Is Write Test 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 Write Test use?

Write Test 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 Write Test use?

About 1.8k tokens (SKILL.md is roughly 7.1k 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 750 tokens, read only when the agent opens those files.

What are the alternatives to Write Test?

Skills that share tags, products or a category with Write Test: Test Generation (agulli/atlas-agents, 578 stars), Clean Pytest (LeoYeAI/openclaw-master-skills, 2.2k stars), Python Testing (athola/claude-night-market, 342 stars) and Adk Verify Snippets (google/adk-python, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Write Test?

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.