Monitor CI
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
Refresh an existing .claude/.codebase-info/ map after code changes.
$ npx skills add Eigenwise/eigenwise-toolshed --skill update-codebase-map -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Eigenwise/eigenwise-toolshed update-codebase-map --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/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/codebase-mapper/skills/update-codebase-map .claude/skills/update-codebase-map && 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 "update-codebase-map" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/codebase-mapper/skills/update-codebase-map into .claude/skills/update-codebase-map/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-codebase-map", 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/Eigenwise/eigenwise-toolshed/tree/main/plugins/codebase-mapper/skills/update-codebase-mapType 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 Eigenwise/eigenwise-toolshed --skill update-codebase-map -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Eigenwise/eigenwise-toolshed update-codebase-map --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/codebase-mapper/skills/update-codebase-map .agents/skills/update-codebase-map && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "update-codebase-map" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/codebase-mapper/skills/update-codebase-map into .agents/skills/update-codebase-map/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-codebase-map", 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 Eigenwise/eigenwise-toolshed --skill update-codebase-map -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Eigenwise/eigenwise-toolshed update-codebase-map --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/codebase-mapper/skills/update-codebase-map .cursor/skills/update-codebase-map && 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 "update-codebase-map" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/codebase-mapper/skills/update-codebase-map into .cursor/skills/update-codebase-map/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-codebase-map", 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/Eigenwise/eigenwise-toolshed.git --path plugins/codebase-mapper/skills/update-codebase-map--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 Eigenwise/eigenwise-toolshed --skill update-codebase-map -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Eigenwise/eigenwise-toolshed update-codebase-map --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/codebase-mapper/skills/update-codebase-map .gemini/skills/update-codebase-map && 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 "update-codebase-map" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/codebase-mapper/skills/update-codebase-map into .gemini/skills/update-codebase-map/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-codebase-map", 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 Eigenwise/eigenwise-toolshed update-codebase-mapInstalls 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 Eigenwise/eigenwise-toolshed --skill update-codebase-map -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/codebase-mapper/skills/update-codebase-map .github/skills/update-codebase-map && 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 "update-codebase-map" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/codebase-mapper/skills/update-codebase-map into .github/skills/update-codebase-map/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-codebase-map", 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 Eigenwise/eigenwise-toolshed --skill update-codebase-map -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Eigenwise/eigenwise-toolshed update-codebase-map --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/codebase-mapper/skills/update-codebase-map .opencode/skills/update-codebase-map && 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 "update-codebase-map" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/codebase-mapper/skills/update-codebase-map into .opencode/skills/update-codebase-map/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-codebase-map", 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.
update-codebase-mapRefresh an existing .claude/.codebase-info/ map after code changes.
Update Codebase Map is an agent skill from Eigenwise/eigenwise-toolshed. Refresh an existing .claude/.codebase-info/ map after code changes. Use for stale codebase or architecture docs; use map-codebase to create one.
Its SKILL.md is about 3.1k 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 DevOps & Cloud. The repository describes itself as: Six Claude Code plugins for the work that keeps coming back: repo maps, conditional rules, ticketed parallel work, extra subscription models, local usage metrics, and guided setup. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0140ec1. 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:
gitnodeFrom 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.
Update Codebase Map loads about 3.1k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 1,533 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 Eigenwise/eigenwise-toolshed at commit 0140ec1, republished under its MIT licence (© Eigenwise). 1,533 words, ~3,146 tokens.
.claude/skills/update-codebase-map/SKILL.md (or your agent's skills folder).Bring an existing map up to date with surgical edits : detect changes, touch only the affected documents, keep everything internally consistent. This is a refresh, not a full rewrite.
A .claude/.codebase-info/ directory with INDEX.md must already exist. If it doesn't, stop and
use the map-codebase skill to create the initial map.
The installed Mapper hook tells the main session to assess the map after code changes and invoke this skill immediately when documentation work is warranted. A true no-op ends without editing the map or refreshing state. This process does not wait for a separate user approval.
Read .claude/.codebase-info/.map-state.json to get gitCommit, mappedAt, and the list of
existing documents. Skim INDEX.md to recall what's already covered. (If .map-state.json is
missing : e.g. a map from an older version : fall back to the mappedAt date in INDEX.md, and
plan to write a fresh .map-state.json at the end.)
Git repo (preferred : precise): diff against the last-mapped commit.
git diff --stat <gitCommit>..HEAD # which files changed, added, deleted
git log --oneline <gitCommit>..HEAD # what the changes were about
git diff <gitCommit>..HEAD -- package.json pyproject.toml go.mod Cargo.toml composer.json Gemfile # dependency churn (adjust to the project's manifests)No git, or no stored commit (fallback): find source files modified since the map was written.
# files newer than the index (skip noise dirs)
find . -type f -newer .claude/.codebase-info/INDEX.md \
-not -path '*/.git/*' -not -path '*/node_modules/*' -not -path '*/vendor/*' \
-not -path '*/dist/*' -not -path '*/build/*' -not -path '*/target/*' -not -path '*/.venv/*'Do not ask the user whether to update the map, run this skill, or create a handoff. Decide using this process, announce the applicable documentation-check outcome, and immediately perform the warranted update or handoff without waiting for a reply.
A true no-op stays inline: report that no documented behavior, structure, interface, dependency, or convention changed, then leave the map alone. Do not create a ticket merely to refresh timestamps or state.
For an incremental refresh, work inline in the invoking session when the diff since the stored
gitCommit touches fewer than ~15 files across already-mapped areas and adds or removes no top-level
aspect. Apply Steps 3 through 5 directly. Do not create a ticket or dispatch an agent for this case.
Use an optional shared-tree artifact handoff for a full remap or large structural drift: a new subsystem,
a deleted service, or the first Dockerfile or datastore. For incremental work, stay inline. Inspect the
session tool roster before reading further. The handoff requires the native Agent tool plus Sidequest
category_list, add, comment, dispatch, and pulse. Do not probe the Sidequest CLI or dashboard.
Read the live codebase-exploration category and hand off only when it is enabled and its contract
permits one bounded documentation-artifact write while keeping project source read-only.
.claude/.codebase-info/ artifact root, continue inline and say: Sidequest is loaded, but its live taxonomy cannot accept map artifacts yet.codebase-exploration artifact ticket with
files: [".claude/.codebase-info/"] and this exact clause. Do it immediately without checking in with
the user: Artifact write carve-out: write only .claude/.codebase-info/**; all project source is read-only.The handoff ticket records the stored gitCommit, current HEAD, initial dirty-source status outside
.claude/.codebase-info/, and the current map document list. Its writer diffs from stored state through
the visible working tree, reassesses the warranted docs, preserves intentional manual map edits, touches
only affected docs, and replaces .map-state.json last. It must inspect the shared tree, verify every
cited path, skip generated/vendor/secret material, never touch CLAUDE.md, and never invoke
map-codebase or create nested mapping tickets. Include this lifecycle marker verbatim:
Shared-tree artifact mode: leave the generated map as working-tree output; verify, comment, and close with done. Do not commit, submit, push, or edit source.The invoking parent session verifies the generated paths and state after the writer closes, then commits the map if its flow permits.
Before dispatch, comment this reason:
Shared-tree dispatch is required because the map must describe the current working tree, including intentional uncommitted source, and the generated .claude/.codebase-info/** files must remain visible to the invoking session.Dispatch with { sharedTree: true }, pass returned spawn fields to the native Agent unchanged, then
end the turn. Resume only on native completion, never by polling or a proxy waiter. Do not make
concurrent project edits while the writer owns the shared tree.
On completion, inspect the ticket evidence and verify INDEX.md, changed paths, and hashes without
redoing the codebase reading:
node -e "const fs=require('node:fs'),c=require('node:crypto'),p='.claude/.codebase-info/',s=JSON.parse(fs.readFileSync(p+'.map-state.json','utf8'));if(!Array.isArray(s.documents))throw Error('documents');for(const n of new Set(['INDEX.md',...s.documents])){const b=fs.readFileSync(p+n,'utf8');if(!s.hashes||s.hashes[n]!==c.createHash('sha256').update(b.replace(/\r/g,'')).digest('hex'))throw Error(n)}"Require cited-path checks, docs created/updated/removed, and confirmation that CLAUDE.md is untouched.
A writer whose source snapshot moves reconciles once or releases rather than certifying a mixed snapshot.
For a broad diff, use a codebase-exploration story with read-only area tickets and one dependent final
artifact writer. Area tickets report paths, symbols, entry points, and flows in their threads; never use
nested generic tasks.
For an add, dispatch, spawn, or executor failure, inspect pulse and the ticket thread. Retry once only
when a diagnosis changes the launch and no live claim remains. After a second failure, record the
evidence, ensure no writer owns the claim, validate or repair any partial map inline in this shared tree,
replace state last, and comment that the ticket completed through inline fallback. Give the user one short
line naming the failure and inline fallback.
An update is not only "edit the docs that exist." First re-evaluate which documents this codebase now warrants, because the right set drifts as the project grows. The map should always carry the docs that apply now, no more and no less:
Dockerfile/compose.yaml, so
create docker.md now even though the last map had none. First datastore → add database.md. First
dependency manifest → add dependencies.md. A new major subsystem that no standard doc covers → add
a custom doc (e.g. ml-pipeline.md, realtime.md), the same way map-codebase would. This is the
common case the user cares about: you don't make docker.md until there's Docker, and once the code
is dockerized, the next update is exactly when it should appear.INDEX.md row.Then map the remaining changes onto the existing documents:
| If this changed… | Update… |
|---|---|
| Directory layout (folders added/removed/renamed) | directory-structure.md |
| Components / services / module boundaries | architecture.md, modules.md |
| New/removed routes, CLI commands, jobs, handlers | entry-points.md |
| API contracts, events, queues, integrations | communication.md |
| Schema, migrations, new tables/collections | database.md |
| Dependency manifest (added/removed/upgraded) | dependencies.md, maybe tech-landscape.md |
| Design patterns, error handling, test setup, config | patterns.md |
| Linter/formatter config or naming conventions | coding-style.md |
| Container/compose setup | docker.md |
| Setup steps or common processes | onboarding.md |
| Project name/description, or any doc added/removed | INDEX.md |
Prioritize structural changes (new/removed entry points, components, infra, data model) over cosmetic ones. Skip pure internal refactors that don't change any documented interface, layout, or convention.
For each affected document:
*Last Updated: YYYY-MM-DD* line to today's real date.Then carry out the additions and removals you identified in Step 3:
../map-codebase/references/document-templates.md (or, for a non-standard aspect, follow the same
shape), then add it to INDEX.md and to the documents list in state.INDEX.md row), or
prune the stale sections from a shared doc. Remove orphaned references.After the final document edits, run the bundled state writer from the installed plugin:
node "${CLAUDE_PLUGIN_ROOT}/scripts/write-map-state.js" --project .It discovers the current documents, records today's date and the current commit (or null outside a
git repo), hashes the final bytes, and atomically replaces .map-state.json last. A manual edit or
interrupted write can leave hashes stale; that is safe because hooks hash live files and treat the
manifest only as a consistency check.
Then summarize for the user: which docs you updated, created, or removed, and why. Outside shared-tree
artifact mode, commit the refreshed map unless the user explicitly says not to commit, and include
.map-state.json alongside the edited docs. An uncommitted manifest means every other checkout
sees stale hashes and re-flags docs that are actually current. If git check-ignore .claude/.codebase-info/INDEX.md matches (a broad .claude/* rule), add !.claude/.codebase-info/
and !.claude/.codebase-info/** to .gitignore in the same commit; the ignore warning on git add
does not mean the map is local-only. If the user explicitly says not to commit, leave the verified map
changes and .map-state.json in the working tree and say plainly that they still need review or
committing.
CLAUDE.md. The plugin's hook handles loading; the map lives entirely in
.claude/.codebase-info/. Leave CLAUDE.md (and CLAUDE.local.md) alone.INDEX.md reflects any added/removed docsLast Updated dates current on every touched docCLAUDE.md left untouched.map-state.json rewritten with today's date, current commit, and document list.map-state.json (or the user told plainly they still need
committing)© Eigenwise, 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/codebase-mapper/skills/update-codebase-map of Eigenwise/eigenwise-toolshed.
Open the folder on GitHubat commit 0140ec1
Update Codebase Map 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 |
|---|---|---|---|---|---|---|
| Update Codebase Map this skillEigenwise/eigenwise-toolshed | 277 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Monitor CInrwl/nx | 29k | 5 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Terraform and OpenTofu Guideagentscope-ai/QwenPaw | 35k | 6 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Vercel Optimize Auditvercel-labs/agent-skills | 32k | 8 repos | ~4.3k | Automated safety check: Pass | None | |
| Analyze GitHub Action Logswithastro/astro | 63k | 1 repos | ~1.3k | Automated safety check: Pass | Custom licence | |
| Docs Learn PR Previewnetdata/netdata | 81k | — | ~2k | Automated safety check: Pass | GPL-3.0 |
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
agentscope-ai/QwenPaw
Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.
vercel-labs/agent-skills
Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.
withastro/astro
Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.
netdata/netdata
Use only when the user explicitly asks to build, run, preview, inspect, or validate learn.netdata.cloud locally using the contents of a PR or documentation branch before merge.
netdata/netdata
Inspect Netdata-org source checkouts under NETDATAREPOSDIR, or set up and synchronize that mirror when requested.
Eigenwise/eigenwise-toolshed
Create or edit a live-rules instruction in the project's atomic rule set.
Eigenwise/eigenwise-toolshed
Create a self-maintaining codebase map in .claude/.codebase-info/.
Eigenwise/eigenwise-toolshed
Set up a Claude Code workspace for a new or existing project, informed by hindsight from the user's whole session history.
Eigenwise/eigenwise-toolshed
Audit a Sidequest board for completed, stale, duplicate, or superseded tickets, then safely close clear cases.
Eigenwise/eigenwise-toolshed
Inspect, audit, enable, or disable project live-rules. An agent skill from Eigenwise/eigenwise-toolshed.
Eigenwise/eigenwise-toolshed
Run a read-only health check for Quartermaster and installed Toolshed plugins.
Categories
Refresh an existing .claude/.codebase-info/ map after code changes. Update Codebase Map is an agent skill from Eigenwise/eigenwise-toolshed.codebase-info/ map after code changes.
Update Codebase Map fits situations like: architecture docs; use map-codebase to create one.
Run `npx skills add Eigenwise/eigenwise-toolshed --skill update-codebase-map -a claude-code`. Or copy the skill folder (plugins/codebase-mapper/skills/update-codebase-map in Eigenwise/eigenwise-toolshed) into .claude/skills/update-codebase-map in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Eigenwise/eigenwise-toolshed --skill update-codebase-map -a codex`. Or copy the skill folder (plugins/codebase-mapper/skills/update-codebase-map in Eigenwise/eigenwise-toolshed) into .agents/skills/update-codebase-map 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 Eigenwise/eigenwise-toolshed --skill update-codebase-map -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/update-codebase-map, .gemini/skills/update-codebase-map, .github/skills/update-codebase-map and .opencode/skills/update-codebase-map in your project.
Going by SKILL.md and its folder, Update Codebase Map needs the command-line tools its instructions call (git and node). Our summary lists: Docker.
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.
Update Codebase Map is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 13k 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 Update Codebase Map: Monitor CI (nrwl/nx, 29k stars), Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 35k stars), Vercel Optimize Audit (vercel-labs/agent-skills, 32k stars) and Analyze GitHub Action Logs (withastro/astro, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Eigenwise (a GitHub user) maintains it in Eigenwise/eigenwise-toolshed, which has 277 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 5, 2026.
Source: Eigenwise/eigenwise-toolshed on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.