LibreChat Removal Plan 3
Scope: Update the in-scope Skills and the Update Infrastructure reference file, then run the final verification grep across published files. This Plan contains the work from the original Plan Tasks 4–5.
Plan boundary: Do not edit the out-of-scope Skills Forge/Skills/Vercel_MCP/, Forge/Skills/Linear_MCP/, or Forge/Skills/Suprsend_MCP/ in this Plan. Spec §4 explicitly excludes them.
Task 1 — Update All In-Scope Skills and Infrastructure State Reference
Spec §4: The following published Skills reference LibreChat-era infrastructure and are updated to reflect the current environment: MCP_Development, Verify_Infrastructure, Playwright_MCP, Typesense_MCP, Build_Typescript, Git_Dashboard, Preview, and Update_Infrastructure/references/infrastructure_state.md.
Spec §5: All credential references across in-scope Skills point to environment variables on the
forgenticcontainer, not to/workspace/librechat/.secretsorlibrechat.yaml. No Skill referenceslibrechat.yamlas a configuration source.Spec §6: All references to the “LibreChat container” are replaced with the forgentic container on Railway. Shell commands (bash, curl, etc.) are invoked via
forge-bash__run, not executed directly inside a LibreChat container.
Edit the 8 targets in the order below. Before editing each target, run a file-local grep for librechat, LibreChat, forge-spawn, librechat.yaml, and /workspace/librechat so you can confirm which lines are being replaced. After editing each target, run the same grep again; it must return no hits for that target before moving to the next target.
-
Update
Forge/Skills/MCP_Development/SKILL.md.- Replace the frontmatter
descriptionso it says the Skill is for MCP servers in the uvilo-mono / forgentic environment. - In
### 1. Launching MCP Servers, rename the bold noteNPX in LibreChattoNPX in forgenticor equivalent current wording. - In that same note, keep the rule to include
-yinnpxargs, but replace former-container wording with non-interactive forgentic Railway container wording. - In
### 2. Schema Compatibility, replace the fix sentence so schemas are rewritten before passing them to the current Bot/MCP tool layer. - In
### 3. Integer 0 Rejection, replace the former validator name with current uvilo-mono/Bot MCP validation wording while keeping theAnnotated[int, Field(ge=0)]fix. - Replace
### 4. Container Environmentwith a current forgentic Railway container section: bash and curl are available throughforge-bash__run; do not instruct agents to execute directly inside a former container. - Update
## Gotchasso no bullet names the former runtime.
- Replace the frontmatter
-
Update
Forge/Skills/Verify_Infrastructure/SKILL.md.- In
## Prerequisites, replace the former secrets-file prerequisite with a prerequisite that required credentials are available through environment variables on the forgentic container or through the relevant MCP/tool configuration. - In Procedure step 4, replace the instruction to consult the former secrets file with an instruction to use the Playwright skill’s current credential/environment-variable guidance.
- In
## Rules, replace the credential-source rule so credentials come from environment variables or tool-specific MCP configuration, not a former file path. - If the opening outdated warning is no longer accurate after these changes, replace it with a short current-usage note rather than leaving the Skill marked unusable.
- In
-
Update
Forge/Skills/Playwright_MCP/SKILL.md.- In
## When to Use, remove the former chat domain from the examples and keep current examples such asuvilo.aiandos.uvilo.com. - In
### 2. Transport, keep the SSE guidance, but replace the sentence that says the former runtime reconnects with a new session. Use current client/session wording instead. - Replace
### 4. Authenticated Browsingentirely.- State that credentials come from environment variables on the forgentic container or approved MCP/tool configuration.
- Remove the former secrets-file path and the former credential key.
- Keep the instruction to ask the user if required credentials are not available.
- Replace
### 5. Vercel Deployment Protection Bypassso the bypass token comes from an environment variable such asVERCEL_PROTECTION_BYPASS, not a former secrets file path. - Update
## Gotchasif any bullet still references the former runtime or former credential location.
- In
-
Update
Forge/Skills/Typesense_MCP/SKILL.md.- In
## Gotchas, replace the bulletNo curl in LibreChat container — use Python urllib for direct API calls. - The replacement should say
curlis available throughforge-bash__run, while the existing Pythonurllibexample remains a valid fallback for direct API calls. - Keep the existing
/proc/1/environguidance for Railway environment variables if it remains accurate for the forgentic container.
- In
-
Update
Forge/Skills/Build_Typescript/SKILL.md.- In
## Rules, replace the rule that says to run the build before restarting the former runtime. - The replacement should say to run the build before restarting or redeploying the current uvilo-mono / forgentic runtime when TypeScript MCP/server source was modified.
- In
-
Update
Forge/Skills/Git_Dashboard/SKILL.md.- In
## Step 3: Vercel Deployment, replace the step that reads the bypass token from the former secrets file. - Replace the Python snippet with an environment-variable lookup, for example reading
VERCEL_PROTECTION_BYPASSfrom the forgentic Railway environment. - In the placeholder description for
BYPASS_TOKEN, replace.secretswording with environment-variable wording.
- In
-
Update
Forge/Skills/Preview/SKILL.md.- In
## Steps, replace step 4 so the bypass token comes from an environment variable on the forgentic container, such asVERCEL_PROTECTION_BYPASS. - In
## Placeholders, replace theTOKENrow so it says the value comes from the Vercel bypass environment variable, not.secrets.
- In
-
Update
Forge/Skills/Update_Infrastructure/references/infrastructure_state.md.- In
## Railway, delete the former service ID row and replace it with a row for the current uvilo-mono / forgentic service if the current ID is known. If the ID cannot be verified, omit the service-ID row rather than preserving obsolete data. - In
## Services, delete rows for former images and former services. - Add or keep rows for current services only: uvilo-mono / forgentic runtime, Playwright MCP, Typesense, Vercel/docs-related infrastructure if tracked here, and any current data stores.
- Remove former image names, former volume descriptions, and former admin/RAG rows if they only belonged to the former stack.
- In
## Key Connection Variables, remove variables that only supported the former stack and add current uvilo-mono / forgentic, Typesense, Vercel, and MCP-related environment variables.
- In
-
Run one in-scope grep over all 8 targets:
-
If the grep returns any hit, return to the relevant substep above and replace it before continuing.
-
Build to verify, then commit and push.
Task 2 — Final Published-File Verification
Spec §8: A
grep -ri "librechat" --include="*.md"on all published files returns zero hits. No LibreChat references remain in active, published Persistent Knowledge.
Run the final verification after Plans 1, 2, and Task 1 of this Plan are complete.
-
Build the site so generated pages and sidebar state are current.
-
Create a list of active published markdown files, excluding archived content and dependency folders:
-
Grep the published-file list for the forbidden term:
-
The command must return no output. If it returns hits in any in-scope active published file, fix the relevant Plan 1, Plan 2, or Task 1 target and repeat the grep.
-
If the only remaining hits are in out-of-scope published Skills (
Vercel_MCP,Linear_MCP, orSuprsend_MCP), do not edit those Skills in this Plan. Stop and report that Spec §4 excludes those Skills while Spec §8 requires zero published-file hits, so the conflict needs a human scope decision. -
When the grep returns no output, record the verification result in the implementation notes, then commit and push any final documentation changes.