Skip to content
approved Visibility internal Owner erik@uvilo.com Approver _ Created 2026-07-25 Updated 2026-07-25

Orchestration 2 Plan 2

Scope: Consolidate skills (delete Create_Page, rename Update_Sidebar → Manage_Pages), rewrite all agent prompt files with include directives, rename prompt files to Title_Case_Prompt.md convention, and update all references across the codebase.

Prerequisite: Plan 1 is completed (include directive system exists in agent-sync.ts, shared snippet files exist).


Task 1 — Delete Create Page skill

Spec §7.1: Forge/Skills/Create_Page/ is deleted. Its logic has been merged into the renamed Manage Pages skill.

  1. Trash the directory: move Forge/Skills/Create_Page/ to trash
  2. Remove the Create_Page entry from Forge/Skills/index.md
  3. Update files that reference Create_Page:
FileChange
Forge/Configs/Agents/FORGE_CHAT.mdRemove Create_Page from the Skills List line
Forge/Skills/Project_Extract/SKILL.mdChange Create_Page and Update_SidebarManage_Pages
Forge/Skills/index.mdRemove the - [Create_Page](./Create_Page/SKILL.md) line

Task 2 — Rename Update_Sidebar → Manage_Pages

Spec §7.2: Forge/Skills/Update_Sidebar/ is renamed to Forge/Skills/Manage_Pages/. The combined skill manages both filesystem and sidebar hierarchies.

  1. Create the new directory Forge/Skills/Manage_Pages/
  2. Copy all files from Forge/Skills/Update_Sidebar/ into Forge/Skills/Manage_Pages/:
    • SKILL.md → update frontmatter: name: manage-pages, title: "Manage Pages"
    • SKILL.raw.md → update frontmatter: name: manage-pages, title: "Manage Pages" (if it exists)
    • generate_view_pages.ts → update the internal path reference from 'Update_Sidebar' to 'Manage_Pages' in the line that resolves view_folder_config.json
    • view_folder_config.json → no changes needed
  3. Update heading 1 in Forge/Skills/Manage_Pages/SKILL.md from # Update Sidebar# Manage Pages
  4. Update the “When to Use” description in SKILL.md to reflect the broader scope (creating, renaming, moving, deleting pages and folders — not just sidebar)
  5. Trash Forge/Skills/Update_Sidebar/
  6. Update the name field in SKILL.raw.md frontmatter from update-sidebar to manage-pages (if SKILL.raw.md exists)
  7. Update ALL files that reference Update_Sidebar or update-sidebar:
FileChange
.internal/package.json"tsx ../Forge/Skills/Update_Sidebar/generate_view_pages.ts""tsx ../Forge/Skills/Manage_Pages/generate_view_pages.ts"
Forge/Configs/Agents/FORGE_CHAT.mdSkills List: Update_SidebarManage_Pages; SIDEBAR RULE: Update_SidebarManage_Pages
Forge/Configs/Agents/PAGE_WORKER.md (will be renamed in Task 4)Update_Sidebar skillManage_Pages skill
Forge/Configs/Agents/TASK_RUNNER.mdPage WorkerPage Handler in dispatch table (line 48)
Forge/Forge_Agents_User_Guide.mdPage WorkerPage Handler (lines 53, 86)
Forge/Output/Admin_Panel_Plan.mdUpdate_Sidebar skillManage_Pages skill (line 113)
Forge/Skills/Forge_Optimizer/references/example_report.mdUpdate_Sidebar path reference → Manage_Pages (line 23)
Forge/Configs/Agents/PROJECT_EVALUATOR.mdupdate-sidebar skillmanage-pages skill
Forge/Configs/Agents/PROJECT_THINKER.mdupdate-sidebar skillmanage-pages skill
Forge/Configs/Agents/PROJECT_WORKER.mdupdate-sidebar skillmanage-pages skill
Forge/Forge_Content_System.mdAll Update_Sidebar path references → Manage_Pages
Forge/Forge_Document_Structure.mdUpdate_Sidebar/view_folder_config.jsonManage_Pages/view_folder_config.json
Forge/Forge_Agent_Architecture.mdUpdate_Sidebar references → Manage_Pages
Forge/Skills/index.md- [Update_Sidebar](./Update_Sidebar/SKILL.md)- [Manage_Pages](./Manage_Pages/SKILL.md)
Forge/Skills/Project_Complete/SKILL.mdUpdate_SidebarManage_Pages
Forge/Skills/Project_Archive/SKILL.mdUpdate_SidebarManage_Pages
Forge/Skills/Project_Rename/SKILL.mdUpdate_SidebarManage_Pages
Forge/Skills/Project_Spec/SKILL.mdUpdate_SidebarManage_Pages
Forge/Skills/Project_Create/SKILL.mdUpdate_SidebarManage_Pages
Forge/Skills/Project_Research/SKILL.mdUpdate_SidebarManage_Pages
Forge/Skills/Project_Requirements/SKILL.mdUpdate_SidebarManage_Pages
Forge/Skills/Project_Plan/SKILL.mdUpdate_SidebarManage_Pages
Forge/Skills/Project_Implement/SKILL.mdUpdate_SidebarManage_Pages
Forge/Skills/Project_Extract/SKILL.mdCreate_Page and Update_SidebarManage_Pages
  1. Update sidebar: remove old Update_Sidebar entries, add Manage_Pages entries (follow the Manage_Pages skill itself for the procedure)

Tip: Use a shell script or grep+sed to find and replace all occurrences across the codebase. Verify with:

grep -rn "Update_Sidebar\|update-sidebar" --include="*.md" --include="*.ts" --include="*.json" /workspace/erik/uvilo-os/ | grep -v ".trash/" | grep -v "node_modules" | grep -v ".generated/" | grep -v ".internal/dist"

Task 3 — Rewrite agent prompt files with include directives

Spec §3: Shared snippets are included by relevant agents. Spec §5: Page_Handler_Prompt.md includes Manage_Pages skill. Spec §6: Only Manage_Pages is inlined in Page Handler.

For each agent prompt file, add the appropriate <!-- include: --> directives and rewrite to eliminate duplicated content. Each new file replaces the corresponding old file (old files are trashed in Task 4).

Include assignment

AgentEnv_SnippetProject_SnippetManage_Pages skill
Forge ChatNoNoNo
Task RunnerYesNoNo
Project RunnerYesNoNo
Page HandlerYesNoYes
Project ThinkerYesYesNo
Project EvaluatorYesYesNo
Project WorkerYesYesNo

Rewrite heuristic

  1. Place <!-- include: --> directives immediately after the H1 heading, one per line, in the order listed above
  2. Remove any content from the existing prompt that is now provided by an included snippet or skill
  3. For sidebar/page rules that referenced update-sidebar skill, replace with manage-pages skill
  4. Keep all other content unchanged
  5. Update frontmatter title to {Agent Name} Prompt (e.g., "Forge Page Handler Prompt")
  6. The role name “Page Worker” becomes “Page Handler” throughout

Rewrite rubric (evaluator checks)

  • Each prompt has the correct includes per the table above
  • No content duplicated between a prompt and its included snippets/skills
  • All update-sidebar / Update_Sidebar references replaced with manage-pages / Manage_Pages
  • All Page Worker references replaced with Page Handler
  • No content removed that isn’t covered by an include
  • Frontmatter title updated to {Agent Name} Prompt
  • Each prompt’s own word count is within its category budget (Chat ≤ 1,500; Runner ≤ 700; Worker/Thinker/Evaluator/Handler ≤ 300)

3.1 Forge_Chat_Prompt.md (replaces FORGE_CHAT.md)

No includes (TBD: may include Env_Snippet — see include assignment table). Key changes: remove Create_Page from Skills List, change Update_SidebarManage_Pages, remove Project State.md and Project History.md from CONTEXT BUDGETS table.

3.2 Task_Runner_Prompt.md (replaces TASK_RUNNER.md)

Include: Env_Snippet only. Also update Page WorkerPage Handler in dispatch table (line 48 of current file).

3.3 Project_Runner_Prompt.md (replaces PROJECT_RUNNER.md)

Include: Env_Snippet only. Also update Page WorkerPage Handler in any dispatch references.

3.4 Page_Handler_Prompt.md (replaces PAGE_WORKER.md)

Include: Env_Snippet + Manage_Pages skill. This is the most significantly refactored prompt — the inlined skill replaces the runtime skill read, so the prompt’s own content reduces to ~100 words (responsibility + tools + error handling). The role name is “Page Handler” (not “Page Worker”).

3.5 Project_Thinker_Prompt.md (replaces PROJECT_THINKER.md)

Include: Env_Snippet + Project_Snippet.

3.6 Project_Evaluator_Prompt.md (replaces PROJECT_EVALUATOR.md)

Include: Env_Snippet + Project_Snippet.

3.7 Project_Worker_Prompt.md (replaces PROJECT_WORKER.md)

Include: Env_Snippet + Project_Snippet.


Task 4 — Rename prompt files and update agent-sync.ts

Spec §2: All agent prompt files follow Title_Case_With_Underscores_Prompt.md naming.

  1. For each prompt file, the new file was already created in Task 3 with the new name. Now trash the old files:
Old FileNew File (created in Task 3)
Forge/Configs/Agents/FORGE_CHAT.mdForge/Configs/Agents/Forge_Chat_Prompt.md
Forge/Configs/Agents/TASK_RUNNER.mdForge/Configs/Agents/Task_Runner_Prompt.md
Forge/Configs/Agents/PROJECT_RUNNER.mdForge/Configs/Agents/Project_Runner_Prompt.md
Forge/Configs/Agents/PAGE_WORKER.mdForge/Configs/Agents/Page_Handler_Prompt.md
Forge/Configs/Agents/PROJECT_THINKER.mdForge/Configs/Agents/Project_Thinker_Prompt.md
Forge/Configs/Agents/PROJECT_EVALUATOR.mdForge/Configs/Agents/Project_Evaluator_Prompt.md
Forge/Configs/Agents/PROJECT_WORKER.mdForge/Configs/Agents/Project_Worker_Prompt.md
  1. Trash each old file using uvilo-trash.

  2. Update AGENT_FAMILIES in orchestrator/src/agent-sync.ts — change all promptFile values:

FamilyOld promptFileNew promptFile
Forge ChatForge/Configs/Agents/FORGE_CHAT.mdForge/Configs/Agents/Forge_Chat_Prompt.md
Forge Page Worker → Forge Page HandlerForge/Configs/Agents/PAGE_WORKER.mdForge/Configs/Agents/Page_Handler_Prompt.md
Forge Project WorkerForge/Configs/Agents/PROJECT_WORKER.mdForge/Configs/Agents/Project_Worker_Prompt.md
Forge Project EvaluatorForge/Configs/Agents/PROJECT_EVALUATOR.mdForge/Configs/Agents/Project_Evaluator_Prompt.md
Forge Project ThinkerForge/Configs/Agents/PROJECT_THINKER.mdForge/Configs/Agents/Project_Thinker_Prompt.md
Forge Project RunnerForge/Configs/Agents/PROJECT_RUNNER.mdForge/Configs/Agents/Project_Runner_Prompt.md
Forge Task RunnerForge/Configs/Agents/TASK_RUNNER.mdForge/Configs/Agents/Task_Runner_Prompt.md
  1. Also in agent-sync.ts, rename the “Forge Page Worker” family to “Forge Page Handler” and update the member name from “Forge Page Worker” to “Forge Page Handler” and description from “Create, rename, move, delete pages; update front matter; update sidebar” to “Create, rename, move, delete pages and folders; manage sidebar and front matter”.

  2. Update ALL other files that reference the old prompt file names:

FileChanges
Forge/Forge_Agent_Orchestration.mdUpdate agent type names: Page Worker → Page Handler
Forge/Forge_Agents_User_Guide.mdPage WorkerPage Handler (lines 53, 86)
Forge/Forge_Agent_Architecture.mdFORGE_CHAT.md references → Forge_Chat_Prompt.md
Forge/Assets/LibreChat_Agent_Instructions.mdFORGE_CHAT.md references → Forge_Chat_Prompt.md
Forge/Skills/Orchestration/SKILL.mdPage Worker → Page Handler
Forge/Skills/Update_Agents/SKILL.mdFORGE_CHAT.mdForge_Chat_Prompt.md, Page Worker → Page Handler, prompt file references
Forge/Skills/Forge_Optimizer/scripts/optimize.tsFORGE_CHAT.md path reference → Forge_Chat_Prompt.md

Task 5 — Update sidebar

Update the sidebar in .internal/astro.config.mjs:

  1. Remove sidebar entries for:

    • Forge/Skills/Create_Page/SKILL.md (deleted)
    • Forge/Skills/Update_Sidebar/SKILL.md (renamed)
    • Old prompt file entries (7 files)
  2. Add sidebar entries for:

    • Forge/Skills/Manage_Pages/SKILL.md
    • New prompt file entries (7 files)
    • Forge/Configs/Agents/Env_Snippet.md
    • Forge/Configs/Agents/Project_Snippet.md

Task 6 — Verify and commit

  1. Build to verify: cd /workspace/erik/uvilo-os/.internal && pnpm run build
  2. Run agent-sync dry-run to confirm no errors:
npx tsx /workspace/erik/uvilo-os/orchestrator/src/agent-sync.ts --dry-run
  1. Run agent-sync live to verify assembled prompts in production:
npx tsx /workspace/erik/uvilo-os/orchestrator/src/agent-sync.ts
  1. Verify no stale references remain:
# Check for old skill names
grep -rn "Create_Page\|Update_Sidebar" --include="*.md" --include="*.ts" --include="*.json" /workspace/erik/uvilo-os/ | grep -v ".trash/" | grep -v "node_modules" | grep -v ".generated/" | grep -v ".internal/dist"

# Check for old prompt file names
grep -rn "FORGE_CHAT\.md\|TASK_RUNNER\.md\|PROJECT_RUNNER\.md\|PAGE_WORKER\.md\|PROJECT_THINKER\.md\|PROJECT_EVALUATOR\.md\|PROJECT_WORKER\.md" --include="*.md" --include="*.ts" --include="*.json" /workspace/erik/uvilo-os/ | grep -v ".trash/" | grep -v "node_modules" | grep -v ".generated/" | grep -v ".internal/dist"
  1. Stage all changes, commit with message Orchestration_2: Plan 2 — skills consolidation + prompt overhaul + renaming, push to dev