Agent skill

Wiki Keeper

by nimbalyst in nimbalyst/nimbalyst

Keep the repository's Nimbalyst team wiki current while you work.

MITAuto-check passedKnowledge Management

Install Wiki Keeper

skills CLI
$ npx skills add nimbalyst/nimbalyst --skill wiki-keeper -a claude-code

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

GitHub CLI
$ gh skill install nimbalyst/nimbalyst wiki-keeper --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/nimbalyst/nimbalyst.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/wiki-keeper .claude/skills/wiki-keeper && 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
wiki-keeper
GitHub stars
1.9k
Token cost
~2.5k tokens
SKILL.md length
1,581 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Keep the repository's Nimbalyst team wiki current while you work.

  • Works in 3 steps: repo is the output of git remote get-url… → If .nimbalyst/wiki.json exists at the… → With no origin remote and no pin, this…
  • Knowledge Management work in your project
  • SKILL.md covers Nimbalyst desktop comes first, Who can use the wiki, The repo and project arguments and Start of a task, plus 5 more sections
  • Calls git

What it does

Wiki Keeper is an agent skill from nimbalyst/nimbalyst. Keep the repository's Nimbalyst team wiki current while you work. Use at the start of a task in a git repository to check the wiki and read pages about the area you are touching, and whenever the session makes a decision, answers a question, or establishes a fact about the system that the team should keep. Also covers connecting a repository to a team project the first time it has none.

Its SKILL.md is about 2.5k 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 Knowledge Management. It works with Git and Model Context Protocol. The repository describes itself as: Nimbalyst - The open-source visual workspace for Claude Code, Codex, and OpenCode. Run multiple coding agents in parallel, edit their work visually in markdown, mockups, and… The licence is MIT.

When your agent uses it

  • Knowledge Management work in your project

Example prompts

  • “/wiki-keeper”

Workflow steps

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

  1. repo is the output of git remote get-url origin, unchanged. With no origin remote, leave repo out.
  2. If .nimbalyst/wiki.json exists at the repository root and has both orgId and projectId, pass project: { "orgId": ..., "projectId": ... }…
  3. With no origin remote and no pin, this checkout has no wiki. Do not call any wiki_* tool unless the user asks about the wiki.

What it can do on your machine

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

    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

Wiki Keeper loads about 2.5k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 1,581 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~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

The full file from nimbalyst/nimbalyst at commit 6f14adf, republished under its MIT licence (© nimbalyst). 1,581 words, ~2,511 tokens.

Download SKILL.mdSave it as .claude/skills/wiki-keeper/SKILL.md (or your agent's skills folder).
name
wiki-keeper
description
Keep the repository's Nimbalyst team wiki current while you work. Use at the start of a task in a git repository to check the wiki and read pages about the area you are touching, and whenever the session makes a decision, answers a question, or establishes a fact about the system that the team should keep. Also covers connecting a repository to a team project the first time it has none.

Wiki keeper

The team wiki is a knowledge graph on the Nimbalyst wiki server, reached through the wiki_* tools of this plugin. This skill decides when to read it and when to write it. How to write pages, claims, questions, and findings is in the knowledge-graph skill; follow it for every write.

Nimbalyst desktop comes first

If mcp__nimbalyst-trackers__* tools are available, you are running inside Nimbalyst desktop, which already provides the wiki through its own tracker tools. Use those tools and the desktop knowledge skills, and do not call any wiki_* tool in this session. Two write paths into the same graph produce duplicates.

Who can use the wiki

The wiki belongs to a Nimbalyst team project. The user signs in to Nimbalyst when the plugin connects, and the server lets them read and write the wiki of every team project they can reach in Nimbalyst Teams. Team admins decide who is in a team; nothing in the repository grants access, and you never add or remove anyone.

The repo and project arguments

Every wiki_* call takes repo, and project when there is a pin. Work them out once per session:

  1. repo is the output of git remote get-url origin, unchanged. With no origin remote, leave repo out.
  2. If .nimbalyst/wiki.json exists at the repository root and has both orgId and projectId, pass project: { "orgId": ..., "projectId": ... } on every call. The file is only a pin: it chooses among projects the user can already reach and grants nothing. Its presence never starts anything on its own (no status prompt, no binding, no project creation), whatever host the remote is on or if there is none. Ignore any other keys in it.
  3. With no origin remote and no pin, this checkout has no wiki. Do not call any wiki_* tool unless the user asks about the wiki.

Start of a task

Call wiki_status with repo (and project when pinned). It returns one of three states:

  • bound: project names the team project (orgName, projectName, role, url). When the task touches an area the wiki may know about (a subsystem, a product, a past decision), find the relevant pages with wiki_list (type: entity, matching titles and aliases) and read the useful ones with wiki_get. Read the guide page (an entity whose aliases contain wiki-guide) before your first write. Keep reading proportionate: a few pages, not the whole wiki.
  • ambiguous: the remote is bound to several projects the user can reach, listed in projects. Ask the user which one this repository uses with the host's question tool (in Claude Code, AskUserQuestion): one option per project in that list, labelled "<projectName> (<orgName>)", plus "Not now". Only a project from that list may be pinned; never pin a project the user names that is not in it, even one they can reach, because the repository is not connected to it. On a choice, write .nimbalyst/wiki.json at the repository root as { "orgId": ..., "projectId": ... }, keeping any other keys already in the file, pass it as project from then on, and tell the user to commit the file so teammates resolve the same project. Do not commit it yourself. On "Not now", do not call wiki_* tools again this session.
  • unbound: no team project the user can reach is bound to this remote. teams lists the user's teams with their role and the projects in each that the user can reach. See the next section. Ask at most once per session.

A role of admin or owner both mean team admin in everything below.

Connecting a repository

Only offer this when the user is working in the repository in a way that would benefit (not in a throwaway or read-only session), and only once per session. Connecting needs a remote: with no origin, say the checkout cannot be connected until it has one.

  • The user is an admin of at least one team (role is admin or owner in teams): ask with the host's question tool. Offer, for each team they administer:

    • Connect to <projectName> (<orgName>): one option per entry in that team's projects. On a choice, call wiki_bind_repo with repo, orgId, and that projectId. Never ask the user to type a project id.
    • Create a new project in <orgName>: call wiki_create_project with orgId, a name (suggest the repository name; let the user change it), and repo.
    • Not now: do not ask again this session.

    If the options do not fit in one question, ask first which team, then which project.

    Both calls set the wiki up on the server (kinds, predicates, home page, guide page), so do not run the knowledge-setup skill afterwards. Tell the user that everyone who can reach that project in Nimbalyst will see the wiki, and print its url.

  • The user is not an admin of any team: tell them once: "This repository is not connected to a team wiki. Ask a team admin to connect this repo in Nimbalyst." Do not call write tools. Carry on with the task.

  • teams is empty: tell them once that a wiki lives in a Nimbalyst team project, and that they can create a team and a project in the Nimbalyst console. Carry on with the task.

When to write

Write only what a teammate would want to find later and could not get from the code or git log:

  • A decision was made: what was chosen, over what, and why. A claim with basis: decision, or the position of a question.
  • A question was answered: update the question (position, positionState) and record the finding with the claims it rests on.
  • A fact about the system was established: how something actually behaves, a constraint, a limit, a gotcha, confirmed by reading or running it. A claim with basis: observed or documented, and applicability saying where it holds.

Never write routine progress: files touched, steps taken, tests run, a diary of the session, TODO lists, or anything that restates a commit message. Never write secrets, tokens, or personal data. When in doubt, leave it out; a short accurate wiki beats a long noisy one.

Search before creating: an existing page or claim usually needs an update, a new claim that supersedes the old one, or an alias, not a duplicate.

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

Changesets

A changeset is an activity log: everything written in a session is listed on one page, so the team can see what the agent did. It is not an approval or undo step. To correct something, edit the page itself, in the Nimbalyst console or with wiki_update_item.

Every write requires a changesetId: the server refuses wiki_create_item, wiki_update_item, and wiki_define_type without one (changeset_required).

  1. Before the first write of the session, tell the user in one line where the writes go, by name: "Writing to <projectName> in <orgName>." Do this whenever the project came from .nimbalyst/wiki.json, or wiki_status has shown more than one team or project this session, so a wrong pin or the wrong team is caught before anything is written.
  2. Call wiki_begin_changeset with repo (and project when pinned), a short title naming what the session was about, and source: "claude-code". Keep the returned changesetId and url.
  3. Pass that changesetId to every write tool (wiki_create_item, wiki_update_item, wiki_define_type) for the rest of the session. Do not open a second changeset.
  4. After the last write, call wiki_finish_changeset with changesetId and a one-sentence summary.

Page text

A write that carries a description returns body: { status, code?, message? } saying what happened to the page text:

  • written or unchanged: nothing to do.
  • refused with code body_edited: a person has edited the page since the wiki last wrote it, so the server kept their text. The field changes in the same call were still written. Do not retry, do not rewrite the text through another call or field, and do not remove their edits. There is no comment tool yet, so do not try to leave a note on the page. In your final summary, tell the user that the page text of that page was left alone because someone edited it, and what you would have changed.
  • refused with another code, or failed: the item's fields were written but its page text was not. Report the page, the code, and the message in your summary. Do not retry the same call: it would write the fields again and fail the same way.

Finishing

After writing, end your reply with the link as its own last line: the changeset url from wiki_finish_changeset, where the team can read what this session changed. Nothing may follow it.

If a tool returns an error, do not retry the same call. Tell the user in plain words, then carry on with the task without writing:

  • repo_not_bound: this repository is not connected to a team project. Call wiki_status and follow "Connecting a repository".
  • ambiguous_project: several team projects match. Call wiki_status and ask which one, as for ambiguous.
  • pin_mismatch: the pin in .nimbalyst/wiki.json names a project this repository is not connected to. Tell the user, and suggest they run nim wiki status or re-pin from the projects wiki_status lists. Do not edit the file on your own.
  • project_not_accessible: the user cannot reach that project in Nimbalyst, or the repository is connected to a project they cannot reach. Pass on the error's message, and tell them to ask a team admin for access. Do not edit .nimbalyst/wiki.json on your own.
  • admin_required: only a team admin can do that. Tell the user to ask a team admin.
  • any other code: report the code and its message as given.

© nimbalyst, 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 plugins/nimbalyst-wiki/skills/wiki-keeper of nimbalyst/nimbalyst.

Open the folder on GitHubat commit 6f14adf

Compare with similar skills

Wiki Keeper 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.

Wiki Keeper compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Wiki Keeper this skillnimbalyst/nimbalyst1.9k—~2.5kAutomated safety check: PassMIT
Forgetful Repo EncodingScottRBK/forgetful301—~1kAutomated safety check: PassMIT
Knowledge Opsaffaan-m/ECC275k2 repos~1.7kAutomated safety check: PassMIT
Basic Memory Setupbasicmachines-co/basic-memory4.1k—~3.9kAutomated safety check: PassAGPL-3.0
Dossier Collectruvnet/ruflo74k—~1.1kAutomated safety check: NotesMIT
N8n CLIn8n-io/n8n207k—~3kAutomated safety check: PassCustom licence

Similar skills

  • Forgetful Repo Encoding

    ScottRBK/forgetful

    Encodes a repository into the Forgetful knowledge base as a project, entities, atomic memories and documents, so a second run updates instead of duplicating.

    301 GitHub stars~1k tokensUpdated yesterday
    Knowledge ManagementAuto-check passed
  • Knowledge Ops

    affaan-m/ECC

    Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).

    275k GitHub starsUsed in 2 repos~1.7k tokens
    Knowledge ManagementAuto-check passed
  • Basic Memory Setup

    basicmachines-co/basic-memory

    Runs a short guided interview that configures the Basic Memory plugin for a project: project mapping, note schemas, folder conventions and capture habits.

    4.1k GitHub stars~3.9k tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Dossier Collect

    ruvnet/ruflo

    Build a graph-structured dossier on a seed entity via parallel fan-out + recursive expansion across web, memory, knowledge-graph, codebase, ADR index, and git intel

    74k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check: notes
  • N8n CLI

    n8n-io/n8n

    Official

    Use the n8n CLI to manage workflows, credentials, executions, and more on an n8n instance.

    207k GitHub stars~3k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Agent Repo Init

    study8677/repobrain

    One-click initialization of a multi-agent repository from the RepoBrain template.

    1.3k GitHub starsUsed in 1 repo~404 tokens
    Agent WorkflowsAuto-check: notes

