New connector pages experience#660
Conversation
- Fixed invalid image import in _mcp-auth-claude-code.mdx (string filepath replaced with proper import) - Fixed 3 broken anchor links referencing /guides/admin-portal/ headings with Badge components
# Conflicts: # CONTRIBUTING.md # project-docs/SYNC_AGENT_CONNECTORS.md
# Conflicts: # CONTRIBUTING.md # project-docs/SYNC_AGENT_CONNECTORS.md # public/d2/docs/guides/sso/sso-migration-strategy-1.svg # src/components/templates/coding-agents/_mcp-auth-claude-code.mdx # src/content/docs/directory/guides/group-based-role-assignment.mdx
…uide-refresh # Conflicts: # CONTRIBUTING.md
…xperience - Created a new hand-authored HubSpot connector page to optimize for first-time inbound developers. - Introduced a clear quickstart section, setup instructions, and verification steps. - Enhanced content organization with new headings and improved navigation. - Removed unnecessary `<details>` blocks to make valuable content more accessible. - Updated existing documentation to reflect changes in the HubSpot integration process.
…ew/connector-sync-guide-refresh Co-authored-by: Cursor <cursoragent@cursor.com>
|
Caution Review failedPull request was closed or merged during review WalkthroughThis PR restructures AgentKit connector documentation into a Steps-based quickstart model, adds common-workflow sections, and updates the sync script to generate these pages with quickstart selection and template discovery. It revises template exports, adds quickstart/common-workflow templates, updates many connector MDX pages, introduces tool deep-linking in ToolList, and makes minor doc/style/formatting updates. ChangesConnector Docs Restructure and Sync Pipeline
Tool List Deep-Linking and Page Title Styling
Docs and Guides Minor Edits
Connector Data Formatting
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Possibly related PRs
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests (beta)
|
✅ Deploy Preview for scalekit-starlight ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
… connector page - ToolList: add hover-reveal `#` anchor next to each tool name for easy deep-linking - HubSpot connector: remove standalone "Authorize a user" section (already covered in quickstart step 4)
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@project-docs/CONNECTOR_PAGE_RESTRUCTURE.md`:
- Around line 17-55: The fenced block containing the ASCII architecture/layout
(the triple-backtick block starting with the Frontmatter line) lacks a language
identifier which trips markdown linting; add a language tag such as "text"
(i.e., change the opening ``` to ```text) so the block is treated as non-code
and linting passes, leaving the content inside unchanged.
In `@src/components/ToolList.astro`:
- Around line 99-117: .tool-anchor is hidden via opacity:0 and only revealed on
.tool-header:hover, making keyboard users tab to an invisible control; update
the CSS to also reveal the anchor when focused or when the header has keyboard
focus by adding rules like .tool-anchor:focus, .tool-anchor:focus-visible, and
.tool-header:focus-within .tool-anchor { opacity: 1; } (and keep the existing
transition so appearance matches hover). Ensure the anchor remains tabbable and
do not switch to display:none so focus still works.
In `@src/content/docs/agentkit/connectors/handwritten-hubspot.mdx`:
- Line 31: The Steps blocks use third-level headings (###) instead of the
required numbered H2 format; update each <Steps> section so each step title uses
the numbered H2 form (e.g., replace "### Install the SDK" with "1. ## Install
the SDK") so parsing and section structure remain consistent; apply the same fix
for the other occurrences referenced (around the headings at the other noted
spots) inside the same <Steps> tags.
- Around line 95-126: Wrap the quickstart flow involving ScalekitClient,
actions.getAuthorizationLink and actions.executeTool in minimal try/catch blocks
(or a single async IIFE with try/catch) to surface failures; validate required
env vars (SCALEKIT_ENV_URL, SCALEKIT_CLIENT_ID, SCALEKIT_CLIENT_SECRET) before
creating ScalekitClient, log clear success messages after link generation and
after executeTool returns, and log detailed errors (including
error.message/stack) in the catch so users can diagnose auth or tool execution
failures; reference the existing identifiers ScalekitClient,
actions.getAuthorizationLink, actions.executeTool, connectionName and identifier
when adding these checks and logs.
- Line 30: Insert a one-paragraph overview immediately before the Steps section
in the handwritten-hubspot.mdx page that states what the connector accomplishes,
when to use this connector, and a brief workflow preview; update the MDX content
(look for the Steps marker in
src/content/docs/agentkit/connectors/handwritten-hubspot.mdx) to include this
short opening paragraph so readers see the value proposition before the
step-by-step instructions.
- Around line 453-499: The page lacks a clear "what's next" endpoint after
Troubleshooting; append a short next-step section at the end of the document
that directs readers to the logical follow-up (e.g., a frontmatter next: link, a
LinkCard, or a brief paragraph linking to the Tool list, example usage, or the
AgentKit Connections guide). Ensure the section references concrete entry points
such as the Tool list (`#tool-list`), the example calls like
getAuthorizationLink() / get_authorization_link(), or the AgentKit > Connections
dashboard so readers know where to go next.
In `@src/data/agent-connectors/hubspot.ts`:
- Around line 693-695: The description for hubspot_ticket_create incorrectly
references a non-existent parameter; either update the hubspot_ticket_create
description to remove or correct the reference to
hubspot_deal_pipelines_list/object_type, or add/support an object_type parameter
on the hubspot_deal_pipelines_list tool. Specifically, locate the
hubspot_ticket_create description and change the guidance to point to the actual
parameter/name used by hubspot_deal_pipelines_list (or implement an object_type
argument in the hubspot_deal_pipelines_list function/definition so callers can
pass object_type: "tickets"), and ensure both the function/method names
hubspot_ticket_create and hubspot_deal_pipelines_list are consistent with the
same parameter contract.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: b166ce64-0dc9-4fd0-9981-4dd3f43672ea
⛔ Files ignored due to path filters (1)
public/d2/docs/cookbooks/render-github-pr-summarizer-0.svgis excluded by!**/*.svg
📒 Files selected for processing (9)
project-docs/CONNECTOR_PAGE_RESTRUCTURE.mdsrc/components/ToolList.astrosrc/content/docs/agentkit/connectors/handwritten-hubspot.mdxsrc/content/docs/directory/guides/group-based-role-assignment.mdxsrc/data/agent-connectors/datadog.tssrc/data/agent-connectors/hubspot.tssrc/data/agent-connectors/mailchimp.tssrc/data/agent-connectors/quickbooks.tssrc/data/agent-connectors/xero.ts
📜 Review details
🧰 Additional context used
📓 Path-based instructions (18)
**/*.{js,ts,tsx,jsx,py,java,cs,go,cpp,c,rb,php,swift,kt,scala,rs,m,mm,groovy,gradle,xml,json}
📄 CodeRabbit inference engine (.cursor/rules/comment-standards.mdc)
Comments should not duplicate the code - avoid comments that simply restate what the code does; comments should add value beyond what's obvious from reading the code
Files:
src/data/agent-connectors/xero.tssrc/data/agent-connectors/hubspot.tssrc/data/agent-connectors/datadog.tssrc/data/agent-connectors/mailchimp.tssrc/data/agent-connectors/quickbooks.ts
**/*.{js,ts,tsx,jsx,py,java,cs,go,cpp,c,rb,php,swift,kt,scala,rs,m,mm,groovy}
📄 CodeRabbit inference engine (.cursor/rules/comment-standards.mdc)
**/*.{js,ts,tsx,jsx,py,java,cs,go,cpp,c,rb,php,swift,kt,scala,rs,m,mm,groovy}: Good comments do not excuse unclear code - refactor the code to be self-explanatory instead of using comments to explain poorly written code; use better variable names, function names, and code structure
Comments should dispel confusion, not cause it - ensure comments clarify rather than obscure the code's purpose; avoid cryptic or joke comments
Explain unidiomatic code in comments - comment on code that might seem unnecessary or redundant and document why you chose a specific pattern over more common alternatives, especially when it deviates from team conventions
Provide links to the original source of copied code - always attribute code copied from external sources with URLs to Stack Overflow answers, GitHub repositories, or documentation
Include links to external references where helpful - reference standards, RFCs, and official documentation; link to relevant specifications when implementing protocols
Add comments when fixing bugs - document bug fixes with context about the issue, reference issue trackers and bug reports, and explain workarounds and their limitations
Use comments to mark incomplete implementations - use standard formats for TODO, FIXME, and NOTE comments with context about what needs to be done and reference issue trackers when possible
Always document public APIs with function/class comments - explain the purpose, parameters, return values, and exceptions; include usage examples for complex functions
Include file headers with copyright information, license, and authorship - provide a brief description of the file's purpose and document dependencies and requirements
Files:
src/data/agent-connectors/xero.tssrc/data/agent-connectors/hubspot.tssrc/data/agent-connectors/datadog.tssrc/data/agent-connectors/mailchimp.tssrc/data/agent-connectors/quickbooks.ts
**/*.{js,ts,tsx,jsx}
📄 CodeRabbit inference engine (.cursor/rules/comment-standards.mdc)
Use JSDoc standards for all function, class, and complex logic comments in JavaScript/TypeScript - include parameter descriptions (
@param), return values (@returns), types (@type), and descriptions; document exceptions and edge cases
Files:
src/data/agent-connectors/xero.tssrc/data/agent-connectors/hubspot.tssrc/data/agent-connectors/datadog.tssrc/data/agent-connectors/mailchimp.tssrc/data/agent-connectors/quickbooks.ts
**/*.{ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{ts,tsx}: Prefer interface for defining object shapes in TypeScript
Use camelCase for variable names
Files:
src/data/agent-connectors/xero.tssrc/data/agent-connectors/hubspot.tssrc/data/agent-connectors/datadog.tssrc/data/agent-connectors/mailchimp.tssrc/data/agent-connectors/quickbooks.ts
**/*.{ts,tsx,py,go,java,mdx,md}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{ts,tsx,py,go,java,mdx,md}: Use the exact SDK variable names: Node.js (scalekit), Python (scalekit_client), Go (scalekitClient), Java (scalekitClient)
Never hard-code secrets or API keys in code examples; use environment variables
Include security comments that state the threat, why the pattern is required, and what can go wrong if omitted
Files:
src/data/agent-connectors/xero.tssrc/content/docs/directory/guides/group-based-role-assignment.mdxsrc/data/agent-connectors/hubspot.tsproject-docs/CONNECTOR_PAGE_RESTRUCTURE.mdsrc/data/agent-connectors/datadog.tssrc/data/agent-connectors/mailchimp.tssrc/content/docs/agentkit/connectors/handwritten-hubspot.mdxsrc/data/agent-connectors/quickbooks.ts
**/*.{ts,tsx,py,go,java}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{ts,tsx,py,go,java}: Use JSDoc/JavaDoc/docstring standards for function, class, and complex logic comments with parameter descriptions, return values, and types
Comments should not duplicate the code; explain what the code does conceptually, not literally
Use better variable names and structure instead of comments to explain poorly written code
Explain unidiomatic or redundant code in comments; clarify why a specific pattern was chosen
Document exceptions and edge cases in code comments
Include links to external references (standards, RFCs, official documentation) in comments where helpful
Add comments when fixing bugs; reference issue trackers
Use standard formats for TODO, FIXME, and NOTE comments
Files:
src/data/agent-connectors/xero.tssrc/data/agent-connectors/hubspot.tssrc/data/agent-connectors/datadog.tssrc/data/agent-connectors/mailchimp.tssrc/data/agent-connectors/quickbooks.ts
**/*.{ts,tsx,js,json}
📄 CodeRabbit inference engine (CLAUDE.md)
Use
pnpmfor package management
Files:
src/data/agent-connectors/xero.tssrc/data/agent-connectors/hubspot.tssrc/data/agent-connectors/datadog.tssrc/data/agent-connectors/mailchimp.tssrc/data/agent-connectors/quickbooks.ts
**/*.{ts,tsx,js,jsx,py,go,java}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx,js,jsx,py,go,java}: Comments should not duplicate the code; comments should add value beyond what's obvious. Use better variable names and structure instead of using comments to explain poorly written code
Don't use comments to excuse unclear code. Comments should dispel confusion, not cause it. Ensure comments clarify rather than obscure purpose
Explain unidiomatic code in comments: comment on code that might seem unnecessary or redundant; explain why you chose a specific pattern
Use JSDoc/JavaDoc/docstring standards for function, class, and complex logic comments including parameter descriptions, return values, types, and descriptions
Document exceptions and edge cases in code comments
Include links to external references in code comments where helpful (standards, RFCs, official documentation)
Add comments when fixing bugs; reference issue trackers
Use standard formats for TODO, FIXME, and NOTE comments in code
Files:
src/data/agent-connectors/xero.tssrc/data/agent-connectors/hubspot.tssrc/data/agent-connectors/datadog.tssrc/data/agent-connectors/mailchimp.tssrc/data/agent-connectors/quickbooks.ts
**/*.{ts,js,mjs}
⚙️ CodeRabbit configuration file
**/*.{ts,js,mjs}: Do NOT enforce code-commenting style rules on these files.
Specifically, do not flag:
- Comments that "duplicate" or restate what the code does.
- Missing comments on bug fixes, workarounds, or issue references.
- Missing inline documentation or explanatory comments.
Code comments are at the author's discretion.
Files:
src/data/agent-connectors/xero.tssrc/data/agent-connectors/hubspot.tssrc/data/agent-connectors/datadog.tssrc/data/agent-connectors/mailchimp.tssrc/data/agent-connectors/quickbooks.ts
**/*.mdx
📄 CodeRabbit inference engine (.cursorrules)
**/*.mdx: Use clear, descriptive titles that explain the purpose of the document
Include comprehensive descriptions in frontmatter metadata
Organize content with logical heading hierarchy (H2, H3, H4)
Use tableOfContents property in frontmatter when content has multiple sections
Set appropriate sidebar labels for navigation in frontmatter
Use direct instruction writing style with phrases like 'This guide shows you how to...' and 'Create an authorization URL to...'
Use second person perspective ('your application', 'you receive', 'you must') in documentation
Keep sentences concise, aiming for under 25 words per sentence
Explain the 'why' in documentation with phrases like 'This prevents CSRF attacks by...' or 'Use this to validate that...'
Use action verbs in section headings: 'Store session tokens securely', 'Validate the state parameter', 'Exchange authorization code for tokens'
Use present tense for descriptions: 'Scalekit handles the complex authentication flow', 'The SDK provides methods to refresh tokens'
Use future tense for results: 'This will redirect users to...', 'You'll receive a JWT containing...', 'Scalekit returns an authorization code'
Use transition phrases between sections: 'After the user authenticates...', 'Once the state is validated...', 'Let's take a look at how to...'
Write 1-3 opening paragraphs that explain what users will accomplish, provide context about when/why, preview key concepts, and use direct instructional language
Begin introduction sections with a clear statement of what the guide covers and explain the problem being solved
Use collapsible sections in introduction for sequence diagrams, video demonstrations, data models, and JSON examples with appropriate icons
Use numbered format within Steps component:1. ## Titlewith all step content indented with exactly 3 spaces
Use action-oriented headings in step-by-step guides within Steps components
Include code examples in all 4 languages (Node.js, Python, Go, Java) within Steps co...
Files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
⚙️ CodeRabbit configuration file
**/*.mdx: You are reviewing Scalekit developer documentation written in MDX
(Astro + Starlight framework). Apply ALL of the following checks:Frontmatter
titleMUST be ≤ 60 characters and clearly state what the page does.descriptionMUST be ≤ 160 characters, action-oriented, unique per page.sidebar.labelMUST be present and ≤ 30 characters.sidebar.orderMUST be set on every page that lives inside a section
with siblings, to enforce the journey order in sidebar.config.ts.- Flag any missing
prev/nextlinks on pages that are clearly
part of a sequential flow (e.g., quickstart → implement-login →
complete-login → manage-session → logout).Voice & Style (CLAUDE.md standards)
- Voice: confident, direct, collaborative, instructional.
- Person: second person only ("you", "your application"). Reject "we",
"our", "the developer", "the user".- Tense: present tense for descriptions; imperative mood for instructions.
- Flag weasel words: "simply", "just", "easy", "straightforward",
"obviously", "of course", "note that".- Flag passive voice constructions where active voice is clearer.
- Headings must be sentence case, not Title Case (except proper nouns).
- No heading should end with a colon or period.
Content structure
- Journey how-to guides MUST contain numbered
<Steps>(Starlight
component). This does NOT apply tosrc/content/docs/cookbooks/**
(blog-style recipes — optional<Steps>,<Tabs>after</Steps>OK;
see cookbookspath_instructions).- Concept pages MUST NOT contain numbered steps — concepts explain, not instruct.
- API reference pages MUST list parameters in a table with Name / Type /
Required / Description columns.- Every page MUST end with a clear "what's next" signal — either a
next:frontmatter link, a<LinkCard>, or an explicit paragraph
pointing the reader forward in the sidebar journey.Code examples
- ALL code examples that show SDK usage MUST include all four language
tabs...
Files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
**/*.{yml,yaml,md,mdx}
📄 CodeRabbit inference engine (.cursor/rules/browsecentral-labels.mdc)
**/*.{yml,yaml,md,mdx}: BrowseCentral labels should be maximum 3-5 words - keep concise but add context when needed
BrowseCentral labels should be action-oriented - start with verbs when possible
BrowseCentral labels should be specific and clear - add context when simple labels are ambiguous
BrowseCentral labels should be outcome-focused - describe what users accomplish and the context
BrowseCentral labels should use 'Action + Object' pattern (e.g., 'Invite users', 'Restrict sign-up', 'Set up SCIM')
BrowseCentral labels should use feature names (e.g., 'Enterprise SSO', 'Passwordless quickstart')
BrowseCentral labels should describe task completion (e.g., 'Run migrations', 'Migrate auth', 'Merge identities')
BrowseCentral labels should include specific context when needed (e.g., 'Configure Scalekit MCP server', 'Validate incoming API requests')
BrowseCentral labels should use integration context when applicable (e.g., 'Build MCP auth with your existing auth system')
BrowseCentral labels should avoid instructional prefixes: 'How to', 'Guide to', 'Implement', 'Configure', 'Learn', 'Understand'
BrowseCentral labels should avoid verbose phrases: 'Step-by-step guide', 'Complete tutorial', 'Detailed documentation'
BrowseCentral labels should avoid weak verbs: 'Enable', 'Allow', 'Provide', 'Support'
Files:
src/content/docs/directory/guides/group-based-role-assignment.mdxproject-docs/CONNECTOR_PAGE_RESTRUCTURE.mdsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
**/*.{md,mdx}
📄 CodeRabbit inference engine (.cursor/rules/deno-docs-style.mdc)
**/*.{md,mdx}: Use sentence case for all titles and headings in MD/MDX documentation
Keep page titles short and descriptive (3–7 words when possible) in MD/MDX documentation
Use outcome-focused headings that describe results, not categories (e.g., 'Run a script' not 'Scripts')
Avoid gerunds in headings when an imperative works - prefer 'Configure proxies' over 'Configuring proxies'
Keep sidebar labels concise (1–3 words), use sentence case, and focus on outcomes or objects
Use sentence case in sidebar labels without punctuation
Set frontmatter title in sentence case with a clear outcome; description in one sentence (≤160 chars); sidebar.label as shorter form of title; enable tableOfContents on longer pages
Start documentation pages with a one-paragraph overview explaining what the page covers and when to use it
Present the primary use case (80% path) first in documentation, with edge cases later
Use numbered steps for task-focused sections in documentation, with each step beginning with a verb
Break up long documentation sections with subheadings every 3–6 paragraphs
Use asides for important notes, tips, cautions, and references in documentation
Provide runnable, minimal code examples that work as-is in documentation
Prefer CLI-first examples and show file layout when helpful in documentation
Label code blocks with titles for context (e.g., 'Terminal', 'main.ts') in documentation
Keep code block annotations brief and purposeful - annotate only what matters
Use consistent variable and file names across a documentation page
Use descriptive link text in documentation (e.g., 'See permission flags' not 'click here')
Prefer relative links for internal documentation pages and include anchors for section references
Reference APIs consistently using backticks for code, file names, CLI flags, and endpoints
Use backticks for code, file names, CLI flags, and endpoints in documentation
Use lists for options and features in documentation; tables only when comparisons are cleare...
Files:
src/content/docs/directory/guides/group-based-role-assignment.mdxproject-docs/CONNECTOR_PAGE_RESTRUCTURE.mdsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
src/content/docs/**/*.mdx
📄 CodeRabbit inference engine (.cursor/rules/starlight-steps-tabs-structure.mdc)
src/content/docs/**/*.mdx: In MDX documentation files,<Steps>must contain one continuous ordered list. Wrap<Steps>around a normal Markdown ordered list such as1. ## ...
In MDX documentation files, numbered step lines must start at column 0. Do not indent the1. ##,2. ##, etc.
In MDX documentation files, any content that belongs to a step must be indented with 3 spaces: paragraphs, bullets, images,<Tabs>,<TabItem>, and fenced code blocks
In MDX documentation files, prefer plain Markdown inside<Steps>. If the content is mostly<Tabs>or other JSX-heavy blocks, use normal section headings instead of<Steps>
In MDX documentation files, when<Tabs>is used inside a step, keep<Tabs>,<TabItem>,</TabItem>, and</Tabs>consistently nested under that step
In MDX documentation files, if a tabs block is not part of a numbered step, place it outside</Steps>
Files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
**/*.{mdx,md}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{mdx,md}: All code examples must use<Tabs syncKey="tech-stack">format and include Node.js, Python, Go, and Java implementations (90% rule)
Use sentence case for all titles and headings in documentation
Use bold for first mention of important terms, UI elements, and dashboard paths (e.g., Dashboard > Authentication > Session Policy)
Use inline code for technical identifiers: variables, functions, endpoints, scopes, environment variables, file paths, and placeholders
Always include headers in tables; keep cell content concise and readable
Prefer fenced code blocks with language identifiers for all code; never use screenshots of code
Use descriptive link text; never use 'click here' or 'this' as link labels
Keep sentences simple, right-branching, and unambiguous; avoid ambiguous noun stacks and demonstrative pronouns
Use active voice; prefer 'Run the command' over 'The command should be run'
Use second person when giving instructions; address the reader as 'you'
Use present tense for procedures; 'This command installs…' not 'This command will install…'
Avoid hype, slang, and filler words like 'simply', 'just', 'obviously' in documentation
Use consistent terminology throughout; prefer standard names over synonyms
Explain security implications and threats for all security-related content
Use imperative verbs for procedure headings: 'Run a script' not 'Running a script'; 'Configure proxies' not 'Configuring proxies'
Headings must describe outcomes, not categories (good: 'Run a script'; bad: 'Scripts')
Split content into clear sections with descriptive, sentence-style titles that convey meaning without requiring the following paragraph
Keep paragraphs short; isolate critical points in their own short paragraphs
Begin sections and paragraphs with standalone topic sentences that preview content
Put the topic words at the beginning of topic sentences to support fast skimming
Put key takeaways and results at the top of documents and sections
Use bullets and tabl...
Files:
src/content/docs/directory/guides/group-based-role-assignment.mdxproject-docs/CONNECTOR_PAGE_RESTRUCTURE.mdsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
src/content/docs/**/*.{mdx,md}
📄 CodeRabbit inference engine (CLAUDE.md)
src/content/docs/**/*.{mdx,md}: Every documentation page must include frontmatter with at least:title,description, andsidebar.label
Page titles must be ≤60 characters and descriptions must be ≤160 characters
Sidebar labels must be concise (1-3 words) and use sentence case without punctuation
Use<Steps>component with single continuous ordered list; numbered steps start at column 0, continuation content indented with exactly 3 spaces
Use relative links for internal pages; include anchors for sections
Include a table of contents for documents with multiple sections; enabletableOfContents: truein frontmatter
Files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
**/*.astro
📄 CodeRabbit inference engine (CLAUDE.md)
Follow Astro + Starlight framework conventions for documentation projects
Files:
src/components/ToolList.astro
**/*.{astro,tsx,css}
📄 CodeRabbit inference engine (CLAUDE.md)
Maintain compatibility with Tailwind CSS styling in documentation projects
Files:
src/components/ToolList.astro
src/content/docs/agentkit/**/*.{mdx,md}
📄 CodeRabbit inference engine (CLAUDE.md)
Code examples for agentkit documentation live in the external repo
scalekit-developers/agent-auth-examples; verify documentation snippets match current implementation
Files:
src/content/docs/agentkit/connectors/handwritten-hubspot.mdx
🧠 Learnings (15)
📚 Learning: 2026-01-30T18:18:50.883Z
Learnt from: AkshayParihar33
Repo: scalekit-inc/developer-docs PR: 415
File: src/content/docs/authenticate/fsa/multiapp/manage-apps.mdx:31-49
Timestamp: 2026-01-30T18:18:50.883Z
Learning: In all Scalekit documentation files (MDX), treat the terms 'Applications', 'Single Page Application (SPA)', 'Native Application', and 'Web Application' as proper nouns and preserve their capitalization in headings and body text. Ensure these terms remain capitalized even when used in sentence case or within prose.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-02-04T12:47:16.544Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 412
File: src/content/docs/dev-kit/tools/scalekit-dryrun.mdx:1-23
Timestamp: 2026-02-04T12:47:16.544Z
Learning: In scalekit-inc/developer-docs, the MDX frontmatter field order is required only when the sidebar configuration points to a directory (for auto-generation). If the sidebar.config.ts references a specific file path, the order field is not required. Apply this check to all MDX files under src/content/docs: if a file contributes to an auto-generated sidebar (directory path), ensure order is present; if it’s linked to a concrete file, order can be omitted. Use sidebar.config.ts to determine whether a given MDX file falls under directory-based vs file-specific sidebar references.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-02-25T08:57:12.201Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 444
File: src/content/docs/agent-auth/quickstart.mdx:2-10
Timestamp: 2026-02-25T08:57:12.201Z
Learning: In Scalekit developer-docs (Astro Starlight), do not auto-suggest adding tableOfContents in frontmatter unless the user explicitly overrides the default behavior. The default enables tableOfContents with minHeadingLevel 2 and maxHeadingLevel 3. Only set tableOfContents when you want to customize heading levels or disable it entirely; otherwise omit it for other docs.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-02-25T13:04:27.491Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 444
File: src/content/docs/agent-auth/start-agent-auth-coding-agents.mdx:9-17
Timestamp: 2026-02-25T13:04:27.491Z
Learning: Allow page-level CSS overrides in MDX frontmatter (head: style) for readability and engagement, even if it customizes typography beyond defaults. This applies to per-page UX decisions, including heading sizes and style tweaks, but keep overrides purposeful, accessible, and within the repository's design guidelines. Use these overrides sparingly and document the rationale for maintainability.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-03-05T11:29:08.125Z
Learnt from: AkshayParihar33
Repo: scalekit-inc/developer-docs PR: 463
File: src/content/docs/agent-auth/providers.mdx:35-73
Timestamp: 2026-03-05T11:29:08.125Z
Learning: In src/content/docs/agent-auth/providers.mdx, the Card components intentionally use icon=" " (a space) to render consistent colored boxes since some Starlight icon names resolve to icons and others do not. Do not flag icon=" " as a placeholder issue for this file; treat this as a deliberate UX choice specific to this MDX page and avoid raising a placeholder-icon warning here.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-03-09T07:27:56.794Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 469
File: src/content/docs/guides/integrations/scim-integrations/azure-scim.mdx:95-107
Timestamp: 2026-03-09T07:27:56.794Z
Learning: Do not enforce the 3-space indentation rule for Steps component content as a hard style rule in MDX files under src/content/docs/**/*.mdx. Only flag/rectify it if it causes visible rendering problems in the UI. Otherwise, allow current formatting; apply this rule only when rendering issues are observed and document any fixes.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-03-09T07:32:38.426Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 467
File: src/content/docs/sso/guides/sso-user-attributes.mdx:108-148
Timestamp: 2026-03-09T07:32:38.426Z
Learning: In MDX code samples under src/content/docs (and similar conceptual snippets in scalekit-inc/developer-docs), when an example's sole purpose is to show how to access a specific value (e.g., reading JWT claims after token validation), omit error/non-happy-path handling to keep the snippet focused. Do not flag the absence of error paths in narrowly scoped conceptual snippets.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-03-17T16:01:50.487Z
Learnt from: dhaneshbs
Repo: scalekit-inc/developer-docs PR: 506
File: src/content/docs/authenticate/fsa/quickstart.mdx:851-853
Timestamp: 2026-03-17T16:01:50.487Z
Learning: In the Scalekit Python SDK docs, clarify that LogoutUrlOptions is not exported from the top-level scalekit package __init__.py. The correct import path in code samples or reviews is: from scalekit.common.scalekit import LogoutUrlOptions. Do not flag this import path as incorrect in documentation or code reviews; ensure examples reflect the proper import path to avoid confusion for users.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-02-25T03:34:41.147Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 444
File: src/content/docs/agent-auth/start-agent-auth-coding-agents.mdx:31-31
Timestamp: 2026-02-25T03:34:41.147Z
Learning: In MDX files, import { Code } from 'astrojs/starlight/components' only if the MDX content actually uses the <Code> component. If the file uses only fenced code blocks (```), the import is not required. Apply this guideline to all MDX files (e.g., src/content/docs/**/*.mdx) to avoid unnecessary imports and reduce bundle size.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-02-25T18:41:00.639Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 446
File: src/content/docs/authenticate/m2m/api-auth-quickstart.mdx:78-78
Timestamp: 2026-02-25T18:41:00.639Z
Learning: Preserve full URLs inside code comments in MDX code blocks (bash/python/js) when the URLs are part of copyable examples. Do not flag these in code examples. Use relative paths in prose and hyperlinks within MDX; only enforce relative paths for markdown prose links, not for URLs inside code comments.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-04-25T07:22:18.321Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 633
File: src/components/templates/agent-connectors/_setup-heyreach.mdx:12-12
Timestamp: 2026-04-25T07:22:18.321Z
Learning: In this repo’s MDX documentation files, treat `@/...` paths as aliases that resolve to the `src/` directory (e.g., `@/assets/docs/foo/bar.png` -> `src/assets/docs/foo/bar.png`). When reviewing, do not flag `@`-prefixed image (or other asset) paths as broken; instead, verify that the corresponding physical file exists under `src/`.
Applied to files:
src/content/docs/directory/guides/group-based-role-assignment.mdxsrc/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-02-25T12:04:06.383Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 445
File: src/pages/apis.astro:63-64
Timestamp: 2026-02-25T12:04:06.383Z
Learning: In the developer-docs repository, all Astro pages are intended to render in light mode. Enforce this by setting localStorage.colorMode = 'light' globally to ensure a consistent light theme across the site, including Scalar API reference pages. This should be treated as a deliberate, project-wide style decision rather than a per-page override; verify no page uses a conflicting color mode and document any exception in developer docs.
Applied to files:
src/components/ToolList.astro
📚 Learning: 2026-05-06T07:45:22.577Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 631
File: project-docs/SCHEDULED_DEPLOY.md:1-7
Timestamp: 2026-05-06T07:45:22.577Z
Learning: In scalekit-inc/developer-docs, Markdown files under project-docs/ are internal knowledge/docs and do not require frontmatter (title, description, sidebar.label) or sentence-case headings per Starlight/Docusaurus. Only files published as site pages (e.g., under src/content/ or other designated content directories) should include frontmatter. During reviews, skip frontmatter validation for project-docs/**/*.md; if a file in this directory contains frontmatter, remove it or relocate it.
Applied to files:
project-docs/CONNECTOR_PAGE_RESTRUCTURE.md
📚 Learning: 2026-04-27T07:13:48.244Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 628
File: src/content/docs/agentkit/tools/scalekit-optimized-tools.mdx:59-102
Timestamp: 2026-04-27T07:13:48.244Z
Learning: In AgentKit documentation MDX files, when showing Python `execute_tool` calls, treat `connection_name` as a supported argument (along with `tool_name`, `tool_input`, `identifier`, and `connected_account_id`). Do not flag `connection_name` as an invalid/unsupported parameter in these Python examples.
Applied to files:
src/content/docs/agentkit/connectors/handwritten-hubspot.mdx
📚 Learning: 2026-05-06T07:23:46.423Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 658
File: src/components/templates/agent-connectors/_section-before-tool-list-xero-common-patterns.mdx:15-63
Timestamp: 2026-05-06T07:23:46.423Z
Learning: In agentkit agent connectors documentation (files under src/components/templates/agent-connectors and src/content/docs/agentkit/connectors), do not require all four language tabs for SDK code examples. These docs may use only the language tabs relevant to the content (e.g., Node.js and Python). This is an exception to the standard multilingual guideline and should be applied consistently across connector docs.
Applied to files:
src/content/docs/agentkit/connectors/handwritten-hubspot.mdx
🪛 LanguageTool
project-docs/CONNECTOR_PAGE_RESTRUCTURE.md
[style] ~145-~145: To form a complete sentence, be sure to include a subject.
Context: ...ctors get upsert_connected_account(). Can be fully templated by auth type — no pe...
(MISSING_IT_THERE)
[style] ~149-~149: To form a complete sentence, be sure to include a subject.
Context: ...PI-key connectors have a different set. Can be fully templated. ...
(MISSING_IT_THERE)
🪛 markdownlint-cli2 (0.22.1)
project-docs/CONNECTOR_PAGE_RESTRUCTURE.md
[warning] 17-17: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (6)
src/content/docs/directory/guides/group-based-role-assignment.mdx (1)
87-87: Good addition to the setup flowThis step clearly introduces the self-service admin path and uses a descriptive internal link.
src/data/agent-connectors/datadog.ts (1)
6-1960: Formatting-only update looks safe.The changed segments preserve tool names, parameter schemas, and required flags while improving consistency of string literals.
src/data/agent-connectors/quickbooks.ts (1)
7-2230: LGTM — description refinements are non-breaking.The updated descriptions improve readability and keep the QuickBooks tool contract unchanged.
src/data/agent-connectors/xero.ts (1)
7-8: Looks good.This is a pure formatting update with no behavioral impact.
src/data/agent-connectors/mailchimp.ts (1)
7-1339: Formatting changes are clean and consistent.The edited Mailchimp descriptions remain accurate and preserve the existing tool interface.
src/components/ToolList.astro (1)
346-358: Deep-link open-on-hash behavior is a good addition.Opening the targeted
<details>and scrolling it into view on initial load/hashchange is implemented cleanly.
- Restore 4 hand-authored connector pages (datadog, mailchimp, quickbooks, xero) that were incorrectly deleted by the sync script's orphan cleanup. These connectors aren't in the production API but have curated documentation from PR #658. - Convert their old _usage-* templates to the new _section-after-setup-*-common-workflows.mdx format. - Restore 3 hand-authored section templates: _section-before-tool-list-datadog-resource-ids.mdx, _section-before-tool-list-tableau-resource-ids.mdx, _section-before-tool-list-xero-common-patterns.mdx - Restore setup templates and data files for all 4 connectors. - Add hasTemplateFiles() guard to the sync script's orphan cleanup so connectors with associated template files (_setup-*, _section-*, _quickstart-*) are preserved even when the API no longer returns the provider. - Fix Tableau generated page to include the restored SectionBeforeToolListTableauResourceIds section. - Update index.ts exports with all restored/new component references.
There was a problem hiding this comment.
Actionable comments posted: 74
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (13)
src/content/docs/agentkit/connectors/databricksworkspace.mdx (1)
28-69: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick winUse H2 step headings in
<Steps>Step headings use
###, but the documented pattern for these guides is1. ## ...to keep structure consistent.🔧 Suggested fix
-1. ### Install the SDK +1. ## Install the SDK ... -2. ### Set your credentials +2. ## Set your credentialsAs per coding guidelines: “Use numbered format within Steps component:
1. ## Title” and “Inside<Steps>, each step should use an H2 heading for clear section breaks.”🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/databricksworkspace.mdx` around lines 28 - 69, Replace the H3 headings inside the Steps component with the documented numbered H2 pattern: change the "### Install the SDK" and "### Set your credentials" headings to use the Steps pattern "1. ## Install the SDK" and "2. ## Set your credentials" (i.e., use H2 "##" prefixed by the step number inside the <Steps> block) so the component follows the required numbered H2 format.src/content/docs/agentkit/connectors/exa.mdx (1)
79-85:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winNormalize malformed “What you can do” bullet labels.
Lines [79-85] have repeated/awkward labels (
Similar find,Search search,Websets websets) that read as unpolished generated text.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/exa.mdx` around lines 79 - 85, The bullet labels in the "What you can do" list are duplicated/awkward (e.g., "Similar find", "Search search", "Websets websets"); update each bullet to use a single, clear label followed by the description (for example change "Similar find" to "Similar — Find web pages similar to a given URL using Exa's neural similarity search", "Search search" to "Search — Search the web using Exa's AI-powered semantic or keyword search engine", "Research research" to "Research — Run in-depth research on a topic using Exa's neural search", "Crawl crawl" to "Crawl — Crawl one or more web pages...", "List list" to "List — List all Exa Websets...", and "Websets websets" to "Websets — Execute a complex web query..."); edit the bullet lines in the shown block to remove the duplicate words and ensure consistent "Label — Description" formatting.src/content/docs/agentkit/connectors/jiminny.mdx (1)
79-79:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRemove placeholder content from the capability list.
Line 79 (
Xyz test tool — Test) looks like placeholder text and should be replaced with a real capability or removed.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/jiminny.mdx` at line 79, Remove the placeholder capability entry "Xyz test tool — Test" from the capability list in the Jiminny connector docs (the MDX list item containing that exact text) and either delete the list item or replace it with a real, specific capability description for the connector (e.g., a succinct feature name and one-line summary) so the capability list contains only legitimate, meaningful entries.src/content/docs/agentkit/connectors/affinity.mdx (1)
66-70:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winClean up duplicated action labels in the capability list.
Lines 66-70 use repeated verbs (
Create create,Get get, etc.). Keep each bullet as a single action phrase for scanability.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/affinity.mdx` around lines 66 - 70, Replace the duplicated action labels in the capability bullets: change "Create create" to "Create", "Get get" to "Get", "List list" to "List", "Search search" to "Search", and "Update update" to "Update" so each bullet uses a single bolded action phrase (e.g., "**Create** — Create a note...") for better scanability; update the lines that contain those exact strings in the Affinity connector documentation.src/content/docs/agentkit/connectors/clickup.mdx (1)
75-78:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRestore the tool list section on this connector page.
After Line 77, the page ends without rendering a tool list, so readers cannot verify exact callable tool names here.
Suggested fix
## Common workflows <SectionAfterSetupClickupCommonWorkflows /> + +## Tool list + +Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first. + +<ToolList tools={tools} />🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/clickup.mdx` around lines 75 - 78, Restore the missing tool list by inserting the MDX component that renders the connector tools immediately after <SectionAfterSetupClickupCommonWorkflows />; specifically add back the previously-removed <SectionToolsClickup /> (or the project’s equivalent tool-list component) right after that tag, or if no component exists add a "Tools" subsection with an explicit markdown list of each callable tool name and its signature so readers can verify exact callable tool names.src/components/templates/agent-connectors/_section-after-setup-salesforce-common-workflows.mdx (1)
89-161: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick winNode.js and Python implementations use different APIs for the same workflow
In the "Log a sales call" section, Node.js uses
actions.request(raw REST calls) while Python usesactions.execute_tool(tool API). These are conceptually different approaches — a developer switching between tabs would see non-equivalent code. Both implementations should use the same API level to demonstrate the same workflow.Additionally, the
ActivityDate: '2025-04-10'hardcoded on Line 122 is over a year in the past; update it to a relative or future-looking placeholder (e.g.,'2025-09-01'or a comment like'YYYY-MM-DD').🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-salesforce-common-workflows.mdx` around lines 89 - 161, The Node.js and Python examples are inconsistent: Node uses actions.request while Python uses actions.execute_tool; make both tabs use the same API surface (pick one and update the other) so the workflow is equivalent — e.g., change the Node.js snippets to use actions.execute_tool with tool names like "salesforce_lead_search", "salesforce_lead_update", "salesforce_task_create" (or conversely change Python to actions.request) and align parameter names (lead.Id vs lead.result["Id"]) accordingly, and replace the hardcoded ActivityDate '2025-04-10' with a future or placeholder value such as 'YYYY-MM-DD' or '2025-09-01' in the Task create call to keep the example current.src/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx (1)
20-30:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winPython variable inconsistency across examples in the same file.
The "Download a file" (line 46) and "Upload a file" (line 82) sections correctly use
scalekit_client.actions.request(...), matching the documented Python SDK variable name. However, "Proxy API call" (line 22) and "Execute a tool" (line 168) use bareactions.request()/actions.execute_tool(), implying a pre-extracted variable that isn't introduced anywhere.Standardize all Python snippets in this file to use the full
scalekit_client.actionscall path:🔧 Proposed fix
- result = actions.request( + result = scalekit_client.actions.request( connection_name='googledrive', identifier='user_123', path="/drive/v3/files", method="GET" )- result = actions.execute_tool( + result = scalekit_client.actions.execute_tool( connection_name='googledrive', identifier='user_123', tool_name='googledrive_get_file_metadata', tool_input={}, )Also applies to: 166-176
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx` around lines 20 - 30, The Python snippets use inconsistent variable names: replace any bare calls to actions.request(...) and actions.execute_tool(...) with the full scalekit_client.actions.request(...) and scalekit_client.actions.execute_tool(...) across this MDX (notably in the "Proxy API call" and "Execute a tool" examples) so they match the other examples (e.g., the "Download a file" and "Upload a file" sections) and the documented SDK variable name; update all occurrences in the file (including lines around the Proxy API call and the Execute a tool section) to use scalekit_client.actions.<function> instead of actions.<function>.src/components/templates/agent-connectors/_section-after-setup-xero-common-workflows.mdx (1)
5-25:⚠️ Potential issue | 🟠 Major | ⚡ Quick winPrime the tenant cache before reading
xero_tenant_id.The prose says users must trigger a tool call first so Scalekit caches the tenant ID, but neither example does that. On a first run, the Node.js snippet can send an empty
Xero-Tenant-Idheader and the Python snippet can fail on Line 34 whenpath_variablesis still missing.Also applies to: 31-41
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-xero-common-workflows.mdx` around lines 5 - 25, The examples fail to "prime" the tenant cache before reading xero_tenant_id, so on first run connectedAccount.apiConfig?.pathVariables may be undefined; update the Node.js and Python snippets to first invoke a lightweight Xero tool call (e.g. xero_accounts_list via actions.invoke or actions.call the existing tooling) or otherwise trigger the tool so Scalekit caches the tenant ID, then retrieve connectedAccount.apiConfig.pathVariables.xero_tenant_id and pass it into actions.request; reference actions.getConnectedAccount, xero_accounts_list (or the repo's equivalent tool call), actions.request, and connectedAccount.apiConfig?.pathVariables?.xero_tenant_id when making the change.src/components/templates/agent-connectors/_section-after-setup-close-common-workflows.mdx (1)
188-216:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd the missing
jsonimport to the Python workflow.Line 215 calls
json.dumps(...), but the snippet imports onlydateandtimedelta. Copy-pasting the example raisesNameErrorbefore the contact is created.Proposed fix
```python +import json from datetime import date, timedeltaPer coding guidelines, all code examples must be runnable and work as-is.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-close-common-workflows.mdx` around lines 188 - 216, The example Python snippet is missing the json import used by json.dumps in enrich_and_enroll_lead; add "import json" at the top of the snippet (above the from datetime import line) so that calls in execute and enrich_and_enroll_lead (specifically the json.dumps([...]) used when creating the contact) run without a NameError.src/components/templates/agent-connectors/_section-after-setup-brave-search-common-workflows.mdx (1)
226-242:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd
import osto make the code example runnable.Line 241 uses
os.environ["ANTHROPIC_API_KEY"], but the snippet does not importos, so the example fails withNameError.Proposed fix
```python title="examples/brave_langchain_agent.py" +import os from langchain.agents import AgentExecutor, create_tool_calling_agent from langchain_anthropic import ChatAnthropic from langchain_core.prompts import ChatPromptTemplate🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-brave-search-common-workflows.mdx` around lines 226 - 242, The example uses os.environ["ANTHROPIC_API_KEY"] but never imports os, causing NameError; add a top-level import statement for os at the top of the snippet (before using os) so the ChatAnthropic instantiation (llm = ChatAnthropic(...)) can access environment variables; ensure the import appears above the lines that call actions.langchain.get_tools and before llm = ChatAnthropic(...) so the example is runnable.src/components/templates/agent-connectors/_section-after-setup-phantombuster-common-workflows.mdx (2)
69-82:⚠️ Potential issue | 🟡 Minor | ⚡ Quick win
timeis not imported beforetime.sleep(3)— copy-paste will raiseNameError.The
timemodule is used at line 82 but never imported. Add the import at the top of the snippet.🐛 Proposed fix
+import time + output_pos = 0 while True:🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-phantombuster-common-workflows.mdx` around lines 69 - 82, The snippet uses time.sleep(3) but never imports the time module; add an import for time (e.g., import time) at the top of the snippet/file near other imports so the polling loop using time.sleep in the block that calls actions.execute_tool (identifier 'user_123', tool_name 'phantombuster_container_fetch_output', variables output_pos/container_id) won't raise NameError.
101-137:⚠️ Potential issue | 🟠 Major | ⚡ Quick win"Save scraped profiles" snippet references variables that are out of scope.
agent_id,container_id, andfinal_result(lines 128–130, 132–133, 136) are defined only inside the preceding "Launch an agent"<details>block. Because each<details>section is presented as an independent, copy-paste example, running this block in isolation raisesNameErroron all three. Either:
- make the snippet self-contained by defining or stubbing these values at the top, or
- add a prose note that explicitly states this snippet assumes the preceding block has already run.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-phantombuster-common-workflows.mdx` around lines 101 - 137, The snippet references out-of-scope variables agent_id, container_id, and final_result which will raise NameError when run standalone; either make the example self-contained by defining/stubbing these identifiers at the top of the snippet (e.g., set agent_id and container_id to placeholder strings and assign final_result to a mock result list/dict) or add a clear prose note above the code stating this snippet assumes the prior "Launch an agent" example has already been executed and those variables are available; ensure you update the example block around the calls to actions.execute_tool (tool_name "phantombuster_leads_save_many") and the final print to refer to the chosen approach so the snippet runs without errors.src/components/templates/agent-connectors/_section-after-setup-tableau-common-workflows.mdx (1)
14-68:⚠️ Potential issue | 🟠 Major | ⚡ Quick winCorrect Python SDK return value access to use direct dict pattern.
The Python example at line 68 uses
session.data["session"]["site"]["id"], but all other Pythonexecute_tool()calls in the same file access return values directly as dicts (e.g.,workbooks["workbooks"]["workbook"]at line 104,views["views"]["view"]at line 121). Change line 68 to:site_id = session["session"]["site"]["id"]This inconsistency will cause the first example to fail or confuse developers who copy the pattern from later examples in the same section.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-tableau-common-workflows.mdx` around lines 14 - 68, The Python example uses the wrong access pattern for the result of execute_tool: change how session is indexed so it matches the other examples (use the direct dict pattern when extracting site_id from session returned by execute_tool); locate the example around the execute_tool call for tableau_session_get and replace the session.data["session"]["site"]["id"] access with the direct dict access for site_id (i.e., read session["session"]["site"]["id"] from the session object).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 4fd91db8-99e0-4508-8072-759c3f51a4e3
📒 Files selected for processing (230)
project-docs/SYNC_AGENT_CONNECTORS.mdproject-docs/WIP-connector-sync-guide-refresh.mdscripts/sync-agent-connectors.jssrc/components/templates/agent-connectors/_quickstart-generic-apikey.astrosrc/components/templates/agent-connectors/_quickstart-generic-oauth.astrosrc/components/templates/agent-connectors/_quickstart-hubspot.mdxsrc/components/templates/agent-connectors/_section-after-setup-airtable-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-apifymcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-apollo-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-asana-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attention-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-bigquery-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-bigqueryserviceaccount-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-bitbucket-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-box-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-brave-search-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-calendly-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-chorus-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-clari_copilot-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-clickup-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-close-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-confluence-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-databricks-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-datadog-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-diarize-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-discord-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-dropbox-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-exa-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-fathom-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-figma-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-freshdesk-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-github-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-gmail-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-gong-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-google_ads-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googleforms-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlemeet-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googleslides-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-heyreach-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-hubspot-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-intercom-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-mailchimp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-microsoftexcel-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-microsoftteams-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-microsoftword-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-miro-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-monday-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-notion-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-onedrive-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-onenote-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-outlook-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-parallelaitaskmcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-phantombuster-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-posthogmcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-quickbooks-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-salesforce-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-servicenow-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-slack-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-snowflake-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-snowflakekeyauth-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-supadata-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-tableau-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-trello-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-vercel-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-xero-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-zendesk-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-zoom-common-workflows.mdxsrc/components/templates/agent-connectors/_section-before-tool-list-datadog-resource-ids.mdxsrc/components/templates/agent-connectors/_section-before-tool-list-tableau-resource-ids.mdxsrc/components/templates/agent-connectors/_section-before-tool-list-xero-common-patterns.mdxsrc/components/templates/agent-connectors/_usage-airtable.mdxsrc/components/templates/agent-connectors/_usage-apifymcp.mdxsrc/components/templates/agent-connectors/_usage-apollo.mdxsrc/components/templates/agent-connectors/_usage-asana.mdxsrc/components/templates/agent-connectors/_usage-attention.mdxsrc/components/templates/agent-connectors/_usage-attio.mdxsrc/components/templates/agent-connectors/_usage-bigquery.mdxsrc/components/templates/agent-connectors/_usage-bigqueryserviceaccount.mdxsrc/components/templates/agent-connectors/_usage-bitbucket.mdxsrc/components/templates/agent-connectors/_usage-calendly.mdxsrc/components/templates/agent-connectors/_usage-chorus.mdxsrc/components/templates/agent-connectors/_usage-clari_copilot.mdxsrc/components/templates/agent-connectors/_usage-clickup.mdxsrc/components/templates/agent-connectors/_usage-confluence.mdxsrc/components/templates/agent-connectors/_usage-databricks.mdxsrc/components/templates/agent-connectors/_usage-discord.mdxsrc/components/templates/agent-connectors/_usage-dropbox.mdxsrc/components/templates/agent-connectors/_usage-fathom.mdxsrc/components/templates/agent-connectors/_usage-figma.mdxsrc/components/templates/agent-connectors/_usage-freshdesk.mdxsrc/components/templates/agent-connectors/_usage-github.mdxsrc/components/templates/agent-connectors/_usage-gmail.mdxsrc/components/templates/agent-connectors/_usage-gong.mdxsrc/components/templates/agent-connectors/_usage-google_ads.mdxsrc/components/templates/agent-connectors/_usage-googlecalendar.mdxsrc/components/templates/agent-connectors/_usage-googledocs.mdxsrc/components/templates/agent-connectors/_usage-googleforms.mdxsrc/components/templates/agent-connectors/_usage-googlemeet.mdxsrc/components/templates/agent-connectors/_usage-googleslides.mdxsrc/components/templates/agent-connectors/_usage-granolamcp.mdxsrc/components/templates/agent-connectors/_usage-intercom.mdxsrc/components/templates/agent-connectors/_usage-linear.mdxsrc/components/templates/agent-connectors/_usage-microsoftexcel.mdxsrc/components/templates/agent-connectors/_usage-microsoftteams.mdxsrc/components/templates/agent-connectors/_usage-microsoftword.mdxsrc/components/templates/agent-connectors/_usage-miro.mdxsrc/components/templates/agent-connectors/_usage-monday.mdxsrc/components/templates/agent-connectors/_usage-notion.mdxsrc/components/templates/agent-connectors/_usage-onedrive.mdxsrc/components/templates/agent-connectors/_usage-onenote.mdxsrc/components/templates/agent-connectors/_usage-outlook.mdxsrc/components/templates/agent-connectors/_usage-parallelaitaskmcp.mdxsrc/components/templates/agent-connectors/_usage-posthogmcp.mdxsrc/components/templates/agent-connectors/_usage-quickbooks.mdxsrc/components/templates/agent-connectors/_usage-servicenow.mdxsrc/components/templates/agent-connectors/_usage-sharepoint.mdxsrc/components/templates/agent-connectors/_usage-slack.mdxsrc/components/templates/agent-connectors/_usage-snowflake.mdxsrc/components/templates/agent-connectors/_usage-snowflakekeyauth.mdxsrc/components/templates/agent-connectors/_usage-supadata.mdxsrc/components/templates/agent-connectors/_usage-trello.mdxsrc/components/templates/agent-connectors/_usage-twitter.mdxsrc/components/templates/agent-connectors/_usage-vercel.mdxsrc/components/templates/agent-connectors/_usage-zendesk.mdxsrc/components/templates/agent-connectors/_usage-zoom.mdxsrc/components/templates/agent-connectors/index.tssrc/components/templates/index.tssrc/content/docs/agentkit/connectors/affinity.mdxsrc/content/docs/agentkit/connectors/airtable.mdxsrc/content/docs/agentkit/connectors/apifymcp.mdxsrc/content/docs/agentkit/connectors/apollo.mdxsrc/content/docs/agentkit/connectors/asana.mdxsrc/content/docs/agentkit/connectors/attention.mdxsrc/content/docs/agentkit/connectors/attio.mdxsrc/content/docs/agentkit/connectors/bigquery.mdxsrc/content/docs/agentkit/connectors/bigqueryserviceaccount.mdxsrc/content/docs/agentkit/connectors/bitbucket.mdxsrc/content/docs/agentkit/connectors/box.mdxsrc/content/docs/agentkit/connectors/brave.mdxsrc/content/docs/agentkit/connectors/calendly.mdxsrc/content/docs/agentkit/connectors/chorus.mdxsrc/content/docs/agentkit/connectors/clari_copilot.mdxsrc/content/docs/agentkit/connectors/clickup.mdxsrc/content/docs/agentkit/connectors/close.mdxsrc/content/docs/agentkit/connectors/confluence.mdxsrc/content/docs/agentkit/connectors/databricksworkspace.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/content/docs/agentkit/connectors/diarize.mdxsrc/content/docs/agentkit/connectors/discord.mdxsrc/content/docs/agentkit/connectors/dropbox.mdxsrc/content/docs/agentkit/connectors/dynamo.mdxsrc/content/docs/agentkit/connectors/evertrace.mdxsrc/content/docs/agentkit/connectors/exa.mdxsrc/content/docs/agentkit/connectors/fathom.mdxsrc/content/docs/agentkit/connectors/figma.mdxsrc/content/docs/agentkit/connectors/freshdesk.mdxsrc/content/docs/agentkit/connectors/github.mdxsrc/content/docs/agentkit/connectors/gitlab.mdxsrc/content/docs/agentkit/connectors/gmail.mdxsrc/content/docs/agentkit/connectors/gong.mdxsrc/content/docs/agentkit/connectors/google_ads.mdxsrc/content/docs/agentkit/connectors/googlecalendar.mdxsrc/content/docs/agentkit/connectors/googledocs.mdxsrc/content/docs/agentkit/connectors/googledrive.mdxsrc/content/docs/agentkit/connectors/googleforms.mdxsrc/content/docs/agentkit/connectors/googlemeet.mdxsrc/content/docs/agentkit/connectors/googlesheets.mdxsrc/content/docs/agentkit/connectors/googleslides.mdxsrc/content/docs/agentkit/connectors/granola.mdxsrc/content/docs/agentkit/connectors/granolamcp.mdxsrc/content/docs/agentkit/connectors/harvestapi.mdxsrc/content/docs/agentkit/connectors/heyreach.mdxsrc/content/docs/agentkit/connectors/hubspot.mdxsrc/content/docs/agentkit/connectors/intercom.mdxsrc/content/docs/agentkit/connectors/jiminny.mdxsrc/content/docs/agentkit/connectors/jira.mdxsrc/content/docs/agentkit/connectors/linear.mdxsrc/content/docs/agentkit/connectors/linkedin.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/microsoftexcel.mdxsrc/content/docs/agentkit/connectors/microsoftteams.mdxsrc/content/docs/agentkit/connectors/microsoftword.mdxsrc/content/docs/agentkit/connectors/miro.mdxsrc/content/docs/agentkit/connectors/monday.mdxsrc/content/docs/agentkit/connectors/notion.mdxsrc/content/docs/agentkit/connectors/onedrive.mdxsrc/content/docs/agentkit/connectors/onenote.mdxsrc/content/docs/agentkit/connectors/outlook.mdxsrc/content/docs/agentkit/connectors/outreach.mdxsrc/content/docs/agentkit/connectors/pagerduty.mdxsrc/content/docs/agentkit/connectors/parallelaitaskmcp.mdxsrc/content/docs/agentkit/connectors/phantombuster.mdxsrc/content/docs/agentkit/connectors/pipedrive.mdxsrc/content/docs/agentkit/connectors/posthogmcp.mdxsrc/content/docs/agentkit/connectors/quickbooks.mdxsrc/content/docs/agentkit/connectors/salesforce.mdxsrc/content/docs/agentkit/connectors/servicenow.mdxsrc/content/docs/agentkit/connectors/sharepoint.mdxsrc/content/docs/agentkit/connectors/slack.mdxsrc/content/docs/agentkit/connectors/snowflake.mdxsrc/content/docs/agentkit/connectors/snowflakekeyauth.mdxsrc/content/docs/agentkit/connectors/supadata.mdxsrc/content/docs/agentkit/connectors/tableau.mdxsrc/content/docs/agentkit/connectors/trello.mdxsrc/content/docs/agentkit/connectors/twitter.mdxsrc/content/docs/agentkit/connectors/vercel.mdxsrc/content/docs/agentkit/connectors/vimeo.mdxsrc/content/docs/agentkit/connectors/xero.mdxsrc/content/docs/agentkit/connectors/youtube.mdxsrc/content/docs/agentkit/connectors/zendesk.mdxsrc/content/docs/agentkit/connectors/zoom.mdxsrc/content/docs/reference/agent-connectors/bigqueryserviceaccount.mdxsrc/content/docs/reference/agent-connectors/box.mdxsrc/data/agent-connectors/box.tssrc/data/agent-connectors/catalog.tssrc/data/agent-connectors/hubspot.tssrc/data/agent-connectors/outlook.tssrc/data/agent-connectors/posthogmcp.tssrc/data/agent-connectors/tableau.ts
💤 Files with no reviewable changes (56)
- src/components/templates/agent-connectors/_usage-microsoftword.mdx
- src/components/templates/agent-connectors/_usage-intercom.mdx
- src/components/templates/agent-connectors/_usage-figma.mdx
- src/components/templates/agent-connectors/_usage-google_ads.mdx
- src/components/templates/agent-connectors/_usage-monday.mdx
- src/components/templates/agent-connectors/_usage-calendly.mdx
- src/components/templates/agent-connectors/_usage-snowflakekeyauth.mdx
- src/components/templates/agent-connectors/_usage-onenote.mdx
- src/components/templates/agent-connectors/_usage-notion.mdx
- src/components/templates/agent-connectors/_usage-bigquery.mdx
- src/components/templates/agent-connectors/_usage-clickup.mdx
- src/components/templates/agent-connectors/_usage-microsoftexcel.mdx
- src/components/templates/agent-connectors/_usage-attention.mdx
- src/components/templates/agent-connectors/_usage-asana.mdx
- src/components/templates/agent-connectors/_usage-gmail.mdx
- src/components/templates/agent-connectors/_usage-servicenow.mdx
- src/components/templates/agent-connectors/_usage-slack.mdx
- src/components/templates/agent-connectors/_usage-microsoftteams.mdx
- src/components/templates/agent-connectors/_usage-supadata.mdx
- src/components/templates/agent-connectors/_usage-outlook.mdx
- src/components/templates/agent-connectors/_usage-snowflake.mdx
- src/components/templates/agent-connectors/_usage-granolamcp.mdx
- src/components/templates/agent-connectors/_usage-bigqueryserviceaccount.mdx
- src/components/templates/agent-connectors/_usage-zendesk.mdx
- src/components/templates/agent-connectors/_usage-googleslides.mdx
- src/components/templates/agent-connectors/_usage-chorus.mdx
- src/components/templates/agent-connectors/_usage-github.mdx
- src/components/templates/agent-connectors/_usage-onedrive.mdx
- src/components/templates/agent-connectors/_usage-apifymcp.mdx
- src/components/templates/agent-connectors/_usage-dropbox.mdx
- src/components/templates/agent-connectors/_usage-googlemeet.mdx
- src/components/templates/agent-connectors/_usage-apollo.mdx
- src/components/templates/agent-connectors/_usage-databricks.mdx
- src/components/templates/agent-connectors/_usage-fathom.mdx
- src/components/templates/agent-connectors/_usage-googledocs.mdx
- src/components/templates/agent-connectors/_usage-trello.mdx
- src/components/templates/agent-connectors/_usage-quickbooks.mdx
- src/components/templates/index.ts
- src/components/templates/agent-connectors/_usage-linear.mdx
- src/components/templates/agent-connectors/_usage-googlecalendar.mdx
- src/components/templates/agent-connectors/_usage-confluence.mdx
- src/components/templates/agent-connectors/_usage-vercel.mdx
- src/components/templates/agent-connectors/_usage-clari_copilot.mdx
- src/components/templates/agent-connectors/_usage-airtable.mdx
- src/components/templates/agent-connectors/_usage-gong.mdx
- src/components/templates/agent-connectors/_usage-sharepoint.mdx
- src/components/templates/agent-connectors/_usage-miro.mdx
- src/components/templates/agent-connectors/_usage-discord.mdx
- src/components/templates/agent-connectors/_usage-twitter.mdx
- src/components/templates/agent-connectors/_usage-attio.mdx
- src/components/templates/agent-connectors/_usage-parallelaitaskmcp.mdx
- src/components/templates/agent-connectors/_usage-posthogmcp.mdx
- src/components/templates/agent-connectors/_usage-freshdesk.mdx
- src/components/templates/agent-connectors/_usage-zoom.mdx
- src/components/templates/agent-connectors/_usage-googleforms.mdx
- src/components/templates/agent-connectors/_usage-bitbucket.mdx
…container - Create shared AgentKitCredentials component using SCALEKIT_ENVIRONMENT_URL format - Wire AgentKitCredentials export into sync script so index.ts survives regeneration - All 84 connector pages now use <AgentKitCredentials /> instead of inline bash block - Fix missing import json in Linear common-workflows Python snippet - Fix missing import os in SharePoint common-workflows Python snippet - Fix Monday.com proxy example to include required GraphQL body - Replace destructive notion_block_delete showcase with notion_user_list - Fix PostHog inconsistent SDK call pattern (scalekit_client.actions → actions) - Align actions container to right end of page
- Fix keyboard accessibility for .tool-anchor in ToolList.astro (focus-within, focus-visible) - Add title attribute to Aside in BigQuery service account common-workflows - Remove fabricated Execute a tool sections from Asana, Intercom, OneNote (no tools defined) - Guard against empty threadId before calling gmail_get_thread_by_id in Gmail common-workflows
There was a problem hiding this comment.
Actionable comments posted: 16
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (7)
src/content/docs/agentkit/connectors/exa.mdx (1)
74-80:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix repeated action words in “What you can do” bullets.
Labels like
Search searchandResearch researchare duplicated and read as generator artifacts.Suggested patch
-- **Similar find** — Find web pages similar to a given URL using Exa's neural similarity search -- **Search search** — Search the web using Exa's AI-powered semantic or keyword search engine -- **Research research** — Run in-depth research on a topic using Exa's neural search -- **Crawl crawl** — Crawl one or more web pages by URL and extract their content including full text, highlights, and AI-generated summaries -- **List list** — List all Exa Websets in your account with optional pagination -- **Websets websets** — Execute a complex web query designed to discover and return large sets of URLs (up to thousands) matching specific criteria +- **Find similar pages** — Find web pages similar to a given URL using Exa's neural similarity search +- **Search the web** — Search the web using Exa's AI-powered semantic or keyword search engine +- **Run research** — Run in-depth research on a topic using Exa's neural search +- **Crawl pages** — Crawl one or more web pages by URL and extract content, including full text, highlights, and AI-generated summaries +- **List Websets** — List all Exa Websets in your account with optional pagination +- **Query Websets** — Execute a complex web query to discover and return large sets of matching URLsAs per coding guidelines: “Write simply and directly with short sentences and plain language in documentation.”
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/exa.mdx` around lines 74 - 80, The bullet list under "What you can do" has duplicated action words like "Search search" and "Research research"; edit the list items in src/content/docs/agentkit/connectors/exa.mdx so each label uses a single clear verb phrase (e.g., change "Search search" to "Search", "Research research" to "Research", "Crawl crawl" to "Crawl", "List list" to "List", "Websets websets" to "Websets", and "Similar find" to "Find similar" or "Similar" as appropriate) and ensure each item reads as a concise short sentence describing the capability (preserve the rest of the descriptions such as "Find web pages similar to a given URL..." and "Crawl one or more web pages by URL...").src/content/docs/agentkit/connectors/dropbox.mdx (1)
70-73:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd the missing “Tool list” section back.
This page currently stops at Common workflows, so users don’t get the tool-name reference needed for
execute_toolcalls.Suggested patch
## Common workflows <SectionAfterSetupDropboxCommonWorkflows /> + +## Tool list + +Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first. + +<ToolList tools={tools} />🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/dropbox.mdx` around lines 70 - 73, The page stops at the "Common workflows" heading and is missing the "Tool list" section needed for users to reference tool names used by execute_tool; add back a "Tool list" section immediately after SectionAfterSetupDropboxCommonWorkflows (or wherever the docs previously placed tool references) that enumerates each tool name, brief description, and the exact identifier strings used by execute_tool so callers can copy them directly (ensure the section title is "Tool list" and includes entries for all Dropbox connector tools).src/content/docs/agentkit/connectors/harvestapi.mdx (1)
74-79:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix malformed capability bullets in “What you can do”.
Lines 74–79 contain duplicated verbs (
Search search,Get get) and awkward phrasing that looks generator-produced.✍️ Suggested fix
-- **Search search** — Search LinkedIn for leads using advanced filters including company, job title, location, seniority, industry, and experience -- **Get get** — Retrieve reactions made by a LinkedIn profile +- **Search leads** — Search LinkedIn for leads using filters like company, title, location, seniority, industry, and experience +- **Get reactions** — Retrieve reactions made by a LinkedIn profileAs per coding guidelines, keep wording clear, consistent, and outcome-focused in documentation lists.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/harvestapi.mdx` around lines 74 - 79, The bullet list under "What you can do" contains duplicated verbs and awkward phrasing (e.g., "Search search", "Get get"); update each list item to a consistent, outcome-focused label followed by a short description—for example change "Search search" to "Search — Search LinkedIn for leads using advanced filters", "Get get" to "Get — Retrieve reactions made by a LinkedIn profile", and normalize the others to "Profile scrape — Scrape a LinkedIn profile...", "Job scrape — Retrieve full job listing details...", "Company scrape — Scrape a LinkedIn company page...", "Profiles bulk scrape — Batch scrape multiple LinkedIn profiles..." so all bullets use a single clear action label followed by the description.src/content/docs/agentkit/connectors/brave.mdx (1)
62-68:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winNormalize “What you can do” labels into user-facing actions.
The current bold labels look auto-derived from internal tool names, not task-oriented outcomes. Please rewrite them as concise verbs + objects to improve skimming.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/brave.mdx` around lines 62 - 68, The bolded labels in the "What you can do" list (e.g., "Descriptions local", "Summary summarizer", "Search web, local place, image", "Completions chat", "Pois local", "Enrichments summarizer") are internal tool names; change each to a concise user-facing verb + object phrase (for example: "Fetch local descriptions" instead of "Descriptions local", "Get full summary" for "Summary summarizer", "Search web, places, and images" for "Search web, local place, image", "Ask via chat completions" for "Completions chat", "Fetch local POIs" for "Pois local", and "Get summarizer enrichments" for "Enrichments summarizer") so the list reads as clear actions users can take.src/content/docs/agentkit/connectors/dynamo.mdx (1)
61-66:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winReplace auto-generated bullet labels with clear action labels.
The current bold labels read like fragmented tool names and are hard to scan quickly.
Suggested wording cleanup
-- **Search search** — Retrieves data matching saved search criteria from Dynamo using advanced filter queries -- **Get view sql, get, view** — Returns data from a specific SQL view in Dynamo using the view name -- **Delete entity, bulk** — Deletes a single instance of the specified Dynamo entity by ID -- **Total entity** — Returns total count of items for a given Dynamo entity -- **Id entity by** — Returns a single instance of a Dynamo entity by its ID with optional column selection and formatting controls -- **Key reset api** — Removes the user's API key from the server cache +- **Run saved searches** — Retrieve data matching saved Dynamo search criteria with advanced filters +- **Get SQL view data** — Return rows from a specific Dynamo SQL view by view name +- **Delete an entity** — Delete a Dynamo entity instance by ID +- **Count entities** — Return the total count for a Dynamo entity type +- **Get entity by ID** — Return a single Dynamo entity by ID with optional field selection/formatting +- **Reset API key cache** — Remove the user's API key from server cache🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/dynamo.mdx` around lines 61 - 66, The bullet labels like "Search search", "Get view sql, get, view", "Delete entity, bulk", "Total entity", "Id entity by", and "Key reset api" are fragmented—replace them with clear, action-oriented labels and concise descriptions: e.g., change "Search search" to "Search" with "Retrieves data matching saved search criteria from Dynamo using advanced filter queries", change "Get view sql, get, view" to "Get view" with "Returns data from a specific SQL view by name", change "Delete entity, bulk" to "Delete entity" (or "Delete entities (bulk)" if bulk supported) with "Deletes entity instances by ID", change "Total entity" to "Get total count" with "Returns total count for a given entity", change "Id entity by" to "Get entity by ID" with "Returns a single entity by ID with optional column selection/formatting", and change "Key reset api" to "Reset API key" with "Removes the user's API key from the server cache"; update the MDX file entries accordingly so labels are consistent, action-focused, and match the existing descriptions.src/content/docs/agentkit/connectors/affinity.mdx (1)
61-65:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRemove duplicated capability labels in “What you can do”.
Create create,Get get,List list,Search search, andUpdate updatelook autogenerated and reduce readability.✏️ Suggested cleanup
-- **Create create** — Create a note on a person, organization, or opportunity in Affinity -- **Get get** — Retrieve full details of a deal or opportunity in Affinity including current stage, owner, associated persons and organizations, custom field values, and list membership -- **List list** — List pipeline opportunities in Affinity with optional filters by list ID, owner, or stage -- **Search search** — Search for people in the Affinity network by name, email, or relationship strength -- **Update update** — Update an existing deal or opportunity in Affinity +- **Create** — Create a note on a person, organization, or opportunity in Affinity +- **Get** — Retrieve full details of a deal or opportunity in Affinity including current stage, owner, associated persons and organizations, custom field values, and list membership +- **List** — List pipeline opportunities in Affinity with optional filters by list ID, owner, or stage +- **Search** — Search for people in the Affinity network by name, email, or relationship strength +- **Update** — Update an existing deal or opportunity in AffinityAs per coding guidelines: “Write simply and directly with short sentences and plain language in documentation.”
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/affinity.mdx` around lines 61 - 65, In the "What you can do" section replace the duplicated capability labels ("Create create", "Get get", "List list", "Search search", "Update update") with a single, plain label each ("Create", "Get", "List", "Search", "Update") and keep their descriptions unchanged; update the lines in src/content/docs/agentkit/connectors/affinity.mdx that contain those phrases so the headings read simply "Create —", "Get —", "List —", "Search —", and "Update —" to improve readability and conform to the documentation style.src/content/docs/agentkit/connectors/jiminny.mdx (1)
74-74:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winReplace placeholder “Xyz test tool” content with a real capability label.
Line [74] reads like placeholder/test copy and should be replaced with an actual tool capability description.
✏️ Suggested fix pattern
-- **Xyz test tool** — Test +- **<actual capability name>** — <clear one-line description of what the tool does>🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/jiminny.mdx` at line 74, Replace the placeholder "**Xyz test tool** — Test" with a real, descriptive capability label and short description for the Jiminny connector (e.g., what the tool does, like call recording/transcription, sentiment analysis, or conversation insights). Locate the exact placeholder string in the Jiminny docs page and swap it with a concise capability line such as "**Jiminny call transcription** — Transcribe and extract insights from customer calls" (or another accurate capability relevant to Jiminny) so the document reflects a real feature rather than test copy.
♻️ Duplicate comments (5)
src/content/docs/agentkit/connectors/gitlab.mdx (1)
31-31: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick winStep headings still use H3 instead of H2 inside
<Steps>.Lines 31, 48, 52, and 63 all use
### Title(H3). The<Steps>component requires## Title(H2) as per the documentation guidelines.♻️ Proposed fix
-1. ### Install the SDK +1. ## Install the SDK -2. ### Set your credentials +2. ## Set your credentials -3. ### Set up the connector +3. ## Set up the connector -4. ### Authorize and make your first call +4. ## Authorize and make your first callAs per coding guidelines: "Each step in Steps component must use numbered format
1. ## Title."Also applies to: 48-48, 52-52, 63-63
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/gitlab.mdx` at line 31, The step headings inside the <Steps> component are using H3 ("### Title") and must be changed to the numbered H2 format required by the component; locate the headings such as "Install the SDK" (and the other step titles in the same file) that currently start with "###" inside <Steps> and replace each with the numbered format "1. ## Title" (i.e., swap "###" for "##" and prefix the line with "1. ") so they conform to the Steps component guideline.src/content/docs/agentkit/connectors/google_ads.mdx (1)
22-23:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRestore the Tool list section (or remove unused tool imports).
ToolList/toolsare imported at Lines 22–23, but no Tool list section is rendered. That leaves users without an explicit list of callable tool names.✍️ Suggested fix
## Common workflows <SectionAfterSetupGoogleAdsCommonWorkflows /> + +## Tool list + +Use the exact tool names from the **Tool list** below when you call `execute_tool`. + +<ToolList tools={tools} />Also applies to: 70-72
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/google_ads.mdx` around lines 22 - 23, The page imports ToolList and tools but never renders them, so either restore the tool list section or remove the unused imports: add a section that renders <ToolList items={tools} /> (or equivalent JSX/MDX usage) where the connector's callable tools should appear, ensuring the symbols ToolList and tools from the top of the file are used; alternatively, if you intentionally removed the UI, delete the ToolList and tools import lines to avoid unused imports.src/content/docs/agentkit/connectors/freshdesk.mdx (1)
25-51:⚠️ Potential issue | 🟠 Major | ⚡ Quick winQuickstart is incomplete without a connector setup step.
After Line 49, the flow ends before users register Freshdesk credentials in the dashboard, so the quickstart cannot be completed end-to-end.
✍️ Suggested fix
import { Steps, Tabs, TabItem } from '@astrojs/starlight/components' import { AgentKitCredentials } from '@components/templates' +import { SetupFreshdeskSection } from '@components/templates' import { SectionAfterSetupFreshdeskCommonWorkflows } from '@components/templates' @@ 2. ### Set your credentials <AgentKitCredentials /> + +3. ### Set up the connector + + Register your Freshdesk credentials with Scalekit so it can execute Freshdesk tools in this environment. + + <details> + <summary>Dashboard setup steps</summary> + + <SetupFreshdeskSection /> + + </details> </Steps>As per coding guidelines, how-to flows should provide complete, sequential setup steps for task completion.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/freshdesk.mdx` around lines 25 - 51, The quickstart stops before registering Freshdesk credentials; add a sequential connector setup step after the <AgentKitCredentials /> usage that instructs users to register their Freshdesk API key and domain in the dashboard (include exact UI labels if available) and then render the existing post-setup helper component <SectionAfterSetupFreshdeskCommonWorkflows /> so the flow continues into common workflows; update the Steps flow to include this new step (reference: <Steps>, <AgentKitCredentials />, <SectionAfterSetupFreshdeskCommonWorkflows>, <Tabs>/<TabItem>).src/content/docs/agentkit/connectors/attio.mdx (1)
74-79:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRepair malformed bullets in “What you can do”.
Lines 74–79 still contain duplicated verbs (
Update update,Create create, etc.) and a truncated fragment on Line 76.✍️ Suggested fix
-- **Update update** — Update an existing record's attributes in Attio -- **Create create** — Creates a new person record in Attio -- **List list** — List and query records for a specific Attio object type (e.g -- **Search search** — Search for records in Attio for a given object type (people, companies, deals, or custom objects) using a fuzzy text query -- **Delete delete** — Permanently deletes a person record from Attio by its record_id -- **Get get** — Retrieves a single comment by its comment_id in Attio +- **Update records** — Update an existing record's attributes in Attio +- **Create records** — Create a new person record in Attio +- **List records** — List and query records for an Attio object type (for example, people, companies, deals, or custom objects) +- **Search records** — Search Attio records for a given object type using a fuzzy text query +- **Delete records** — Permanently delete a person record in Attio by `record_id` +- **Get comments** — Retrieve a single comment in Attio by `comment_id`As per coding guidelines, documentation should use clear, consistent terminology and concise wording.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/attio.mdx` around lines 74 - 79, Fix the malformed bullets by removing duplicated verbs and completing the truncated List description: replace "Update update", "Create create", "List list", "Search search", "Delete delete", "Get get" with single-word labels ("Update", "Create", "List", "Search", "Delete", "Get") and expand the List bullet so it reads something like "List — List and query records for a specific Attio object type (e.g., people, companies, deals, or custom objects)"; ensure the other bullets use concise parallel phrasing (e.g., "Update — Update an existing record's attributes in Attio", "Create — Create a new person record in Attio", "Search — Search for records in Attio for a given object type using a fuzzy text query", "Delete — Permanently delete a person record from Attio by its record_id", "Get — Retrieve a single comment by its comment_id in Attio") and apply these edits to the bullets currently labeled "Update update", "Create create", "List list", "Search search", "Delete delete", and "Get get".src/content/docs/agentkit/connectors/harvestapi.mdx (1)
4-4:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winComplete the truncated frontmatter description.
Line 4 ends mid-word (
...acce), so metadata is incomplete.✍️ Suggested fix
-description: 'Connect to HarvestAPI to scrape LinkedIn profiles, companies, and job listings, and search for people and jobs using LinkedIn data. Enables AI agents to acce' +description: 'Connect to HarvestAPI to scrape LinkedIn profiles, companies, and jobs, and search people and listings using LinkedIn data for your agent workflows.'As per coding guidelines, frontmatter descriptions must be complete, clear, and concise.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/harvestapi.mdx` at line 4, The frontmatter "description" value is truncated at '...acce'; update the frontmatter description (the description key) to a complete, concise sentence by replacing the truncated fragment with a full phrase such as "access LinkedIn data for enrichment and job intelligence," resulting in a complete description like: "Connect to HarvestAPI to scrape LinkedIn profiles, companies, and job listings, and search for people and jobs using LinkedIn data. Enables AI agents to access LinkedIn data for enrichment and job intelligence." Ensure the description string ends properly and follows existing frontmatter formatting.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@scripts/sync-agent-connectors.js`:
- Around line 1113-1125: Before calling generateQuickstartSteps add an overview
paragraph to lines (e.g., via lines.push) that briefly states what users will
accomplish, when/why they need the connector, and previews the workflow in
direct instructional language; insert this overview using the same variables in
scope (providerName/providerSlug/primaryAuth) immediately before the existing
call to generateQuickstartSteps(...) and keep a blank line after it so the
procedural <Steps> block remains unchanged.
- Around line 967-969: The current selection uses the alphabetically first tool
(sortedTools/firstToolName) which may be a mutating action; change the logic to
prefer a read-only tool by scanning tools for a name matching read-only verbs
(e.g., /^((list|get|search|fetch|read)_.*|.*_(list|get|search|fetch|read))$/i or
contains those verbs) and set firstToolName to that tool's name if found,
otherwise fall back to sortedTools[0]?.name || null; update any related places
that use firstToolName (the same pattern around lines 1025-1028) to use this
safer selection.
- Around line 1001-1005: The setup copy currently always states “handles the
token lifecycle” when pushing the registration string (the lines.push call that
interpolates providerName); change this to be auth-aware by branching on the
connector's auth type (e.g., check provider.authType or connector.authType) and
produce one sentence for OAuth connectors that mentions Scalekit handling token
refresh/lifecycle, and a different sentence for API key/bearer connectors that
omits lifecycle/refresh wording and simply instructs to register the key/token;
update the lines.push invocation(s) to insert the appropriate string based on
that auth-type check.
In
`@src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdx`:
- Around line 41-67: Update the examples that call actions.executeTool /
actions.execute_tool for the linear connector to pass the required query
parameter (toolInput: { query: '...' } in JS/TS and tool_input={"query": "..."}
in Python) when invoking the linear_graphql_query tool; replace the empty
toolInput/tool_input with a meaningful GraphQL query (e.g., "{ viewer { id name
email } }") and add equivalent Go and Java tab examples to match SDK parity
(include their respective call to execute the linear_graphql_query with the
query parameter).
In
`@src/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdx`:
- Around line 11-29: The example snippets call actions.request (Node:
actions.request({...}) and Python: actions.request(...)) but only show success
flows; wrap these calls in proper error handling by adding a try/catch around
the Node.js example (catch logging or returning error details) and a try/except
around the Python example (catching Exception and handling/logging the error),
and update all similar examples (lines referenced) so every actions.request
usage includes both the success and explicit error path handling.
- Around line 50-57: The snippets use scalekit_client before it's defined; add
an initialization block that imports ScalekitClient and constructs
scalekit_client (using environment vars like SCALEKIT_CLIENT_ID,
SCALEKIT_CLIENT_SECRET and optional SCALEKIT_ENVIRONMENT) placed before both
usages of scalekit_client, and wrap the creation in minimal error handling
(catch/init failure and log or raise a clear message). Ensure the instructions
reference the ScalekitClient type and the scalekit_client instance so readers
can locate and replace the placeholder credentials or environment var names.
In `@src/content/docs/agentkit/connectors/airtable.mdx`:
- Around line 22-23: This file imports ToolList and tools but never uses them;
add a "## What you can do" section describing common actions for the Airtable
connector and a "## Tool list" section that renders the component like <ToolList
tools={tools} /> (using the imported ToolList and tools symbols) in the document
so the imports are used; alternatively, if you intentionally don't want the tool
list, remove the unused imports (ToolList, tools) to eliminate dead code.
- Line 66: The QuickstartGenericOauthSection JSX is missing connector-specific
props so the quickstart renders generic placeholders; update the
<QuickstartGenericOauthSection /> invocation to pass the Airtable-specific props
(e.g., connector="airtable", toolName="Airtable", providerName="airtable") so
the "Authorize and make your first call" step shows Airtable examples and
matches the pattern used by close.mdx and googlesheets.mdx.
In `@src/content/docs/agentkit/connectors/bigquery.mdx`:
- Around line 22-23: The page is missing the "What you can do" and "Tool list"
sections and currently imports ToolList and tools that are unused; add a "##
What you can do" section with a short list of example actions for the BigQuery
connector and add a "## Tool list" section that renders the ToolList component
with the imported tools (use ToolList and tools identifiers), ensuring the
imports are then referenced so they are no longer dead.
In `@src/content/docs/agentkit/connectors/bigqueryserviceaccount.mdx`:
- Around line 69-73: The autogenerated capability labels in the BigQuery service
account doc are duplicated and confusing (lines showing "Run dry, run", "List
list", "Get get"); update the labels in
src/content/docs/agentkit/connectors/bigqueryserviceaccount.mdx to concise,
readable forms (e.g., change "Run dry, run" to "Dry run", "List list" to "List",
and "Get get" to "Get") so each bullet is short and unambiguous, preserving the
rest of the descriptions and formatting.
In `@src/content/docs/agentkit/connectors/databricksworkspace.mdx`:
- Line 29: Replace the H3 headings used inside the Steps component with H2s:
locate the Steps block containing the "Install the SDK" step (and the second
step around the other flagged instance) and change the "### Install the SDK" and
the other "### ..." headings to "## Install the SDK" (i.e., use the numbered
step format `1. ## Title`) so each step in the <Steps> component uses an H2
heading as required by the guidelines.
- Around line 27-50: Update the <Steps> block in
src/content/docs/agentkit/connectors/databricksworkspace.mdx by importing and
inserting the missing setup and authorization steps: add imports for
SetupDatabricksWorkspaceSection and QuickstartGenericApikeySection from
`@components/templates` at the top, change the existing "Set your credentials" and
"Install the SDK" headings from ### to ##, then after the AgentKitCredentials
step append Step 3 using SetupDatabricksWorkspaceSection (a collapsible "Set up
the connector" block) and Step 4 using QuickstartGenericApikeySection (an
"Authorize and make your first call" block) following the same structure/pattern
used in gitlab.mdx so the flow and headings match the other Service Principal
connectors.
In `@src/content/docs/agentkit/connectors/datadog.mdx`:
- Around line 66-68: Replace the misleading heading "Authorize and make your
first call" with "Make your first call" in the section that renders
<QuickstartGenericApikeySection connector="datadog"
toolName="datadog_dashboards_list" providerName="Datadog" /> so the step matches
the declared connectorAuthType: API Key and does not imply an OAuth redirect
flow.
In `@src/content/docs/agentkit/connectors/gong.mdx`:
- Around line 74-79: Update the "What you can do" bullets in the Gong connector
docs to use concise action+object labels instead of long/tool-token phrases:
replace each bold label with a short verb+noun phrase (e.g., "List Engage
Tasks", "Get Users & Transcripts", "Complete Engage Task", "Unassign Engage
Prospects", "Override Flow Content", "Report Engage Email Activity") and keep
the descriptive sentence after each label as-is; edit the bullet lines in the
gong.mdx "What you can do" section to reflect these tighter labels so the list
is easier to skim.
In `@src/content/docs/agentkit/connectors/googlemeet.mdx`:
- Around line 22-23: The page imports the ToolList component and the tools data
but never renders them, removing the canonical tool-name reference needed for
execute_tool; update the googlemeet.mdx rendering to include the ToolList
component (pass the imported tools array as its data prop) in the appropriate
section (e.g., where tool usage or examples are shown) so the tool names are
displayed; ensure you reference the imported ToolList and tools symbols exactly
and place the inclusion near the existing connector documentation (also apply
the same fix to the other occurrence around lines 70–72).
In `@src/content/docs/agentkit/connectors/microsoftexcel.mdx`:
- Around line 22-23: The page imports ToolList and tools but never renders them;
add a section that mounts the ToolList component with the imported tools (e.g.,
<ToolList tools={tools} />) in the microsoftexcel.mdx so users can view valid
execute_tool names; ensure you place this restored ToolList section where the
previous tool list belonged (also restore the missing block around the original
lines 70-73) and verify the imported symbols ToolList and tools are used.
---
Outside diff comments:
In `@src/content/docs/agentkit/connectors/affinity.mdx`:
- Around line 61-65: In the "What you can do" section replace the duplicated
capability labels ("Create create", "Get get", "List list", "Search search",
"Update update") with a single, plain label each ("Create", "Get", "List",
"Search", "Update") and keep their descriptions unchanged; update the lines in
src/content/docs/agentkit/connectors/affinity.mdx that contain those phrases so
the headings read simply "Create —", "Get —", "List —", "Search —", and "Update
—" to improve readability and conform to the documentation style.
In `@src/content/docs/agentkit/connectors/brave.mdx`:
- Around line 62-68: The bolded labels in the "What you can do" list (e.g.,
"Descriptions local", "Summary summarizer", "Search web, local place, image",
"Completions chat", "Pois local", "Enrichments summarizer") are internal tool
names; change each to a concise user-facing verb + object phrase (for example:
"Fetch local descriptions" instead of "Descriptions local", "Get full summary"
for "Summary summarizer", "Search web, places, and images" for "Search web,
local place, image", "Ask via chat completions" for "Completions chat", "Fetch
local POIs" for "Pois local", and "Get summarizer enrichments" for "Enrichments
summarizer") so the list reads as clear actions users can take.
In `@src/content/docs/agentkit/connectors/dropbox.mdx`:
- Around line 70-73: The page stops at the "Common workflows" heading and is
missing the "Tool list" section needed for users to reference tool names used by
execute_tool; add back a "Tool list" section immediately after
SectionAfterSetupDropboxCommonWorkflows (or wherever the docs previously placed
tool references) that enumerates each tool name, brief description, and the
exact identifier strings used by execute_tool so callers can copy them directly
(ensure the section title is "Tool list" and includes entries for all Dropbox
connector tools).
In `@src/content/docs/agentkit/connectors/dynamo.mdx`:
- Around line 61-66: The bullet labels like "Search search", "Get view sql, get,
view", "Delete entity, bulk", "Total entity", "Id entity by", and "Key reset
api" are fragmented—replace them with clear, action-oriented labels and concise
descriptions: e.g., change "Search search" to "Search" with "Retrieves data
matching saved search criteria from Dynamo using advanced filter queries",
change "Get view sql, get, view" to "Get view" with "Returns data from a
specific SQL view by name", change "Delete entity, bulk" to "Delete entity" (or
"Delete entities (bulk)" if bulk supported) with "Deletes entity instances by
ID", change "Total entity" to "Get total count" with "Returns total count for a
given entity", change "Id entity by" to "Get entity by ID" with "Returns a
single entity by ID with optional column selection/formatting", and change "Key
reset api" to "Reset API key" with "Removes the user's API key from the server
cache"; update the MDX file entries accordingly so labels are consistent,
action-focused, and match the existing descriptions.
In `@src/content/docs/agentkit/connectors/exa.mdx`:
- Around line 74-80: The bullet list under "What you can do" has duplicated
action words like "Search search" and "Research research"; edit the list items
in src/content/docs/agentkit/connectors/exa.mdx so each label uses a single
clear verb phrase (e.g., change "Search search" to "Search", "Research research"
to "Research", "Crawl crawl" to "Crawl", "List list" to "List", "Websets
websets" to "Websets", and "Similar find" to "Find similar" or "Similar" as
appropriate) and ensure each item reads as a concise short sentence describing
the capability (preserve the rest of the descriptions such as "Find web pages
similar to a given URL..." and "Crawl one or more web pages by URL...").
In `@src/content/docs/agentkit/connectors/harvestapi.mdx`:
- Around line 74-79: The bullet list under "What you can do" contains duplicated
verbs and awkward phrasing (e.g., "Search search", "Get get"); update each list
item to a consistent, outcome-focused label followed by a short description—for
example change "Search search" to "Search — Search LinkedIn for leads using
advanced filters", "Get get" to "Get — Retrieve reactions made by a LinkedIn
profile", and normalize the others to "Profile scrape — Scrape a LinkedIn
profile...", "Job scrape — Retrieve full job listing details...", "Company
scrape — Scrape a LinkedIn company page...", "Profiles bulk scrape — Batch
scrape multiple LinkedIn profiles..." so all bullets use a single clear action
label followed by the description.
In `@src/content/docs/agentkit/connectors/jiminny.mdx`:
- Line 74: Replace the placeholder "**Xyz test tool** — Test" with a real,
descriptive capability label and short description for the Jiminny connector
(e.g., what the tool does, like call recording/transcription, sentiment
analysis, or conversation insights). Locate the exact placeholder string in the
Jiminny docs page and swap it with a concise capability line such as "**Jiminny
call transcription** — Transcribe and extract insights from customer calls" (or
another accurate capability relevant to Jiminny) so the document reflects a real
feature rather than test copy.
---
Duplicate comments:
In `@src/content/docs/agentkit/connectors/attio.mdx`:
- Around line 74-79: Fix the malformed bullets by removing duplicated verbs and
completing the truncated List description: replace "Update update", "Create
create", "List list", "Search search", "Delete delete", "Get get" with
single-word labels ("Update", "Create", "List", "Search", "Delete", "Get") and
expand the List bullet so it reads something like "List — List and query records
for a specific Attio object type (e.g., people, companies, deals, or custom
objects)"; ensure the other bullets use concise parallel phrasing (e.g., "Update
— Update an existing record's attributes in Attio", "Create — Create a new
person record in Attio", "Search — Search for records in Attio for a given
object type using a fuzzy text query", "Delete — Permanently delete a person
record from Attio by its record_id", "Get — Retrieve a single comment by its
comment_id in Attio") and apply these edits to the bullets currently labeled
"Update update", "Create create", "List list", "Search search", "Delete delete",
and "Get get".
In `@src/content/docs/agentkit/connectors/freshdesk.mdx`:
- Around line 25-51: The quickstart stops before registering Freshdesk
credentials; add a sequential connector setup step after the
<AgentKitCredentials /> usage that instructs users to register their Freshdesk
API key and domain in the dashboard (include exact UI labels if available) and
then render the existing post-setup helper component
<SectionAfterSetupFreshdeskCommonWorkflows /> so the flow continues into common
workflows; update the Steps flow to include this new step (reference: <Steps>,
<AgentKitCredentials />, <SectionAfterSetupFreshdeskCommonWorkflows>,
<Tabs>/<TabItem>).
In `@src/content/docs/agentkit/connectors/gitlab.mdx`:
- Line 31: The step headings inside the <Steps> component are using H3 ("###
Title") and must be changed to the numbered H2 format required by the component;
locate the headings such as "Install the SDK" (and the other step titles in the
same file) that currently start with "###" inside <Steps> and replace each with
the numbered format "1. ## Title" (i.e., swap "###" for "##" and prefix the line
with "1. ") so they conform to the Steps component guideline.
In `@src/content/docs/agentkit/connectors/google_ads.mdx`:
- Around line 22-23: The page imports ToolList and tools but never renders them,
so either restore the tool list section or remove the unused imports: add a
section that renders <ToolList items={tools} /> (or equivalent JSX/MDX usage)
where the connector's callable tools should appear, ensuring the symbols
ToolList and tools from the top of the file are used; alternatively, if you
intentionally removed the UI, delete the ToolList and tools import lines to
avoid unused imports.
In `@src/content/docs/agentkit/connectors/harvestapi.mdx`:
- Line 4: The frontmatter "description" value is truncated at '...acce'; update
the frontmatter description (the description key) to a complete, concise
sentence by replacing the truncated fragment with a full phrase such as "access
LinkedIn data for enrichment and job intelligence," resulting in a complete
description like: "Connect to HarvestAPI to scrape LinkedIn profiles, companies,
and job listings, and search for people and jobs using LinkedIn data. Enables AI
agents to access LinkedIn data for enrichment and job intelligence." Ensure the
description string ends properly and follows existing frontmatter formatting.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: b9910710-40f6-4323-bd18-999f7ebba739
📒 Files selected for processing (99)
scripts/sync-agent-connectors.jssrc/components/ToolList.astrosrc/components/overrides/PageTitle.astrosrc/components/templates/agent-connectors/_agentkit-credentials.mdxsrc/components/templates/agent-connectors/_section-after-setup-asana-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-bigqueryserviceaccount-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-gmail-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-intercom-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-monday-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-notion-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-onenote-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-posthogmcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/index.tssrc/content/docs/agentkit/connectors/affinity.mdxsrc/content/docs/agentkit/connectors/airtable.mdxsrc/content/docs/agentkit/connectors/apifymcp.mdxsrc/content/docs/agentkit/connectors/apollo.mdxsrc/content/docs/agentkit/connectors/asana.mdxsrc/content/docs/agentkit/connectors/attention.mdxsrc/content/docs/agentkit/connectors/attio.mdxsrc/content/docs/agentkit/connectors/bigquery.mdxsrc/content/docs/agentkit/connectors/bigqueryserviceaccount.mdxsrc/content/docs/agentkit/connectors/bitbucket.mdxsrc/content/docs/agentkit/connectors/box.mdxsrc/content/docs/agentkit/connectors/brave.mdxsrc/content/docs/agentkit/connectors/calendly.mdxsrc/content/docs/agentkit/connectors/chorus.mdxsrc/content/docs/agentkit/connectors/clari_copilot.mdxsrc/content/docs/agentkit/connectors/clickup.mdxsrc/content/docs/agentkit/connectors/close.mdxsrc/content/docs/agentkit/connectors/confluence.mdxsrc/content/docs/agentkit/connectors/databricksworkspace.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/content/docs/agentkit/connectors/diarize.mdxsrc/content/docs/agentkit/connectors/discord.mdxsrc/content/docs/agentkit/connectors/dropbox.mdxsrc/content/docs/agentkit/connectors/dynamo.mdxsrc/content/docs/agentkit/connectors/evertrace.mdxsrc/content/docs/agentkit/connectors/exa.mdxsrc/content/docs/agentkit/connectors/fathom.mdxsrc/content/docs/agentkit/connectors/figma.mdxsrc/content/docs/agentkit/connectors/freshdesk.mdxsrc/content/docs/agentkit/connectors/github.mdxsrc/content/docs/agentkit/connectors/gitlab.mdxsrc/content/docs/agentkit/connectors/gmail.mdxsrc/content/docs/agentkit/connectors/gong.mdxsrc/content/docs/agentkit/connectors/google_ads.mdxsrc/content/docs/agentkit/connectors/googlecalendar.mdxsrc/content/docs/agentkit/connectors/googledocs.mdxsrc/content/docs/agentkit/connectors/googledrive.mdxsrc/content/docs/agentkit/connectors/googleforms.mdxsrc/content/docs/agentkit/connectors/googlemeet.mdxsrc/content/docs/agentkit/connectors/googlesheets.mdxsrc/content/docs/agentkit/connectors/googleslides.mdxsrc/content/docs/agentkit/connectors/granola.mdxsrc/content/docs/agentkit/connectors/granolamcp.mdxsrc/content/docs/agentkit/connectors/harvestapi.mdxsrc/content/docs/agentkit/connectors/heyreach.mdxsrc/content/docs/agentkit/connectors/hubspot.mdxsrc/content/docs/agentkit/connectors/intercom.mdxsrc/content/docs/agentkit/connectors/jiminny.mdxsrc/content/docs/agentkit/connectors/jira.mdxsrc/content/docs/agentkit/connectors/linear.mdxsrc/content/docs/agentkit/connectors/linkedin.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/microsoftexcel.mdxsrc/content/docs/agentkit/connectors/microsoftteams.mdxsrc/content/docs/agentkit/connectors/microsoftword.mdxsrc/content/docs/agentkit/connectors/miro.mdxsrc/content/docs/agentkit/connectors/monday.mdxsrc/content/docs/agentkit/connectors/notion.mdxsrc/content/docs/agentkit/connectors/onedrive.mdxsrc/content/docs/agentkit/connectors/onenote.mdxsrc/content/docs/agentkit/connectors/outlook.mdxsrc/content/docs/agentkit/connectors/outreach.mdxsrc/content/docs/agentkit/connectors/pagerduty.mdxsrc/content/docs/agentkit/connectors/parallelaitaskmcp.mdxsrc/content/docs/agentkit/connectors/phantombuster.mdxsrc/content/docs/agentkit/connectors/pipedrive.mdxsrc/content/docs/agentkit/connectors/posthogmcp.mdxsrc/content/docs/agentkit/connectors/quickbooks.mdxsrc/content/docs/agentkit/connectors/salesforce.mdxsrc/content/docs/agentkit/connectors/servicenow.mdxsrc/content/docs/agentkit/connectors/sharepoint.mdxsrc/content/docs/agentkit/connectors/slack.mdxsrc/content/docs/agentkit/connectors/snowflake.mdxsrc/content/docs/agentkit/connectors/snowflakekeyauth.mdxsrc/content/docs/agentkit/connectors/supadata.mdxsrc/content/docs/agentkit/connectors/tableau.mdxsrc/content/docs/agentkit/connectors/trello.mdxsrc/content/docs/agentkit/connectors/twitter.mdxsrc/content/docs/agentkit/connectors/vercel.mdxsrc/content/docs/agentkit/connectors/vimeo.mdxsrc/content/docs/agentkit/connectors/xero.mdxsrc/content/docs/agentkit/connectors/youtube.mdxsrc/content/docs/agentkit/connectors/zendesk.mdxsrc/content/docs/agentkit/connectors/zoom.mdx
…hots - Google Calendar: replace non-functional ConnectorStatus import (internal SDK protobuf path + empty if-blocks) with standard getOrCreateConnectedAccount pattern - Datadog, Mailchimp, QuickBooks: move connector search screenshots from page top into setup templates where they contextually belong
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@src/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdx`:
- Line 10: Add the required title metadata to each fenced code block in the MDX
so they include the file paths for scanability: update the TypeScript block to
```typescript title="examples/googlecalendar/execute-tool.ts" (the block
containing the execute-tool example), the first Python block to ```python
title="examples/googlecalendar/execute_tool.py" (the execute_tool example), the
later TypeScript block to ```typescript
title="examples/googlecalendar/proxy-request.ts" (the proxy-request example),
and the final Python block to ```python
title="examples/googlecalendar/proxy_request.py" (the proxy_request example);
ensure each fenced code block header includes the exact title= attribute.
In `@src/content/docs/agentkit/connectors/datadog.mdx`:
- Around line 32-64: The step headings inside the Steps flow use H3 headings
(e.g., the lines starting "1. ### Install the SDK", "2. ### Set your
credentials", "3. ### Set up the connector", "4. ### Authorize and make your
first call") but must use H2 per the project Steps convention; update each step
header inside the <Steps> component to use H2 (change "1. ### ..." to "1. ##
...") so all numbered steps use "##" headings for consistency with the Steps
formatting.
In `@src/content/docs/agentkit/connectors/mailchimp.mdx`:
- Line 31: Replace the H3 step headings inside the Steps list with H2 headings:
find the numbered list items that start with "1. ###" (e.g., the step titled
"Install the SDK" and the other step titles at the same pattern) and change each
"1. ###" to "1. ##" so the Steps use the required "1. ## Title" format and match
the documented heading hierarchy.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: d7d2da0e-9d2a-425c-98f3-0306aa4e3187
📒 Files selected for processing (6)
src/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdxsrc/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/quickbooks.mdx
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Redirect rules - scalekit-starlight
- GitHub Check: Header rules - scalekit-starlight
- GitHub Check: Pages changed - scalekit-starlight
🧰 Additional context used
📓 Path-based instructions (8)
**/*.mdx
📄 CodeRabbit inference engine (.cursorrules)
**/*.mdx: Use clear, descriptive titles that explain the purpose of the document
Include comprehensive descriptions in frontmatter metadata
Organize content with logical heading hierarchy (H2, H3, H4)
Use tableOfContents property in frontmatter when content has multiple sections
Set appropriate sidebar labels for navigation in frontmatter
Use direct instruction writing style with phrases like 'This guide shows you how to...' and 'Create an authorization URL to...'
Use second person perspective ('your application', 'you receive', 'you must') in documentation
Keep sentences concise, aiming for under 25 words per sentence
Explain the 'why' in documentation with phrases like 'This prevents CSRF attacks by...' or 'Use this to validate that...'
Use action verbs in section headings: 'Store session tokens securely', 'Validate the state parameter', 'Exchange authorization code for tokens'
Use present tense for descriptions: 'Scalekit handles the complex authentication flow', 'The SDK provides methods to refresh tokens'
Use future tense for results: 'This will redirect users to...', 'You'll receive a JWT containing...', 'Scalekit returns an authorization code'
Use transition phrases between sections: 'After the user authenticates...', 'Once the state is validated...', 'Let's take a look at how to...'
Write 1-3 opening paragraphs that explain what users will accomplish, provide context about when/why, preview key concepts, and use direct instructional language
Begin introduction sections with a clear statement of what the guide covers and explain the problem being solved
Use collapsible sections in introduction for sequence diagrams, video demonstrations, data models, and JSON examples with appropriate icons
Use numbered format within Steps component:1. ## Titlewith all step content indented with exactly 3 spaces
Use action-oriented headings in step-by-step guides within Steps components
Include code examples in all 4 languages (Node.js, Python, Go, Java) within Steps co...
Files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
⚙️ CodeRabbit configuration file
**/*.mdx: You are reviewing Scalekit developer documentation written in MDX
(Astro + Starlight framework). Apply ALL of the following checks:Frontmatter
titleMUST be ≤ 60 characters and clearly state what the page does.descriptionMUST be ≤ 160 characters, action-oriented, unique per page.sidebar.labelMUST be present and ≤ 30 characters.sidebar.orderMUST be set on every page that lives inside a section
with siblings, to enforce the journey order in sidebar.config.ts.- Flag any missing
prev/nextlinks on pages that are clearly
part of a sequential flow (e.g., quickstart → implement-login →
complete-login → manage-session → logout).Voice & Style (CLAUDE.md standards)
- Voice: confident, direct, collaborative, instructional.
- Person: second person only ("you", "your application"). Reject "we",
"our", "the developer", "the user".- Tense: present tense for descriptions; imperative mood for instructions.
- Flag weasel words: "simply", "just", "easy", "straightforward",
"obviously", "of course", "note that".- Flag passive voice constructions where active voice is clearer.
- Headings must be sentence case, not Title Case (except proper nouns).
- No heading should end with a colon or period.
Content structure
- Journey how-to guides MUST contain numbered
<Steps>(Starlight
component). This does NOT apply tosrc/content/docs/cookbooks/**
(blog-style recipes — optional<Steps>,<Tabs>after</Steps>OK;
see cookbookspath_instructions).- Concept pages MUST NOT contain numbered steps — concepts explain, not instruct.
- API reference pages MUST list parameters in a table with Name / Type /
Required / Description columns.- Every page MUST end with a clear "what's next" signal — either a
next:frontmatter link, a<LinkCard>, or an explicit paragraph
pointing the reader forward in the sidebar journey.Code examples
- ALL code examples that show SDK usage MUST include all four language
tabs...
Files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
**/*.{yml,yaml,md,mdx}
📄 CodeRabbit inference engine (.cursor/rules/browsecentral-labels.mdc)
**/*.{yml,yaml,md,mdx}: BrowseCentral labels should be maximum 3-5 words - keep concise but add context when needed
BrowseCentral labels should be action-oriented - start with verbs when possible
BrowseCentral labels should be specific and clear - add context when simple labels are ambiguous
BrowseCentral labels should be outcome-focused - describe what users accomplish and the context
BrowseCentral labels should use 'Action + Object' pattern (e.g., 'Invite users', 'Restrict sign-up', 'Set up SCIM')
BrowseCentral labels should use feature names (e.g., 'Enterprise SSO', 'Passwordless quickstart')
BrowseCentral labels should describe task completion (e.g., 'Run migrations', 'Migrate auth', 'Merge identities')
BrowseCentral labels should include specific context when needed (e.g., 'Configure Scalekit MCP server', 'Validate incoming API requests')
BrowseCentral labels should use integration context when applicable (e.g., 'Build MCP auth with your existing auth system')
BrowseCentral labels should avoid instructional prefixes: 'How to', 'Guide to', 'Implement', 'Configure', 'Learn', 'Understand'
BrowseCentral labels should avoid verbose phrases: 'Step-by-step guide', 'Complete tutorial', 'Detailed documentation'
BrowseCentral labels should avoid weak verbs: 'Enable', 'Allow', 'Provide', 'Support'
Files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
**/*.{md,mdx}
📄 CodeRabbit inference engine (.cursor/rules/deno-docs-style.mdc)
**/*.{md,mdx}: Use sentence case for all titles and headings in MD/MDX documentation
Keep page titles short and descriptive (3–7 words when possible) in MD/MDX documentation
Use outcome-focused headings that describe results, not categories (e.g., 'Run a script' not 'Scripts')
Avoid gerunds in headings when an imperative works - prefer 'Configure proxies' over 'Configuring proxies'
Keep sidebar labels concise (1–3 words), use sentence case, and focus on outcomes or objects
Use sentence case in sidebar labels without punctuation
Set frontmatter title in sentence case with a clear outcome; description in one sentence (≤160 chars); sidebar.label as shorter form of title; enable tableOfContents on longer pages
Start documentation pages with a one-paragraph overview explaining what the page covers and when to use it
Present the primary use case (80% path) first in documentation, with edge cases later
Use numbered steps for task-focused sections in documentation, with each step beginning with a verb
Break up long documentation sections with subheadings every 3–6 paragraphs
Use asides for important notes, tips, cautions, and references in documentation
Provide runnable, minimal code examples that work as-is in documentation
Prefer CLI-first examples and show file layout when helpful in documentation
Label code blocks with titles for context (e.g., 'Terminal', 'main.ts') in documentation
Keep code block annotations brief and purposeful - annotate only what matters
Use consistent variable and file names across a documentation page
Use descriptive link text in documentation (e.g., 'See permission flags' not 'click here')
Prefer relative links for internal documentation pages and include anchors for section references
Reference APIs consistently using backticks for code, file names, CLI flags, and endpoints
Use backticks for code, file names, CLI flags, and endpoints in documentation
Use lists for options and features in documentation; tables only when comparisons are cleare...
Files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
**/*.{ts,tsx,py,go,java,mdx,md}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{ts,tsx,py,go,java,mdx,md}: Use the exact SDK variable names: Node.js (scalekit), Python (scalekit_client), Go (scalekitClient), Java (scalekitClient)
Never hard-code secrets or API keys in code examples; use environment variables
Include security comments that state the threat, why the pattern is required, and what can go wrong if omitted
Files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
**/*.{mdx,md}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{mdx,md}: All code examples must use<Tabs syncKey="tech-stack">format and include Node.js, Python, Go, and Java implementations (90% rule)
Use sentence case for all titles and headings in documentation
Use bold for first mention of important terms, UI elements, and dashboard paths (e.g., Dashboard > Authentication > Session Policy)
Use inline code for technical identifiers: variables, functions, endpoints, scopes, environment variables, file paths, and placeholders
Always include headers in tables; keep cell content concise and readable
Prefer fenced code blocks with language identifiers for all code; never use screenshots of code
Use descriptive link text; never use 'click here' or 'this' as link labels
Keep sentences simple, right-branching, and unambiguous; avoid ambiguous noun stacks and demonstrative pronouns
Use active voice; prefer 'Run the command' over 'The command should be run'
Use second person when giving instructions; address the reader as 'you'
Use present tense for procedures; 'This command installs…' not 'This command will install…'
Avoid hype, slang, and filler words like 'simply', 'just', 'obviously' in documentation
Use consistent terminology throughout; prefer standard names over synonyms
Explain security implications and threats for all security-related content
Use imperative verbs for procedure headings: 'Run a script' not 'Running a script'; 'Configure proxies' not 'Configuring proxies'
Headings must describe outcomes, not categories (good: 'Run a script'; bad: 'Scripts')
Split content into clear sections with descriptive, sentence-style titles that convey meaning without requiring the following paragraph
Keep paragraphs short; isolate critical points in their own short paragraphs
Begin sections and paragraphs with standalone topic sentences that preview content
Put the topic words at the beginning of topic sentences to support fast skimming
Put key takeaways and results at the top of documents and sections
Use bullets and tabl...
Files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
src/content/docs/**/*.mdx
📄 CodeRabbit inference engine (.cursor/rules/starlight-steps-tabs-structure.mdc)
src/content/docs/**/*.mdx: In MDX documentation files,<Steps>must contain one continuous ordered list. Wrap<Steps>around a normal Markdown ordered list such as1. ## ...
In MDX documentation files, numbered step lines must start at column 0. Do not indent the1. ##,2. ##, etc.
In MDX documentation files, any content that belongs to a step must be indented with 3 spaces: paragraphs, bullets, images,<Tabs>,<TabItem>, and fenced code blocks
In MDX documentation files, prefer plain Markdown inside<Steps>. If the content is mostly<Tabs>or other JSX-heavy blocks, use normal section headings instead of<Steps>
In MDX documentation files, when<Tabs>is used inside a step, keep<Tabs>,<TabItem>,</TabItem>, and</Tabs>consistently nested under that step
In MDX documentation files, if a tabs block is not part of a numbered step, place it outside</Steps>
Files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
src/content/docs/**/*.{mdx,md}
📄 CodeRabbit inference engine (CLAUDE.md)
src/content/docs/**/*.{mdx,md}: Every documentation page must include frontmatter with at least:title,description, andsidebar.label
Page titles must be ≤60 characters and descriptions must be ≤160 characters
Sidebar labels must be concise (1-3 words) and use sentence case without punctuation
Use<Steps>component with single continuous ordered list; numbered steps start at column 0, continuation content indented with exactly 3 spaces
Use relative links for internal pages; include anchors for sections
Include a table of contents for documents with multiple sections; enabletableOfContents: truein frontmatter
Files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
src/content/docs/agentkit/**/*.{mdx,md}
📄 CodeRabbit inference engine (CLAUDE.md)
Code examples for agentkit documentation live in the external repo
scalekit-developers/agent-auth-examples; verify documentation snippets match current implementation
Files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
🧠 Learnings (23)
📚 Learning: 2026-02-25T03:34:41.147Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 444
File: src/content/docs/agent-auth/start-agent-auth-coding-agents.mdx:31-31
Timestamp: 2026-02-25T03:34:41.147Z
Learning: In MDX files, import { Code } from 'astrojs/starlight/components' only if the MDX content actually uses the <Code> component. If the file uses only fenced code blocks (```), the import is not required. Apply this guideline to all MDX files (e.g., src/content/docs/**/*.mdx) to avoid unnecessary imports and reduce bundle size.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-02-25T18:41:00.639Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 446
File: src/content/docs/authenticate/m2m/api-auth-quickstart.mdx:78-78
Timestamp: 2026-02-25T18:41:00.639Z
Learning: Preserve full URLs inside code comments in MDX code blocks (bash/python/js) when the URLs are part of copyable examples. Do not flag these in code examples. Use relative paths in prose and hyperlinks within MDX; only enforce relative paths for markdown prose links, not for URLs inside code comments.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-03-10T10:37:47.033Z
Learnt from: Pranesh-Raghu
Repo: scalekit-inc/developer-docs PR: 475
File: src/components/templates/agent-connectors/_setup-asana.mdx:15-15
Timestamp: 2026-03-10T10:37:47.033Z
Learning: In src/components/templates/agent-connectors/**/*.mdx, it is acceptable to reuse a single shared redirect URI screenshot (use-own-credentials-redirect-uri.png) across multiple steps within the same connector file, even if different UIs are shown. Do not flag this reuse as an issue; ensure this behavior is intentional and documented for reviewers.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-03-10T10:38:27.783Z
Learnt from: Pranesh-Raghu
Repo: scalekit-inc/developer-docs PR: 475
File: src/components/templates/agent-connectors/_setup-confluence.mdx:16-16
Timestamp: 2026-03-10T10:38:27.783Z
Learning: In all MDX templates under src/components/templates/agent-connectors, the pattern uses empty alt text (e.g., ![]()) for redirect URI screenshots like use-own-credentials-redirect-uri.png. This is intentional; reviews should not flag missing alt text for these images in this directory.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-03-12T16:26:39.422Z
Learnt from: Pranesh-Raghu
Repo: scalekit-inc/developer-docs PR: 483
File: src/components/templates/agent-connectors/_setup-bigquery.mdx:18-22
Timestamp: 2026-03-12T16:26:39.422Z
Learning: In agent-connectors MDX templates, it is acceptable to reuse shared Google OAuth screenshots stored under `@/assets/docs/agent-connectors/gmail/` (e.g., oauth-web-app.png, add-redirect-uri.png) across different Google-service connector templates (e.g., _setup-bigquery.mdx, _setup-google-ads.mdx). Do not flag cross-connector image path reuse within Google service connectors as an issue. This guideline applies to all files in this directory.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-03-10T10:38:30.012Z
Learnt from: Pranesh-Raghu
Repo: scalekit-inc/developer-docs PR: 475
File: src/components/templates/agent-connectors/_setup-clickup.mdx:17-17
Timestamp: 2026-03-10T10:38:30.012Z
Learning: In the repository's agent-connectors setup template files (src/components/templates/agent-connectors/_setup-*.mdx), the pattern for redirect URI screenshot images is to use empty alt text (![]()). Do not flag missing alt text for these specific Markdown image syntaxes in the agent connector setup template files. This guidance applies only to files matching this setup-*.mdx naming pattern; other templates should continue to enforce standard alt text practices.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-03-12T16:28:37.168Z
Learnt from: Pranesh-Raghu
Repo: scalekit-inc/developer-docs PR: 483
File: src/components/templates/agent-connectors/_setup-zendesk.mdx:20-20
Timestamp: 2026-03-12T16:28:37.168Z
Learning: In src/components/templates/agent-connectors/_setup-*.mdx files, external links should not be flagged for missing target="_blank" and rel="noopener". Plain Markdown link syntax (e.g., [Scalekit dashboard](https://app.scalekit.com)) is acceptable and intentional in these agent-connector setup templates, following the established pattern across all connector templates in this directory.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-03-12T16:29:08.626Z
Learnt from: Pranesh-Raghu
Repo: scalekit-inc/developer-docs PR: 483
File: src/components/templates/agent-connectors/_setup-onenote.mdx:12-12
Timestamp: 2026-03-12T16:29:08.626Z
Learning: In files matching src/components/templates/agent-connectors/_setup-*.mdx, permit and reflect the branding 'Azure Active Directory' (AAD) as intentional. Do not flag or update these agent-connectors setup templates for references to 'Microsoft Entra ID'. This exception applies only to these setup template files; maintain standard branding elsewhere according to project guidelines.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-04-25T07:22:18.321Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 633
File: src/components/templates/agent-connectors/_setup-heyreach.mdx:12-12
Timestamp: 2026-04-25T07:22:18.321Z
Learning: In this repo’s MDX documentation files, treat `@/...` paths as aliases that resolve to the `src/` directory (e.g., `@/assets/docs/foo/bar.png` -> `src/assets/docs/foo/bar.png`). When reviewing, do not flag `@`-prefixed image (or other asset) paths as broken; instead, verify that the corresponding physical file exists under `src/`.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-05-06T07:23:46.423Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 658
File: src/components/templates/agent-connectors/_section-before-tool-list-xero-common-patterns.mdx:15-63
Timestamp: 2026-05-06T07:23:46.423Z
Learning: In agentkit agent connectors documentation (files under src/components/templates/agent-connectors and src/content/docs/agentkit/connectors), do not require all four language tabs for SDK code examples. These docs may use only the language tabs relevant to the content (e.g., Node.js and Python). This is an exception to the standard multilingual guideline and should be applied consistently across connector docs.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-05-07T16:00:06.233Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 660
File: src/components/templates/agent-connectors/_section-after-setup-gmail-common-workflows.mdx:13-39
Timestamp: 2026-05-07T16:00:06.233Z
Learning: In documentation MDX files under src/components/templates/agent-connectors/ and src/content/docs/agentkit/connectors/, code examples are intentionally simplified. Do not require or flag missing error handling/failure paths (e.g., try/catch, retries, or explicit error returns) in these docs, even if the project’s general guideline expects both success and error paths in code examples.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-05-07T16:00:21.950Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 660
File: src/components/templates/agent-connectors/_section-after-setup-google_ads-common-workflows.mdx:10-18
Timestamp: 2026-05-07T16:00:21.950Z
Learning: In AgentKit agent connector documentation code examples located under src/components/templates/agent-connectors/** and src/content/docs/agentkit/connectors/** (MDX files), do not add explicit error handling in the sample code (e.g., no try/catch blocks or rejected-promise branches). These snippets are intentionally “success-path only” to keep the documentation concise, and this is an explicit exception to any general review guideline that requires both success and error paths in every code example.
Applied to files:
src/components/templates/agent-connectors/_setup-mailchimp.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdxsrc/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdxsrc/components/templates/agent-connectors/_setup-datadog.mdx
📚 Learning: 2026-01-30T18:18:50.883Z
Learnt from: AkshayParihar33
Repo: scalekit-inc/developer-docs PR: 415
File: src/content/docs/authenticate/fsa/multiapp/manage-apps.mdx:31-49
Timestamp: 2026-01-30T18:18:50.883Z
Learning: In all Scalekit documentation files (MDX), treat the terms 'Applications', 'Single Page Application (SPA)', 'Native Application', and 'Web Application' as proper nouns and preserve their capitalization in headings and body text. Ensure these terms remain capitalized even when used in sentence case or within prose.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
📚 Learning: 2026-02-04T12:47:16.544Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 412
File: src/content/docs/dev-kit/tools/scalekit-dryrun.mdx:1-23
Timestamp: 2026-02-04T12:47:16.544Z
Learning: In scalekit-inc/developer-docs, the MDX frontmatter field order is required only when the sidebar configuration points to a directory (for auto-generation). If the sidebar.config.ts references a specific file path, the order field is not required. Apply this check to all MDX files under src/content/docs: if a file contributes to an auto-generated sidebar (directory path), ensure order is present; if it’s linked to a concrete file, order can be omitted. Use sidebar.config.ts to determine whether a given MDX file falls under directory-based vs file-specific sidebar references.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
📚 Learning: 2026-02-25T08:57:12.201Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 444
File: src/content/docs/agent-auth/quickstart.mdx:2-10
Timestamp: 2026-02-25T08:57:12.201Z
Learning: In Scalekit developer-docs (Astro Starlight), do not auto-suggest adding tableOfContents in frontmatter unless the user explicitly overrides the default behavior. The default enables tableOfContents with minHeadingLevel 2 and maxHeadingLevel 3. Only set tableOfContents when you want to customize heading levels or disable it entirely; otherwise omit it for other docs.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
📚 Learning: 2026-02-25T13:04:27.491Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 444
File: src/content/docs/agent-auth/start-agent-auth-coding-agents.mdx:9-17
Timestamp: 2026-02-25T13:04:27.491Z
Learning: Allow page-level CSS overrides in MDX frontmatter (head: style) for readability and engagement, even if it customizes typography beyond defaults. This applies to per-page UX decisions, including heading sizes and style tweaks, but keep overrides purposeful, accessible, and within the repository's design guidelines. Use these overrides sparingly and document the rationale for maintainability.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
📚 Learning: 2026-03-05T11:29:08.125Z
Learnt from: AkshayParihar33
Repo: scalekit-inc/developer-docs PR: 463
File: src/content/docs/agent-auth/providers.mdx:35-73
Timestamp: 2026-03-05T11:29:08.125Z
Learning: In src/content/docs/agent-auth/providers.mdx, the Card components intentionally use icon=" " (a space) to render consistent colored boxes since some Starlight icon names resolve to icons and others do not. Do not flag icon=" " as a placeholder issue for this file; treat this as a deliberate UX choice specific to this MDX page and avoid raising a placeholder-icon warning here.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
📚 Learning: 2026-03-09T07:27:56.794Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 469
File: src/content/docs/guides/integrations/scim-integrations/azure-scim.mdx:95-107
Timestamp: 2026-03-09T07:27:56.794Z
Learning: Do not enforce the 3-space indentation rule for Steps component content as a hard style rule in MDX files under src/content/docs/**/*.mdx. Only flag/rectify it if it causes visible rendering problems in the UI. Otherwise, allow current formatting; apply this rule only when rendering issues are observed and document any fixes.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
📚 Learning: 2026-03-09T07:32:38.426Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 467
File: src/content/docs/sso/guides/sso-user-attributes.mdx:108-148
Timestamp: 2026-03-09T07:32:38.426Z
Learning: In MDX code samples under src/content/docs (and similar conceptual snippets in scalekit-inc/developer-docs), when an example's sole purpose is to show how to access a specific value (e.g., reading JWT claims after token validation), omit error/non-happy-path handling to keep the snippet focused. Do not flag the absence of error paths in narrowly scoped conceptual snippets.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
📚 Learning: 2026-03-17T16:01:50.487Z
Learnt from: dhaneshbs
Repo: scalekit-inc/developer-docs PR: 506
File: src/content/docs/authenticate/fsa/quickstart.mdx:851-853
Timestamp: 2026-03-17T16:01:50.487Z
Learning: In the Scalekit Python SDK docs, clarify that LogoutUrlOptions is not exported from the top-level scalekit package __init__.py. The correct import path in code samples or reviews is: from scalekit.common.scalekit import LogoutUrlOptions. Do not flag this import path as incorrect in documentation or code reviews; ensure examples reflect the proper import path to avoid confusion for users.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
📚 Learning: 2026-04-27T07:13:48.244Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 628
File: src/content/docs/agentkit/tools/scalekit-optimized-tools.mdx:59-102
Timestamp: 2026-04-27T07:13:48.244Z
Learning: In AgentKit documentation MDX files, when showing Python `execute_tool` calls, treat `connection_name` as a supported argument (along with `tool_name`, `tool_input`, `identifier`, and `connected_account_id`). Do not flag `connection_name` as an invalid/unsupported parameter in these Python examples.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
📚 Learning: 2026-05-07T13:40:40.902Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 660
File: src/content/docs/agentkit/connectors/handwritten-hubspot.mdx:95-126
Timestamp: 2026-05-07T13:40:40.902Z
Learning: For Quickstart code snippets in scalekit-inc/developer-docs connector docs (agentkit connector pages such as src/content/docs/agentkit/connectors/*.mdx), do not require explicit error/non-happy-path handling. Quickstart examples intentionally show only the happy path to reduce noise and help users complete a first working call quickly. In contrast, for more complete, reference-style examples outside of Quickstart flows, missing error-path handling can be flagged.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
📚 Learning: 2026-05-07T13:41:31.574Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 660
File: src/content/docs/agentkit/connectors/handwritten-hubspot.mdx:453-499
Timestamp: 2026-05-07T13:41:31.574Z
Learning: In scalekit-inc/developer-docs, do not require a "what's next"/next-step signal at the end of agent connector documentation pages under src/content/docs/agentkit/connectors/ (for example, src/content/docs/agentkit/connectors/*.mdx). These pages may omit the typical next-step elements such as a frontmatter next link, a LinkCard, or a final forward-pointer paragraph; missing "what's next" sections on these connector pages should not be flagged as an issue.
Applied to files:
src/content/docs/agentkit/connectors/mailchimp.mdxsrc/content/docs/agentkit/connectors/datadog.mdx
🔇 Additional comments (5)
src/content/docs/agentkit/connectors/datadog.mdx (1)
64-66: Step title still implies OAuth for an API-key connector.The heading says “Authorize and make your first call,” but this page is marked
connectorAuthType: API Key. Rename to “Make your first call” to avoid implying an OAuth redirect step.src/components/templates/agent-connectors/_setup-datadog.mdx (1)
40-42: Good addition for setup clarity.This screenshot makes the “Create Connection” path easier to follow and the alt text is descriptive.
src/components/templates/agent-connectors/_section-after-setup-googlecalendar-common-workflows.mdx (1)
17-19: Good fail-fast guard before tool executionThe explicit account-id checks in both language examples make the workflow safer and clearer before calling the tool.
Also applies to: 47-49
src/components/templates/agent-connectors/_setup-mailchimp.mdx (1)
10-10: Good visual checkpoint addition.This screenshot makes the “find Mailchimp in Create Connection” step easier to validate quickly.
src/content/docs/agentkit/connectors/mailchimp.mdx (1)
88-89: Tool-name instruction is clear and actionable.Calling out exact
executeTool/execute_toolnames here reduces first-call mistakes.
…c-guide-refresh # Conflicts: # src/components/templates/agent-connectors/index.ts # src/content/docs/agentkit/connectors/datadog.mdx # src/content/docs/agentkit/connectors/tableau.mdx # src/content/docs/agentkit/connectors/xero.mdx
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (14)
src/content/docs/agentkit/connectors/diarize.mdx (2)
74-76:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winClean up malformed capability labels in “What you can do”.
Lines [74-76] contain duplicated labels, reducing readability.
Proposed fix
-- **Get get** — Retrieve the current status of a transcription job by its job ID +- **Get job status** — Retrieve the current status of a transcription job by its job ID - **Transcript download** — Download the transcript output for a completed transcription job in JSON, TXT, SRT, or VTT format, including speaker diarization, segments, and word-level timestamps -- **Create create** — Submit a new transcription and diarization job for an audio or video URL (YouTube, X, Instagram, TikTok) +- **Create transcription job** — Submit a new transcription and diarization job for an audio or video URL (YouTube, X, Instagram, TikTok)🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/diarize.mdx` around lines 74 - 76, The “What you can do” capability labels contain duplicated words ("Get get" and "Create create"); edit the three list items in src/content/docs/agentkit/connectors/diarize.mdx to remove the duplicated tokens so they read "Get — Retrieve the current status...", "Transcript download — Download the transcript...", and "Create — Submit a new transcription..." (update the entries that contain "Get get" and "Create create" and verify "Transcript download" remains unchanged).
4-4:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix the truncated frontmatter description.
Line [4] ends mid-phrase (
retrieve results i), leaving incomplete metadata.Proposed fix
-description: 'Connect to Diarize to transcribe and diarize audio and video content from YouTube, X, Instagram, and TikTok. Submit transcription jobs and retrieve results i' +description: 'Connect to Diarize to transcribe and diarize audio and video content from YouTube, X, Instagram, and TikTok. Submit transcription jobs and retrieve transcript results.'🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/diarize.mdx` at line 4, The frontmatter key "description" is truncated ("retrieve results i"); update the "description" frontmatter value in this document to a complete sentence that finishes the phrase (e.g., "Connect to Diarize to transcribe and diarize audio and video content from YouTube, X, Instagram, and TikTok. Submit transcription jobs and retrieve results into your application."), ensuring the full string replaces the partial value and remains properly quoted so metadata is valid.src/content/docs/agentkit/connectors/heyreach.mdx (2)
4-4:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix the truncated frontmatter description.
Line [4] ends mid-word (
fetc), so the page metadata is incomplete.Proposed fix
-description: 'Connect to HeyReach to manage LinkedIn outreach campaigns, lead lists, and conversations. List campaigns, retrieve leads, monitor campaign progress, and fetc' +description: 'Connect to HeyReach to manage LinkedIn outreach campaigns, lead lists, and conversations. List campaigns, retrieve leads, monitor campaign progress, and fetch conversation data.'🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/heyreach.mdx` at line 4, The frontmatter description value is truncated ("fetc"); update the description string in the HeyReach MDX frontmatter (the description key in src/content/docs/agentkit/connectors/heyreach.mdx) to a complete sentence such as "Connect to HeyReach to manage LinkedIn outreach campaigns, lead lists, and conversations. List campaigns, retrieve leads, monitor campaign progress, and fetch messages and analytics." ensuring the description is not cut off and stays within the frontmatter quotes.
74-76:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winNormalize malformed capability labels in the “What you can do” list.
Lines [74-76] contain garbled/reversed labels, which hurts scannability.
Proposed fix
-- **Get get** — Retrieve detailed information about a single HeyReach lead by their LinkedIn profile URL -- **Campaign add leads to** — Add up to 100 leads to an existing HeyReach campaign -- **Key check api** — Verify that your HeyReach API key is valid and the connection is working +- **Get lead** — Retrieve detailed information about a single HeyReach lead by their LinkedIn profile URL +- **Add leads to campaign** — Add up to 100 leads to an existing HeyReach campaign +- **Check API key** — Verify that your HeyReach API key is valid and the connection is working🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/heyreach.mdx` around lines 74 - 76, The “What you can do” capability labels are garbled: replace the incorrect reversed/duplicated phrases in the three bullets (currently "Get get", "Campaign add leads to", "Key check api") with clear, normalized labels such as "Get" for fetching a single HeyReach lead by LinkedIn URL, "Add leads to campaign" for adding up to 100 leads to an existing campaign, and "Check API key" for verifying the HeyReach API key; update the corresponding bullet texts so each label reads naturally followed by its description (e.g., "Get — Retrieve detailed information...", "Add leads to campaign — Add up to 100 leads...", "Check API key — Verify that your HeyReach API key...").src/content/docs/agentkit/connectors/granolamcp.mdx (1)
62-64:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRemove duplicated verbs in capability labels.
Lines [62-64] repeat action words and read as generation artifacts.
Proposed fix
-- **Get get** — Get detailed meeting information for one or more Granola meetings by ID -- **Query query** — Query Granola about the user's meetings using natural language -- **List list** — List the user's Granola meeting notes within a time range +- **Get meeting details** — Get detailed meeting information for one or more Granola meetings by ID +- **Query meetings** — Query Granola about the user's meetings using natural language +- **List meeting notes** — List the user's Granola meeting notes within a time range🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/granolamcp.mdx` around lines 62 - 64, The capability labels contain duplicated verbs ("**Get get**", "**Query query**", "**List list**"); update each label to remove the duplicate verb so they read "**Get** — Get detailed meeting information...", "**Query** — Query Granola about the user's meetings...", and "**List** — List the user's Granola meeting notes..." by editing the lines containing "**Get get**", "**Query query**", and "**List list**" in the connector doc.src/content/docs/agentkit/connectors/googlecalendar.mdx (2)
4-4:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFinish the truncated page description.
The frontmatter description ends mid-sentence and should be completed to render correctly in search/social previews.
💡 Proposed fix
-description: 'Google Calendar is Google''s cloud-based calendar service that allows you to manage your events, appointments, and schedules from any computer or device with ' +description: 'Connect to Google Calendar to manage calendars, events, and scheduling workflows across connected Google accounts.'As per coding guidelines: "Provide complete frontmatter with title, description, and navigation metadata."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/googlecalendar.mdx` at line 4, The frontmatter description in src/content/docs/agentkit/connectors/googlecalendar.mdx is truncated; update the description field (the YAML frontmatter key "description") to a complete sentence such as: "Google Calendar is Google's cloud-based calendar service that allows you to manage your events, appointments, and schedules from any computer or device with internet access, and to share and integrate calendars across apps and teams." Ensure the frontmatter contains a full, grammatical description and retain other metadata keys (title, navigation) as required.
74-78:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRemove duplicated action words in capability bullets.
The repeated verbs make the section read like generation artifacts instead of clear outcomes.
💡 Proposed fix
-- **Update update** — Update an existing event in a connected Google Calendar account -- **List list** — List events from a connected Google Calendar account with filtering options -- **Get get** — Retrieve a specific calendar event by its ID using optional filtering and list parameters -- **Delete delete** — Delete an event from a connected Google Calendar account -- **Create create** — Create a new event in a connected Google Calendar account +- **Update event** — Update an existing event in a connected Google Calendar account +- **List events** — List events from a connected Google Calendar account with filtering options +- **Get event** — Retrieve a specific calendar event by its ID using optional filtering and list parameters +- **Delete event** — Delete an event from a connected Google Calendar account +- **Create event** — Create a new event in a connected Google Calendar accountAs per coding guidelines: "Write simply and directly with short sentences and plain language in documentation."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/googlecalendar.mdx` around lines 74 - 78, The capability bullets contain duplicated action words like "Update update", "List list", "Get get", "Delete delete", and "Create create"; edit those labels to remove the repeated verbs so each bullet uses a single clear action label (e.g., change "Update update" to "Update", "List list" to "List", etc.) and keep the descriptive text after the dash unchanged. Ensure all five bullets (Update, List, Get, Delete, Create) follow the pattern "**Action** — Short plain-language description" to match documentation style.src/content/docs/agentkit/connectors/discord.mdx (1)
74-75:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix autogenerated duplicate wording in capability bullets.
Get get/List listread incorrectly, andPNG imageis redundant wording.💡 Proposed fix
-- **Get get** — Retrieves a PNG image widget for a Discord guild -- **List list** — Lists the current user's guilds, returning partial data (id, name, icon, owner, permissions, features) for each +- **Get guild widget** — Retrieves a PNG widget for a Discord guild +- **List guilds** — Lists the current user's guilds, returning partial data (id, name, icon, owner, permissions, features) for eachAs per coding guidelines: "Write simply and directly with short sentences and plain language in documentation."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/discord.mdx` around lines 74 - 75, Replace the duplicated capability labels and redundant phrasing: change "Get get" to "Get" and "List list" to "List", and simplify the first bullet to avoid "PNG image" redundancy (e.g., "Get — Retrieves the widget image (PNG) for a Discord guild") while keeping the second as "List — Lists the current user's guilds, returning partial data (id, name, icon, owner, permissions, features) for each"; update the two bullet lines accordingly.src/content/docs/agentkit/connectors/box.mdx (1)
4-4:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winComplete the truncated frontmatter description.
The description ends mid-phrase (
...Box R), so preview metadata is broken and unclear.💡 Proposed fix
-description: 'Box is a cloud content management platform. Manage files, folders, users, groups, collaborations, tasks, comments, webhooks, search, and more using the Box R' +description: 'Connect to Box to manage files, folders, users, groups, collaborations, tasks, comments, webhooks, and search with the Box REST API.'As per coding guidelines: "Page titles must be ≤ 60 characters and descriptions must be ≤ 160 characters."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/box.mdx` at line 4, The frontmatter description value is truncated ("Box R") which breaks preview metadata; update the description field in this file's frontmatter (the description: key) to a complete sentence under 160 characters—for example, complete it to mention the Box REST API and the main capabilities (files, folders, users, groups, collaborations, tasks, comments, webhooks, search) so it reads sensibly and fits the length constraint; ensure the page title (if present) is ≤ 60 chars and the description ≤ 160 chars after your edit.scripts/sync-agent-connectors.js (3)
972-998:⚠️ Potential issue | 🟠 Major | ⚡ Quick winPrefer read-only tools for quickstart examples.
The
selectQuickstartToolfunction currently picks the alphabetically first tool with zero required params, or falls back to the tool with fewest required params. This can select mutating actions (e.g.,delete_*,update_*), which makes the default quickstart example risky on real customer data.Add logic to prefer tools with read-only verbs (
list,get,search,fetch,read) before falling back to alphabetical order.Suggested fix
function selectQuickstartTool(tools) { if (!tools || tools.length === 0) return { name: null, toolInput: null } const sorted = [...tools].sort((a, b) => (a.name || '').localeCompare(b.name || '')) - // Prefer a tool with zero required params - const noReqParams = sorted.find((t) => getRequiredParams(t).length === 0) + // Prefer a read-only tool with zero required params + const READ_ONLY_VERBS = ['list', 'get', 'search', 'fetch', 'read'] + const noReqParams = sorted.find((t) => { + if (getRequiredParams(t).length !== 0) return false + const parts = (t.name || '').toLowerCase().split('_') + return READ_ONLY_VERBS.some((verb) => parts.includes(verb)) + }) || sorted.find((t) => getRequiredParams(t).length === 0)As per coding guidelines: "Prefer examples over theory: Show the common path first" and "Never teach bad habits or insecure patterns."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/sync-agent-connectors.js` around lines 972 - 998, The selectQuickstartTool function currently picks tools by alphabetical order or fewest required params and can choose mutating actions; update selectQuickstartTool to prefer tools whose name contains read-only verbs (e.g., 'list', 'get', 'search', 'fetch', 'read') when selecting noReqParams and when breaking ties in byReqCount: filter sorted (and byReqCount) first for names matching those verbs (case-insensitive, token or prefix match), choose from that filtered list if non-empty, otherwise fall back to the existing alphabetical/fewest-params logic; keep using getRequiredParams, noReqParams, byReqCount, best, and generateSampleValue as currently named.
1110-1115:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winMake setup copy auth-type aware.
Line 1114 always states "handles the token lifecycle," but this only applies to OAuth connectors. API Key and Bearer Token connectors do not have a refresh lifecycle, so this generates inaccurate setup guidance on those pages.
Suggested fix
if (setupComponentName) { lines.push('3. ### Set up the connector') lines.push('') - lines.push( - ` Register your ${providerName} credentials with Scalekit so it handles the token lifecycle. You do this once per environment.`, - ) + const setupCopy = + authType === 'OAUTH' + ? ` Register your ${providerName} credentials with Scalekit so it handles the token lifecycle. You do this once per environment.` + : ` Register your ${providerName} credentials with Scalekit so it stores them securely. You do this once per environment.` + lines.push(setupCopy)🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/sync-agent-connectors.js` around lines 1110 - 1115, The setup text currently always says "handles the token lifecycle" which is only true for OAuth connectors; update the block that builds lines (the section guarded by setupComponentName where you push strings into lines) to make the message auth-type aware: detect the connector/provider auth type (e.g., use the existing authType or connector.authType/provider.authType variable) and when authType is "oauth" keep the current "handles the token lifecycle" phrasing, but for "api_key" or "bearer" use alternate wording such as "stores your credentials securely" or "does not require token refresh" so the guidance is accurate for API Key and Bearer Token connectors; modify the string assembly that uses providerName to branch based on auth type and push the appropriate message into lines.
1250-1262:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd an overview paragraph before the quickstart steps.
The generated connector pages begin directly with
<Steps>(line 1251) without an opening overview paragraph. This omits context about what users will accomplish, when to use the connector, and how the page is organized.Suggested fix
Add a short overview block before calling
generateQuickstartSteps():lines.push('') + // Overview paragraph + lines.push(`Connect your agent to ${providerName} to ${providerDescription.toLowerCase()} This quickstart shows you how to install the SDK, set up the connector, and make your first call.`) + lines.push('') + // Quickstart Steps block lines.push(As per coding guidelines: "Opening paragraphs (1–3) MUST state what users will accomplish, when/why they need it, and preview the workflow using direct instructional language."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/sync-agent-connectors.js` around lines 1250 - 1262, Add an opening overview paragraph before the quickstart steps by inserting a generated paragraph immediately before the generateQuickstartSteps(...) invocation: implement a small helper (e.g., generateOverviewParagraph(providerName, providerSlug, primaryAuth)) that returns 1–3 plain instructional sentences stating what users will accomplish, when/why to use the connector, and a short preview of the workflow, then push that paragraph (and a blank line) into the lines array prior to calling generateQuickstartSteps; ensure the paragraph is plain text (not JSX) and follows the "what/when/preview" guideline.src/components/templates/agent-connectors/index.ts (1)
84-84:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRename connector slug files to use consistent hyphen naming.
Lines 84 and 100 import from files using underscores in the connector slug (
clari_copilot,google_ads), while the corresponding setup files use hyphens (e.g., line 27:_setup-google-ads.mdx). Rename these files to_section-after-setup-clari-copilot-common-workflows.mdxand_section-after-setup-google-ads-common-workflows.mdx, then update the imports.Also applies to: 100-100
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/index.ts` at line 84, The export lines for SectionAfterSetupClariCopilotCommonWorkflows and the Google Ads equivalent reference MDX files using underscores in the connector slug (e.g., '_section-after-setup-clari_copilot-common-workflows.mdx' and '_section-after-setup-google_ads-common-workflows.mdx'); rename those files to use hyphenated slugs ('_section-after-setup-clari-copilot-common-workflows.mdx' and '_section-after-setup-google-ads-common-workflows.mdx') and update the corresponding export/import statements in src/components/templates/agent-connectors/index.ts to import from the new hyphenated filenames so they match the setup files (e.g., _setup-google-ads.mdx).src/content/docs/agentkit/connectors/apifymcp.mdx (1)
74-78:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix duplicated verbs and incomplete example in capability bullets.
The "What you can do" section contains duplicated verbs in three bullets: "Get get" (line 74), "Fetch fetch" (line 75), and "Search search" (line 76). Line 75 also ends with an incomplete "e.g" without the example text.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/agentkit/connectors/apifymcp.mdx` around lines 74 - 78, Update the capability bullets to remove duplicated verbs and complete the example: change "Get get" to "Get" (for the Actor run by runId), change "Fetch fetch" to "Fetch" and finish the example after "e.g." with a sample full name like "'username/name' (e.g. 'apify/actor-name')", and change "Search search" to "Search" so the three bullets read "Get", "Fetch", and "Search" respectively; ensure "Actor call" and "Browser rag web" remain unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/content/docs/agentkit/connectors/chorus.mdx`:
- Around line 26-55: The page currently uses
QuickstartGenericApikeyNotoolsSection while connectorAuthType is Basic Auth;
replace that component with a Basic Auth-specific quickstart (e.g.,
QuickstartGenericBasicAuthNotoolsSection or an inline Basic Auth flow) and add
an explicit connector registration step that shows how to supply Basic Auth
credentials (username/password or encoded header) before the first call; ensure
AgentKitCredentials remains used for global creds and update the
verifyPath/verifyMethod invocation if the Basic Auth quickstart component
requires different props or a register-connector step.
---
Duplicate comments:
In `@scripts/sync-agent-connectors.js`:
- Around line 972-998: The selectQuickstartTool function currently picks tools
by alphabetical order or fewest required params and can choose mutating actions;
update selectQuickstartTool to prefer tools whose name contains read-only verbs
(e.g., 'list', 'get', 'search', 'fetch', 'read') when selecting noReqParams and
when breaking ties in byReqCount: filter sorted (and byReqCount) first for names
matching those verbs (case-insensitive, token or prefix match), choose from that
filtered list if non-empty, otherwise fall back to the existing
alphabetical/fewest-params logic; keep using getRequiredParams, noReqParams,
byReqCount, best, and generateSampleValue as currently named.
- Around line 1110-1115: The setup text currently always says "handles the token
lifecycle" which is only true for OAuth connectors; update the block that builds
lines (the section guarded by setupComponentName where you push strings into
lines) to make the message auth-type aware: detect the connector/provider auth
type (e.g., use the existing authType or connector.authType/provider.authType
variable) and when authType is "oauth" keep the current "handles the token
lifecycle" phrasing, but for "api_key" or "bearer" use alternate wording such as
"stores your credentials securely" or "does not require token refresh" so the
guidance is accurate for API Key and Bearer Token connectors; modify the string
assembly that uses providerName to branch based on auth type and push the
appropriate message into lines.
- Around line 1250-1262: Add an opening overview paragraph before the quickstart
steps by inserting a generated paragraph immediately before the
generateQuickstartSteps(...) invocation: implement a small helper (e.g.,
generateOverviewParagraph(providerName, providerSlug, primaryAuth)) that returns
1–3 plain instructional sentences stating what users will accomplish, when/why
to use the connector, and a short preview of the workflow, then push that
paragraph (and a blank line) into the lines array prior to calling
generateQuickstartSteps; ensure the paragraph is plain text (not JSX) and
follows the "what/when/preview" guideline.
In `@src/components/templates/agent-connectors/index.ts`:
- Line 84: The export lines for SectionAfterSetupClariCopilotCommonWorkflows and
the Google Ads equivalent reference MDX files using underscores in the connector
slug (e.g., '_section-after-setup-clari_copilot-common-workflows.mdx' and
'_section-after-setup-google_ads-common-workflows.mdx'); rename those files to
use hyphenated slugs ('_section-after-setup-clari-copilot-common-workflows.mdx'
and '_section-after-setup-google-ads-common-workflows.mdx') and update the
corresponding export/import statements in
src/components/templates/agent-connectors/index.ts to import from the new
hyphenated filenames so they match the setup files (e.g.,
_setup-google-ads.mdx).
In `@src/content/docs/agentkit/connectors/apifymcp.mdx`:
- Around line 74-78: Update the capability bullets to remove duplicated verbs
and complete the example: change "Get get" to "Get" (for the Actor run by
runId), change "Fetch fetch" to "Fetch" and finish the example after "e.g." with
a sample full name like "'username/name' (e.g. 'apify/actor-name')", and change
"Search search" to "Search" so the three bullets read "Get", "Fetch", and
"Search" respectively; ensure "Actor call" and "Browser rag web" remain
unchanged.
In `@src/content/docs/agentkit/connectors/box.mdx`:
- Line 4: The frontmatter description value is truncated ("Box R") which breaks
preview metadata; update the description field in this file's frontmatter (the
description: key) to a complete sentence under 160 characters—for example,
complete it to mention the Box REST API and the main capabilities (files,
folders, users, groups, collaborations, tasks, comments, webhooks, search) so it
reads sensibly and fits the length constraint; ensure the page title (if
present) is ≤ 60 chars and the description ≤ 160 chars after your edit.
In `@src/content/docs/agentkit/connectors/diarize.mdx`:
- Around line 74-76: The “What you can do” capability labels contain duplicated
words ("Get get" and "Create create"); edit the three list items in
src/content/docs/agentkit/connectors/diarize.mdx to remove the duplicated tokens
so they read "Get — Retrieve the current status...", "Transcript download —
Download the transcript...", and "Create — Submit a new transcription..."
(update the entries that contain "Get get" and "Create create" and verify
"Transcript download" remains unchanged).
- Line 4: The frontmatter key "description" is truncated ("retrieve results i");
update the "description" frontmatter value in this document to a complete
sentence that finishes the phrase (e.g., "Connect to Diarize to transcribe and
diarize audio and video content from YouTube, X, Instagram, and TikTok. Submit
transcription jobs and retrieve results into your application."), ensuring the
full string replaces the partial value and remains properly quoted so metadata
is valid.
In `@src/content/docs/agentkit/connectors/discord.mdx`:
- Around line 74-75: Replace the duplicated capability labels and redundant
phrasing: change "Get get" to "Get" and "List list" to "List", and simplify the
first bullet to avoid "PNG image" redundancy (e.g., "Get — Retrieves the widget
image (PNG) for a Discord guild") while keeping the second as "List — Lists the
current user's guilds, returning partial data (id, name, icon, owner,
permissions, features) for each"; update the two bullet lines accordingly.
In `@src/content/docs/agentkit/connectors/googlecalendar.mdx`:
- Line 4: The frontmatter description in
src/content/docs/agentkit/connectors/googlecalendar.mdx is truncated; update the
description field (the YAML frontmatter key "description") to a complete
sentence such as: "Google Calendar is Google's cloud-based calendar service that
allows you to manage your events, appointments, and schedules from any computer
or device with internet access, and to share and integrate calendars across apps
and teams." Ensure the frontmatter contains a full, grammatical description and
retain other metadata keys (title, navigation) as required.
- Around line 74-78: The capability bullets contain duplicated action words like
"Update update", "List list", "Get get", "Delete delete", and "Create create";
edit those labels to remove the repeated verbs so each bullet uses a single
clear action label (e.g., change "Update update" to "Update", "List list" to
"List", etc.) and keep the descriptive text after the dash unchanged. Ensure all
five bullets (Update, List, Get, Delete, Create) follow the pattern "**Action**
— Short plain-language description" to match documentation style.
In `@src/content/docs/agentkit/connectors/granolamcp.mdx`:
- Around line 62-64: The capability labels contain duplicated verbs ("**Get
get**", "**Query query**", "**List list**"); update each label to remove the
duplicate verb so they read "**Get** — Get detailed meeting information...",
"**Query** — Query Granola about the user's meetings...", and "**List** — List
the user's Granola meeting notes..." by editing the lines containing "**Get
get**", "**Query query**", and "**List list**" in the connector doc.
In `@src/content/docs/agentkit/connectors/heyreach.mdx`:
- Line 4: The frontmatter description value is truncated ("fetc"); update the
description string in the HeyReach MDX frontmatter (the description key in
src/content/docs/agentkit/connectors/heyreach.mdx) to a complete sentence such
as "Connect to HeyReach to manage LinkedIn outreach campaigns, lead lists, and
conversations. List campaigns, retrieve leads, monitor campaign progress, and
fetch messages and analytics." ensuring the description is not cut off and stays
within the frontmatter quotes.
- Around line 74-76: The “What you can do” capability labels are garbled:
replace the incorrect reversed/duplicated phrases in the three bullets
(currently "Get get", "Campaign add leads to", "Key check api") with clear,
normalized labels such as "Get" for fetching a single HeyReach lead by LinkedIn
URL, "Add leads to campaign" for adding up to 100 leads to an existing campaign,
and "Check API key" for verifying the HeyReach API key; update the corresponding
bullet texts so each label reads naturally followed by its description (e.g.,
"Get — Retrieve detailed information...", "Add leads to campaign — Add up to 100
leads...", "Check API key — Verify that your HeyReach API key...").
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 3a7b27e3-5f12-42c6-8cbd-3990ee55b2c5
📒 Files selected for processing (72)
scripts/sync-agent-connectors.jssrc/components/templates/agent-connectors/_quickstart-generic-apikey-notools.astrosrc/components/templates/agent-connectors/_quickstart-generic-apikey.astrosrc/components/templates/agent-connectors/_quickstart-generic-oauth-notools.astrosrc/components/templates/agent-connectors/_quickstart-generic-oauth.astrosrc/components/templates/agent-connectors/_quickstart-monday.mdxsrc/components/templates/agent-connectors/index.tssrc/content/docs/agentkit/connectors/affinity.mdxsrc/content/docs/agentkit/connectors/airtable.mdxsrc/content/docs/agentkit/connectors/apifymcp.mdxsrc/content/docs/agentkit/connectors/apollo.mdxsrc/content/docs/agentkit/connectors/asana.mdxsrc/content/docs/agentkit/connectors/attention.mdxsrc/content/docs/agentkit/connectors/attio.mdxsrc/content/docs/agentkit/connectors/bigquery.mdxsrc/content/docs/agentkit/connectors/bitbucket.mdxsrc/content/docs/agentkit/connectors/box.mdxsrc/content/docs/agentkit/connectors/brave.mdxsrc/content/docs/agentkit/connectors/calendly.mdxsrc/content/docs/agentkit/connectors/chorus.mdxsrc/content/docs/agentkit/connectors/clari_copilot.mdxsrc/content/docs/agentkit/connectors/clickup.mdxsrc/content/docs/agentkit/connectors/confluence.mdxsrc/content/docs/agentkit/connectors/diarize.mdxsrc/content/docs/agentkit/connectors/discord.mdxsrc/content/docs/agentkit/connectors/dropbox.mdxsrc/content/docs/agentkit/connectors/dynamo.mdxsrc/content/docs/agentkit/connectors/exa.mdxsrc/content/docs/agentkit/connectors/fathom.mdxsrc/content/docs/agentkit/connectors/github.mdxsrc/content/docs/agentkit/connectors/gitlab.mdxsrc/content/docs/agentkit/connectors/google_ads.mdxsrc/content/docs/agentkit/connectors/googlecalendar.mdxsrc/content/docs/agentkit/connectors/googledrive.mdxsrc/content/docs/agentkit/connectors/googleforms.mdxsrc/content/docs/agentkit/connectors/googlemeet.mdxsrc/content/docs/agentkit/connectors/googlesheets.mdxsrc/content/docs/agentkit/connectors/granola.mdxsrc/content/docs/agentkit/connectors/granolamcp.mdxsrc/content/docs/agentkit/connectors/harvestapi.mdxsrc/content/docs/agentkit/connectors/heyreach.mdxsrc/content/docs/agentkit/connectors/intercom.mdxsrc/content/docs/agentkit/connectors/jiminny.mdxsrc/content/docs/agentkit/connectors/jira.mdxsrc/content/docs/agentkit/connectors/linear.mdxsrc/content/docs/agentkit/connectors/linkedin.mdxsrc/content/docs/agentkit/connectors/microsoftexcel.mdxsrc/content/docs/agentkit/connectors/microsoftteams.mdxsrc/content/docs/agentkit/connectors/microsoftword.mdxsrc/content/docs/agentkit/connectors/miro.mdxsrc/content/docs/agentkit/connectors/monday.mdxsrc/content/docs/agentkit/connectors/notion.mdxsrc/content/docs/agentkit/connectors/onedrive.mdxsrc/content/docs/agentkit/connectors/onenote.mdxsrc/content/docs/agentkit/connectors/outlook.mdxsrc/content/docs/agentkit/connectors/outreach.mdxsrc/content/docs/agentkit/connectors/parallelaitaskmcp.mdxsrc/content/docs/agentkit/connectors/phantombuster.mdxsrc/content/docs/agentkit/connectors/salesforce.mdxsrc/content/docs/agentkit/connectors/servicenow.mdxsrc/content/docs/agentkit/connectors/sharepoint.mdxsrc/content/docs/agentkit/connectors/slack.mdxsrc/content/docs/agentkit/connectors/snowflake.mdxsrc/content/docs/agentkit/connectors/snowflakekeyauth.mdxsrc/content/docs/agentkit/connectors/supadata.mdxsrc/content/docs/agentkit/connectors/trello.mdxsrc/content/docs/agentkit/connectors/twitter.mdxsrc/content/docs/agentkit/connectors/vercel.mdxsrc/content/docs/agentkit/connectors/youtube.mdxsrc/content/docs/agentkit/connectors/zoom.mdxsrc/data/agent-connectors/asana.tssrc/data/agent-connectors/linear.ts
The Databricks Clusters API terminate endpoint moves a cluster to a terminated state; it does not permanently delete it. Update the description to reflect that the cluster can be restarted and that permanent deletion is a separate operation. Closes #595
- Remove scalekit_client prefix in Python snippets (sharepoint, harvestapi, googledrive, granolamcp) — use actions.request()/execute_tool() consistently - Fill empty Python tab in Attio common-workflows - Fix Google Docs proxy example to use valid GET /v1/documents/<ID> endpoint - Switch Google Sheets execute example to documented googlesheets_get_values tool - Add required query param to Linear execute_tool example - Fix Twitter execute example to use read-only tool with required params - Fix invalid multiline string literals in Jira triage snippets - Sync script: prefer read-only tools for quickstart examples - Sync script: auth-aware setup copy for non-OAuth connectors
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
src/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdx (1)
37-39:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winClarify cross-language parameter naming in the tip
Line [38] says requests only need
connection_name, but the Node.js example usesconnectionName. Please use neutral wording (for example, “connection name”) or mention both forms to avoid confusion.Suggested edit
- Jira uses OAuth 2.0 — Scalekit stores and refreshes the access token automatically. Your code only needs `connection_name` and `identifier` per request. + Jira uses OAuth 2.0 — Scalekit stores and refreshes the access token automatically. Your code only needs a connection name (`connectionName` in Node.js, `connection_name` in Python) and `identifier` per request.As per coding guidelines, "Maintain strict consistency in terminology, formatting, and style."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdx` around lines 37 - 39, Update the tip text to remove language-specific naming: replace the inline backtick `connection_name` with a neutral phrase like "connection name" or explicitly mention both variants (snake_case `connection_name` and camelCase `connectionName`) so readers know the parameter maps across languages; ensure the note still references `identifier` and that examples (e.g., the Node.js example using connectionName) remain consistent with the tip.src/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx (1)
10-18: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick winAdd
titleattributes to fenced code blocks for snippet context.The code examples are clear, but each fenced block is missing a
title=attribute. Adding titles improves scanability and keeps rendering conventions consistent.✍️ Proposed update pattern
- ```typescript + ```typescript title="examples/node/proxy-api-call.ts" const result = await actions.request({ connectionName: 'googledrive', identifier: 'user_123', path: '/drive/v3/files', method: 'GET', }); console.log(result); ``` - ```python + ```python title="examples/python/proxy_api_call.py" result = actions.request( connection_name='googledrive', identifier='user_123', path="/drive/v3/files", method="GET" ) print(result) ```Apply the same pattern to the remaining Python and Node.js snippets in this section.
As per coding guidelines: "Code blocks MUST have a
title=attribute showing the file path."Also applies to: 21-29, 42-58, 71-94, 156-175
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx` around lines 10 - 18, The fenced code blocks in this MDX section (the TypeScript node snippet using actions.request and its Python counterpart, plus the other Node.js/Python snippets in the same section) are missing title attributes; add a title="..." attribute to each opening fence (e.g., change ```typescript to ```typescript title="Node: proxy-api-call.ts" and ```python to ```python title="Python: proxy_api_call.py") for all occurrences (the TypeScript, Python and other Node snippets referenced in the comment) so every fenced block includes a descriptive title attribute matching its language and example file name.
♻️ Duplicate comments (3)
src/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdx (1)
10-18:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAdd title attributes to code blocks for better context.
All four code blocks are missing
titleattributes. Adding descriptive titles improves scannability and provides file or context clarity for readers.As per coding guidelines: "Code blocks MUST have a
title=attribute showing the file path."For these snippet-style examples, consider titles like:
- Lines 10-18:
title="Proxy API request"- Lines 21-29:
title="Proxy API request"- Lines 82-90:
title="Execute tool example"- Lines 93-101:
title="Execute tool example"📝 Example fix for the first code block
<TabItem label="Node.js"> - ```typescript + ```typescript title="Proxy API request" const result = await actions.request({Also applies to: 21-29, 82-90, 93-101
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdx` around lines 10 - 18, Add missing title attributes to the four fenced TypeScript code blocks that call actions.request and execute tools: update the opening backticks for the snippets that use actions.request (the block containing "const result = await actions.request({ ... })") to ```typescript title="Proxy API request" and update the two blocks that show tool execution examples (the blocks containing "execute tool" or similar usage) to ```typescript title="Execute tool example"; ensure each opening triple-backtick line is modified to include the title attribute exactly as shown so the code blocks render with the specified titles.scripts/sync-agent-connectors.js (2)
1270-1281:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd an overview paragraph before the generated quickstart block.
The generated pages still begin directly with
<Steps>, so they miss the opening context that explains what readers will accomplish, when to use the connector, and what the workflow covers.As per coding guidelines: "Opening paragraphs (1–3) MUST state what users will accomplish, when/why they need it, and preview the workflow using direct instructional language."Proposed fix
+ lines.push( + `This guide shows you how to connect ${providerName} to your agent, register credentials in Scalekit, and make your first call. Use it when you need a working integration quickly and want the common setup path first.`, + ) + lines.push('') + // Quickstart Steps block lines.push( ...generateQuickstartSteps( providerName, providerSlug,🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/sync-agent-connectors.js` around lines 1270 - 1281, Insert a short opening paragraph before the "Quickstart Steps" block so generated pages start with context: modify the code path that calls generateQuickstartSteps (the lines.push(...generateQuickstartSteps(...)) call) to first inject a paragraph string/component that states what users will accomplish, when/why to use this connector, and a brief preview of the workflow in direct instructional language; ensure the injected content appears immediately before the Quickstart Steps output (use the same variables like providerName/providerSlug/quickstartComponentName to customize the text) so the Steps never become the first element on the page.
1102-1155:⚠️ Potential issue | 🟠 Major | ⚡ Quick winUse
1. ## ...headings inside generated<Steps>blocks.The generator still emits
1. ### ...,2. ### ..., and so on. That stays out of spec with the repo’s required<Steps>format and keeps every generated connector page on the wrong heading hierarchy.As per coding guidelines: "Each step in Steps component must use numbered format `1. ## Title` with exactly 3-space indentation for all step content."Proposed fix
- lines.push('1. ### Install the SDK') + lines.push('1. ## Install the SDK') ... - lines.push('2. ### Set your credentials') + lines.push('2. ## Set your credentials') ... - lines.push('3. ### Set up the connector') + lines.push('3. ## Set up the connector') ... - `${nextStep}. ### ${needsAuthLabel ? 'Authorize and make your first call' : 'Make your first call'}`, + `${nextStep}. ## ${needsAuthLabel ? 'Authorize and make your first call' : 'Make your first call'}`,🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/sync-agent-connectors.js` around lines 1102 - 1155, The headings emitted for Steps are using numbered "###" headings and incremented numbers (e.g. lines.push('1. ### Install the SDK') and `${nextStep}. ### ...`) which breaks the Steps spec; update all heading emissions in this file to use the required "1. ## Title" format (always start each step with literal "1. ##") and ensure all step content lines are indented with exactly three spaces; specifically change the initial SDK heading, the "Set your credentials" and "Set up the connector" blocks (the lines.push calls and the block that uses setupComponentName), and the quickstart block that uses quickstartComponentName so they emit "1. ##" headings and apply three-space indentation for the subsequent content inserted via lines.push.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@scripts/sync-agent-connectors.js`:
- Around line 1241-1256: When tools.length === 0 and neither
getQuickstartComponent(QUICKSTART_STEM_MAP, providerSlug, null) nor
NO_TOOL_VERIFY_ENDPOINTS[providerSlug] provide a quickstart,
quickstartComponentName is left set to the prior generic tool-based value;
update the no-tools branch to explicitly clear quickstartComponentName (set it
to null) when connectorSpecific is falsy and verifyEndpoint is falsy so
generateQuickstartSteps() won't render a tool-based component without a
toolName. Locate the block using tools, connectorSpecific,
NO_TOOL_VERIFY_ENDPOINTS, quickstartComponentName and add the missing else path
that assigns quickstartComponentName = null.
In
`@src/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdx`:
- Around line 229-230: The examples currently show an empty toolInput for the
Attio tool "attio_add_to_list", which gives no guidance; update both occurrences
of toolInput (the examples using toolName: 'attio_add_to_list') to include a
realistic set of required fields (e.g., list identifier, record id(s), and any
optional flags) so the snippet demonstrates a working call—replace toolInput: {}
with a concrete object containing the actual parameter names used by
attio_add_to_list (for example list_id, record_id or record_ids, and any
merge/overwrite flags) and include brief example values to make the workflow
reproducible.
In
`@src/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdx`:
- Line 54: Wrap the plain-text tool identifiers in inline code ticks in the MDX
prose: replace occurrences of googlesheets_read_range and
googlesheets_read_spreadsheet with `googlesheets_read_range` and
`googlesheets_read_spreadsheet` respectively (these appear on the lines
referenced in the comment), ensuring both instances (line 54 and line 70) use
backticks for consistent formatting.
---
Outside diff comments:
In
`@src/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx`:
- Around line 10-18: The fenced code blocks in this MDX section (the TypeScript
node snippet using actions.request and its Python counterpart, plus the other
Node.js/Python snippets in the same section) are missing title attributes; add a
title="..." attribute to each opening fence (e.g., change ```typescript to
```typescript title="Node: proxy-api-call.ts" and ```python to ```python
title="Python: proxy_api_call.py") for all occurrences (the TypeScript, Python
and other Node snippets referenced in the comment) so every fenced block
includes a descriptive title attribute matching its language and example file
name.
In
`@src/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdx`:
- Around line 37-39: Update the tip text to remove language-specific naming:
replace the inline backtick `connection_name` with a neutral phrase like
"connection name" or explicitly mention both variants (snake_case
`connection_name` and camelCase `connectionName`) so readers know the parameter
maps across languages; ensure the note still references `identifier` and that
examples (e.g., the Node.js example using connectionName) remain consistent with
the tip.
---
Duplicate comments:
In `@scripts/sync-agent-connectors.js`:
- Around line 1270-1281: Insert a short opening paragraph before the "Quickstart
Steps" block so generated pages start with context: modify the code path that
calls generateQuickstartSteps (the lines.push(...generateQuickstartSteps(...))
call) to first inject a paragraph string/component that states what users will
accomplish, when/why to use this connector, and a brief preview of the workflow
in direct instructional language; ensure the injected content appears
immediately before the Quickstart Steps output (use the same variables like
providerName/providerSlug/quickstartComponentName to customize the text) so the
Steps never become the first element on the page.
- Around line 1102-1155: The headings emitted for Steps are using numbered "###"
headings and incremented numbers (e.g. lines.push('1. ### Install the SDK') and
`${nextStep}. ### ...`) which breaks the Steps spec; update all heading
emissions in this file to use the required "1. ## Title" format (always start
each step with literal "1. ##") and ensure all step content lines are indented
with exactly three spaces; specifically change the initial SDK heading, the "Set
your credentials" and "Set up the connector" blocks (the lines.push calls and
the block that uses setupComponentName), and the quickstart block that uses
quickstartComponentName so they emit "1. ##" headings and apply three-space
indentation for the subsequent content inserted via lines.push.
In
`@src/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdx`:
- Around line 10-18: Add missing title attributes to the four fenced TypeScript
code blocks that call actions.request and execute tools: update the opening
backticks for the snippets that use actions.request (the block containing "const
result = await actions.request({ ... })") to ```typescript title="Proxy API
request" and update the two blocks that show tool execution examples (the blocks
containing "execute tool" or similar usage) to ```typescript title="Execute tool
example"; ensure each opening triple-backtick line is modified to include the
title attribute exactly as shown so the code blocks render with the specified
titles.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 6937a6de-2054-4de4-ac04-8ef97d492ab4
📒 Files selected for processing (12)
scripts/sync-agent-connectors.jssrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/data/agent-connectors/databricksworkspace.ts
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Redirect rules - scalekit-starlight
- GitHub Check: Header rules - scalekit-starlight
- GitHub Check: Pages changed - scalekit-starlight
🧰 Additional context used
📓 Path-based instructions (13)
**/*.mdx
📄 CodeRabbit inference engine (.cursorrules)
**/*.mdx: Use clear, descriptive titles that explain the purpose of the document
Include comprehensive descriptions in frontmatter metadata
Organize content with logical heading hierarchy (H2, H3, H4)
Use tableOfContents property in frontmatter when content has multiple sections
Set appropriate sidebar labels for navigation in frontmatter
Use direct instruction writing style with phrases like 'This guide shows you how to...' and 'Create an authorization URL to...'
Use second person perspective ('your application', 'you receive', 'you must') in documentation
Keep sentences concise, aiming for under 25 words per sentence
Explain the 'why' in documentation with phrases like 'This prevents CSRF attacks by...' or 'Use this to validate that...'
Use action verbs in section headings: 'Store session tokens securely', 'Validate the state parameter', 'Exchange authorization code for tokens'
Use present tense for descriptions: 'Scalekit handles the complex authentication flow', 'The SDK provides methods to refresh tokens'
Use future tense for results: 'This will redirect users to...', 'You'll receive a JWT containing...', 'Scalekit returns an authorization code'
Use transition phrases between sections: 'After the user authenticates...', 'Once the state is validated...', 'Let's take a look at how to...'
Write 1-3 opening paragraphs that explain what users will accomplish, provide context about when/why, preview key concepts, and use direct instructional language
Begin introduction sections with a clear statement of what the guide covers and explain the problem being solved
Use collapsible sections in introduction for sequence diagrams, video demonstrations, data models, and JSON examples with appropriate icons
Use numbered format within Steps component:1. ## Titlewith all step content indented with exactly 3 spaces
Use action-oriented headings in step-by-step guides within Steps components
Include code examples in all 4 languages (Node.js, Python, Go, Java) within Steps co...
Files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
⚙️ CodeRabbit configuration file
**/*.mdx: You are reviewing Scalekit developer documentation written in MDX
(Astro + Starlight framework). Apply ALL of the following checks:Frontmatter
titleMUST be ≤ 60 characters and clearly state what the page does.descriptionMUST be ≤ 160 characters, action-oriented, unique per page.sidebar.labelMUST be present and ≤ 30 characters.sidebar.orderMUST be set on every page that lives inside a section
with siblings, to enforce the journey order in sidebar.config.ts.- Flag any missing
prev/nextlinks on pages that are clearly
part of a sequential flow (e.g., quickstart → implement-login →
complete-login → manage-session → logout).Voice & Style (CLAUDE.md standards)
- Voice: confident, direct, collaborative, instructional.
- Person: second person only ("you", "your application"). Reject "we",
"our", "the developer", "the user".- Tense: present tense for descriptions; imperative mood for instructions.
- Flag weasel words: "simply", "just", "easy", "straightforward",
"obviously", "of course", "note that".- Flag passive voice constructions where active voice is clearer.
- Headings must be sentence case, not Title Case (except proper nouns).
- No heading should end with a colon or period.
Content structure
- Journey how-to guides MUST contain numbered
<Steps>(Starlight
component). This does NOT apply tosrc/content/docs/cookbooks/**
(blog-style recipes — optional<Steps>,<Tabs>after</Steps>OK;
see cookbookspath_instructions).- Concept pages MUST NOT contain numbered steps — concepts explain, not instruct.
- API reference pages MUST list parameters in a table with Name / Type /
Required / Description columns.- Every page MUST end with a clear "what's next" signal — either a
next:frontmatter link, a<LinkCard>, or an explicit paragraph
pointing the reader forward in the sidebar journey.Code examples
- ALL code examples that show SDK usage MUST include all four language
tabs...
Files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
**/*.{yml,yaml,md,mdx}
📄 CodeRabbit inference engine (.cursor/rules/browsecentral-labels.mdc)
**/*.{yml,yaml,md,mdx}: BrowseCentral labels should be maximum 3-5 words - keep concise but add context when needed
BrowseCentral labels should be action-oriented - start with verbs when possible
BrowseCentral labels should be specific and clear - add context when simple labels are ambiguous
BrowseCentral labels should be outcome-focused - describe what users accomplish and the context
BrowseCentral labels should use 'Action + Object' pattern (e.g., 'Invite users', 'Restrict sign-up', 'Set up SCIM')
BrowseCentral labels should use feature names (e.g., 'Enterprise SSO', 'Passwordless quickstart')
BrowseCentral labels should describe task completion (e.g., 'Run migrations', 'Migrate auth', 'Merge identities')
BrowseCentral labels should include specific context when needed (e.g., 'Configure Scalekit MCP server', 'Validate incoming API requests')
BrowseCentral labels should use integration context when applicable (e.g., 'Build MCP auth with your existing auth system')
BrowseCentral labels should avoid instructional prefixes: 'How to', 'Guide to', 'Implement', 'Configure', 'Learn', 'Understand'
BrowseCentral labels should avoid verbose phrases: 'Step-by-step guide', 'Complete tutorial', 'Detailed documentation'
BrowseCentral labels should avoid weak verbs: 'Enable', 'Allow', 'Provide', 'Support'
Files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
**/*.{md,mdx}
📄 CodeRabbit inference engine (.cursor/rules/deno-docs-style.mdc)
**/*.{md,mdx}: Use sentence case for all titles and headings in MD/MDX documentation
Keep page titles short and descriptive (3–7 words when possible) in MD/MDX documentation
Use outcome-focused headings that describe results, not categories (e.g., 'Run a script' not 'Scripts')
Avoid gerunds in headings when an imperative works - prefer 'Configure proxies' over 'Configuring proxies'
Keep sidebar labels concise (1–3 words), use sentence case, and focus on outcomes or objects
Use sentence case in sidebar labels without punctuation
Set frontmatter title in sentence case with a clear outcome; description in one sentence (≤160 chars); sidebar.label as shorter form of title; enable tableOfContents on longer pages
Start documentation pages with a one-paragraph overview explaining what the page covers and when to use it
Present the primary use case (80% path) first in documentation, with edge cases later
Use numbered steps for task-focused sections in documentation, with each step beginning with a verb
Break up long documentation sections with subheadings every 3–6 paragraphs
Use asides for important notes, tips, cautions, and references in documentation
Provide runnable, minimal code examples that work as-is in documentation
Prefer CLI-first examples and show file layout when helpful in documentation
Label code blocks with titles for context (e.g., 'Terminal', 'main.ts') in documentation
Keep code block annotations brief and purposeful - annotate only what matters
Use consistent variable and file names across a documentation page
Use descriptive link text in documentation (e.g., 'See permission flags' not 'click here')
Prefer relative links for internal documentation pages and include anchors for section references
Reference APIs consistently using backticks for code, file names, CLI flags, and endpoints
Use backticks for code, file names, CLI flags, and endpoints in documentation
Use lists for options and features in documentation; tables only when comparisons are cleare...
Files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
**/*.{ts,tsx,py,go,java,mdx,md}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{ts,tsx,py,go,java,mdx,md}: Use the exact SDK variable names: Node.js (scalekit), Python (scalekit_client), Go (scalekitClient), Java (scalekitClient)
Never hard-code secrets or API keys in code examples; use environment variables
Include security comments that state the threat, why the pattern is required, and what can go wrong if omitted
Files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
**/*.{mdx,md}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{mdx,md}: All code examples must use<Tabs syncKey="tech-stack">format and include Node.js, Python, Go, and Java implementations (90% rule)
Use sentence case for all titles and headings in documentation
Use bold for first mention of important terms, UI elements, and dashboard paths (e.g., Dashboard > Authentication > Session Policy)
Use inline code for technical identifiers: variables, functions, endpoints, scopes, environment variables, file paths, and placeholders
Always include headers in tables; keep cell content concise and readable
Prefer fenced code blocks with language identifiers for all code; never use screenshots of code
Use descriptive link text; never use 'click here' or 'this' as link labels
Keep sentences simple, right-branching, and unambiguous; avoid ambiguous noun stacks and demonstrative pronouns
Use active voice; prefer 'Run the command' over 'The command should be run'
Use second person when giving instructions; address the reader as 'you'
Use present tense for procedures; 'This command installs…' not 'This command will install…'
Avoid hype, slang, and filler words like 'simply', 'just', 'obviously' in documentation
Use consistent terminology throughout; prefer standard names over synonyms
Explain security implications and threats for all security-related content
Use imperative verbs for procedure headings: 'Run a script' not 'Running a script'; 'Configure proxies' not 'Configuring proxies'
Headings must describe outcomes, not categories (good: 'Run a script'; bad: 'Scripts')
Split content into clear sections with descriptive, sentence-style titles that convey meaning without requiring the following paragraph
Keep paragraphs short; isolate critical points in their own short paragraphs
Begin sections and paragraphs with standalone topic sentences that preview content
Put the topic words at the beginning of topic sentences to support fast skimming
Put key takeaways and results at the top of documents and sections
Use bullets and tabl...
Files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
**/*.{md,mdx,astro,ts}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Run
pnpm formatto auto-format all.md,.mdx,.astro,.tsfiles before committing
Files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
src/components/templates/agent-connectors/_section-*.mdx
📄 CodeRabbit inference engine (CONTRIBUTING.md)
src/components/templates/agent-connectors/_section-*.mdx: Add custom agent connector sections throughsrc/components/templates/agent-connectors/_section-<hook>-<slug>-<topic>.mdxfiles with supported hooks: after-authentication, after-setup, after-usage, before-tool-list, after-tool-list
When a custom agent connector section needs a table-of-contents entry, exportsectionTitlefrom the template and omit the duplicate##heading from the component body
Files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
**/*.{js,ts,tsx,jsx,py,java,cs,go,cpp,c,rb,php,swift,kt,scala,rs,m,mm,groovy,gradle,xml,json}
📄 CodeRabbit inference engine (.cursor/rules/comment-standards.mdc)
Comments should not duplicate the code - avoid comments that simply restate what the code does; comments should add value beyond what's obvious from reading the code
Files:
scripts/sync-agent-connectors.js
**/*.{js,ts,tsx,jsx,py,java,cs,go,cpp,c,rb,php,swift,kt,scala,rs,m,mm,groovy}
📄 CodeRabbit inference engine (.cursor/rules/comment-standards.mdc)
**/*.{js,ts,tsx,jsx,py,java,cs,go,cpp,c,rb,php,swift,kt,scala,rs,m,mm,groovy}: Good comments do not excuse unclear code - refactor the code to be self-explanatory instead of using comments to explain poorly written code; use better variable names, function names, and code structure
Comments should dispel confusion, not cause it - ensure comments clarify rather than obscure the code's purpose; avoid cryptic or joke comments
Explain unidiomatic code in comments - comment on code that might seem unnecessary or redundant and document why you chose a specific pattern over more common alternatives, especially when it deviates from team conventions
Provide links to the original source of copied code - always attribute code copied from external sources with URLs to Stack Overflow answers, GitHub repositories, or documentation
Include links to external references where helpful - reference standards, RFCs, and official documentation; link to relevant specifications when implementing protocols
Add comments when fixing bugs - document bug fixes with context about the issue, reference issue trackers and bug reports, and explain workarounds and their limitations
Use comments to mark incomplete implementations - use standard formats for TODO, FIXME, and NOTE comments with context about what needs to be done and reference issue trackers when possible
Always document public APIs with function/class comments - explain the purpose, parameters, return values, and exceptions; include usage examples for complex functions
Include file headers with copyright information, license, and authorship - provide a brief description of the file's purpose and document dependencies and requirements
Files:
scripts/sync-agent-connectors.js
**/*.{js,ts,tsx,jsx}
📄 CodeRabbit inference engine (.cursor/rules/comment-standards.mdc)
Use JSDoc standards for all function, class, and complex logic comments in JavaScript/TypeScript - include parameter descriptions (
@param), return values (@returns), types (@type), and descriptions; document exceptions and edge cases
Files:
scripts/sync-agent-connectors.js
**/*.{ts,tsx,js,json}
📄 CodeRabbit inference engine (CLAUDE.md)
Use
pnpmfor package management
Files:
scripts/sync-agent-connectors.js
**/*.{ts,tsx,js,jsx,py,go,java}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx,js,jsx,py,go,java}: Comments should not duplicate the code; comments should add value beyond what's obvious. Use better variable names and structure instead of using comments to explain poorly written code
Don't use comments to excuse unclear code. Comments should dispel confusion, not cause it. Ensure comments clarify rather than obscure purpose
Explain unidiomatic code in comments: comment on code that might seem unnecessary or redundant; explain why you chose a specific pattern
Use JSDoc/JavaDoc/docstring standards for function, class, and complex logic comments including parameter descriptions, return values, types, and descriptions
Document exceptions and edge cases in code comments
Include links to external references in code comments where helpful (standards, RFCs, official documentation)
Add comments when fixing bugs; reference issue trackers
Use standard formats for TODO, FIXME, and NOTE comments in code
Files:
scripts/sync-agent-connectors.js
**/*.{ts,js,mjs}
⚙️ CodeRabbit configuration file
**/*.{ts,js,mjs}: Do NOT enforce code-commenting style rules on these files.
Specifically, do not flag:
- Comments that "duplicate" or restate what the code does.
- Missing comments on bug fixes, workarounds, or issue references.
- Missing inline documentation or explanatory comments.
Code comments are at the author's discretion.
Files:
scripts/sync-agent-connectors.js
🧠 Learnings (9)
📚 Learning: 2026-02-25T03:34:41.147Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 444
File: src/content/docs/agent-auth/start-agent-auth-coding-agents.mdx:31-31
Timestamp: 2026-02-25T03:34:41.147Z
Learning: In MDX files, import { Code } from 'astrojs/starlight/components' only if the MDX content actually uses the <Code> component. If the file uses only fenced code blocks (```), the import is not required. Apply this guideline to all MDX files (e.g., src/content/docs/**/*.mdx) to avoid unnecessary imports and reduce bundle size.
Applied to files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
📚 Learning: 2026-02-25T18:41:00.639Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 446
File: src/content/docs/authenticate/m2m/api-auth-quickstart.mdx:78-78
Timestamp: 2026-02-25T18:41:00.639Z
Learning: Preserve full URLs inside code comments in MDX code blocks (bash/python/js) when the URLs are part of copyable examples. Do not flag these in code examples. Use relative paths in prose and hyperlinks within MDX; only enforce relative paths for markdown prose links, not for URLs inside code comments.
Applied to files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
📚 Learning: 2026-03-10T10:37:47.033Z
Learnt from: Pranesh-Raghu
Repo: scalekit-inc/developer-docs PR: 475
File: src/components/templates/agent-connectors/_setup-asana.mdx:15-15
Timestamp: 2026-03-10T10:37:47.033Z
Learning: In src/components/templates/agent-connectors/**/*.mdx, it is acceptable to reuse a single shared redirect URI screenshot (use-own-credentials-redirect-uri.png) across multiple steps within the same connector file, even if different UIs are shown. Do not flag this reuse as an issue; ensure this behavior is intentional and documented for reviewers.
Applied to files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
📚 Learning: 2026-03-10T10:38:27.783Z
Learnt from: Pranesh-Raghu
Repo: scalekit-inc/developer-docs PR: 475
File: src/components/templates/agent-connectors/_setup-confluence.mdx:16-16
Timestamp: 2026-03-10T10:38:27.783Z
Learning: In all MDX templates under src/components/templates/agent-connectors, the pattern uses empty alt text (e.g., ![]()) for redirect URI screenshots like use-own-credentials-redirect-uri.png. This is intentional; reviews should not flag missing alt text for these images in this directory.
Applied to files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
📚 Learning: 2026-03-12T16:26:39.422Z
Learnt from: Pranesh-Raghu
Repo: scalekit-inc/developer-docs PR: 483
File: src/components/templates/agent-connectors/_setup-bigquery.mdx:18-22
Timestamp: 2026-03-12T16:26:39.422Z
Learning: In agent-connectors MDX templates, it is acceptable to reuse shared Google OAuth screenshots stored under `@/assets/docs/agent-connectors/gmail/` (e.g., oauth-web-app.png, add-redirect-uri.png) across different Google-service connector templates (e.g., _setup-bigquery.mdx, _setup-google-ads.mdx). Do not flag cross-connector image path reuse within Google service connectors as an issue. This guideline applies to all files in this directory.
Applied to files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
📚 Learning: 2026-04-25T07:22:18.321Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 633
File: src/components/templates/agent-connectors/_setup-heyreach.mdx:12-12
Timestamp: 2026-04-25T07:22:18.321Z
Learning: In this repo’s MDX documentation files, treat `@/...` paths as aliases that resolve to the `src/` directory (e.g., `@/assets/docs/foo/bar.png` -> `src/assets/docs/foo/bar.png`). When reviewing, do not flag `@`-prefixed image (or other asset) paths as broken; instead, verify that the corresponding physical file exists under `src/`.
Applied to files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
📚 Learning: 2026-05-06T07:23:46.423Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 658
File: src/components/templates/agent-connectors/_section-before-tool-list-xero-common-patterns.mdx:15-63
Timestamp: 2026-05-06T07:23:46.423Z
Learning: In agentkit agent connectors documentation (files under src/components/templates/agent-connectors and src/content/docs/agentkit/connectors), do not require all four language tabs for SDK code examples. These docs may use only the language tabs relevant to the content (e.g., Node.js and Python). This is an exception to the standard multilingual guideline and should be applied consistently across connector docs.
Applied to files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
📚 Learning: 2026-05-07T16:00:06.233Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 660
File: src/components/templates/agent-connectors/_section-after-setup-gmail-common-workflows.mdx:13-39
Timestamp: 2026-05-07T16:00:06.233Z
Learning: In documentation MDX files under src/components/templates/agent-connectors/ and src/content/docs/agentkit/connectors/, code examples are intentionally simplified. Do not require or flag missing error handling/failure paths (e.g., try/catch, retries, or explicit error returns) in these docs, even if the project’s general guideline expects both success and error paths in code examples.
Applied to files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
📚 Learning: 2026-05-07T16:00:21.950Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 660
File: src/components/templates/agent-connectors/_section-after-setup-google_ads-common-workflows.mdx:10-18
Timestamp: 2026-05-07T16:00:21.950Z
Learning: In AgentKit agent connector documentation code examples located under src/components/templates/agent-connectors/** and src/content/docs/agentkit/connectors/** (MDX files), do not add explicit error handling in the sample code (e.g., no try/catch blocks or rejected-promise branches). These snippets are intentionally “success-path only” to keep the documentation concise, and this is an explicit exception to any general review guideline that requires both success and error paths in every code example.
Applied to files:
src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-twitter-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-sharepoint-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxsrc/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx
🪛 LanguageTool
src/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdx
[style] ~11-~11: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ms, or follow-ups from past meetings. - Use granolamcp_list_meetings to find meet...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~12-~12: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...e drilling into specific meeting IDs. - Use granolamcp_get_meetings when you alre...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~13-~13: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...Ds and need richer metadata or notes. - Use granolamcp_get_meeting_transcript whe...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
🔇 Additional comments (11)
src/components/templates/agent-connectors/_section-after-setup-granolamcp-common-workflows.mdx (1)
1-50: Looks good — this section follows the common-workflows template correctly.
sectionTitleis exported, the body avoids a duplicate##heading,Tabs syncKey="tech-stack"is used properly, and the citation-preservation tip is clear and actionable.src/components/templates/agent-connectors/_section-after-setup-googlesheets-common-workflows.mdx (1)
1-3: Good alignment with the common workflows templateThe
sectionTitleexport, collapsible workflow structure, and tabbed examples are consistent and clear. The execute-tool snippet now references a documented tool in this file, which removes ambiguity fortoolInput.Also applies to: 5-33, 35-53, 56-133
src/components/templates/agent-connectors/_section-after-setup-jira-common-workflows.mdx (1)
1-4: Template section wiring looks correct
sectionTitleexport and component imports are correctly set up for this connector section template.src/components/templates/agent-connectors/_section-after-setup-linear-common-workflows.mdx (1)
1-73: LGTM! Previous review issues successfully resolved.Both critical fixes from the previous review have been implemented:
- Line 24 now includes the required
import jsonstatement for the Python example- Lines 51-53 and 64-66 correctly pass the
queryparameter tolinear_graphql_querywith a meaningful GraphQL queryThe code examples are clean, follow proper naming conventions (snake_case for Python, camelCase for Node.js), and provide realistic, runnable examples for Linear connector workflows.
src/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdx (2)
168-173: Use the Python SDK variable name in the execute snippetLine 168 still uses
actions.execute_tool(...). The Python SDK naming convention requiresscalekit_client.actions.execute_tool(...)for consistency and runnable examples.#!/bin/bash # Verify whether this file still uses `actions.execute_tool` instead of `scalekit_client.actions.execute_tool`. sed -n '160,176p' src/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdx rg -nP --type=mdx -C2 '\bactions\.execute_tool\(' src/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdx rg -nP --type=mdx -C2 '\bscalekit_client\.actions\.execute_tool\(' src/components/templates/agent-connectors/_section-after-setup-harvestapi-common-workflows.mdxAs per coding guidelines: “Use the exact SDK variable names: Node.js (
scalekit), Python (scalekit_client), Go (scalekitClient), Java (scalekitClient)”.
1-3:sectionTitleexport is correctly wired for this custom sectionThis matches the connector template requirement for TOC-aware custom sections, and the component import is used correctly.
As per coding guidelines: “When a custom agent connector section needs a table-of-contents entry, export
sectionTitlefrom the template and omit the duplicate##heading from the component body”.src/components/templates/agent-connectors/_section-after-setup-googledocs-common-workflows.mdx (1)
14-16: The Google Docs API endpoint is already correct.The past review comment flagged this endpoint as invalid, but the code currently uses
/v1/documents/<DOCUMENT_ID>withGET, which is the correct Google Docs API format for reading a specific document. The<DOCUMENT_ID>placeholder makes this a valid endpoint pattern.Also applies to: 25-27
src/components/templates/agent-connectors/_section-after-setup-googledrive-common-workflows.mdx (1)
1-3: Section hook and workflow structure look good.
sectionTitleis correctly exported for template integration, and the workflow examples consistently use thegoogledriveconnector naming across request and tool execution snippets.Also applies to: 5-179
src/components/templates/agent-connectors/_section-after-setup-attio-common-workflows.mdx (3)
110-211: Python implementation is now complete.The previous review flagged an empty Python code block here. The current implementation includes all six workflow steps (query people, create company, create person, add note, create task, verify token) and correctly mirrors the Node.js example.
1-3: Clean export and imports.The
sectionTitleexport and Starlight component imports are correct and match the template requirements described in the sync guide.
226-232: ⚡ Quick winNo action needed — parameter naming is correct.
The Node.js API intentionally uses
connectorinexecuteTool()andconnectionNameinactions.request(). This difference is documented in the sync guidelines as the correct API surface, not an error. Both Python methods consistently useconnection_name=.> Likely an incorrect or invalid review comment.
Fixes applied to sync-agent-connectors.js: - Word-boundary-aware description truncation (no more mid-word cuts) - Correct label generation (eliminates 'Get get', 'Update update') - Conditional ToolList imports (zero-tool pages no longer import dead code) - Prefer read-only tools for quickstart examples - Auth-aware setup copy text Regenerated all 80 connector pages and data files against production API.
- Truncated descriptions now end with '...' instead of dangling mid-sentence - Fixed isReadOnlyTool regex: 'me' was matching inside 'document', 'read' inside 'spreadsheet' — replaced with segment-based check - Read-only tools with required params now preferred over destructive tools with no required params (generates sample values) - Quickstarts now use googledocs_list_documents, googlesheets_read_spreadsheet, googleslides_read_presentation, parallelaitaskmcp_get_result_markdown
… backtick tool names in prose
Summary by CodeRabbit
Documentation
Updates