feat(settings): link Linear capabilities pane to Integrations settings

The Agent capabilities -> Linear pane installs the orca-linear skill but
gave no path to where the connection itself lives. Add a link to the
Integrations settings pane, where connected Linear workspaces and API
keys are managed.
This commit is contained in:
Brennan Benson
2026-07-21 12:35:59 -07:00
parent b9b3d98d71
commit 7f1c04b145
6 changed files with 53 additions and 6 deletions
@@ -1,7 +1,16 @@
import { useMemo } from 'react'
import { ArrowRightCircle, BookOpen, Link2, ListTodo, MessageSquarePlus } from 'lucide-react'
import {
ArrowRightCircle,
BookOpen,
Blocks,
Link2,
ListTodo,
MessageSquarePlus
} from 'lucide-react'
import type { LucideIcon } from 'lucide-react'
import { LinearIcon } from '@/components/icons/LinearIcon'
import { Button } from '@/components/ui/button'
import { useAppStore } from '@/store'
import {
LINEAR_AGENT_SKILL_NAMES,
ORCA_LINEAR_SKILL_INSTALL_COMMAND,
@@ -48,6 +57,14 @@ function resolveLinearExampleIcon(example: SkillUsageExample): LucideIcon {
// connection that makes it useful.
export function LinearAgentSkillPane(): React.JSX.Element {
const activeSkillRuntime = useActiveProjectSkillRuntime()
const openSettingsPage = useAppStore((state) => state.openSettingsPage)
const openSettingsTarget = useAppStore((state) => state.openSettingsTarget)
const openIntegrationSettings = (): void => {
openSettingsPage()
openSettingsTarget({ pane: 'integrations', repoId: null })
}
const {
installed: linearSkillInstalled,
loading: linearSkillLoading,
@@ -94,6 +111,26 @@ export function LinearAgentSkillPane(): React.JSX.Element {
keywords={getLinearAgentSkillPaneSearchEntries()[0].keywords}
className="space-y-5 py-2"
>
<p className="text-xs text-muted-foreground">
{translate(
'auto.components.settings.LinearAgentSkillPane.manageConnectionHint',
'Review connected Linear workspaces and API keys in'
)}{' '}
<Button
type="button"
variant="link"
size="sm"
className="h-auto gap-1 p-0 text-xs align-baseline"
onClick={openIntegrationSettings}
>
<Blocks className="size-3" />
{translate(
'auto.components.settings.LinearAgentSkillPane.manageConnectionLink',
'Integrations settings'
)}
</Button>
</p>
<AgentSkillSetupPanel
title={translate(
'auto.components.settings.LinearAgentSkillPane.skillTitle',
+3 -1
View File
@@ -9270,7 +9270,9 @@
"howToUse": "How to use it",
"howToUseDescription": "Ask an agent working a Linear-linked worktree to read context, post updates, move the ticket, or attach the PR.",
"terminalTitle": "Linear skill setup",
"terminalAriaLabel": "Linear skill install terminal"
"terminalAriaLabel": "Linear skill install terminal",
"manageConnectionHint": "Review connected Linear workspaces and API keys in",
"manageConnectionLink": "Integrations settings"
},
"MobileRelayBetaNotice": {
"notice": "Orca Relay is in beta."
+3 -1
View File
@@ -9247,7 +9247,9 @@
"howToUse": "How to use it",
"howToUseDescription": "Ask an agent working a Linear-linked worktree to read context, post updates, move the ticket, or attach the PR.",
"terminalTitle": "Linear skill setup",
"terminalAriaLabel": "Linear skill install terminal"
"terminalAriaLabel": "Linear skill install terminal",
"manageConnectionHint": "Review connected Linear workspaces and API keys in",
"manageConnectionLink": "Integrations settings"
},
"MobileRelayBetaNotice": {
"notice": "Orca Relay is in beta."
+3 -1
View File
@@ -9247,7 +9247,9 @@
"howToUse": "How to use it",
"howToUseDescription": "Ask an agent working a Linear-linked worktree to read context, post updates, move the ticket, or attach the PR.",
"terminalTitle": "Linear skill setup",
"terminalAriaLabel": "Linear skill install terminal"
"terminalAriaLabel": "Linear skill install terminal",
"manageConnectionHint": "Review connected Linear workspaces and API keys in",
"manageConnectionLink": "Integrations settings"
},
"MobileRelayBetaNotice": {
"notice": "Orca Relay is in beta."
+3 -1
View File
@@ -9247,7 +9247,9 @@
"howToUse": "How to use it",
"howToUseDescription": "Ask an agent working a Linear-linked worktree to read context, post updates, move the ticket, or attach the PR.",
"terminalTitle": "Linear skill setup",
"terminalAriaLabel": "Linear skill install terminal"
"terminalAriaLabel": "Linear skill install terminal",
"manageConnectionHint": "Review connected Linear workspaces and API keys in",
"manageConnectionLink": "Integrations settings"
},
"MobileRelayBetaNotice": {
"notice": "Orca Relay is in beta."
+3 -1
View File
@@ -9247,7 +9247,9 @@
"howToUse": "How to use it",
"howToUseDescription": "Ask an agent working a Linear-linked worktree to read context, post updates, move the ticket, or attach the PR.",
"terminalTitle": "Linear skill setup",
"terminalAriaLabel": "Linear skill install terminal"
"terminalAriaLabel": "Linear skill install terminal",
"manageConnectionHint": "Review connected Linear workspaces and API keys in",
"manageConnectionLink": "Integrations settings"
},
"MobileRelayBetaNotice": {
"notice": "Orca Relay is in beta."