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.
Keep the repository's Nimbalyst team wiki current while you work.
$ npx skills add nimbalyst/nimbalyst --skill wiki-keeper -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nimbalyst/nimbalyst wiki-keeper --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "wiki-keeper" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/wiki-keeper into .claude/skills/wiki-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-keeper", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/wiki-keeperType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nimbalyst/nimbalyst --skill wiki-keeper -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nimbalyst/nimbalyst wiki-keeper --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/wiki-keeper .agents/skills/wiki-keeper && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wiki-keeper" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/wiki-keeper into .agents/skills/wiki-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-keeper", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nimbalyst/nimbalyst --skill wiki-keeper -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nimbalyst/nimbalyst wiki-keeper --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/wiki-keeper .cursor/skills/wiki-keeper && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "wiki-keeper" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/wiki-keeper into .cursor/skills/wiki-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-keeper", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nimbalyst/nimbalyst.git --path plugins/nimbalyst-wiki/skills/wiki-keeper--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nimbalyst/nimbalyst --skill wiki-keeper -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nimbalyst/nimbalyst wiki-keeper --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/wiki-keeper .gemini/skills/wiki-keeper && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "wiki-keeper" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/wiki-keeper into .gemini/skills/wiki-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-keeper", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nimbalyst/nimbalyst wiki-keeperInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nimbalyst/nimbalyst --skill wiki-keeper -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/wiki-keeper .github/skills/wiki-keeper && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "wiki-keeper" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/wiki-keeper into .github/skills/wiki-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-keeper", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nimbalyst/nimbalyst --skill wiki-keeper -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nimbalyst/nimbalyst wiki-keeper --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/wiki-keeper .opencode/skills/wiki-keeper && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "wiki-keeper" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/wiki-keeper into .opencode/skills/wiki-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-keeper", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
wiki-keeperKeep 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. 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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6f14adf. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from nimbalyst/nimbalyst at commit 6f14adf, republished under its MIT licence (© nimbalyst). 1,581 words, ~2,511 tokens.
.claude/skills/wiki-keeper/SKILL.md (or your agent's skills folder).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.
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.
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.
repo and project argumentsEvery wiki_* call takes repo, and project when there is a pin. Work them out once per session:
repo is the output of git remote get-url origin, unchanged. With no origin remote, leave repo out..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.origin remote and no pin, this checkout has no wiki. Do not call any wiki_* tool unless the user asks about the wiki.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.
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:
<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.<orgName>: call wiki_create_project with orgId, a name (suggest the repository name; let the user change it), and repo.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.
Write only what a teammate would want to find later and could not get from the code or git log:
claim with basis: decision, or the position of a question.question (position, positionState) and record the finding with the claims it rests on.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.
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).
<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.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.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.wiki_finish_changeset with changesetId and a one-sentence summary.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.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.© nimbalyst, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/nimbalyst-wiki/skills/wiki-keeper of nimbalyst/nimbalyst.
Open the folder on GitHubat commit 6f14adf
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Wiki Keeper this skillnimbalyst/nimbalyst | 1.9k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Forgetful Repo EncodingScottRBK/forgetful | 301 | — | ~1k | Automated safety check: Pass | MIT | |
| Knowledge Opsaffaan-m/ECC | 275k | 2 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Basic Memory Setupbasicmachines-co/basic-memory | 4.1k | — | ~3.9k | Automated safety check: Pass | AGPL-3.0 | |
| Dossier Collectruvnet/ruflo | 74k | — | ~1.1k | Automated safety check: Notes | MIT | |
| N8n CLIn8n-io/n8n | 207k | — | ~3k | Automated safety check: Pass | Custom licence |
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.
affaan-m/ECC
Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).
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.
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
n8n-io/n8n
Use the n8n CLI to manage workflows, credentials, executions, and more on an n8n instance.
study8677/repobrain
One-click initialization of a multi-agent repository from the RepoBrain template.
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.
nimbalyst/nimbalyst
Create visual data models for database schemas using Nimbalyst's DataModelLM editor.
nimbalyst/nimbalyst
Create diagrams and visual drawings using Excalidraw (.excalidraw files).
nimbalyst/nimbalyst
Build, install, and hot-reload Nimbalyst extensions using MCP tools.
nimbalyst/nimbalyst
Create git commits using Nimbalyst's interactive commit proposal widget.
nimbalyst/nimbalyst
Create structured plan documents and track work items using YAML frontmatter.
Works with
Categories
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.
Wiki Keeper fits situations like: knowledge Management work in your project.
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.
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.
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.
Going by SKILL.md and its folder, Wiki Keeper needs the command-line tools its instructions call (git).
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.
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.
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.
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.
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.
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.