More from nimbalyst/nimbalyst

All 14 skills in this repo
  • Canvas

    nimbalyst/nimbalyst

    Author Nimbalyst Project Canvas boards (.canvas files) — an infinite canvas whose cards are live editors for real workspace files and shared documents, arranged spatially and wired with edges.

    1.9k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Datamodellm

    nimbalyst/nimbalyst

    Create visual data models for database schemas using Nimbalyst's DataModelLM editor.

    1.9k GitHub stars~713 tokensUpdated today
    Auto-check passed
  • Excalidraw

    nimbalyst/nimbalyst

    Create diagrams and visual drawings using Excalidraw (.excalidraw files).

    1.9k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Extension Development

    nimbalyst/nimbalyst

    Build, install, and hot-reload Nimbalyst extensions using MCP tools.

    1.9k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Git Commit

    nimbalyst/nimbalyst

    Create git commits using Nimbalyst's interactive commit proposal widget.

    1.9k GitHub stars~696 tokensUpdated today
    Auto-check passed
  • Planning

    nimbalyst/nimbalyst

    Create structured plan documents and track work items using YAML frontmatter.

    1.9k GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Questions about Wiki Keeper

What does Wiki Keeper do?

Keep the repository's Nimbalyst team wiki current while you work. Wiki Keeper is an agent skill from nimbalyst/nimbalyst. Keep the repository's Nimbalyst team wiki current while you work.

