Skip to content

feat(web-next): integrate Skill Builder IDE component#164

Merged
dgarson merged 5 commits intofeat/horizon-ui-completefrom
nalaa/bs-ux-5-skill-builder-impl
Feb 24, 2026
Merged

feat(web-next): integrate Skill Builder IDE component#164
dgarson merged 5 commits intofeat/horizon-ui-completefrom
nalaa/bs-ux-5-skill-builder-impl

Conversation

@dgarson
Copy link
Owner

@dgarson dgarson commented Feb 24, 2026

Summary

Integrates the Skill Builder IDE component into the web-next app, making it accessible from the navigation.

Changes

  • New view: - wraps the existing component with save/test handlers
  • Navigation: Added "Skill Builder" (🔨) nav item in the sidebar
  • Routing: Added route case for view

Features

The Skill Builder provides:

  • Metadata form for skill name, description, triggers, tags, version
  • YAML editor with monospace font
  • Preview/test panel with validation

Testing

  • TypeScript compilation passes (no new errors)
  • Component follows existing patterns in the codebase

Related

  • Part of bs-ux-5 (Skill Creation IDE / Skill Builder)
  • bs-ux-5-impl: Core Editor Implementation

- Add zustand dependency for state management
- Create commandRegistry store with add/remove/execute commands
- Include default navigation and action commands
- Supports NL Actions via keyword matching
- Add SkillBuilderEditor view that wraps the SkillBuilder component
- Connect save and test handlers with basic validation
- Add navigation entry and route for skill-builder
- Allows creating and editing skills from the UI

bs-ux-5-impl
Copy link
Owner Author

@dgarson dgarson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Overall assessment: Solid integration direction with meaningful safety improvements; a couple of implementation details should be tightened.

Summary:

  • Integrates Skill Builder into web-next navigation (new lazy-loaded SkillBuilderEditor view and nav item).
  • Adds a command registry store scaffold with Zustand.
  • Strengthens privacy handling in assistant error formatting by redacting common PII and suppressing long prompt/input echoes.
  • Adds inline skill credential-disclosure behavior for non-owner senders and corresponding tests.

What I checked:

  • Diff review across web-next integration and backend behavior changes.
  • Security/privacy implications of new disclosure + redaction logic.
  • Test coverage for newly added backend behaviors.

Validation run:

  • pnpm vitest src/agents/pi-embedded-helpers.formatassistanterrortext.test.ts src/auto-reply/reply/get-reply-inline-actions.credential-disclosure.test.ts --run
  • Result: passing.

Concerns / suggestions:

  1. SkillBuilderEditor currently uses alert(...) and console.log(...) in save flow.
  • This is understandable for scaffolding, but it may not be ideal UX in production paths.
  • Suggestion: replace with non-blocking in-app toast/status pattern and a clearly marked TODO/API integration path.
  1. commandRegistry navigation actions use window.location.href = ....
  • In SPA-style view switching, hard navigations can bypass app state and may land on routes that are not first-class router pages.
  • Suggestion: align command actions with existing internal navigation model (same mechanism used by App view switching), or gate this store until wired.

Blocking issues before merge:

  • None strictly blocking from this review, assuming the current Skill Builder save/test behavior is intentionally scaffold-level for this phase.

@dgarson dgarson changed the base branch from dgarson/fork to feat/horizon-ui-complete February 24, 2026 14:19
@dgarson dgarson merged commit 21d1485 into feat/horizon-ui-complete Feb 24, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant