flowstate-epic-flowstate-community-epicdm-flowstate-shell
Package-local agent skill for @epicdm/flowstate-shell.
Tags
Publisher
Versions
1 version published — latest: 1.0.7
- 1.0.7publishedInvalid Date
Skill
flowstate-shell Package Skill
Package: @epicdm/flowstate-shell
Repository: epic-flowstate-community
Path: packages/flowstate-shell
Version: 1.0.7
Use this published Dojo skill as the package-level entrypoint. For detailed workflows, use the package-local skills listed below.
Primary Package Workflow
FlowState Shell Electron Adapter
Purpose
Use this skill when working with terminal sessions in an Electron renderer process.
Read First
packages/flowstate-shell/src/adapters/ElectronAdapter.tspackages/flowstate-shell/tests/adapters/ElectronAdapter.test.ts- Electron preload/main-process terminal bridge code in the consuming app
Runtime Contract
ElectronAdapter requires:
window.electronAPI.terminal
Expected methods:
connect(sessionId)write(sessionId, data)disconnect(sessionId)resize(sessionId, cols, rows)onData(callback)onExit(callback)
Workflow
- Call
connect(). - Adapter generates
electron-<timestamp>-<random>session id. - Adapter registers data and exit listeners.
- Adapter calls
electronAPI.terminal.connect(sessionId). - Call
onData(callback)to receive terminal output. - Call
write(data)andresize(cols, rows)after connect. - Call
disconnect()to notify main process and remove listeners.
Guardrails
connect,write,disconnect, andresizethrow outside Electron renderer.writeandresizethrow before connect.- Incoming data and exit messages are filtered by session id.
disconnect()with no session is a no-op.- Exit events are delivered to the data callback as a process-exited message.
Verification
yarn workspace @epicdm/flowstate-shell test --runInBand tests/adapters/ElectronAdapter.test.ts
Package Skill Inventory
@epicdm/flowstate-shell Skill Inventory
Skill Set
| Skill | Purpose |
|---|---|
flowstate-shell | Orient agents to the shell client package and route work to focused skills. |
flowstate-shell-electron-adapter | Teach Electron renderer IPC shell sessions and cleanup. |
flowstate-shell-websocket-adapter | Teach WebSocket terminal protocol, token injection, write/resize/disconnect, and reconnect caveats. |
flowstate-shell-terminal-provider | Teach React provider mode selection and adapter creation. |
flowstate-shell-maintenance | Teach package boundaries, exports, docs drift, feature matrix, Dojo rebuild, and verification. |
Design Notes
This package should be taught by runtime environment: Electron renderer, browser WebSocket, and React provider. Shared UI components belong to shell-core; PTY server behavior belongs to shell-server.
Not Included
- No standalone skilllets for
useTerminal. - No shell-server PTY/session management details.
- No generated Dojo text reused directly.
Review Gate
@epicdm/flowstate-shell Skills Review
Verdict
Pass with tracked follow-ups.
The authored skills are source-backed and workflow-oriented. They cover shell client boundaries, Electron adapter, WebSocket adapter, provider behavior, and maintenance drift.
Coverage
- ElectronAdapter: covered from
src/adapters/ElectronAdapter.tsand tests. - WebSocketAdapter: covered from
src/adapters/WebSocketAdapter.tsand tests. - TerminalProvider/useTerminal: covered from
src/components/TerminalProvider.tsx. - Boundaries: covered from shell package exports and shell-core/server package relationships.
- Drift: covered from README legacy scope and generated Dojo artifacts.
Verification Results
LC_ALL=C rg -n "[^\\x00-\\x7F]" packages/flowstate-shell/.flowstate/skills
rg -n "^name:|^description:" packages/flowstate-shell/.flowstate/skills
yarn workspace @epicdm/flowstate-shell test
yarn workspace @epicdm/flowstate-shell typecheck
yarn workspace @epicdm/flowstate-shell build
yarn workspace @epicdm/flowstate-shell lint
yarn nx build @epicdm/flowstate-shell
Results:
- ASCII scan passed with no non-ASCII matches.
- Frontmatter scan found
nameanddescriptionon all five skills. typecheckpassed.buildpassed and emitted root plusadapters/WebSocketAdapterCJS, ESM, sourcemap, and DTS outputs. Build reports existing package export-order warnings becausetypesappears afterimportandrequire.testpassed: 2 suites, 15 tests.lintpassed with 36 existing warnings around Electronwindow.electronAPIanyaccess and WebSocket JSON parsing.yarn nx build @epicdm/flowstate-shellpassed and built@epicdm/flowstate-shell-corefirst. Nx Cloud reported the existing unconnected-workspace 401 warning.
Follow-Ups
- Fix README legacy package scope and license drift.
- Rebuild package-local Dojo content from these reviewed skills before publishing.
- Consider adjusting package export condition order so
typesis first.
Usage
Start with this skill to understand the package purpose, then use the package-local focused skills for specific workflows. Keep this Dojo version aligned with packages/flowstate-shell/package.json. Do not treat generated feature lists as lessons; use workflow evidence from CODE-REVIEW.md, SKILL-INVENTORY.md, and REVIEW.md.
Install
Run this in your project to install via CLI:
fscloud dojo skill install flowstate-epic-flowstate-community-epicdm-flowstate-shell --target <target> --out ./skillsReplace <target> with your agent target identifier. See the CLI docs for details.