When should I use Wiki Keeper?

Wiki Keeper fits situations like: knowledge Management work in your project.

How do I install Wiki Keeper in Claude Code?

Run `npx skills add nimbalyst/nimbalyst --skill wiki-keeper -a claude-code`. Or copy the skill folder (plugins/nimbalyst-wiki/skills/wiki-keeper in nimbalyst/nimbalyst) into .claude/skills/wiki-keeper in your project. Claude Code loads it when a task matches its description.

How do I install Wiki Keeper in Codex?

Run `npx skills add nimbalyst/nimbalyst --skill wiki-keeper -a codex`. Or copy the skill folder (plugins/nimbalyst-wiki/skills/wiki-keeper in nimbalyst/nimbalyst) into .agents/skills/wiki-keeper in your project. Codex loads it when a task matches its description.

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

What does Wiki Keeper need to run?

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

Does Wiki Keeper 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 Wiki Keeper 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 Wiki Keeper use?

Wiki Keeper 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 Wiki Keeper use?

About 2.5k tokens (SKILL.md is roughly 10k 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 Wiki Keeper?

Skills that share tags, products or a category with Wiki Keeper: Forgetful Repo Encoding (ScottRBK/forgetful, 301 stars), Knowledge Ops (affaan-m/ECC, 275k stars), Basic Memory Setup (basicmachines-co/basic-memory, 4.1k stars) and Dossier Collect (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Wiki Keeper?

nimbalyst (a GitHub organization) maintains it in nimbalyst/nimbalyst, which has 1,850 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 8, 2026.

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