Skip to content

feat(tasks): surface local skills in the composer and upload on send#2926

Open
tatoalo wants to merge 1 commit into
local-skill-04-core-plumbingfrom
local-skill-05-ui-integration
Open

feat(tasks): surface local skills in the composer and upload on send#2926
tatoalo wants to merge 1 commit into
local-skill-04-core-plumbingfrom
local-skill-05-ui-integration

Conversation

@tatoalo

@tatoalo tatoalo commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Problem

for cloud tasks, local skill invocations only sent the slash command text. User-local and repo-local skills were available in the local editor but not in the cloud sandbox

Changes

  • let's bundle uploadable local skills into zip artifacts with SHA-256 metadata and send them through the existing cloud artifact upload flow.

  • install skill_bundle artifacts in the agent server before prompt delivery, inject the bundled skill instructions for the invoked turn, and suppress the raw slash command from the model-facing prompt so local skills behave like actual skills rather than unsupported commands

  • refresh slash command metadata when a follow-up command is submitted, so newly created local skills can be selected and invoked without starting a brand-new task.

closes #2260

tatoalo commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown

React Doctor found no issues in the changed files. 🎉

Reviewed by React Doctor for commit 17746ff.

@greptile-apps

greptile-apps Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Comments Outside Diff (1)

  1. packages/ui/src/features/task-detail/components/TaskInput.tsx, line 1040-1061 (link)

    P2 Duplicated skill-to-command mapping

    The inline spread source !== "bundled" ? { localSkill: { name, source, path } } : {} appears in at least four places: TaskInput.tsx, PromptInput.tsx, useSessionCallbacks.ts (the fallback fetch), and sessionServiceHost.ts (resolveLocalSkillCommandPrompt). Extracting a shared helper such as skillToEditorCommand(skill): EditorAvailableCommand would keep this conversion in one place; if the localSkill shape or the "bundled" check ever changes, only one site needs updating.

    Context Used: Do not attempt to comment on incorrect alphabetica... (source)

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Reviews (1): Last reviewed commit: "feat(tasks): surface local skills in the..." | Re-trigger Greptile

Comment thread packages/ui/src/features/sessions/hooks/useSessionCallbacks.ts Outdated
@tatoalo tatoalo force-pushed the local-skill-04-core-plumbing branch from 753b5a5 to c120794 Compare June 25, 2026 09:48
@tatoalo tatoalo force-pushed the local-skill-05-ui-integration branch from 87d0622 to 097a524 Compare June 25, 2026 09:48
@tatoalo tatoalo force-pushed the local-skill-04-core-plumbing branch from c120794 to 8422a11 Compare June 25, 2026 09:58
@tatoalo tatoalo force-pushed the local-skill-05-ui-integration branch from 097a524 to 17746ff Compare June 25, 2026 09:58
@tatoalo tatoalo self-assigned this Jun 25, 2026
@tatoalo tatoalo requested a review from a team June 25, 2026 10:41
@tatoalo tatoalo marked this pull request as ready for review June 25, 2026 10:41
@greptile-apps

greptile-apps Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Reviews (2): Last reviewed commit: "feat(tasks): surface local skills in the..." | Re-trigger Greptile

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