Skip to content

feat(opensidian): terminal panel, About page, a11y fixes + skills restructuring#1544

Merged
braden-w merged 15 commits intomainfrom
opencode/clever-mountain
Mar 20, 2026
Merged

feat(opensidian): terminal panel, About page, a11y fixes + skills restructuring#1544
braden-w merged 15 commits intomainfrom
opencode/clever-mountain

Conversation

@braden-w
Copy link
Member

@braden-w braden-w commented Mar 20, 2026

Builds on #1543 (already merged). The new work here:

  • opensidian: terminal panel — Added Bash instance with terminal state (terminal-state.svelte.ts), three new Svelte components (TerminalPanel, TerminalInput, TerminalOutput), and an open command. Restores focus on terminal close.
  • opensidian: About page — Architecture overview page with Shiki syntax highlighting, visual data flow diagram, and polished Card/Alert layout.
  • opensidian: a11y — Added aria-hidden to decorative icons, aria-label to icon-only buttons and unlabeled inputs, aria-selected to tree items, and sr-only label to stderr output.
  • opensidian: shadcn migration — Replaced raw HTML with shadcn-svelte components in TabBar, ContentPanel, and terminal.
  • skills — Split large skill files into progressive disclosure with references/ subdirectories, added activation trigger phrases to all skills, restored .claude/skills/ symlinks.
  • whispering — Minor refactor replacing raw HTML with shadcn-svelte components.

braden-w added 15 commits March 19, 2026 17:10
… syntax highlighting

Add /about route explaining OpenSidian's technical architecture—CRDT
workspace, IndexedDB persistence, in-browser SQLite, and the 10-line
data layer. Uses Shiki dual-theme highlighting for the code block,
Accordion for code annotations, CopyButton, and Card grid for
capability cards. Adds 'About' ghost button to the toolbar.
…ions

Per agentskills.io spec, the description field is the activation index
agents scan at startup. Added user-facing trigger keywords (e.g. "commit
this", "write a spec", "fix the CSS") so agents can match user intent
to the right skill. Also adds new handoff-prompt skill for drafting
self-contained delegation prompts.
…der, Alert, and Card.Description

Replace ASCII data flow diagram with Badge+Arrow node flow. Add
GitHub-style file header bar to code block (filename, language badge,
copy button). Use Card.Description for capability cards. Wrap roadmap
in Alert component with Info icon.
…inal

TerminalPanel: raw <button> close → Button ghost + Lucide X icon,
hand-rolled border-b → Separator component.
TerminalOutput: raw exit code span → Badge variant=destructive,
fix deprecated $props<> generic syntax → standard type annotation.
…entPanel

TabBar: raw <button> tab close → Button ghost + icon-xs for consistent
hover/focus behavior. ContentPanel: two hand-rolled empty states →
Empty component (matching FileTree's existing pattern).
Drop unnecessary `as 'file' | 'folder'` in InlineNameInput (already constrained by prop type). Replace `children[0]!` with `children[0] ?? null` in FileTree (focus() accepts null).
… references/

Apply agentskills.io progressive disclosure model to 8 skills that exceeded
the 500-line recommendation. Each skill is now a focused core SKILL.md
(<250 lines) that loads on activation, plus references/ files loaded only
when the agent needs them. Research shows context length directly degrades
LLM instruction-following (Chroma 'Context Rot', UIUC/Amazon, Distyl AI
IFScale)—shorter, focused context produces better agent behavior.

Skills refactored (before → after core lines, context savings on activation):
  - svelte:         779 → 130 lines (83%), 5 reference files
  - typescript:     874 → 225 lines (74%), 5 reference files
  - services-layer: 619 → 171 lines (72%), 4 reference files
  - git:            562 → 137 lines (76%), 3 reference files
  - query-layer:    474 → 175 lines (63%), 3 reference files
  - testing:        438 → 159 lines (64%), 3 reference files
  - error-handling: 412 → 183 lines (56%), 3 reference files
  - workspace-api:  397 → 157 lines (60%), 3 reference files

Total: 4,555 → 1,337 lines on activation (71% average savings).
29 reference files created. Zero information loss—all content preserved.

Also adds:
  - scripts/sync-skills.ts: syncs .agents/skills/ → .claude/skills/ so
    skills are maintained in one place instead of duplicated
  - bun run sync-skills added to package.json
  - .claude/skills/ converted from symlinks to real files via sync
  - specs/20260319T120000-skill-authoring-model.md documenting the model

6 better-auth skills (externally sourced) and 30 skills under 300 lines
left untouched.
- VerticalNav: use Sidebar.MenuButton for MigrationDialog trigger instead
  of hand-rolled 600-char class string duplicating sidebar internals
- install-ffmpeg: replace 4 hand-rolled border-t dividers with Separator
The .claude/skills/ directory was already using symlinks to
.agents/skills/ — the sync script was unnecessary overhead.
Restores the original pattern and removes the script.
Wire just-bash shell emulator to the Yjs virtual filesystem in
workspace.ts. Add terminal-state singleton with history, command
recall, and a custom 'open' command that selects files in the editor.
@github-actions
Copy link
Contributor

Thank you for your contribution! Before we can merge this PR, we need you to sign our Contributor License Agreement. This is a one-time requirement—it lets us offer commercial licenses for the sync server while you retain full copyright on your code.

To sign, please comment on this PR with:

I have read the CLA Document and I hereby sign the CLA


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@braden-w braden-w changed the title feat: Chrome-sole-authority browser state, opensidian terminal + a11y, skills restructuring feat(opensidian): terminal panel, About page, a11y fixes + skills restructuring Mar 20, 2026
@braden-w braden-w merged commit 7abbf92 into main Mar 20, 2026
1 of 10 checks passed
@braden-w braden-w deleted the opencode/clever-mountain branch March 20, 2026 01:38
@github-actions github-actions bot locked and limited conversation to collaborators Mar 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant