Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1181 commits
Select commit Hold shift + click to select a range
a8417e3
Render HITL approval cards inline in the thinking-steps timeline.
CREDO23 May 9, 2026
5c1f5ed
Add chat-messages feature module architecture doc.
CREDO23 May 9, 2026
790a6f8
feat(a11y): add aria-label to clickable media cards
mvanhorn May 9, 2026
d9ad9ca
chat-messages: refresh feature module architecture doc.
CREDO23 May 9, 2026
9e451a5
chat-messages: add hitl module with types, hooks, bundle, approval ca…
CREDO23 May 9, 2026
48c4df8
chat-messages: add timeline module with builder, grouping, items, and…
CREDO23 May 9, 2026
97a7626
chat-messages: add timeline tool registry with HITL-aware fallback.
CREDO23 May 9, 2026
a32d089
tool-ui: route HITL imports through chat-messages slice.
CREDO23 May 9, 2026
aafeee0
assistant-message: render only deliverable tools and delegate process…
CREDO23 May 9, 2026
d96f966
chat: switch consumer chat shells to slice TimelineDataUI and HITL ex…
CREDO23 May 9, 2026
9c5a178
chat: switch dashboard chat page to slice and drop superseded aborted…
CREDO23 May 9, 2026
ba0e1e7
chat: drop legacy thinking-steps, tool-fallback, hitl modules, and sp…
CREDO23 May 9, 2026
89e4953
chat: suppress stale step separator emitted during resume rehydration.
CREDO23 May 9, 2026
2e13251
chat: unify HITL approval UX behind a single paginated card and harde…
CREDO23 May 9, 2026
932bf22
chat: fix mixed-decision HITL crash and fold resumed assistant messag…
CREDO23 May 9, 2026
5e7d41f
chat-messages: drop feature module architecture doc.
CREDO23 May 9, 2026
2ab6b1c
Merge upstream/dev into feature/multi-agent.
CREDO23 May 9, 2026
25aad38
chore: update gitignore
AnishSarkar22 May 9, 2026
d52225c
chore: add playwright cursor skill
AnishSarkar22 May 9, 2026
822ffb2
chore: remove Vue and Svelte examples from component testing document…
AnishSarkar22 May 9, 2026
0487703
chore: remove E2E tests workflow configuration
AnishSarkar22 May 9, 2026
fa31da9
Merge branch 'dev' into feat/e2e-testing
MODSetter May 9, 2026
350ab2f
Merge pull request #1353 from AnishSarkar22/feat/e2e-testing
MODSetter May 9, 2026
316a900
Merge pull request #1356 from mvanhorn/osc/913-aria-label-clickable-c…
MODSetter May 9, 2026
28a02a9
Merge pull request #1357 from CREDO23/feature/multi-agent
MODSetter May 9, 2026
dec06e0
chore: add E2E tests workflow configuration
AnishSarkar22 May 9, 2026
10212f3
feat(shared): extract formatThreadTimestamp helper for chats sidebars…
guangyang1206 May 10, 2026
c8374e6
feat: improved document, folder mentions rendering
MODSetter May 10, 2026
cf9e702
chore: refine E2E tests workflow by updating Redis configuration and …
AnishSarkar22 May 10, 2026
3520877
Merge remote-tracking branch 'upstream/dev' into feat/e2e-testing-ci
AnishSarkar22 May 10, 2026
21d3be1
chore: update E2E tests workflow name and adjust video recording sett…
AnishSarkar22 May 10, 2026
288c18b
chore: update E2E tests workflow to include scoped proxy settings for…
AnishSarkar22 May 10, 2026
548e574
chore: refactor E2E tests workflow to start Postgres as a container a…
AnishSarkar22 May 10, 2026
292b4d7
chore: enhance E2E tests workflow by adding caching for Next.js build…
AnishSarkar22 May 10, 2026
319923f
fix: add checks for existing tables and indexes before creating them …
AnishSarkar22 May 10, 2026
2c8828f
fix: ensure idempotency in alembic migrations by checking for existin…
AnishSarkar22 May 10, 2026
935cd7b
fix(auth): remove redundant token storage write
May 10, 2026
fb0c139
fix(auth): centralize redirect path storage
May 10, 2026
68f4533
chore: implement E2E testing setup with Docker Compose and update wor…
AnishSarkar22 May 10, 2026
5344fa4
chore: update E2E test documentation for clarity and local setup inst…
AnishSarkar22 May 10, 2026
f091182
chore: update GitHub Actions workflows and Dockerfile to use latest a…
AnishSarkar22 May 10, 2026
65fecb3
chore: update Docker Buildx action to version 4 in E2E tests workflow
AnishSarkar22 May 10, 2026
18de013
chore: add ffmpeg to Dockerfile for audio processing capabilities
AnishSarkar22 May 10, 2026
efff7ab
chore: enhance Dockerfile and config to support conditional static ff…
AnishSarkar22 May 10, 2026
a51755c
Merge pull request #1380 from xclear-cast/codex/drop-tokenhandler-sto…
MODSetter May 10, 2026
cb46da3
Merge pull request #1381 from xclear-cast/codex/centralize-redirect-path
MODSetter May 10, 2026
242925d
chore: update Docker configurations to streamline backend build and e…
AnishSarkar22 May 11, 2026
b92cc96
refactor(use-logs): use canonical log types from contracts/types/log.…
mvanhorn May 11, 2026
99e667f
chore: refine E2E tests workflow by removing pnpm version specificati…
AnishSarkar22 May 11, 2026
c4d3a74
subagents: rewrite routing descriptions with platform-native verbs fo…
CREDO23 May 11, 2026
d8ad010
subagents: align remaining connector descriptions on the new identity…
CREDO23 May 11, 2026
10334fb
subagents: align builtin descriptions (deliverables, memory, research…
CREDO23 May 11, 2026
3b345e7
chore: add pnpm configuration for only built dependencies in package.…
AnishSarkar22 May 11, 2026
8ed7a43
subagents/linear: rewrite system prompt with heuristic shape and alig…
CREDO23 May 11, 2026
54f3e8c
subagents/linear: drop enumerated state defaults and tool-category sh…
CREDO23 May 11, 2026
9b8ebba
subagents/jira: rewrite system prompt on the linear pilot shape and e…
CREDO23 May 11, 2026
7fba568
subagents/connectors: delete orphan pre-MCP issue-mutation tool files…
CREDO23 May 11, 2026
62a5158
subagents/connectors: airtable system prompt and allowlist rewrite, l…
CREDO23 May 11, 2026
8ff9916
subagents/slack: rewrite system prompt on the linear pilot shape and …
CREDO23 May 11, 2026
a4c684a
subagents/clickup: rewrite system prompt on the linear pilot shape an…
CREDO23 May 11, 2026
83e40c5
chore: update Docker configuration to include pnpm workspace and refi…
AnishSarkar22 May 11, 2026
dc7a096
subagents/notion: rewrite system prompt as native-tool pilot with inf…
CREDO23 May 11, 2026
6501e32
chore: bump pinned pnpm version to 10.26.0
AnishSarkar22 May 11, 2026
741d6e7
chore: update pnpm workspace configuration to allow builds for specif…
AnishSarkar22 May 11, 2026
2f9b068
subagents/gmail: rewrite system prompt on the native-tool shape (infe…
CREDO23 May 11, 2026
99610ea
subagents/calendar: rewrite system prompt on the native-tool shape (i…
CREDO23 May 11, 2026
ddcb5e2
subagents/confluence: rewrite system prompt on the native-tool shape …
CREDO23 May 11, 2026
9d6f0d7
subagents/dropbox: rewrite system prompt on the native-tool shape (Pa…
CREDO23 May 11, 2026
68a3f03
subagents/onedrive: rewrite system prompt on the native-tool shape (a…
CREDO23 May 11, 2026
6ef4f5f
refactor(google_drive subagent): rewrite system_prompt with native-to…
CREDO23 May 11, 2026
f383de0
refactor(discord subagent): rewrite system_prompt with native-tool he…
CREDO23 May 11, 2026
f45a42e
refactor(luma subagent): rewrite system_prompt with native-tool heuri…
CREDO23 May 11, 2026
44fcb34
refactor(teams subagent): rewrite system_prompt with native-tool heur…
CREDO23 May 11, 2026
b247ff3
chore: implement test-only token mint endpoint and update E2E test au…
AnishSarkar22 May 11, 2026
83b5131
multi_agent_chat/middleware: drop dormant LLMToolSelectorMiddleware f…
CREDO23 May 11, 2026
09fc99c
subagents/knowledge_base: scaffold KB specialist subagent (descriptio…
CREDO23 May 11, 2026
81583ef
chore: hide blog until published
MODSetter May 11, 2026
b7e31f2
chore: update .gitignore
MODSetter May 11, 2026
d6618b8
Merge pull request #1384 from MODSetter/chore/hide-blog-nav
MODSetter May 11, 2026
df2afed
subagents/knowledge_base: wire KB specialist into orchestrator (rende…
CREDO23 May 11, 2026
c052fc9
chore: add fake DoclingService for E2E tests and integrate into runti…
AnishSarkar22 May 11, 2026
ec957e6
Merge commit 'd6618b83570b1fa3051754f496c199fd2fac24fd' into dev
MODSetter May 11, 2026
2402b73
chore: untrack accidentally embedded hermes-agent repo
MODSetter May 11, 2026
315329f
chore: update E2E tests workflow to capture logs on cancellation and …
AnishSarkar22 May 11, 2026
650b691
chore: enhance E2E tests by adding synthetic global LLM config and up…
AnishSarkar22 May 11, 2026
0b9fc00
chore: update global LLM config fixture to include both premium and f…
AnishSarkar22 May 11, 2026
bed2041
chore: modify E2E test configuration by updating global LLM model IDs…
AnishSarkar22 May 11, 2026
4dbadbf
chore: update .gitignore and biome.json to include additional test-re…
AnishSarkar22 May 11, 2026
275e2c9
chore: fix linting
AnishSarkar22 May 11, 2026
3adfa37
multi_agent_chat/filesystem: extract dedicated FS middleware package
CREDO23 May 12, 2026
bce21dc
subagents/knowledge_base: universalize KB subagent across cloud + des…
CREDO23 May 12, 2026
ea72625
multi_agent_chat/main_agent: strip FS toolset + FileIntent from main-…
CREDO23 May 12, 2026
3fb1976
multi_agent_chat/main_agent: route KB work through task(knowledge_bas…
CREDO23 May 12, 2026
ce45314
chore: update zero-cache image and dependencies to version 1.4.0
AnishSarkar22 May 12, 2026
3f77c74
multi_agent_chat: drop general_purpose subagent and dead permission p…
CREDO23 May 12, 2026
9b82f2d
multi_agent_chat/permissions: clone PermissionMiddleware with SRP spl…
CREDO23 May 12, 2026
d923d34
feat(migration): add migration 143 to force zero-cache resync after Z…
AnishSarkar22 May 12, 2026
c43bfdb
chore(migration): update migration files to enforce new publication m…
AnishSarkar22 May 12, 2026
eee861b
multi_agent_chat/main_agent: rewrite system prompt to hierarchical pr…
CREDO23 May 12, 2026
8ea042e
refactor(chat): improve user query handling and mention chip function…
AnishSarkar22 May 12, 2026
0c2beb7
fix(thread): conditionally render screen capture button for desktop u…
AnishSarkar22 May 12, 2026
d843468
multi_agent_chat/subagents: dict-keyed middleware_stack + always-on KB
CREDO23 May 12, 2026
f2f62c1
multi_agent_chat/permissions: break circular import in interrupt subp…
CREDO23 May 12, 2026
2437716
refactor(assistant-ui): enhance mention chip handling and editor focu…
AnishSarkar22 May 12, 2026
32ff864
refactor(assistant-ui): streamline docstrings and comments
AnishSarkar22 May 12, 2026
0884b63
chore: ran linting
AnishSarkar22 May 12, 2026
379cc99
multi_agent_chat/subagents: expose knowledge_base as ask_knowledge_ba…
CREDO23 May 12, 2026
6eb900c
chore: update packageManager version to pnpm@10.26.0 in both desktop …
AnishSarkar22 May 12, 2026
6b60d32
multi_agent_chat/main_agent: one specialist per task; advertise write…
CREDO23 May 12, 2026
9b926b3
refactor: update test for index() to use chunk_text_hybrid
AnishSarkar22 May 12, 2026
bd452b3
fix(tests): improve composio module hijack in integration tests
AnishSarkar22 May 12, 2026
246dae4
Merge upstream/dev into feature/multi-agent
CREDO23 May 12, 2026
481bb40
Merge remote-tracking branch 'upstream/dev' into feat/ui-revamp
AnishSarkar22 May 12, 2026
d9ec401
chore: remove caret from @rocicorp/zero dependency version
AnishSarkar22 May 12, 2026
883c723
chore: add minimumReleaseAge configuration to pnpm workspace for depe…
AnishSarkar22 May 12, 2026
6aa4dce
refactor: update UI components to use consistent popup and text colors
AnishSarkar22 May 13, 2026
0fecff4
refactor: update UI components to use 'bg-popover' for consistent sty…
AnishSarkar22 May 13, 2026
357714b
refactor: enhance TabBar component with hover effects and improved sc…
AnishSarkar22 May 13, 2026
a925291
refactor: update OnboardPage styling for consistency with main panel …
AnishSarkar22 May 13, 2026
b7b4443
fix(web): invalidate all log cache keys on log mutations
guangyang1206 May 13, 2026
fc2c5b6
multi_agent_chat/middleware: per-call thread_id, tcid-keyed resume, d…
CREDO23 May 13, 2026
e27883e
multi_agent_chat/middleware: stamp tool_call_id on subagent interrupt…
CREDO23 May 13, 2026
6fb011c
multi_agent_chat/middleware: real-graph regression tests for interrup…
CREDO23 May 13, 2026
1001f56
multi_agent_chat/middleware: parallel task tests and full bridge cove…
CREDO23 May 13, 2026
03cf146
chat/stream_resume: route a flat decisions list per paused subagent
CREDO23 May 13, 2026
22e9dd3
multi_agent_chat/main_agent: routing prompt for parallel and serial s…
CREDO23 May 13, 2026
583ac83
multi_agent_chat/middleware: refresh module layout docs
CREDO23 May 13, 2026
75b7a9c
refactor: update UI components to enhance hover effects and color con…
AnishSarkar22 May 13, 2026
bd5f1b3
feat: add CollapsedInboxIcon component to enhance sidebar functionality
AnishSarkar22 May 13, 2026
c06dd6e
chat/stream_new_chat: emit one SSE frame per pending interrupt
CREDO23 May 13, 2026
0fd87cc
chat/stream_resume: key Command(resume=...) by Interrupt.id for paral…
CREDO23 May 13, 2026
1bb9f43
chat-messages: render and batch-submit multiple HITL approval cards
CREDO23 May 13, 2026
f249509
chat/stream_resume: salt thinking-step prefix with turn_id to avoid d…
CREDO23 May 13, 2026
cbfbf59
refactor: enhance UI components with improved hover effects and color…
AnishSarkar22 May 13, 2026
468f4ef
refactor: standardize hover effects and focus styles across UI compon…
AnishSarkar22 May 13, 2026
3737118
chore: evals
MODSetter May 13, 2026
88f9c33
refactor: update UI components to utilize 'popover-border' for consis…
AnishSarkar22 May 14, 2026
ca57b21
multi_agent_chat/middleware: real-graph regression test for heterogen…
CREDO23 May 14, 2026
8e10f38
multi_agent_chat/middleware: real-graph regression test for all-rejec…
CREDO23 May 14, 2026
668b899
multi_agent_chat/middleware: real-graph regression test for partial-p…
CREDO23 May 14, 2026
198c38b
refactor: replace button elements with Button component for consisten…
AnishSarkar22 May 14, 2026
d69d2cc
multi_agent_chat/middleware: tighten heterogeneous slice arithmetic t…
CREDO23 May 14, 2026
a36b15b
multi_agent_chat/middleware: tighten parallel-keying test with hetero…
CREDO23 May 14, 2026
f98bde1
refactor: replace button elements with Button component for improved …
AnishSarkar22 May 14, 2026
23e05ac
refactor: remove CitationList component to streamline citation handli…
AnishSarkar22 May 14, 2026
3d42712
refactor: replace button elements with Button component for improved …
AnishSarkar22 May 14, 2026
ee72a49
refactor: replace button elements with Button component for improved …
AnishSarkar22 May 14, 2026
da55c75
refactor: remove ThreadList component and associated thread managemen…
AnishSarkar22 May 14, 2026
13b2e87
refactor: replace button elements with Button component
AnishSarkar22 May 14, 2026
c77babf
refactor: replace button elements with Button component for improved …
AnishSarkar22 May 14, 2026
8eaab12
multi_agent_chat/permissions: restructure slice + simplify factory
CREDO23 May 14, 2026
a06aec2
multi_agent_chat/subagents: HITL umbrella + ToolKind rename
CREDO23 May 14, 2026
d682801
multi_agent_chat/connectors+builtins: adopt symmetric self_gated_tool…
CREDO23 May 14, 2026
adb52fb
multi_agent_chat: KB owns its ruleset, drop interrupt_on duplication
CREDO23 May 14, 2026
0723702
multi_agent_chat: real-graph regressions for unified HITL paths + for…
CREDO23 May 14, 2026
67142e6
multi_agent_chat: scope MCP allow/ask permissions per subagent + drop…
CREDO23 May 14, 2026
4083d33
refactor: enhance SidebarUserProfile component with download tracking…
AnishSarkar22 May 14, 2026
2bdd596
refactor: update SidebarUserProfile and Composer components with impr…
AnishSarkar22 May 14, 2026
c180417
refactor: enhance loading and sidebar components with improved skelet…
AnishSarkar22 May 14, 2026
d45dfbf
multi_agent_chat: pack_subagent owns per-subagent PermissionMiddlewar…
CREDO23 May 14, 2026
3bb9012
multi_agent_chat/connectors: every route declares its own RULESET + f…
CREDO23 May 14, 2026
5a00df8
multi_agent_chat/builtins: KB+deliverables+memory+research adopt RULE…
CREDO23 May 14, 2026
014801c
multi_agent_chat/loader: MCP tools as flat list[BaseTool] per agent
CREDO23 May 14, 2026
31d6b43
multi_agent_chat/shared: drop bucket types and helpers
CREDO23 May 14, 2026
3846056
refactor: update icons and improve sidebar styling for enhanced user …
AnishSarkar22 May 14, 2026
5623954
refactor: replace Activity icons with Workflow icons across various c…
AnishSarkar22 May 14, 2026
e99c06c
user_tool_allowlist: extract trust-tool storage into reusable service
CREDO23 May 14, 2026
ef1152b
multi_agent_chat/permissions: layer user allow-list into subagent com…
CREDO23 May 14, 2026
ea087d1
refactor: implement CitationHoverPopover component to enhance inline …
AnishSarkar22 May 14, 2026
01d7379
refactor: add public URL handling for SurfSense documents across vari…
AnishSarkar22 May 14, 2026
4dd5871
refactor: enhance citation components with mobile support and improve…
AnishSarkar22 May 14, 2026
5092bd3
refactor: integrate mobile preview functionality in citation componen…
AnishSarkar22 May 14, 2026
9bcd501
feat(evals): publish multimodal_doc parser_compare benchmark + n=171 …
MODSetter May 15, 2026
e8aad48
refactor(report): enhance citations and clarify implementation details
MODSetter May 15, 2026
8001cae
refactor: update MessageInfoDropdown to accept chatTurnId prop and en…
AnishSarkar22 May 15, 2026
a97d154
multi_agent_chat/permissions: surface MCP tool metadata into ask inte…
CREDO23 May 15, 2026
4db3cf7
Merge pull request #1377 from AnishSarkar22/feat/e2e-testing-ci
MODSetter May 15, 2026
4ab9544
Merge pull request #1382 from mvanhorn/osc/1372-use-canonical-log-types
MODSetter May 15, 2026
9475036
Merge pull request #1389 from CREDO23/feature/multi-agent
MODSetter May 15, 2026
7f66159
Merge pull request #1391 from guangyang1206/fix/log-mutations-invalid…
MODSetter May 15, 2026
eea2d68
Merge pull request #1396 from guangyang1206/fix/shared-thread-timesta…
MODSetter May 15, 2026
6671c91
multi_agent_chat/permissions: persist 'always' decisions to trusted-t…
CREDO23 May 15, 2026
c8b756a
hitl/wire: rename 'always' decision-type to 'approve_always'
CREDO23 May 15, 2026
98b6977
permissions/ask: gate 'approve_always' palette entry on MCP-ness
CREDO23 May 15, 2026
1f1b6c5
hitl/generic-approval: drop client-side MCP gate, dispatch approve_al…
CREDO23 May 15, 2026
a22e0e9
schemas/new_chat: accept 'approve_always' on the resume HTTP boundary
CREDO23 May 15, 2026
5327f33
connector-popup: surface trusted-tools UI in MCP edit view; consolida…
CREDO23 May 15, 2026
4980f9f
Merge remote-tracking branch 'upstream/dev' into feature/multi-agent-…
CREDO23 May 15, 2026
bf2b4eb
fix(web): suppress global error toast on mutations that own their toa…
voidborne-d May 15, 2026
f0a51fa
docs(editor): align PlateEditor onSave JSDoc with Mod+Shift+S chord
mvanhorn May 15, 2026
7e484b2
Merge pull request #1393 from CREDO23/feature/multi-agent-with-task-p…
MODSetter May 15, 2026
1afecc9
Merge pull request #1397 from voidborne-d/fix/suppress-global-error-t…
MODSetter May 15, 2026
953c654
Merge pull request #1398 from mvanhorn/osc/1373-platefile-jsdoc-mod-s…
MODSetter May 15, 2026
52a64fb
feat: added blog posts
MODSetter May 15, 2026
dc88ce0
Merge branch 'dev' of https://github.com/MODSetter/SurfSense into dev
MODSetter May 15, 2026
219a597
fix: update URLs to use the "www" subdomain across the application
MODSetter May 15, 2026
c187b04
chore: linting
MODSetter May 16, 2026
9fb9778
test: enhance index batch parallel tests to include hybrid chunker
MODSetter May 16, 2026
1119f55
Merge pull request #1399 from MODSetter/dev
MODSetter May 16, 2026
3504be3
fix(web): make cacheKeys.*.withQueryParams order-stable (sort entries)
guangyang1206 May 16, 2026
f096548
fix(web): extract single tryGetHostname helper (DRY, unified fallback)
guangyang1206 May 16, 2026
9c5a8c0
refactor: improve error handling layout in CitationPanel and update S…
AnishSarkar22 May 16, 2026
f65bc81
Merge remote-tracking branch 'upstream/dev' into feat/ui-revamp
AnishSarkar22 May 16, 2026
af1d2fa
Merge remote-tracking branch 'upstream/dev' into fix/zero-cache-stale…
AnishSarkar22 May 16, 2026
8de7d86
Merge remote-tracking branch 'upstream/dev' into fix/backend-tests
AnishSarkar22 May 16, 2026
cc06cff
feat(tests): add mock response for file ownership in composio_module
AnishSarkar22 May 16, 2026
a0f2563
test: update Stripe and Google Calendar integration tests to use Comp…
AnishSarkar22 May 16, 2026
cb9a0f3
test: refactor Gmail indexer tests to utilize ComposioService and hyb…
AnishSarkar22 May 16, 2026
b52e578
refactor: replace Popover with DropdownMenu in ComposerAction and cle…
AnishSarkar22 May 16, 2026
bd1d1c4
refactor: adjust thread max width and update button sizes in Composer…
AnishSarkar22 May 16, 2026
a49ee05
refactor: enhance layout structure by introducing WorkspacePanel and …
AnishSarkar22 May 16, 2026
88a43cd
refactor: enhance ConnectToolsBanner functionality and update sidebar…
AnishSarkar22 May 17, 2026
10527dd
refactor: implement tab navigation in BuyMorePage and enhance button …
AnishSarkar22 May 17, 2026
c580add
refactor: enhance Google login functionality and button styles across…
AnishSarkar22 May 17, 2026
5bcda6b
refactor: replace action log sheet with dialog component and update r…
AnishSarkar22 May 17, 2026
08142f9
refactor: implement UserSettingsPage and UserSettingsPanel components…
AnishSarkar22 May 17, 2026
b6aed05
refactor: implement SearchSpaceSettingsPage and SearchSpaceSettingsPa…
AnishSarkar22 May 17, 2026
a065f94
Merge pull request #1388 from AnishSarkar22/fix/zero-cache-stale-repl…
MODSetter May 18, 2026
3c27fe6
Merge pull request #1390 from AnishSarkar22/fix/backend-tests
MODSetter May 18, 2026
ac76d50
Merge pull request #1400 from guangyang1206/fix/cachekeys-order-stabl…
MODSetter May 18, 2026
8fc4b98
Merge pull request #1402 from guangyang1206/fix/extract-domain-helper…
MODSetter May 18, 2026
87caa4b
Merge remote-tracking branch 'upstream/dev' into feat/ui-revamp
AnishSarkar22 May 18, 2026
047871c
fix(citation-panel): reset expanded state when chunkId changes
mvanhorn May 18, 2026
e0ecea6
refactor: extract user avatar color and initials logic into a new uti…
AnishSarkar22 May 18, 2026
b7a6e3a
refactor: update alert components across various files to use a consi…
AnishSarkar22 May 18, 2026
22f6b9d
refactor: update Slack configuration styling and remove unused icon i…
AnishSarkar22 May 18, 2026
d129ddd
refactor: implement new layout structure for search space and user se…
AnishSarkar22 May 18, 2026
c8f0f7c
refactor: update alert components to use warning variant and clean up…
AnishSarkar22 May 18, 2026
d1d44dc
Merge pull request #1407 from mvanhorn/fix/citation-panel-expanded-st…
MODSetter May 19, 2026
49e1395
refactor: enhance user settings components with updated icons, improv…
AnishSarkar22 May 19, 2026
3b168e9
feat: add TeamPage component and remove TeamDialog for improved team …
AnishSarkar22 May 19, 2026
ca0e087
fix(slide-out): use shared useIsMobile (768px) instead of ad-hoc 640p…
mvanhorn May 19, 2026
78ad19d
refactor: enhance PromptsContent with dropdown menu for actions, upda…
AnishSarkar22 May 19, 2026
a5bd2be
feat: integrate collapsible sections for connector management in Comp…
AnishSarkar22 May 19, 2026
8fd52d3
refactor: update styling and structure of team content, comment panel…
AnishSarkar22 May 19, 2026
1169b43
refactor: improve styling of MemberRow component and clean up agent t…
AnishSarkar22 May 19, 2026
e47e9ac
Merge remote-tracking branch 'upstream/dev' into feat/ui-revamp
AnishSarkar22 May 19, 2026
ee3a6dc
refactor: enhance DesktopContent and HotkeysContent components with i…
AnishSarkar22 May 19, 2026
cd4e5ae
feat: implement macOS-specific title bar adjustments and enhance Righ…
AnishSarkar22 May 19, 2026
0768826
feat: add new icon assets for macOS and update tray icon handling
AnishSarkar22 May 19, 2026
f1b3c88
feat: add collapsed header content support in LayoutShell and Sidebar…
AnishSarkar22 May 19, 2026
d66295a
chore: ran linting
AnishSarkar22 May 19, 2026
8174949
Merge pull request #1403 from AnishSarkar22/feat/ui-revamp
MODSetter May 19, 2026
b285293
fix: docker one click setup
MODSetter May 20, 2026
4774105
Merge pull request #1413 from mvanhorn/fix/1359-shared-isMobile-hook
MODSetter May 20, 2026
ed22da7
feat: bumped version to 0.0.24
MODSetter May 20, 2026
f5f2456
Merge branch 'dev' of https://github.com/MODSetter/SurfSense into dev
MODSetter May 20, 2026
0f98480
Merge pull request #1419 from MODSetter/dev
MODSetter May 20, 2026
140d45f
chore: merge upstream v0.0.24 into foss-main
aznszn May 21, 2026
9acd618
fix(app): add missing auth_backend and UserCreate imports broken by v…
aznszn May 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
337 changes: 337 additions & 0 deletions .cursor/skills/alert-manager/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,337 @@
---
name: alert-manager
description: 'Configure SEO alerts for ranking drops, traffic changes, technical issues, competitor movements. SEO预警/排名监控'
version: "6.0.0"
license: Apache-2.0
compatibility: "Claude Code ≥1.0, skills.sh marketplace, ClawHub marketplace, Vercel Labs skills ecosystem. No system packages required. Optional: MCP network access for SEO tool integrations."
homepage: "https://github.com/aaron-he-zhu/seo-geo-claude-skills"
when_to_use: "Use when setting up monitoring alerts for rankings, traffic, backlinks, technical issues, or AI visibility changes."
argument-hint: "<domain> [metric]"
metadata:
author: aaron-he-zhu
version: "6.0.0"
geo-relevance: "low"
tags:
- seo
- geo
- seo-alerts
- ranking-alerts
- traffic-monitoring
- competitor-alerts
- automated-monitoring
- anomaly-detection
- SEO预警
- SEOアラート
- SEO알림
- alertas-seo
triggers:
# EN-formal
- "set up SEO alerts"
- "monitor rankings"
- "ranking notifications"
- "traffic alerts"
- "competitor alerts"
- "automated monitoring"
# EN-casual
- "notify me when rankings drop"
- "alert me if rankings drop"
- "notify me of traffic changes"
- "watch competitor changes"
- "watch my keywords for changes"
- "alert me about changes"
# EN-question
- "how to monitor my rankings"
- "how to set up SEO alerts"
# ZH-pro
- "SEO预警"
- "排名监控"
- "流量报警"
- "竞品变动提醒"
# ZH-casual
- "排名掉了提醒我"
- "流量异常"
- "有变化通知我"
# JA
- "SEOアラート"
- "ランキング監視"
# KO
- "SEO 알림"
- "순위 모니터링"
# ES
- "alertas SEO"
- "monitoreo de rankings"
# PT
- "alertas de SEO"
# Misspellings
- "SEO allerts"
---

# Alert Manager


> **[SEO & GEO Skills Library](https://github.com/aaron-he-zhu/seo-geo-claude-skills)** · 20 skills for SEO + GEO · [ClawHub](https://clawhub.ai/u/aaron-he-zhu) · [skills.sh](https://skills.sh/aaron-he-zhu/seo-geo-claude-skills)
> **System Mode**: This monitoring skill follows the shared [Skill Contract](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/skill-contract.md) and [State Model](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/state-model.md).


Sets up proactive monitoring alerts for critical SEO and GEO metrics. Triggers notifications when rankings drop, traffic changes significantly, technical issues occur, or competitors make moves.

**System role**: Monitoring layer skill. It turns performance changes into deltas, alerts, and next actions.

## When This Must Trigger

Use this when the conversation involves any of these situations — even if the user does not use SEO terminology:

Use this whenever the task needs time-aware change detection, escalation, or stakeholder-ready visibility.

- Setting up SEO monitoring systems
- Creating ranking drop alerts
- Monitoring technical SEO health
- Tracking competitor movements
- Alerting on content performance changes
- Monitoring GEO/AI visibility changes
- Setting up brand mention alerts

## What This Skill Does

1. **Alert Configuration**: Sets up custom alert thresholds
2. **Multi-Metric Monitoring**: Tracks rankings, traffic, technical issues
3. **Threshold Management**: Defines when alerts trigger
4. **Priority Classification**: Categorizes alerts by severity
5. **Notification Setup**: Configures how alerts are delivered
6. **Alert Response Plans**: Creates action plans for each alert type
7. **Alert History**: Tracks alert patterns over time

## Quick Start

Start with one of these prompts. Finish with a short handoff summary using the repository format in [Skill Contract](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/skill-contract.md).

### Set Up Alerts

```
Set up SEO monitoring alerts for [domain]
```

```
Create ranking drop alerts for my top 20 keywords
```

### Configure Specific Alerts

```
Alert me when [specific condition]
```

```
Set up competitor monitoring for [competitor domains]
```

### Review Alert System

```
Review and optimize my current SEO alerts
```

## Skill Contract

**Expected output**: a delta summary, alert/report output, and a short handoff summary ready for `memory/monitoring/`.

- **Reads**: current metrics, previous baselines, alert thresholds, and reporting context from [CLAUDE.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/CLAUDE.md) and the shared [State Model](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/state-model.md) when available.
- **Writes**: a user-facing monitoring deliverable plus a reusable summary that can be stored under `memory/monitoring/`.
- **Promotes**: significant changes, confirmed anomalies, and follow-up actions to `memory/open-loops.md` and `memory/decisions.md`.
- **Next handoff**: use the `Next Best Skill` below when a change needs action.

## Data Sources

> **Note:** All integrations are optional. This skill works without any API keys — users provide data manually when no tools are connected.

> See [CONNECTORS.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/CONNECTORS.md) for tool category placeholders.

**With ~~SEO tool + ~~search console + ~~web crawler connected:**
Automatically monitor real-time metric feeds for ranking changes via ~~SEO tool API, indexing and coverage alerts from ~~search console, and technical health alerts from ~~web crawler. Set up automated threshold-based alerts with notification delivery.

**With manual data only:**
Ask the user to provide:
1. Current baseline metrics for alert thresholds (rankings, traffic, backlinks)
2. Critical keywords or pages to monitor
3. Alert priority levels and notification preferences
4. Historical data to understand normal fluctuation ranges
5. Manual reporting on metric changes when they check their tools

Proceed with the alert configuration using provided parameters. User will need to manually check metrics and report changes for alert triggers.

## Instructions

When a user requests alert setup:

1. **Define Alert Categories**

```markdown
## SEO Alert System Configuration

**Domain**: [domain]
**Configured Date**: [date]

### Alert Categories

| Category | Description | Typical Urgency |
|----------|-------------|-----------------|
| Ranking Alerts | Keyword position changes | Medium-High |
| Traffic Alerts | Organic traffic fluctuations | High |
| Technical Alerts | Site health issues | Critical |
| Backlink Alerts | Link profile changes | Medium |
| Competitor Alerts | Competitor movements | Low-Medium |
| GEO Alerts | AI visibility changes | Medium |
| Brand Alerts | Brand mentions and reputation | Medium |
```

2. **Configure Alert Rules by Category**

For each relevant category (Rankings, Traffic, Technical, Backlinks, Competitors, GEO/AI, Brand), define alert name, trigger condition, threshold, and priority level.

> **Reference**: See [references/alert-configuration-templates.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/monitor/alert-manager/references/alert-configuration-templates.md) for complete alert tables, threshold examples, and response plan templates for all 7 categories.

3. **Define Alert Response Plans**

Map each priority level (Critical, High, Medium, Low) to a response time and immediate action steps.

4. **Set Up Alert Delivery**

Configure notification channels (Email, SMS, Slack), recipient routing by role, suppression rules (duplicate cooldown, maintenance windows), and escalation paths.

5. **Create Alert Summary**

```markdown
# SEO Alert System Summary

**Domain**: [domain]
**Configured**: [date]
**Total Active Alerts**: [X]

## Alert Count by Category

| Category | Critical | High | Medium | Low | Total |
|----------|----------|------|--------|-----|-------|
| Rankings | [X] | [X] | [X] | [X] | [X] |
| Traffic | [X] | [X] | [X] | [X] | [X] |
| Technical | [X] | [X] | [X] | [X] | [X] |
| Backlinks | [X] | [X] | [X] | [X] | [X] |
| Competitors | [X] | [X] | [X] | [X] | [X] |
| GEO | [X] | [X] | [X] | [X] | [X] |
| **Total** | **[X]** | **[X]** | **[X]** | **[X]** | **[X]** |

## Quick Reference

### If You Get a Critical Alert

1. Don't panic
2. Check alert details
3. Follow response plan
4. Document actions taken
5. Update stakeholders

### Weekly Alert Review Checklist

- [ ] Review all alerts triggered
- [ ] Identify patterns
- [ ] Adjust thresholds if needed
- [ ] Update response plans
- [ ] Clean up false positives
```

## Validation Checkpoints

### Input Validation
- [ ] Alert thresholds are based on realistic baseline data
- [ ] Critical keywords and pages clearly identified
- [ ] Response plans defined for each alert priority level
- [ ] Notification channels configured with appropriate recipients

### Output Validation
- [ ] Every metric cites its data source and collection date
- [ ] Alert thresholds account for normal metric fluctuations
- [ ] Response plans are specific and time-bound
- [ ] Source of each alert trigger clearly stated (~~SEO tool API alert, ~~search console notification, ~~web crawler alert, or manual user check)

## Example

**User**: "Set up ranking drop alerts for my top keywords"

**Output**:

```markdown
## Ranking Alert Configuration

### Critical Keywords (Immediate Alert)

| Keyword | Current | Alert If | Priority |
|---------|---------|----------|----------|
| best project management software | 2 | Drops to 5+ | 🔴 Critical |
| project management tools | 4 | Drops to 8+ | 🔴 Critical |
| team collaboration software | 1 | Any drop | 🔴 Critical |

### Important Keywords (Same-Day Alert)

| Keyword | Current | Alert If | Priority |
|---------|---------|----------|----------|
| agile project management | 7 | Drops out of top 10 | 🔴 High |
| kanban software | 9 | Drops out of top 10 | 🔴 High |

### Alert Response Plan

**If Critical Keyword Drops**:
1. Check if page is still indexed (site:url)
2. Look for algorithm update announcements
3. Analyze what changed in SERP
4. Review competitor ranking changes
5. Check for technical issues on page
6. Create recovery action plan within 24 hours

**Notification**: Email + Slack to SEO team immediately
```

## Tips for Success

1. **Start simple** - Don't create too many alerts initially
2. **Tune thresholds** - Adjust based on normal fluctuations
3. **Avoid alert fatigue** - Too many alerts = ignored alerts
4. **Document response plans** - Know what to do when alerts fire
5. **Review regularly** - Alerts need maintenance as your SEO matures
6. **Include positive alerts** - Track wins, not just problems

## Alert Threshold Quick Reference

| Metric | Warning | Critical | Frequency |
|--------|---------|----------|-----------|
| Organic traffic | -15% WoW | -30% WoW | Daily |
| Keyword positions | >3 position drop | >5 position drop | Daily |
| Pages indexed | -5% change | -20% change | Weekly |
| Crawl errors | >10 new/day | >50 new/day | Daily |
| Core Web Vitals | "Needs Improvement" | "Poor" | Weekly |
| Backlinks lost | >5% in 1 week | >15% in 1 week | Weekly |
| AI citation loss | Any key query | >20% queries | Weekly |
| Security issues | Any detected | Any detected | Daily |

> **Reference**: See [references/alert-threshold-guide.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/monitor/alert-manager/references/alert-threshold-guide.md) for baseline establishment, threshold setting methodology, fatigue prevention, escalation paths, and response playbooks.


### Save Results

After delivering monitoring data or reports to the user, ask:

> "Save these results for future sessions?"

If yes, write a dated summary to `memory/monitoring/YYYY-MM-DD-<topic>.md` containing:
- One-line headline finding or status change
- Top 3-5 actionable items
- Open loops or anomalies requiring follow-up
- Source data references

If any findings should influence ongoing strategy, recommend promoting key conclusions to `memory/hot-cache.md`.

## Reference Materials

- [Alert Threshold Guide](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/monitor/alert-manager/references/alert-threshold-guide.md) — Recommended thresholds by metric, fatigue prevention strategies, and escalation path templates

## Next Best Skill

- **Primary**: [rank-tracker](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/monitor/rank-tracker/SKILL.md) — pair alerts with a baseline measurement workflow.
Loading