kb-rebuild-indexes
Rebuild the knowledge base shelf-index with hash-based change detection.
Skill by SteveGJones
Chalk Labs
Need help deploying kb-rebuild-indexes?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/stevegjones-kb-rebuild-indexes
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/kb-rebuild-indexes
What's inside
- Skill name
kb-rebuild-indexes- Description
- Rebuild the knowledge base shelf-index with hash-based change detection. Incremental by default — only re-extracts files whose content has changed since the last index. Use after ingesting new sources, after editing library files, or whenever the librarian agent reports a stale index.
- License
- MIT
- Instructions
- 187 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- shelf-index-example.md · templates/
SKILL.md (first lines)
# Rebuild Knowledge Base Indexes
> **Script-based**: This skill runs `build_shelf_index.py` via Bash — no agent dispatch needed and no library file content loaded into session context.
Rebuild the shelf-index for the knowledge base. Incremental by default: compares each library file's content hash against the recorded hash in the index, and only re-extracts entries whose hash has changed.
## Arguments
- `--full` — Force complete rebuild. Re-extracts every entry even when the hash matches. Use this when:
- The extraction logic itself has changed (you updated this skill)
- You suspect the index has drifted in a way the hash check missed
- You're starting from a deleted or corrupted index
Without this flag, the rebuild is incremental and skips unchanged files.
- `--dry-run` — Report what would change (including the `Scanned:` / `Excluded:` breakdown) without writing `_shelf-index.md` or `log.md`.
- `--force` — Override the bulk-add safety rail (see "Safety rail" below). **Never pass this on your own initiative** — only after the user has seen the breakdown and confirmed.
## Excluding directories: `.kb-index-ignore`
The rebuild indexes every `.md` file under the library, except the top-level `raw/` directory (always excluded). To keep other directories out of the index — vendored dumps, scraped reference material, anything that is not a curated library file — create `<library_path>/.kb-index-ignore`:
```
# one library-relative directory per line
iso20022/
vendor/standards
```
- One directory path per line, relative to the library root; a trailing `/` is optional.
- A path matches that directory and everything under it. No globs.
- `#` comments and blank lines are ignored.
- Absolute paths and `..` entries are rejected. An entry that matches nothing produces a warning.
## Preflight
Verify the project has a knowledge base. The `[Knowledge Base]` section in `CLAUDE.md` should declare:
- `library_path` — default `library/`
- `shelf_index_path` — default `library/_shelf-index.md`
If `CLAUDE.md` does not contain a `[Knowledge Base]` section, report: "No knowledge base configured. Add a `[Knowledge Base]` section to CLAUDE.md (see `plugins/sdlc-knowledge-base/skills/kb-init/templates/claude-md-section.md`) before running this skill."
If the library path does not exist, report: "Library directory `<path>` does not exist. Create it or run `/sdlc-knowledge-base:kb-init` before running this skill."
## Steps
### 1. Read knowledge base configuration
Read `CLAUDE.md` and locate the `[Knowledge Base]` section. Extract:
- `library_path` — default `library/`
- `shelf_index_path` — default `library/_shelf-index.md`
Stop with the preflight errors above if either check fails.
### 2. Verify build_shelf_index module importable
```bash
python3 -c "
import sys, os, importlib.util
PLUGIN_ROOT = os.environ.get('CLAUDE_PLUGIN_ROOT', '')
SCRIPTS = os.path.join(PLUGIN_ROOT, 'scripts')
INIT = os.path.join(SCRIPTS, '__init__.py')
if os.path.isfile(INIT) and 'sdlc_knowledge_base_scripts' not in sys.modules:
spec = importlib.util.spec_from_file_location(
'sdlc_knowledge_base_scripts', INIT,
submodule_search_locations=[SCRIPTS])
if spec and spec.loader:
module = importlib.util.module_from_spec(spec)
sys.modules['sdlc_knowledge_base_scripts'] = module
spec.loader.exec_module(module)
try:
import sdlc_knowledge_base_scripts.build_shelf_index # noqa: F401
print('OK')
except ImportError:
print('MISSING')
"
```
If output is `MISSING`: report "build_shelf_index module not found. Update the sdlc-knowledge-base plugin." and stop.
### 3. Run the rebuild script
Construct the argument list from Step 1 and the skill argument (`--full` if provided):
```bash
python3 -c "
import sys, os, importlib.util
PLUGIN_ROOT = os.environ.get('CLAUDE_PLUGIN_ROOT', '')
SCRIPTS = os.path.join(PLUGIN_ROOT, 'scripts')
INIT = os.path.join(SCRIPTS, '__init__.py')
if os.path.isfile(INIT) and 'sdlc_knowledge_base_scripts' not in sys.modules:
spec = importlib.util.spec_from_file_location(
'sdlc_knowledge_base_scripts', INIT,
submodule_search_locations=[SCRIPTS])
if spec and spec.loader:
module = importlib.util.module_from_spec(spec)
sys.modules['sdlc_knowledge_base_scripts'] = module
spec.loader.exec_module(module)
from sdlc_knowledge_base_scripts.build_shelf_index import main
args = ['<library_path>', '--shelf-index-path', '<shelf_index_path>']
# Append flags the skill was called with:
# args.append('--full') # skill argument --full
# args.append('--dry-run') # skill argument --dry-run
# args.append('--force') # ONLY on the re-run after the user confirms a safety-rail refusal
sys.exit(main(args))
"
```
Replace `<library_path>` and `<shelf_index_path>` with the values from Step 1. Uncomment each `args.append(...)` line that applies: `--full` and `--dry-run` when the skill argument included them, and `--force` only on the re-run after the user has confirmed a safety-rail refusal (see below). Never add `--force` on the first run.
### 4. Report results
Print the script output directly to the user. Expected format:
```
Shelf-index rebuilt: library/_shelf-index.md
Mode: incremental
Files scanned: 22
Unchanged: 18 (skipped)From SteveGJones/ai-first-sdlc-practices, MIT.
More from SteveGJones/ai-first-sdlc-practices
- 0.643score
kb-ingest-bulk
SteveGJones
Parallel map-reduce bulk ingest for large source sets.
SkillAFreshness: A★ 41Claude Code +9 - 0.640score
kb-ingest-batch
SteveGJones
Drive agent-knowledge-updater over a batch of staged files in library/raw/.
SkillAFreshness: A★ 41Claude Code +9 - 0.640score
kb-query
SteveGJones
Query the project knowledge base.
SkillAFreshness: A★ 41Claude Code +9 - 0.555score
ios-scaffold
SteveGJones
Scaffold a new iOS app with SDLC and submission-safe defaults — diffable project files, app + test targets, deployment-target policy, a git-stamped build…
SkillCFreshness: C★ 41Claude Code +9 - 0.555score
android-signing-setup
SteveGJones
Set up Android app signing safely — generate an upload keystore, enroll in Play App Signing, and wire a Gradle release signingConfig that reads secrets from a…
SkillCFreshness: C★ 41Claude Code +9 - 0.555score
ios-ci
SteveGJones
Generate a GitHub Actions workflow for iOS — macOS runner, SPM/DerivedData caching, build, test on a simulator matrix, run the iOS pre-flight checks, and…
SkillCFreshness: C★ 41Claude Code +9 - 0.555score
android-play-release
SteveGJones
Validated Google Play release — runs the pre-flight checks and clears the Play policy gates, builds a signed app bundle with a git-stamped versionCode…
SkillCFreshness: C★ 41Claude Code +9 - 0.555score
kb-lint
SteveGJones
Health-check the project knowledge base.
SkillCFreshness: C★ 41Claude Code +9 - 0.555score
android-scaffold
SteveGJones
Scaffold a new Android app with SDLC and Play-safe defaults — Kotlin/Compose Gradle project with version catalog, convention plugins, module layout, a…
SkillCFreshness: C★ 41Claude Code +9 - 0.555score
android-ci
SteveGJones
Generate a GitHub Actions workflow for Android — JDK + Gradle caching, build, unit + instrumented tests, Android Lint, run the Android pre-flight checks, and…
SkillCFreshness: C★ 41Claude Code +9 - 0.555score
council-policy
SteveGJones
Policy for the cross-model council: when to hand off to an installed sibling plugin's own slash command (`/codex:*`) versus dispatching our…
SkillCFreshness: C★ 41Claude Code +9 - 0.555score
ios-signing-doctor
SteveGJones
Diagnose and fix iOS code-signing, provisioning, and entitlement failures — the "no signing certificate / no profiles / doesn't match / get-task-allow"…
SkillCFreshness: C★ 41Claude Code +9
Signals
- Stars
- 41
- Forks
- 6
- Open issues
- 37
- Last commit (this folder)
- Oct 3, 2026 (1 month ago)
- Last release
- Aug 10, 2025 (1 year ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from SteveGJones
- 0.643score
kb-ingest-bulk
SteveGJones
Parallel map-reduce bulk ingest for large source sets.
SkillAFreshness: A★ 41Claude Code +9 - 0.640score
kb-ingest-batch
SteveGJones
Drive agent-knowledge-updater over a batch of staged files in library/raw/.
SkillAFreshness: A★ 41Claude Code +9 - 0.640score
kb-query
SteveGJones
Query the project knowledge base.
SkillAFreshness: A★ 41Claude Code +9 - 0.555score
council-policy
SteveGJones
Policy for the cross-model council: when to hand off to an installed sibling plugin's own slash command (`/codex:*`) versus dispatching our…
SkillCFreshness: C★ 41Claude Code +9 - 0.555score
kb-lint
SteveGJones
Health-check the project knowledge base.
SkillCFreshness: C★ 41Claude Code +9 - 0.555score
android-ci
SteveGJones
Generate a GitHub Actions workflow for Android — JDK + Gradle caching, build, unit + instrumented tests, Android Lint, run the Android pre-flight checks, and…
SkillCFreshness: C★ 41Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get kb-rebuild-indexes running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
kb-rebuild-indexes skill. Agent Mart. https://agentmart.dev/skills/stevegjones-kb-rebuild-indexes (last updated 2026-10-24)