feat(ui): build workspace skills studio#2487
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
✅ No security or compliance issues detected. Reviewed everything up to a3b9322. Security OverviewDetected Code ChangesThe diff is too large to display a summary of code changes. |
7910f2b to
a45796b
Compare
This stack of pull requests is managed by Graphite. Learn more about stacking. |
90bb2f1 to
8d72955
Compare
50bda51 to
6466336
Compare
6c9a297 to
816ae09
Compare
There was a problem hiding this comment.
5 issues found across 28 files
Confidence score: 3/5
- There is moderate merge risk because several high-confidence medium-severity issues are concrete and user-facing (render/update behavior, state lifecycle, and async error handling), rather than just style or cleanup concerns.
- In
frontend/src/components/ai-elements/markdown-with-frontmatter.tsx, the custommemocomparator only checkschildren, which can block expected re-renders when props likeclassNameor otherStreamdownprops change. - In
frontend/src/components/skills/file-tree.tsxandfrontend/src/components/skills/use-skills-studio.ts, callingsetStateduring render and missing try/catch aroundrestoreSkillVersioncan cause unstable UI behavior and unhandled promise rejections without clear user feedback. - Pay close attention to
frontend/src/components/ai-elements/markdown-with-frontmatter.tsx,frontend/src/components/skills/file-tree.tsx,frontend/src/components/skills/use-skills-studio.ts, andfrontend/src/components/tiptap-templates/plain/plain-text-editor.tsx- reactivity/state-sync and error-path issues may surface as stale UI or failed actions.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="frontend/src/components/ai-elements/markdown-with-frontmatter.tsx">
<violation number="1" location="frontend/src/components/ai-elements/markdown-with-frontmatter.tsx:89">
P2: The custom `memo` comparator ignores all props except `children`, which can prevent updates when `className` or other `Streamdown` props change.</violation>
</file>
<file name="frontend/src/components/tiptap-templates/plain/plain-text-editor.tsx">
<violation number="1" location="frontend/src/components/tiptap-templates/plain/plain-text-editor.tsx:168">
P2: Word/character counters are computed from the prop value instead of current editor text, so counts can be stale while typing (especially when `onChange` is omitted or parent updates are delayed).</violation>
</file>
<file name="frontend/src/components/skills/file-tree.tsx">
<violation number="1" location="frontend/src/components/skills/file-tree.tsx:43">
P2: Avoid calling `setState` during render; move folder-expansion syncing to an effect keyed by `selectedPath`.</violation>
</file>
<file name="frontend/src/components/skills/use-skills-studio.ts">
<violation number="1" location="frontend/src/components/skills/use-skills-studio.ts:458">
P2: Toast message is misleading: `isEditablePath` accepts 15+ text extensions (`.md`, `.py`, `.txt`, `.js`, `.ts`, `.json`, `.yaml`, etc.), but the error tells users only `.md` and `.py` are allowed.</violation>
<violation number="2" location="frontend/src/components/skills/use-skills-studio.ts:581">
P2: Missing error handling: `handleRestore` does not wrap `restoreSkillVersion` in try/catch, unlike every other async handler in this hook. A failed restore will surface as an unhandled rejection with no user-facing feedback.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fc63493d51
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 87c04ee55b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0c9821ff47
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c061132856
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5b99f69c72
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3478aa8fc0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b675463141
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 61dbb8a345
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
2c384c8 to
ca77fa0
Compare
f80fd64 to
bfadfb0
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bfadfb0faf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
bfadfb0 to
62282b0
Compare
Add endpoint to fetch individual files from published skill versions. Frontend can now browse and preview version file contents in the restore dialog before committing to a restore.
d7cbdd6 to
7f01d69
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7f01d6931b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
1 issue found across 2 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="docker-compose.dev.yml">
<violation number="1" location="docker-compose.dev.yml:348">
P1: Avoid enabling `SYS_ADMIN` + `seccomp:unconfined` unconditionally on `agent-executor`; this removes key container isolation and materially increases host breakout risk.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: df11b643db
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
You're iterating quickly on this pull request. To help protect your rate limits, cubic has paused automatic reviews on new pushes for now—when you're ready for another review, comment |
|
@cubic-dev-ai review |
@daryllimyt I have started the AI code review. It will take a few minutes to complete. |

What changed
skillsession entityWhy
This is the UI layer on top of #2488. It exposes the backend skill lifecycle in the workspace, and lets users attach published skill versions to presets and test skills interactively.
Impact
Validation
pnpm -C frontend checkpnpm -C frontend run typecheck