AI Slop Code RIsk Monitor

Skyvern-AI/skyvern

Automate browser based workflows with AI

25.0 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for Skyvern-AI/skyvern, a Python project with 23,181 GitHub stars. SynthScan examined 1,673,638 lines of code across 5057 source files, recording 40982 pattern matches distributed across 27 syntactic categories. The legacy adjusted pattern signal is 25.0 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

25.0
Adjusted Signal
25.0
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
23.2K
Stars
Python
Language
1.7M
Lines of Code
5.1K
Files
41.0K
Pattern Hits
2026-10-12
Scan Date
0.32
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 54.4/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 31847 finding(s).

Hallucinated Dependency & Supply Chain Risk 20.8/100 · LOW

Are imports declared and package/API names verified? 4856 finding(s).

Agent Over-Engineering Ratio 62.0/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 34623 finding(s).

PR Review Velocity Impact 78.3/100 · CRITICAL

Which changes need focused human review? 40982 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 8HIGH 1609MEDIUM 992LOW 38373

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 40982 distinct pattern matches across 27 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers30077 hits · 24506 pts
SeverityFileLineSnippetContext
LOWskyvern-frontend/localServer.js33function resolveOrganizationApiKey(env = process.env) {CODE
LOWskyvern-frontend/localServer.js46function formatApiBaseUrlForLogging(value) {CODE
LOWskyvern-frontend/localServer.js94function resolveLocalServerConfiguration({CODE
LOWskyvern-frontend/localServer.js118function createUiSessionNonceManager(secret) {CODE
LOWskyvern-frontend/localServer.js155function issueUiSessionNonceCookie(request, response, nonceManager) {CODE
LOWskyvern-frontend/vite.config.ts31function resolveOrganizationApiKey(env: UiSessionEnvironment): string | null {CODE
LOWskyvern-frontend/src/util/timeFormat.ts94function localTimeFormatWithShortDate(time: string): string {CODE
LOWskyvern-frontend/src/util/googleSheetsUrl.ts11export function extractSpreadsheetIdFromUrl(input: string): string | null {CODE
LOWskyvern-frontend/src/util/dashboardLoadStateActive.ts2function isDashboardLoadStateActive({CODE
LOWskyvern-frontend/src/util/geoData.ts153export function geoTargetToProxyLocationInput(CODE
LOWskyvern-frontend/src/util/lazyWithReload.ts75export function installChunkLoadErrorHandler(): void {CODE
LOWskyvern-frontend/src/util/novncGestureCrashGuard.ts12export function installNoVncGestureCrashGuard(): void {CODE
LOWskyvern-frontend/src/util/tson.ts112function replaceBracesOutsideQuotes(input: string): string {CODE
LOWskyvern-frontend/src/util/translationCrashGuard.ts3export function installTranslationCrashGuard(): void {CODE
LOW⚡skyvern-frontend/src/util/env.ts67function setRuntimeCredentialReady(ready: Promise<unknown>): void {CODE
LOW⚡skyvern-frontend/src/util/env.ts71function whenRuntimeCredentialReady(): Promise<unknown> {CODE
LOW⚡skyvern-frontend/src/util/env.ts75function subscribeToRuntimeCredential(listener: () => void): () => void {CODE
LOW⚡skyvern-frontend/src/util/env.ts82function notifyRuntimeCredentialChanged(): void {CODE
LOWskyvern-frontend/src/util/env.ts105function getRuntimeApiKeyExpiresAt(): number | null {CODE
LOWskyvern-frontend/src/util/failureCategoryDisplay.ts125function getFailureCategoryDisplay({CODE
LOWskyvern-frontend/src/util/lazyWithReload.test.ts10function dispatchUnhandledRejection(reason: unknown): void {CODE
LOWskyvern-frontend/src/util/caretPosition.ts47function getTextareaCaretCoordinates(CODE
LOWskyvern-frontend/src/util/recordBrowserTelemetry.ts37export function markRecordBrowserProcessed(blockCount: number): void {CODE
LOWskyvern-frontend/src/util/recordBrowserTelemetry.ts48export function captureRecordBrowserUndoAfterRecordingIfRecent(CODE
LOW…yvern-frontend/src/util/onboarding/onboardingReplay.ts17function isOnboardingReplayRequested(): boolean {CODE
LOW…rn-frontend/src/util/onboarding/OnboardingTelemetry.ts128function questionnaireResponseProperties(input: QuestionnaireResponseInput) {CODE
LOW…rn-frontend/src/util/onboarding/OnboardingTelemetry.ts139function questionnaireAnswerProperties(answers: QuestionnaireAnswersV1) {CODE
LOW…ontend/src/util/onboarding/credentialSetupTelemetry.ts23function credentialSetupCtaClicked(CODE
LOW…ntend/src/util/onboarding/recoveryGuidanceTelemetry.ts107function hasRecoveryGuidanceTelemetryContext(CODE
LOW…ntend/src/util/onboarding/recoveryGuidanceTelemetry.ts125function isRecoveryGuidanceTelemetryContext(CODE
LOW…ntend/src/util/onboarding/recoveryGuidanceTelemetry.ts131function isRecoveryGuidanceRetryNavigation(CODE
LOW…ntend/src/util/onboarding/recoveryGuidanceTelemetry.ts142function getRecoveryGuidanceRetryContext(CODE
LOW…ntend/src/util/onboarding/recoveryGuidanceTelemetry.ts156function getRecoveryGuidanceRetryNavigation(CODE
LOWskyvern-frontend/src/util/onboarding/rolloutGating.ts26function isFirstFailedRunRecoveryEligible(args: {CODE
LOW…-frontend/src/providers/RuntimeFeatureFlagProvider.tsx7function RuntimeFeatureFlagProvider({ children }: PropsWithChildren) {CODE
LOW…ntend/src/components/ParameterAutocompleteDropdown.tsx37function ParameterAutocompleteDropdown({CODE
LOW…frontend/src/components/WorkflowBlockInputTextarea.tsx36function WorkflowBlockInputTextarea(props: Props) {CODE
LOW…rc/components/AzureClientSecretCredentialTokenForm.tsx39export function AzureClientSecretCredentialTokenForm({CODE
LOW…vern-frontend/src/components/browserStreamClipboard.ts80async function handleVncClipboardPasteShortcut(CODE
LOW…d/src/components/CustomCredentialServiceConfigForm.tsx42export function CustomCredentialServiceConfigForm({ onSuccess }: Props = {}) {CODE
LOW…-frontend/src/components/TriggerTypeFilterDropdown.tsx40function TriggerTypeFilterDropdown({ values, onChange }: Props) {CODE
LOWskyvern-frontend/src/components/SelectionCheckbox.tsx66function SelectionHeaderCheckboxCell({CODE
LOW…rontend/src/components/ConnectedEmailAccountPicker.tsx106function ConnectedEmailAccountPicker({CODE
LOW…ontend/src/components/CredentialFallbackRetryBadge.tsx14function CredentialFallbackRetryBadge({ retriedFromWorkflowRunId }: Props) {CODE
LOW…frontend/src/components/GlobalNotificationListener.tsx36function GlobalNotificationListener() {CODE
LOW…rontend/src/components/GoogleOAuthClientConfigForm.tsx44export function GoogleOAuthClientConfigForm({ onSuccess }: Props = {}) {CODE
LOW…/DataSchemaInputGroup/WorkflowDataSchemaInputGroup.tsx49function WorkflowDataSchemaInputGroup({CODE
LOW…src/components/onboarding/FirstRunRecoveryGuidance.tsx26function shouldShowRecoveryGuidance({CODE
LOW…frontend/src/hooks/useAnalyticsAnomalyDetectionFlag.ts6export function useAnalyticsAnomalyDetectionFlag(): boolean | undefined {CODE
LOW…rn-frontend/src/hooks/useShouldNotifyWhenClosingTab.ts3function useShouldNotifyWhenClosingTab(shouldNotify: boolean) {CODE
LOW…rn-frontend/src/hooks/useClearOrganizationAuthToken.ts16export function useClearOrganizationAuthToken({CODE
LOW…yvern-frontend/src/hooks/useRecordingElapsedSeconds.ts5export function useRecordingElapsedSeconds(): number {CODE
LOWskyvern-frontend/src/hooks/useWorkflowTaggingEnabled.ts16function useWorkflowTaggingEnabled(): boolean {CODE
LOW…frontend/src/hooks/useCustomCredentialServiceConfig.ts14export function useCustomCredentialServiceConfig() {CODE
LOW…rn-frontend/src/hooks/useAzureClientCredentialToken.ts12export function useAzureClientCredentialToken() {CODE
LOW…yvern-frontend/src/hooks/useLocalStorageFormDefault.ts11export function useLocalStorageFormDefault(CODE
LOWskyvern-frontend/src/hooks/useSpeechToText.ts52function getSpeechRecognitionConstructor():CODE
LOWskyvern-frontend/src/hooks/useSpeechToText.ts61export function isSpeechRecognitionSupported(): boolean {CODE
LOWskyvern-frontend/src/hooks/useSpeechToText.ts168function microphonePermissionErrorMessage(error: unknown): string {CODE
LOWskyvern-frontend/src/hooks/useSpeechToText.ts180async function requestMicrophonePermission(): Promise<void> {CODE
30017 more matches not shown…
Cross-Language Confusion869 hits · 4249 pts
SeverityFileLineSnippetContext
HIGHtests/unit/test_click_desired_state.py1936 " return !!(row && row.getAttribute('aria-selected') === 'true'); }",CODE
HIGHtests/unit/test_click_desired_state.py1949 " return !!(row && row.classList.contains('app-picked')); }",CODE
HIGHtests/unit/test_taskv3_loop.py11280 # no resolve_seconds -- absent, not null, so the two are distinguishable in the read.COMMENT
HIGHtests/unit/test_taskv3_loop.py13659 assert not undefined, f"finish statuses the description does not define exactly once: {undefined}"CODE
HIGH⚡tests/unit/test_multi_field_totp.py5078 scope.nodes.push({...makeBox('xxxx'), getAttribute: name => ({type: 'hidden'})[name] ?? null});CODE
HIGH⚡tests/unit/test_multi_field_totp.py5078 scope.nodes.push({...makeBox('xxxx'), getAttribute: name => ({type: 'hidden'})[name] ?? null});CODE
HIGH⚡tests/unit/test_multi_field_totp.py5079 scope.nodes.push({...makeBox('x'), getAttribute: name => ({type: 'text', maxlength: '1', 'aria-hidden': 'truCODE
HIGH⚡tests/unit/test_multi_field_totp.py5079 scope.nodes.push({...makeBox('x'), getAttribute: name => ({type: 'text', maxlength: '1', 'aria-hidden': 'truCODE
HIGH⚡tests/unit/test_multi_field_totp.py5080 scope.nodes.push({...makeBox('x'), display: 'none'});CODE
HIGHtests/unit/test_multi_field_totp.py617 if (box.value && boxes[i + 1]) boxes[i + 1].focus();CODE
HIGHtests/unit/test_multi_field_totp.py992 pending.push(...node.children);CODE
HIGHtests/unit/test_multi_field_totp.py1007 siblings.push(input);CODE
HIGHtests/unit/test_multi_field_totp.py5046console.debug = value => counts.push(value);CODE
HIGHtests/unit/test_multi_field_totp.py5061 isConnected: true, value, getAttribute: name => ({type: 'text', maxlength: '1'})[name] ?? null});CODE
HIGHtests/unit/test_cdp_download_interceptor.py1381 """A malformed CDP event can carry a non-string ``request.url`` (e.g. null); the redactor must staySTRING
HIGHtests/unit/test_cdp_download_interceptor.py2638 """A malformed challenge (``authChallenge`` or ``request`` null) must be caught into the attributedSTRING
HIGH⚡…/unit/test_adopted_session_blob_iframe_recovery_e2e.py752 # A page defines a non-writable, non-configurable same-name property (null/undefined). Install mustCOMMENT
HIGH…/unit/test_adopted_session_blob_iframe_recovery_e2e.py81 urls.push(url);CODE
HIGH⚡…/unit/test_adopted_session_blob_iframe_recovery_e2e.py531 revokeUndefined: revokeReturn === undefined };STRING
HIGH⚡…/unit/test_adopted_session_blob_iframe_recovery_e2e.py760 value: v === 'null' ? null : undefined, writable: false, configurable: false, enumerable: true,STRING
HIGH⚡…/unit/test_adopted_session_blob_iframe_recovery_e2e.py773 isNull: window.__skyvernBlobRetention === null,STRING
HIGH⚡…/unit/test_adopted_session_blob_iframe_recovery_e2e.py774 isUndefined: window.__skyvernBlobRetention === undefined,STRING
HIGH…/unit/test_adopted_session_blob_iframe_recovery_e2e.py576 stillPresent: !!window.__skyvernBlobRetention && window.__skyvernBlobRetention.note === 'page-owned',STRING
HIGH…/unit/test_adopted_session_blob_iframe_recovery_e2e.py647 skyvernDropped: window.__skyvernBlobRetention === undefined,STRING
HIGH…/unit/test_adopted_session_blob_iframe_recovery_e2e.py710 dropped: window.__skyvernBlobRetention === undefined,STRING
HIGH…/unit/test_adopted_session_blob_iframe_recovery_e2e.py737 dropped: window.__skyvernBlobRetention === undefined,STRING
HIGH…/unit/test_adopted_session_blob_iframe_recovery_e2e.py804 dropped: window.__skyvernBlobRetention === undefined,STRING
HIGH⚡tests/unit/test_mcp_workflow_create_defaults.py452 """AC3 on create: a legacy block cloned via workflow get (prompt: null) gets neither prompt nor steps."""STRING
HIGHtests/unit/test_mcp_workflow_create_defaults.py379 """Blocks without a prompt (missing key or explicit null) are legacy and get no steps."""STRING
HIGH⚡tests/unit/test_skycdp_transport.py77 socket.push({"id": frame["id"], "result": {"frameId": "F1"}})CODE
HIGH⚡tests/unit/test_skycdp_transport.py93 socket.push({"id": second_id, "result": {"value": 2}})CODE
HIGH⚡tests/unit/test_skycdp_transport.py94 socket.push({"id": first_id, "result": {"value": 1}})CODE
HIGH⚡tests/unit/test_skycdp_transport.py109 socket.push({"id": socket.sent[0]["id"], "sessionId": "S1", "result": {"root": {}}})CODE
HIGH⚡tests/unit/test_skycdp_transport.py122 socket.push({"id": socket.sent[0]["id"], "result": {"targetInfos": []}})CODE
HIGH⚡tests/unit/test_skycdp_transport.py133 socket.push(CODE
HIGH⚡tests/unit/test_skycdp_transport.py175 socket.push({"method": "Target.targetCreated", "params": {"targetInfo": {"targetId": "T1"}}})CODE
HIGH⚡tests/unit/test_skycdp_transport.py176 socket.push({"method": "Page.loadEventFired", "sessionId": "S1", "params": {"timestamp": 1}})CODE
HIGH⚡tests/unit/test_skycdp_transport.py177 socket.push({"method": "Page.loadEventFired", "sessionId": "S2", "params": {"timestamp": 2}})CODE
HIGH⚡tests/unit/test_skycdp_transport.py193 socket.push({"method": "Target.targetCreated", "params": {}})CODE
HIGH⚡tests/unit/test_skycdp_transport.py211 socket.push({"method": "Target.targetCreated", "params": {"n": 1}})CODE
HIGH⚡tests/unit/test_skycdp_transport.py212 socket.push({"method": "Target.targetCreated", "params": {"n": 2}})CODE
HIGHtests/unit/test_skycdp_transport.py154 socket.push(CODE
HIGHtests/unit/test_copilot_streaming_adapter.py1470 '"next_block_label": null, 'CODE
HIGHtests/unit/test_browser_session_address_write.py9from sqlalchemy import null, selectCODE
HIGHtests/unit/test_paste_text_action.py215 window.observedClipboardWrites.push(text);STRING
HIGHtests/unit/test_bitwarden_login.py460# 2025.9.0 spells an empty field as an explicit null, 2026.9.0 leaves the key out.COMMENT
HIGHtests/unit/test_bitwarden_login.py355 '{"response":null,"statusCode":500}',CODE
HIGHtests/unit/test_bitwarden_login.py358 '{"serverUrl":null,"lastSync":null,"status":"unlocked"}',CODE
HIGHtests/unit/test_skycdp_connection_sessions.py44 self._socket.push(CODE
HIGH⚡tests/unit/test_skycdp_connection_sessions.py57 self._socket.push({"id": frame_id, "result": {"sessionId": self._next_session_id}})CODE
HIGH⚡tests/unit/test_skycdp_connection_sessions.py59 self._socket.push({"id": frame_id, "result": {}})CODE
HIGHtests/unit/test_skycdp_connection_sessions.py77 socket.push(CODE
HIGHtests/unit/test_skycdp_connection_sessions.py134 socket.push({"method": "Target.detachedFromTarget", "params": {"sessionId": "S-supp"}})CODE
HIGHtests/unit/test_skycdp_connection_sessions.py211 socket.push({"method": "Target.targetDestroyed", "params": {"targetId": "T1"}})CODE
HIGH⚡tests/unit/test_cdp_connection.py59 assert parse_default_cdp_connect_headers('{"x-api-key": "secret", "x-bad": 42, "x-null": null}') == {CODE
HIGH⚡tests/unit/test_cli_shared_core.py26 "Run `pip install skyvern && skyvern browser serve --tunnel` to bridge "CODE
HIGHtests/unit/test_copilot_build_test_outcome.py378 # Top-level names are the only answer when a root is undefined, so trimming must not empty them first.COMMENT
HIGHtests/unit/test_code_block_captcha.py1928 if (callbackName && typeof window[callbackName] === "function") {CODE
HIGHtests/unit/test_credential_update_params.py372 # SKY-12724 item 1: choosing Auto sends browser_profile_id=null, which must unlink the profile.COMMENT
HIGH⚡tests/unit/test_bitwarden_session_cache.py415 'Syncing failed: {"response":null,"statusCode":401}',CODE
809 more matches not shown…
Decorative Section Separators785 hits · 3042 pts
SeverityFileLineSnippetContext
MEDIUMentrypoint-skyvern.sh5# ---------------------------------------------------------------------------COMMENT
MEDIUMentrypoint-skyvern.sh8# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-compose.yml50 # ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-compose.yml61 # ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-compose.yml84 # =========================COMMENT
MEDIUMdocker-compose.yml86 # =========================COMMENT
MEDIUMk8s/charts/skyvern-ui/values.yaml13# -----------------------------------------------------------------------------COMMENT
MEDIUMk8s/charts/skyvern-ui/values.yaml21# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py349# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py351# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py467# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py469# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py481# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py483# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py536# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py538# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py548# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py550# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py553# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_copilot_non_retriable_nav.py555# ---------------------------------------------------------------------------STRING
MEDIUMtests/unit/test_copilot_non_retriable_nav.py255# ---------------------------------------------------------------------------STRING
MEDIUMtests/unit/test_copilot_non_retriable_nav.py257# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/unit/test_click_desired_state.py414# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py416# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py490# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py492# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py660# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py662# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py797# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py799# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py1189# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py1194# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py1270# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py1277# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py1672# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py1679# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py2154# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py2162# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py2244# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_click_desired_state.py2248# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_click_desired_state.py954# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_click_desired_state.py959# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_auto_completion_location.py28# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_auto_completion_location.py30# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_auto_completion_location.py98# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_auto_completion_location.py100# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_auto_completion_location.py413# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_auto_completion_location.py415# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_auto_completion_location.py471# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_auto_completion_location.py473# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_browser_session_download_artifacts.py77# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_browser_session_download_artifacts.py79# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_browser_session_download_artifacts.py210# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_browser_session_download_artifacts.py212# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_browser_session_download_artifacts.py354# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_browser_session_download_artifacts.py356# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_browser_session_download_artifacts.py540# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_browser_session_download_artifacts.py542# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_cached_artifact_bundling.py21# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_cached_artifact_bundling.py23# ---------------------------------------------------------------------------COMMENT
725 more matches not shown…
Excessive Try-Catch Wrapping2823 hits · 2286 pts
SeverityFileLineSnippetContext
LOWrun_streaming.py27 except Exception:CODE
LOWrun_streaming.py54 except Exception:CODE
LOWrun_streaming.py74 except Exception:CODE
LOWrun_streaming.py84 except Exception:CODE
MEDIUMtests/unit/test_click_desired_state.py32def _has_playwright_browser() -> bool:CODE
LOWtests/unit/test_click_desired_state.py38 except Exception:CODE
MEDIUMtests/unit/test_multi_field_totp.py96def _has_playwright_browser() -> bool:CODE
LOWtests/unit/test_multi_field_totp.py102 except Exception:CODE
LOWtests/unit/test_download_popup_lifecycle_e2e.py47 except Exception:CODE
MEDIUMtests/unit/test_download_popup_lifecycle_e2e.py41def _deps_available() -> bool:CODE
LOWtests/unit/test_copilot_requested_output_designation.py30 except Exception:CODE
MEDIUMtests/unit/test_copilot_requested_output_designation.py26def _has_playwright_chromium() -> bool:CODE
LOW…it/test_copilot_generated_browser_page_state_repair.py606 except Exception as exc:CODE
LOWtests/unit/test_scrape_frame_decision.py36 except Exception:CODE
MEDIUMtests/unit/test_scrape_frame_decision.py30def _has_playwright_browser() -> bool:CODE
MEDIUM…/unit/test_adopted_session_blob_iframe_recovery_e2e.py40def _has_playwright_browser() -> bool:CODE
LOW…/unit/test_adopted_session_blob_iframe_recovery_e2e.py46 except Exception:CODE
LOWtests/unit/test_iframe_mcp_e2e.py67 except Exception:CODE
LOWtests/unit/test_iframe_mcp_e2e.py190 except Exception:CODE
LOWtests/unit/test_get_scripts_query.py75 except Exception:CODE
MEDIUMtests/unit/test_paste_text_action.py38def _has_playwright_browser() -> bool:CODE
LOWtests/unit/test_paste_text_action.py44 except Exception:CODE
LOW⚡…unit/test_copilot_code_artifact_metadata_violations.py500 except Exception:CODE
LOW⚡…unit/test_copilot_code_artifact_metadata_violations.py569 except Exception:CODE
LOW⚡…unit/test_copilot_code_artifact_metadata_violations.py586 except Exception:CODE
LOW…unit/test_copilot_code_artifact_metadata_violations.py416 except Exception:CODE
LOWtests/unit/test_pre_action_blob_retention_e2e.py46 except Exception:CODE
LOWtests/unit/test_pre_action_blob_retention_e2e.py124 except Exception:STRING
MEDIUMtests/unit/test_pre_action_blob_retention_e2e.py40def _deps_available() -> bool:CODE
MEDIUMtests/unit/test_code_block_recording.py56def _has_playwright_chromium() -> bool:CODE
LOWtests/unit/test_code_block_recording.py60 except Exception:CODE
LOW⚡tests/unit/test_code_block_sandbox.py248 except Exception as error:CODE
LOWtests/unit/test_code_block_sandbox.py158 except Exception:CODE
LOWtests/unit/test_code_block_sandbox.py219 except Exception as error:CODE
LOWtests/unit/test_code_block_sandbox.py235 except Exception as error:CODE
LOWtests/unit/test_code_block_sandbox.py2082 except Exception as e: # noqa: BLE001CODE
LOWtests/unit/test_iframe_e2e.py31 except Exception:CODE
LOWtests/unit/test_agent_step_artifact_tracker.py42 except Exception:CODE
LOW⚡tests/unit/test_pdf_download_fixes.py191 except Exception:CODE
LOWtests/unit/test_pdf_download_fixes.py129 except Exception:CODE
LOWtests/unit/test_pdf_download_fixes.py161 except Exception:CODE
LOWtests/unit/test_workflow_service_cancel.py691 except Exception:CODE
LOWtests/unit/test_download_query_backslash_refetch_e2e.py39 except Exception:CODE
MEDIUMtests/unit/test_download_query_backslash_refetch_e2e.py33def _deps_available() -> bool:CODE
LOWtests/unit/test_saved_session_proxy_pin.py295 except Exception as exc:CODE
MEDIUMtests/unit/test_copilot_agent_helpers.py4818def test_recoverable_failure_ignores_a_transient_inherited_from_the_previous_attCODE
LOWtests/unit/test_copilot_agent_helpers.py4858 except Exception:STRING
LOWtests/unit/test_code_block_downloads.py1078except Exception:CODE
LOWtests/unit/copilot_test_helpers.py901 except Exception:CODE
MEDIUMtests/unit/copilot_test_helpers.py897def _has_playwright_browser() -> bool:CODE
LOWtests/unit/test_download_in_page_fetch_recovery_e2e.py36 except Exception:CODE
MEDIUMtests/unit/test_download_in_page_fetch_recovery_e2e.py29def _deps_available() -> bool:CODE
LOWtests/unit/_workflow_block_engine_fakes.py80 except Exception:CODE
LOWtests/unit/test_missing_starter_url.py448 except Exception:CODE
LOWtests/unit/test_task_v2_loop_inline_values.py62 except Exception:CODE
LOWtests/unit/test_select_shadow_match.py1275 except Exception as exc:CODE
MEDIUMtests/unit/test_llm_response_parsing.py31def test_coerce_response_to_dict_variants(response, expected):CODE
LOW⚡tests/unit/test_llm_response_parsing.py35 except Exception:CODE
MEDIUMtests/unit/test_copilot_composition_evidence.py3485def _has_playwright_browser() -> bool:CODE
MEDIUMtests/unit/test_copilot_composition_evidence.py5743def _playwright_chromium_available() -> bool:CODE
2763 more matches not shown…
Unused Imports3193 hits · 2216 pts
SeverityFileLineSnippetContext
LOW…evaluation/extract_action/scripts/install_directory.py3CODE
LOWtests/unit/test_copilot_non_retriable_nav.py8CODE
LOWtests/unit/test_copilot_video_attachments.py1CODE
LOW…_real_browser_manager_publisher_self_stops_on_close.py7CODE
LOWtests/unit/test_click_desired_state.py13CODE
LOWtests/unit/test_login_block_missing_credential.py8CODE
LOW…sts/unit/test_workflow_definition_version_inference.py9CODE
LOWtests/unit/test_verifier_goal_unwrap.py9CODE
LOWtests/unit/test_mcp_scope_visibility.py1CODE
LOWtests/unit/test_copilot_token_accounting.py3CODE
LOWtests/unit/test_skycdp_endpoint_resolution.py15CODE
LOWtests/unit/test_skycdp_evaluation.py13CODE
LOWtests/unit/test_normal_select_deterministic.py1CODE
LOWtests/unit/test_webhook_delivery_retry.py3CODE
LOWtests/unit/test_quickstart_server_extra.py1CODE
LOWtests/unit/test_transient_ui_capture_experiment.py9CODE
LOWtests/unit/test_masked_prompt.py1CODE
LOWtests/unit/test_copilot_scout_act_observe.py6CODE
LOWtests/unit/test_mcp_trajectory.py1CODE
LOWtests/unit/test_auto_completion_location.py7CODE
LOWtests/unit/test_init_command.py1CODE
LOWtests/unit/test_record_artifacts_popup_preserving.py10CODE
LOWtests/unit/test_browser_session_download_artifacts.py18CODE
LOWtests/unit/test_copilot_run_output_content_gate.py7CODE
LOWtests/unit/test_workflow_run_parameter_batching.py8CODE
LOWtests/unit/test_parameter_reference_guard.py3CODE
LOW…ts/unit/test_copilot_tools_credential_id_misbinding.py1CODE
LOWtests/unit/test_copilot_code_block_persist_seam.py8CODE
LOWtests/unit/test_run_recording_clips.py1CODE
LOWtests/unit/test_copilot_diagnosis_repair_contract.py1CODE
LOWtests/unit/test_qa_skill_content.py1CODE
LOWtests/unit/test_taskv3_loop.py9CODE
LOWtests/unit/test_copilot_secret_scrub.py6CODE
LOWtests/unit/test_credential_fallback.py1CODE
LOWtests/unit/test_downloaded_files_artifact_urls.py3CODE
LOWtests/unit/test_copilot_hooks.py3CODE
LOWtests/unit/_sql_recording.py1CODE
LOWtests/unit/test_taskv3_goal_composition.py3CODE
LOWtests/unit/_schedule_fakes.py1CODE
LOWtests/unit/test_ngrok_helpers.py1CODE
LOWtests/unit/test_run_sdk_action_failures.py1CODE
LOWtests/unit/test_copilot_watchdog.py3CODE
LOWtests/unit/test_workflow_copilot_route_helpers.py10CODE
LOWtests/unit/test_copilot_enforcement_pruning.py9CODE
LOWtests/unit/test_mcp_workflow_route_prefixes.py16CODE
LOWtests/unit/test_fetch_file_bytes_query_backslash.py16CODE
LOWtests/unit/test_select_option_blocking_overlay.py12CODE
LOWtests/unit/test_multi_field_totp.py3CODE
LOWtests/unit/test_copilot_author_time_refusal_residue.py1CODE
LOWtests/unit/_chrome_profile_fixtures.py3CODE
LOWtests/unit/test_real_browser_state_on_close_hook.py7CODE
LOWtests/unit/test_download_popup_lifecycle_e2e.py7CODE
LOWtests/unit/test_skycdp_route_matching.py15CODE
LOWtests/unit/test_copilot_narrative_activity.py1CODE
LOWtests/unit/test_otp_service.py3CODE
LOWtests/unit/test_span_exception_redaction.py8CODE
LOW…sts/unit/test_workflow_system_prompt_llm_forwarding.py11CODE
LOWtests/unit/conftest.py61CODE
LOWtests/unit/conftest.py61CODE
LOWtests/unit/conftest.py63CODE
3133 more matches not shown…
Empty Error Handlers293 hits · 1415 pts
SeverityFileLineSnippetContext
HIGHtests/unit/test_terminal_callback_binding.py287except TerminalBindingError:CODE
HIGHtests/unit/test_copilot_hooks.py2797except asyncio.TimeoutError:CODE
HIGHtests/unit/test_external_cdp_sessions.py368except ConnectionError:CODE
HIGHtests/unit/test_api_handler_factory.py3341except BaseException:CODE
HIGHtests/unit/test_agent_task_v3.py2044except _StepEngineDispatched:CODE
HIGHtests/unit/test_copilot_session_injection.py288except asyncio.CancelledError:CODE
HIGHtests/unit/test_copilot_session_injection.py252except asyncio.CancelledError:CODE
HIGHtests/unit/test_mcp_browser_tools.py1814except asyncio.CancelledError:CODE
HIGHtests/unit/test_mcp_browser_tools.py4979except asyncio.CancelledError:CODE
HIGHtests/unit/test_agent_protocol_idempotency.py495except TimeoutError:CODE
HIGHtests/unit/test_pre_action_blob_retention_e2e.py124except Exception:CODE
HIGHtests/unit/test_pdf_download_fixes.py129except Exception:CODE
HIGHtests/unit/test_pdf_download_fixes.py161except Exception:CODE
HIGHtests/unit/test_pdf_download_fixes.py191except Exception:CODE
HIGHtests/unit/test_workflow_service_cancel.py691except Exception:CODE
HIGHtests/unit/test_persistent_session_reaper.py623except BaseException:CODE
HIGHtests/unit/test_download_in_page_fetch_recovery_e2e.py139except (BrokenPipeError, ConnectionResetError, ssl.SSLError):CODE
HIGHtests/unit/test_missing_starter_url.py448except Exception:CODE
HIGHtests/unit/test_task_v2_loop_inline_values.py62except Exception:CODE
HIGHtests/unit/webeye/test_browser_factory_artifact_path.py95except asyncio.CancelledError:CODE
HIGHtests/unit/db/test_base_alchemy_db.py79except TimeoutError:CODE
HIGHtests/unit/embedded/test_tab_management_e2e.py55except Exception:CODE
HIGHtests/sdk/python_sdk/conftest.py98except Exception:CODE
HIGH…ll_predicate_from_ix_task_runs_org_toplevel_created.py34except Exception:CODE
HIGH…ll_predicate_from_ix_task_runs_org_toplevel_created.py53except Exception:CODE
HIGH…739fba3dc3d_add_persistent_session_workflow_binding.py57except Exception:CODE
HIGH…5-5516c5bf7762_add_run_history_columns_to_task_runs.py65except Exception:CODE
HIGH…2026_09_18_0344-214808602675_add_sms_2fa_foundation.py64except Exception:CODE
HIGH…2026_09_18_0344-214808602675_add_sms_2fa_foundation.py113except Exception:CODE
HIGHskyvern/config.py1322except Exception:CODE
HIGHskyvern/core/script_generations/script_skyvern_page.py316except Exception:CODE
HIGHskyvern/core/script_generations/script_skyvern_page.py412except Exception:CODE
HIGHskyvern/core/script_generations/real_skyvern_page_ai.py1278except Exception:CODE
HIGHskyvern/core/script_generations/skyvern_page.py364except Exception:CODE
HIGHskyvern/core/script_generations/skyvern_page.py368except Exception:CODE
HIGHskyvern/core/script_generations/skyvern_page.py912except Exception:CODE
HIGHskyvern/core/script_generations/skyvern_page.py962except Exception:CODE
HIGHskyvern/core/script_generations/skyvern_page.py2556except Exception:CODE
HIGHskyvern/core/script_generations/skyvern_page.py3323except Exception:CODE
HIGHskyvern/core/script_generations/skyvern_page.py2092except Exception:CODE
HIGHskyvern/browser_extension/cdp_adapter.py1381except Exception:CODE
HIGHskyvern/browser_extension/cdp_adapter.py1403except BrowserExtensionError:CODE
HIGHskyvern/browser_extension/cdp_adapter.py1564except KeyError:CODE
HIGHskyvern/browser_extension/cdp_adapter.py222except KeyError:CODE
HIGHskyvern/browser_extension/broker_server.py2869except OSError:CODE
HIGHskyvern/browser_extension/broker_server.py579except (EOFError, ConnectionError, OSError, asyncio.TimeoutError, asyncio.CancelledError):CODE
HIGHskyvern/browser_extension/broker_server.py2317except asyncio.CancelledError:CODE
HIGHskyvern/browser_extension/broker_server.py2334except (asyncio.CancelledError, BrowserExtensionNotConnectedError):CODE
HIGHskyvern/browser_extension/broker_server.py2342except asyncio.CancelledError:CODE
HIGHskyvern/browser_extension/broker_state.py197except FileExistsError:CODE
HIGHskyvern/browser_extension/broker_state.py571except FileExistsError:CODE
HIGHskyvern/browser_extension/broker_state.py239except BrowserExtensionBrokerError:CODE
HIGHskyvern/browser_extension/broker_state.py141except OSError:CODE
HIGHskyvern/browser_extension/broker_client.py1272except subprocess.TimeoutExpired:CODE
HIGHskyvern/browser_extension/broker_client.py588except (CODE
HIGHskyvern/browser_extension/broker_client.py597except BrowserExtensionBrokerError:CODE
HIGHskyvern/webeye/display_capture_bridge.py259except Exception: # noqa: BLE001,S110 - best-effort flush at teardownCODE
HIGHskyvern/webeye/display_capture_bridge.py745except Exception: # noqa: BLE001,S110 - best-effort shm detach at process exit; segment is IPC_RMID-markedCODE
HIGHskyvern/webeye/display_capture_bridge.py255except Exception: # noqa: BLE001,S110 - teardown must not raise; leftover handles die with the connectionCODE
HIGHskyvern/webeye/display_capture_bridge.py731except OSError:CODE
233 more matches not shown…
Magic Placeholder Names268 hits · 744 pts
SeverityFileLineSnippetContext
HIGHREADME.md230skyvern = Skyvern(api_key="your-api-key")CODE
HIGHREADME.md248const skyvern = new Skyvern({ apiKey: "your-api-key" });CODE
HIGH⚡README.md294 api_key="YOUR_API_KEY",CODE
HIGHREADME.md326skyvern = Skyvern(api_key="your-api-key")CODE
HIGH…yvern-frontend/src/routes/tasks/detail/TaskDetails.tsx257 "x-api-key": apiCredential ?? "<your-api-key>",CODE
HIGH…frontend/src/routes/tasks/create/CreateNewTaskForm.tsx763 "x-api-key": apiCredential ?? "<your-api-key>",CODE
HIGH…ern-frontend/src/routes/tasks/create/SavedTaskForm.tsx775 "x-api-key": apiCredential ?? "<your-api-key>",CODE
HIGH…vern-frontend/src/routes/workflows/RunWorkflowForm.tsx931 "x-api-key": apiCredential ?? "<your-api-key>",CODE
HIGH…/src/routes/workflows/studio/runview/RunPaneHeader.tsx281 "x-api-key": apiCredential ?? "<your-api-key>",CODE
HIGH…ws/editor/nodes/HttpRequestNode/QuickHeadersDialog.tsx50 { name: "X-API-Key", value: "YOUR_API_KEY", description: "API key header" },CODE
HIGHtests/unit/test_cli_doctor.py30 (frontend / ".env.example").write_text("VITE_SKYVERN_API_KEY=YOUR_API_KEY\n")CODE
HIGH⚡tests/unit/test_cli_doctor.py123 assert CREDENTIAL_PLACEHOLDERS == ("", "PLACEHOLDER", "YOUR_API_KEY")CODE
HIGH⚡tests/unit/test_cli_doctor.py131 ("YOUR_API_KEY", True),CODE
HIGH⚡tests/unit/test_cli_doctor.py146 (tmp_path / "skyvern-frontend" / ".env").write_text("VITE_SKYVERN_API_KEY=YOUR_API_KEY\n")CODE
HIGH⚡tests/unit/test_cli_doctor.py168 assert is_frontend_api_key_placeholder("YOUR_API_KEY")CODE
HIGHdocs/skill.md44client = Skyvern(api_key="YOUR_API_KEY")CODE
HIGHdocs/skill.md55const client = new Skyvern({ apiKey: "YOUR_API_KEY" });CODE
HIGHdocs/skill.md65 -H "x-api-key: YOUR_API_KEY" \CODE
HIGHdocs/skill.md137claude mcp add skyvern-cloud -- npx @anthropic-ai/skyvern-mcp@latest --skyvern-api-key YOUR_API_KEYCODE
HIGHdocs/skill.md146 "args": ["@anthropic-ai/skyvern-mcp@latest", "--skyvern-api-key", "YOUR_API_KEY"]CODE
HIGHskyvern-ts/client/README.md41const client = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGHskyvern-ts/client/src/library/Skyvern.ts50 * const skyvern = new Skyvern({ apiKey: "your-api-key" });COMMENT
HIGHskyvern/library/skyvern.py84 skyvern = Skyvern(api_key="your-api-key")STRING
HIGHskyvern/cli/credential_placeholders.py8 "YOUR_API_KEY",CODE
HIGHskyvern/cli/doctor.py1135const key = envKey && envKey !== "YOUR_API_KEY" ? envKey : generatedKey;CODE
HIGHskyvern/cli/quickstart.py281 skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGHskyvern/cli/mcp_tools/README.md23claude mcp add-json skyvern '{"type":"http","url":"https://api.skyvern.com/mcp/","headers":{"x-api-key":"YOUR_API_KEY"}}CODE
HIGHskyvern/cli/mcp_tools/README.md33 "headers": { "x-api-key": "YOUR_API_KEY" }CODE
HIGHskyvern/cli/mcp_tools/README.md46 "headers": { "x-api-key": "YOUR_API_KEY" }CODE
HIGHskyvern/cli/mcp_tools/README.md68 "SKYVERN_API_KEY": "YOUR_API_KEY"CODE
HIGHskyvern/forge/sdk/routes/agent_protocol.py1278 "code": 'curl -X POST "https://api.skyvern.com/workflows/import-pdf" \\\n -H "Authorization: BeCODE
HIGHskyvern/forge/sdk/routes/internal_auth.py63 if not token_candidate or token_candidate == "YOUR_API_KEY":CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py4skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py9const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py18skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py23const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py33skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py39const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py45skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py50const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py55skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py60const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py65skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py70const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py75skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py98skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py108const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py118skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py165const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py175skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py184const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py687skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py692const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py697skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py703const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py711skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py719const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py727skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py736const skyvern = new SkyvernClient({ apiKey: "YOUR_API_KEY" });CODE
HIGH⚡skyvern/forge/sdk/routes/code_samples.py745skyvern = Skyvern(api_key="YOUR_API_KEY")CODE
208 more matches not shown…
Cross-File Repetition146 hits · 730 pts
SeverityFileLineSnippetContext
HIGHtests/unit/test_download_file_action_handler.py0page.goto-style response whose followed redirect chain visited ``urls`` in order.STRING
HIGH…sts/unit/test_chain_click_blocked_anchor_navigation.py0page.goto-style response whose followed redirect chain visited ``urls`` in order.STRING
HIGHtests/unit/test_navigation_action_handlers.py0page.goto-style response whose followed redirect chain visited ``urls`` in order.STRING
HIGHtests/unit/test_iframe_mcp_e2e.py0check that playwright's chromium binary exists for the current installed version.STRING
HIGHtests/unit/test_iframe_e2e.py0check that playwright's chromium binary exists for the current installed version.STRING
HIGH…sts/unit/workflow/test_block_browser_state_recovery.py0check that playwright's chromium binary exists for the current installed version.STRING
HIGHtests/unit/embedded/test_embedded_e2e.py0check that playwright's chromium binary exists for the current installed version.STRING
HIGH…026_05_22_2059-0b0bd1875c6e_add_cdp_connect_headers.py0select 1 from information_schema.columns where table_schema = current_schema() and table_name = :table_name and column_nSTRING
HIGH…_0957-58c683692601_add_credential_run_serialization.py0select 1 from information_schema.columns where table_schema = current_schema() and table_name = :table_name and column_nSTRING
HIGH…026_05_22_1755-9f512f2da31e_add_cdp_connect_headers.py0select 1 from information_schema.columns where table_schema = current_schema() and table_name = :table_name and column_nSTRING
HIGHskyvern/schemas/tags.py0response for the run-tags batch endpoint. runs with no tags are present with an empty list so the frontend can distinguiSTRING
HIGHskyvern/client/types/workflow_tags_batch_response.py0response for the run-tags batch endpoint. runs with no tags are present with an empty list so the frontend can distinguiSTRING
HIGHskyvern/client/types/run_tags_batch_response.py0response for the run-tags batch endpoint. runs with no tags are present with an empty list so the frontend can distinguiSTRING
HIGHskyvern/schemas/docs/doc_strings.py0geographic proxy location to route the browser traffic through. this is only available in skyvern cloud. available geotaSTRING
HIGHskyvern/client/types/workflow_run_request_output.py0geographic proxy location to route the browser traffic through. this is only available in skyvern cloud. available geotaSTRING
HIGHskyvern/client/types/task_run_request_output.py0geographic proxy location to route the browser traffic through. this is only available in skyvern cloud. available geotaSTRING
HIGHskyvern/schemas/docs/doc_strings.py0identifier for the totp/2fa/mfa code when the code is pushed to skyvern. refer to https://www.skyvern.com/docs/credentiaSTRING
HIGHskyvern/client/types/workflow_run_request_output.py0identifier for the totp/2fa/mfa code when the code is pushed to skyvern. refer to https://www.skyvern.com/docs/credentiaSTRING
HIGHskyvern/client/types/task_run_request_output.py0identifier for the totp/2fa/mfa code when the code is pushed to skyvern. refer to https://www.skyvern.com/docs/credentiaSTRING
HIGHskyvern/schemas/docs/doc_strings.py0url that serves totp/2fa/mfa codes for skyvern to use during the workflow run. refer to https://www.skyvern.com/docs/creSTRING
HIGHskyvern/client/types/workflow_run_request_output.py0url that serves totp/2fa/mfa codes for skyvern to use during the workflow run. refer to https://www.skyvern.com/docs/creSTRING
HIGHskyvern/client/types/task_run_request_output.py0url that serves totp/2fa/mfa codes for skyvern to use during the workflow run. refer to https://www.skyvern.com/docs/creSTRING
HIGHskyvern/client/types/google_sheets_read_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/text_prompt_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/send_email_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/conditional_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/file_parser_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/email_inbox_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/while_loop_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/url_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/print_page_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/action_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/navigation_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/pdf_parser_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/for_loop_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/google_sheets_write_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/human_interaction_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/task_v2block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/pdf_fill_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/file_upload_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/split_pdf_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/download_to_s3block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/task_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/validation_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/upload_to_s3block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/login_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/http_request_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/wait_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/code_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/file_download_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/extraction_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/workflow_trigger_block_yaml.py0author-facing identifier; must be unique per workflow.STRING
HIGHskyvern/client/types/google_sheets_read_block_yaml.py0optional pointer to the label of the next block. when omitted, it will default to sequential order. see [[s-4bnl]].STRING
HIGHskyvern/client/types/text_prompt_block_yaml.py0optional pointer to the label of the next block. when omitted, it will default to sequential order. see [[s-4bnl]].STRING
HIGHskyvern/client/types/send_email_block_yaml.py0optional pointer to the label of the next block. when omitted, it will default to sequential order. see [[s-4bnl]].STRING
HIGHskyvern/client/types/conditional_block_yaml.py0optional pointer to the label of the next block. when omitted, it will default to sequential order. see [[s-4bnl]].STRING
HIGHskyvern/client/types/file_parser_block_yaml.py0optional pointer to the label of the next block. when omitted, it will default to sequential order. see [[s-4bnl]].STRING
HIGHskyvern/client/types/email_inbox_block_yaml.py0optional pointer to the label of the next block. when omitted, it will default to sequential order. see [[s-4bnl]].STRING
HIGHskyvern/client/types/while_loop_block_yaml.py0optional pointer to the label of the next block. when omitted, it will default to sequential order. see [[s-4bnl]].STRING
HIGHskyvern/client/types/url_block_yaml.py0optional pointer to the label of the next block. when omitted, it will default to sequential order. see [[s-4bnl]].STRING
86 more matches not shown…
Deep Nesting918 hits · 587 pts
SeverityFileLineSnippetContext
LOWrun_streaming.py18CODE
LOWtests/unit/test_mcp_scope_visibility.py254CODE
LOWtests/unit/test_copilot_scout_act_observe.py3177CODE
LOWtests/unit/test_budget_preflight.py10CODE
LOWtests/unit/test_copilot_diagnosis_repair_contract.py5252CODE
LOWtests/unit/test_qa_skill_content.py144CODE
LOWtests/unit/test_qa_skill_content.py153CODE
LOWtests/unit/test_taskv3_loop.py1461CODE
LOWtests/unit/test_taskv3_loop.py11453CODE
LOWtests/unit/test_taskv3_loop.py12331CODE
LOWtests/unit/test_multi_field_totp.py351CODE
LOWtests/unit/test_multi_field_totp.py527CODE
LOWtests/unit/test_multi_field_totp.py1403CODE
LOWtests/unit/test_multi_field_totp.py1948CODE
LOWtests/unit/test_multi_field_totp.py3920CODE
LOWtests/unit/test_multi_field_totp.py5232CODE
LOWtests/unit/test_multi_field_totp.py6059CODE
LOWtests/unit/test_multi_field_totp.py6282CODE
LOWtests/unit/test_multi_field_totp.py2020CODE
LOWtests/unit/test_multi_field_totp.py3940CODE
LOWtests/unit/test_download_popup_lifecycle_e2e.py679CODE
LOWtests/unit/test_span_exception_redaction.py138CODE
LOWtests/unit/test_span_exception_redaction.py173CODE
LOWtests/unit/test_download_file_action_handler.py4779CODE
LOWtests/unit/test_download_file_action_handler.py7188CODE
LOWtests/unit/test_taskv3_auth_tools.py262CODE
LOWtests/unit/test_taskv3_auth_tools.py378CODE
LOWtests/unit/test_taskv3_auth_tools.py765CODE
LOWtests/unit/test_copilot_runtime.py1360CODE
LOWtests/unit/test_sdk_export_parity.py28CODE
LOWtests/unit/test_sdk_export_parity.py48CODE
LOWtests/unit/test_agent_task_v3.py1771CODE
LOWtests/unit/test_real_browser_manager.py262CODE
LOWtests/unit/test_real_browser_manager.py435CODE
LOWtests/unit/test_real_browser_manager.py3857CODE
LOWtests/unit/test_scrape_default_no_overlay.py57CODE
LOWtests/unit/test_scrape_default_no_overlay.py74CODE
LOWtests/unit/test_taskv3_goal_check.py857CODE
LOWtests/unit/test_forge_log.py41CODE
LOWtests/unit/test_forge_log.py77CODE
LOWtests/unit/test_video_utils.py161CODE
LOWtests/unit/test_video_utils.py239CODE
LOW…unit/test_default_persistent_sessions_manager_close.py291CODE
LOWtests/unit/test_agent_protocol_idempotency.py970CODE
LOW…/unit/test_workflow_service_managed_browser_profile.py2861CODE
LOW…/unit/test_workflow_service_managed_browser_profile.py2908CODE
LOWtests/unit/test_fail_task_error_detection.py77CODE
LOWtests/unit/test_fail_task_error_detection.py132CODE
LOWtests/unit/test_fail_task_error_detection.py162CODE
LOWtests/unit/test_fail_task_error_detection.py203CODE
LOWtests/unit/test_fail_task_error_detection.py258CODE
LOWtests/unit/test_fail_task_error_detection.py294CODE
LOWtests/unit/test_fail_task_error_detection.py339CODE
LOWtests/unit/test_fail_task_error_detection.py433CODE
LOWtests/unit/test_fail_task_error_detection.py464CODE
LOWtests/unit/test_fail_task_error_detection.py500CODE
LOWtests/unit/test_fail_task_error_detection.py589CODE
LOWtests/unit/test_copilot_fill_credential_field.py2848CODE
LOWtests/unit/test_context_manager.py490CODE
LOWtests/unit/test_mcp_sdk_equivalent_guard.py82CODE
858 more matches not shown…
Fake / Example Data518 hits · 508 pts
SeverityFileLineSnippetContext
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts70 totp_identifier: "user@example.com",CODE
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts91 totp_identifier: "user@example.com",CODE
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts117 target: { value: "user@example.com" },CODE
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts151 target: { value: "user@example.com" },CODE
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts161 totp_identifier: "user@example.com",CODE
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts177 target: { value: "user@example.com" },CODE
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts186 totp_identifier: "user@example.com",CODE
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts205 target: { value: "user@example.com" },CODE
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts239 totp_identifier: "user@example.com",CODE
LOW…rn-frontend/src/components/BitwardenCredentialForm.tsx113 placeholder="user@example.com"CODE
LOW…yvern-frontend/src/routes/tasks/data/sampleTaskData.ts86 name: "John Doe",CODE
LOW…yvern-frontend/src/routes/tasks/data/sampleTaskData.ts104 name: "John Doe",CODE
LOW…src/routes/tasks/create/CyclingPlaceholderTextarea.tsx9 "placeholder" | "aria-label"CODE
LOW…/copilot/WorkflowCopilotChat.composerControls.test.tsx609 expect(ta.getAttribute("placeholder")).toBe(CODE
LOW…kflows/workflowRun/blockDetail/BlockInspector.test.tsx171 text: "user@example.com",CODE
LOW…kflows/workflowRun/blockDetail/BlockInspector.test.tsx179 expect(screen.getByText("user@example.com")).toBeDefined();CODE
LOW…/routes/workflows/components/SheetTabCombobox.test.tsx147 expect(screen.getByRole("textbox").getAttribute("placeholder")).toBe(CODE
LOW…utes/workflows/components/SpreadsheetCombobox.test.tsx163 expect(screen.getByRole("textbox").getAttribute("placeholder")).toBe(CODE
LOW…lows/editor/nodes/HttpRequestNode/CurlImportDialog.tsx50 -d '{"name": "John Doe", "email": "john@example.com"}'`,CODE
LOW…lows/editor/nodes/HttpRequestNode/CurlImportDialog.tsx56 -d '{"name": "Jane Doe"}'`,CODE
LOW…lows/editor/recording/RecordingFeedbackPrompt.test.tsx27 useUser: () => ({ get: () => ({ email: "user@example.com" }) }),CODE
LOW…lows/editor/recording/RecordingFeedbackPrompt.test.tsx125 submitted_by: "user@example.com",CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx155 username: "user@example.com",CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx300 target: { value: "user@example.com" },CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx325 username: "user@example.com",CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx377 target: { value: "user@example.com" },CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx429 target: { value: "user@example.com" },CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx467 username: "user@example.com",CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx542 target: { value: "user@example.com" },CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx744 fireEvent.change(screen.getByDisplayValue("user@example.com"), {CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx769 const usernameInput = screen.getByDisplayValue("user@example.com");CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx875 target: { value: "user@example.com" },CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx897 username: "user@example.com",CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx985 target: { value: "user@example.com" },CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx1246 target: { value: "user@example.com" },CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx1298 username: "user@example.com",CODE
LOW…rontend/src/routes/credentials/CredentialItem.test.tsx53 username: "user@example.com",CODE
LOW…rontend/src/routes/credentials/CredentialItem.test.tsx87 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx62 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx487 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx528 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx838 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx851 return next.totp_identifier === "user@example.com";CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx866 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx898 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx916 next.totp_identifier === "user@example.com"CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx943 username: "user@example.com",CODE
LOW…ontend/src/routes/credentials/CredentialsList.test.tsx36 credential: { username: "user@example.com", totp_type: "none" },CODE
LOW…end/src/routes/credentials/CredentialsTotpTab.test.tsx108 totp_identifier: "user@example.com",CODE
LOWtests/unit/test_login_block_missing_credential.py223 default_value="user@example.com",CODE
LOWtests/unit/test_credential_totp_code.py48 username="user@example.com",CODE
LOWtests/unit/test_credential_totp_code.py114 username="user@example.com",CODE
LOWtests/unit/test_credential_totp_code.py131 username="user@example.com",CODE
LOWtests/unit/test_credential_totp_code.py144 username="user@example.com",CODE
LOWtests/unit/test_credential_totp_code.py157 username="user@example.com",CODE
LOWtests/unit/test_credential_totp_code.py190 username="user@example.com",CODE
LOWtests/unit/test_credential_totp_code.py229 username="user@example.com",CODE
LOWtests/unit/test_credential_totp_code.py260 username="user@example.com",CODE
LOWtests/unit/test_credential_totp_code.py286 username="user@example.com",CODE
LOWtests/unit/test_credential_totp_code.py303 username="user@example.com",CODE
458 more matches not shown…
Modern Structural Boilerplate215 hits · 204 pts
SeverityFileLineSnippetContext
LOW⚡tests/conftest.py165 def set_enabled_for_org(organization_id: str | None) -> None:CODE
LOWtests/unit/test_copilot_hooks.py2334 def _settle_already_over(self, monkeypatch: pytest.MonkeyPatch, ctx: SimpleNamespace) -> None:CODE
LOWtests/unit/test_script_skyvern_page.py3989 async def set_input_files(path: str, **kwargs) -> None:CODE
LOWtests/unit/test_script_skyvern_page.py4050 async def set_input_files(path: str, **kwargs) -> None:CODE
LOW⚡tests/unit/fake_workflow_run_context.py49 def update_block_metadata(self, label: str, metadata: dict[str, Any]) -> None:CODE
LOW⚡tests/unit/fake_workflow_run_context.py64 def set_value(self, key: str, value: Any) -> None:CODE
LOWtests/unit/test_copilot_credential_pause.py3766 async def set_failing_on_the_response(key: str, value: Any, ex: Any = None) -> None:CODE
LOWtests/unit/test_block_description_caching.py60def _setup_mocks(mock_app: MagicMock) -> None:CODE
LOWtests/unit/_file_chooser_fakes.py32 async def set_files(self, files: dict[str, str | bytes], *, timeout: float | None = None) -> None:CODE
LOWtests/unit/_file_chooser_fakes.py66 async def set_input_files(self, files: dict[str, str | bytes]) -> None:CODE
LOWtests/unit/test_send_email_block.py1317 async def set_connection(self, **values: object) -> None:CODE
LOWtests/unit/test_cdp_download_interceptor.py5067async def _settle(interceptor: CDPDownloadInterceptor) -> None:CODE
LOWtests/unit/test_api_handler_factory.py277def _set_hard_deadline_settings(monkeypatch: pytest.MonkeyPatch, *, enforce: bool, grace: float) -> None:CODE
LOWtests/unit/test_input_text_combobox_commit.py1023 async def _settle_spy(_element: object) -> None:CODE
LOWtests/unit/test_input_text_combobox_commit.py1095 async def _settle_spy(_element: object) -> None:CODE
LOWtests/unit/test_input_text_combobox_commit.py1147 async def _settle_spy(_element: object) -> None:CODE
LOWtests/unit/test_input_text_combobox_commit.py1271 async def _settle_spy(_element: object) -> None:CODE
LOWtests/unit/test_input_text_combobox_commit.py1389 async def _settle_spy(_element: object) -> None:CODE
LOWtests/unit/test_input_text_combobox_commit.py1409 async def _settle_spy(_element: object) -> None:CODE
LOWtests/unit/test_input_text_combobox_commit.py1430 async def _settle_spy(_element: object) -> None:CODE
LOWtests/unit/test_input_text_combobox_commit.py1452 async def _settle_spy(_element: object) -> None:CODE
LOWtests/unit/test_input_text_combobox_commit.py1504 async def _settle_spy(_element: object) -> None:CODE
LOWtests/unit/test_run_service.py74async def _settle() -> None:CODE
LOWtests/unit/test_cdp_connection_retry.py51def _set_budget(monkeypatch: pytest.MonkeyPatch, attempts: int, backoff: list[float]) -> None:CODE
LOWtests/unit/test_quickstart_command.py84def _set_home(monkeypatch, home: Path) -> None:STRING
LOWtests/unit/test_task_v2_summary_envelope.py128 async def update_thought(self, **kwargs: object) -> None:CODE
LOW…test_real_browser_state_discards_orphaned_tab_video.py61 async def _set_working_page(page: MagicMock | None, index: int = 0) -> None:CODE
LOW…test_real_browser_state_discards_orphaned_tab_video.py122 async def _set_working_page(page: MagicMock | None, index: int = 0) -> None:CODE
LOWtests/unit/test_log_artifacts.py374 def set_workflow_context(attempt: int) -> None:CODE
LOW…unit/test_copilot_code_artifact_metadata_violations.py613 def set_attributes(self, fields: dict) -> None:STRING
LOWtests/unit/test_browser_header_sanitization.py54 async def set_extra_http_headers(self, headers: dict[str, str]) -> None:CODE
LOWtests/unit/test_copilot_completion_verification.py3132def _set_workflow_labels(ctx: CopilotContext, *labels: str) -> None:STRING
LOWtests/unit/test_code_block_authorized_files.py231 async def set_input_files(self, files: dict[str, str | bytes]) -> None:CODE
LOWtests/unit/test_code_block_authorized_files.py261 async def set_input_files(self, files: dict[str, str | bytes]) -> None:CODE
LOWtests/unit/test_code_block_authorized_files.py292 async def set_input_files(self, files: dict[str, str | bytes]) -> None:CODE
LOWtests/unit/test_code_block_authorized_files.py411 async def set_input_files(self, files: dict[str, str | bytes]) -> None:CODE
LOWtests/unit/test_workflow_run_groups.py100async def _set_child_status(env: GroupEnv, workflow_run_id: str, status: WorkflowRunStatus) -> None:CODE
LOW⚡tests/unit/test_pdf_download_fixes.py471 def _setup_context(self) -> None:CODE
LOW⚡tests/unit/test_copilot_agent_naming.py671 async def update_workflow_definition(**kwargs: object) -> None:CODE
LOW⚡tests/unit/test_copilot_agent_naming.py713 async def update_workflow_definition(**kwargs: object) -> None:CODE
LOWtests/unit/test_skycdp_artifacts.py89async def _settle() -> None:CODE
LOWtests/unit/test_artifact_url_expiry_org_config.py425__all__ = [CODE
LOWtests/unit/test_collapse_fanout_gates.py70def _set_provider(monkeypatch: pytest.MonkeyPatch, provider: FakeExperimentationProvider) -> None:CODE
LOWtests/unit/test_copilot_frontier.py2168def _set_failure_ctx(ctx: CopilotContext, definition: _FakeDefinition, reason: str) -> None:STRING
LOWtests/unit/test_code_block_downloads.py815 async def set_input_files(self, files: dict[str, str | bytes]) -> None:CODE
LOWtests/unit/test_code_block_downloads.py950 async def set_input_files(self, files: dict[str, str | bytes]) -> None:CODE
LOWtests/unit/test_cleanup_service.py14def _set_backend(monkeypatch, storage: object) -> None:CODE
LOW⚡tests/unit/test_db_engine_connect_args.py484 def set_attribute(self, key: str, value: Any) -> None:CODE
LOWtests/unit/test_feature_flag_resolution_logging.py68def _set_context() -> None:CODE
LOWtests/unit/test_feature_flag_resolution_logging.py81def _set_logger(monkeypatch: pytest.MonkeyPatch, logger: CaptureLogger) -> None:CODE
LOWtests/unit/test_workflow_copilot_route.py3224 async def update_workflow_definition(**kwargs: Any) -> None:CODE
LOWtests/unit/test_workflow_copilot_route.py3314 async def update_workflow_definition(**kwargs: Any) -> None:CODE
LOWtests/unit/webeye/test_screenshot_cdp_fallback.py54def _settings(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/unit/webeye/test_screenshot_observability.py67def _settings(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOW…sts/unit/forge/sdk/artifact/storage/test_s3_storage.py1647async def _settle(iterations: int = 100) -> None:CODE
LOW…t/forge/sdk/routes/streaming/test_cdp_input_session.py102 async def set_input_files(self, files: dict[str, str | bytes]) -> None:CODE
LOWtests/unit/workflow/test_code_block_recorder.py192 def set_default_timeout(self, timeout: float) -> None:CODE
LOWtests/unit/workflow/test_dag_engine.py79 def update_block_metadata(self, label: str, metadata: dict) -> None:CODE
LOW⚡tests/unit/workflow/test_code_block_escalation.py903 async def _update_workflow_run_block(**kwargs: object) -> None:CODE
LOWscripts/patch_generated_client.py81FORWARD_REFS_OLD = """def update_forward_refs(model: Type["Model"], **localns: Any) -> None:CODE
155 more matches not shown…
AI Structural Patterns267 hits · 182 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_click_desired_state.py344CODE
LOWtests/unit/test_copilot_scout_act_observe.py268CODE
LOWtests/unit/test_taskv3_loop.py143CODE
LOWtests/unit/test_credential_fallback.py51CODE
LOWtests/unit/test_credential_fallback.py261CODE
LOWtests/unit/_schedule_fakes.py16CODE
LOWtests/unit/test_copilot_credential_pause.py3086CODE
LOWtests/unit/test_cached_script_deploy_service.py110CODE
LOWtests/unit/_file_chooser_fakes.py71CODE
LOWtests/unit/test_cdp_download_interceptor.py4924CODE
LOWtests/unit/test_agent_task_v3.py113CODE
LOWtests/unit/test_agent_task_v3.py2228CODE
LOWtests/unit/test_input_text_combobox_commit.py407CODE
LOWtests/unit/test_file_download_targets.py81CODE
LOWtests/unit/test_scrolling_screenshot_retention.py91CODE
LOWtests/unit/test_code_block_captcha.py55CODE
LOWtests/unit/test_code_block_captcha.py156CODE
LOWtests/unit/test_code_block_captcha.py194CODE
LOWtests/unit/test_input_text_tel_card_routing.py53CODE
LOW…sts/unit/test_chain_click_blocked_anchor_navigation.py418CODE
LOWtests/unit/test_scoped_xhr_download_capture.py30CODE
LOWtests/unit/test_llm_handler_parity_characterization.py262CODE
LOWtests/unit/test_llm_handler_parity_characterization.py329CODE
LOWtests/unit/test_llm_handler_parity_characterization.py81CODE
LOWtests/unit/test_copilot_failure_tracking.py27CODE
LOWtests/unit/copilot_test_helpers.py284CODE
LOWtests/unit/copilot_test_helpers.py1155CODE
LOWtests/unit/copilot_test_helpers.py1320CODE
LOWtests/unit/_workflow_block_engine_fakes.py113CODE
LOWtests/unit/test_browser_action_policy.py122CODE
LOWtests/unit/test_workflow_copilot_route.py165CODE
LOWtests/unit/forge/sdk/db/test_self_heal_repository.py22CODE
LOW…sts/unit/forge/sdk/db/test_workflow_runs_repository.py119CODE
LOWskyvern/core/script_generations/script_skyvern_page.py508CODE
LOWskyvern/core/script_generations/skyvern_page_ai.py36CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py383CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py1760CODE
LOWskyvern/core/script_generations/generate_script.py3416CODE
LOWskyvern/core/script_generations/skyvern_page.py636CODE
LOWskyvern/core/script_generations/skyvern_page.py652CODE
LOWskyvern/core/script_generations/skyvern_page.py786CODE
LOWskyvern/core/script_generations/skyvern_page.py1138CODE
LOWskyvern/browser_extension/broker_client.py238CODE
LOWskyvern/webeye/browser_state.py58CODE
LOWskyvern/webeye/browser_state.py83CODE
LOWskyvern/webeye/browser_state.py115CODE
LOWskyvern/webeye/browser_state.py153CODE
LOWskyvern/webeye/persistent_sessions_manager.py125CODE
LOWskyvern/webeye/persistent_sessions_manager.py193CODE
LOWskyvern/webeye/real_browser_state.py190CODE
LOWskyvern/webeye/real_browser_state.py522CODE
LOWskyvern/webeye/real_browser_state.py823CODE
LOWskyvern/webeye/real_browser_state.py1269CODE
LOWskyvern/webeye/real_browser_state.py1694CODE
LOWskyvern/webeye/default_persistent_sessions_manager.py567CODE
LOWskyvern/webeye/default_persistent_sessions_manager.py740CODE
LOWskyvern/webeye/real_browser_manager.py749CODE
LOWskyvern/webeye/scraper/scraper.py285CODE
LOWskyvern/webeye/scraper/scraper.py539CODE
LOWskyvern/webeye/actions/responses.py85CODE
207 more matches not shown…
Self-Referential Comments51 hits · 155 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_span_exception_redaction.py145 # This file is synced to the OSS repo, where `cloud/` does not exist. SkippingCOMMENT
MEDIUM⚡tests/unit/test_span_exception_redaction.py180 # This file is synced to the OSS repo, where `cloud/` does not exist. SkippingCOMMENT
MEDIUMtests/unit/test_script_skyvern_page.py332 # Create a mock page first, then set page to None after constructionCOMMENT
MEDIUMtests/unit/test_download_file_action_handler.py2809 # Create a read-only directory to simulate write failureCOMMENT
MEDIUMtests/unit/test_forloop_script_generation.py209 # Create a mock CodeGenInput with ForLoop blockCOMMENT
MEDIUMtests/unit/test_aiohttp_helper.py984 # Create a temporary file for testingCOMMENT
MEDIUMtests/unit/test_aiohttp_helper.py1038 # Create a temporary file for testingCOMMENT
MEDIUMtests/unit/test_aiohttp_helper.py1165 # Create a temporary file for testingCOMMENT
MEDIUM⚡tests/unit/test_http_block_raw_filter.py344 # Create a real context to test the methodCOMMENT
MEDIUM⚡tests/unit/test_local_file_path_validation.py83 # Create a symlink inside the sandbox that points to /etc/passwdCOMMENT
MEDIUMtests/unit/test_copilot_locator_inspection.py272 # Creating a page would both mutate browser state and answer from a page the run never reached.COMMENT
MEDIUMtests/unit/test_schema_validator.py485 # Create a schema that will fail Draft202012Validator.check_schemaCOMMENT
MEDIUMtests/unit/test_aws_client_ttl.py253 # Create a stream that raises on seekCOMMENT
MEDIUM⚡tests/unit/workflow/test_file_parser_block.py160 # Create a minimal valid PDF fileCOMMENT
MEDIUM⚡tests/unit/workflow/test_file_parser_block.py2454 # Create a mock OutputParameterCOMMENT
MEDIUM⚡tests/unit/workflow/test_file_parser_block.py2540 # Create a binary file that's definitely not CSVCOMMENT
MEDIUMtests/unit/workflow/test_file_parser_block.py2391 # Create a mock OutputParameter with all required fieldsCOMMENT
MEDIUMtests/unit/workflow/test_file_parser_block.py2622 # Create a DataFrame with NaN, NaT, and timestamp valuesCOMMENT
MEDIUMtests/unit/embedded/test_sqlite_server_mode.py491 # Create a client with a bad setting that will cause validation errorCOMMENT
MEDIUMtests/sdk/python_sdk/conftest.py57 # Create a handler class that serves from the specific directoryCOMMENT
MEDIUMskyvern/core/script_generations/real_skyvern_page_ai.py958 # Create the episode now so v3's agent can attach decisions to it.COMMENT
MEDIUMskyvern/core/script_generations/generate_script.py2959 # Create the for loop target (current_value)COMMENT
MEDIUMskyvern/core/script_generations/generate_script.py2979 # Create the async for loopCOMMENT
MEDIUMskyvern/core/script_generations/generate_script.py3973 # Create a requires_agent entry (no code, no run_signature)COMMENT
MEDIUMskyvern/core/script_generations/generate_script.py4118 # Create a temporary module to convert the start block content to a functionCOMMENT
MEDIUM⚡skyvern/webeye/actions/handler.py10968 # Create a TerminateAction and execute itCOMMENT
MEDIUMskyvern/webeye/actions/handler.py10301# This function is deprecated in 'extract-actions' prompt. Downloads are handled by the click action handler now.COMMENT
MEDIUMskyvern/library/skyvern_browser.py38 # Create a new pageSTRING
MEDIUMskyvern/forge/sdk/log_artifacts.py97 # This function is called from ``update_workflow_run`` in the DB layer, whichCOMMENT
MEDIUMskyvern/forge/sdk/workflow/service.py3670 # Create the workflow run and set skyvern contextCOMMENT
MEDIUMskyvern/forge/sdk/workflow/service.py9952 # Create the browser with the saved profile and navigate to the login block's URL. TheCOMMENT
MEDIUMskyvern/forge/sdk/workflow/service.py17666 # Create a new version of the SAME script_id instead of a new scriptCOMMENT
MEDIUMskyvern/forge/sdk/workflow/models/block.py3587 # Create a temporary output parameter using the current block's workflow_idCOMMENT
MEDIUMskyvern/forge/sdk/workflow/models/block.py4073 # Create a failure block result for this iterationCOMMENT
MEDIUMskyvern/forge/sdk/api/llm/config_registry.py1882# Create a GCP service account WITH the Vertex AI API access enabledCOMMENT
MEDIUMskyvern/forge/sdk/routes/agent_protocol.py6322 # Create a new timeline with processed childrenCOMMENT
MEDIUMskyvern/forge/sdk/routes/credentials.py1013 # Create a temporary credentialCOMMENT
MEDIUMskyvern/forge/sdk/routes/credentials.py3009 # Create the new tokenCOMMENT
MEDIUMskyvern/forge/sdk/routes/credentials.py3281 # Create the new Azure tokenCOMMENT
MEDIUMskyvern/forge/sdk/routes/credentials.py3393 # Create the new configurationCOMMENT
MEDIUM⚡skyvern/forge/sdk/routes/code_samples.py916# Create a blank browser profile for future runsCOMMENT
MEDIUM⚡skyvern/forge/sdk/routes/code_samples.py922# Create a browser profile from a persistent browser sessionCOMMENT
MEDIUMskyvern/forge/sdk/routes/code_samples.py276# Create a workflow in JSON formatCOMMENT
MEDIUMskyvern/forge/sdk/routes/scripts.py613 # Create a new version of the scriptCOMMENT
MEDIUMskyvern/forge/sdk/routes/scripts.py1445 # Create a new script version with the updated blocksCOMMENT
MEDIUMskyvern/services/workflow_script_service.py2026 # Create a new script versionCOMMENT
MEDIUMskyvern/services/workflow_script_service.py2195 # Create the workflow script mapping for cache lookupCOMMENT
MEDIUMskyvern/services/workflow_script_service.py2325 # Create a new script versionCOMMENT
MEDIUMskyvern/services/task_v2_service.py276 # Create a dedicated termination thought for UI visibilityCOMMENT
MEDIUMskyvern/services/script_service.py727 # Create the step in the only state from which recipe admission canCOMMENT
MEDIUMskyvern/services/script_service.py1979 # Create a new script versionCOMMENT
Over-Commented Block208 hits · 153 pts
SeverityFileLineSnippetContext
LOWconftest.py1from skyvern.forge.sdk.forge_log import setup_loggerCOMMENT
LOWalembic.ini1# A generic, single database configuration.COMMENT
LOWalembic.ini21# string value is passed to dateutil.tz.gettz()COMMENT
LOWalembic.ini41# The path separator used here should be the separator specified by "version_path_separator" below.COMMENT
LOWalembic.ini61# output_encoding = utf-8COMMENT
LOWdocker-compose.yml41 - ./downloads:/data/downloadsCOMMENT
LOWdocker-compose.yml81 # - BROWSER_TYPE=cdp-connectCOMMENT
LOWdocker-compose.yml101 # - LLM_KEY=GEMINI_3.0_FLASHCOMMENT
LOWdocker-compose.yml121 # - LLM_KEY=OLLAMACOMMENT
LOWdocker-compose.yml181 - VITE_BROWSER_STREAMING_MODE=${VITE_BROWSER_STREAMING_MODE:-cdp}COMMENT
LOWdocker-compose.yml201# image: vaultwarden/server:latest-alpineCOMMENT
LOWdocker-compose.yml221# # API credentials for vaultwardenCOMMENT
LOWdocker-compose.yml241# - ~/bitwarden-cli-config:/app/.configCOMMENT
LOWskyvern-frontend/src/components/AgentMarkdown.tsx1import { memo, useLayoutEffect, useRef, useState, type ReactNode } from "react";COMMENT
LOWskyvern-frontend/src/components/ui/css-vars.test.ts1import { describe, expect, it } from "vitest";COMMENT
LOW…ontend/src/routes/workflows/studio/runview/RunView.tsx621 // Landing the selection on the LAST timeline item — so the Browser paneCOMMENT
LOW…ern-frontend/src/routes/workflows/copilot/sendQueue.ts81 // The message that opened the turn that just ended. Every boolean must beCOMMENT
LOW…n-frontend/src/routes/workflows/copilot/acceptFence.ts41 | ({ kind: "changed" } & AcceptAttempt)COMMENT
LOW…rontend/src/routes/workflows/copilot/narrativeState.ts341 // Tool name when kind is tool_call/tool_result.COMMENT
LOW…rontend/src/routes/workflows/copilot/narrativeState.ts361 // condenseActivityEntries. Unset outside that transform.COMMENT
LOW…rontend/src/routes/workflows/copilot/narrativeState.ts1001//COMMENT
LOW…rontend/src/routes/workflows/copilot/narrativeState.ts1021//COMMENT
LOW…kflows/copilot/WorkflowCopilotChat.reviewGate.test.tsx6581 expect(screen.queryByText("Confirming\u2026")).toBeNull();COMMENT
LOW…kflows/copilot/WorkflowCopilotChat.reviewGate.test.tsx9381 //COMMENT
LOW…d/src/routes/workflows/copilot/WorkflowCopilotChat.tsx1861 // Only a narrative row keeps its own resolved card, so a gate rendered anywhere else unmountsCOMMENT
LOW…d/src/routes/workflows/copilot/WorkflowCopilotChat.tsx2021 // this ref is set before the first await and read at the top of handleSend.COMMENT
LOW…/src/routes/workflows/copilot/cards/CredentialCard.tsx121 frame: CredentialRequiredFrame;COMMENT
LOW…/src/routes/workflows/copilot/cards/CredentialCard.tsx821 // the empty term, and a boolean keyed on a non-empty term reads that failure as no failure, whichCOMMENT
LOW…es/workflows/workflowRun/resizableTimelineSplitMath.ts1export const TIMELINE_SPLIT_STORAGE_KEY = "skyvern.runView.timelineSplit";COMMENT
LOW…utes/workflows/components/tagging/TagFilterControl.tsx41type Props = {COMMENT
LOW…-frontend/src/routes/workflows/editor/FlowRenderer.tsx421 // expand/collapse state doesn't land at positions cached from the priorCOMMENT
LOW…-frontend/src/routes/workflows/editor/FlowRenderer.tsx1701 // renders in an intermediate invalid state. Mirrors the rewire patternCOMMENT
LOW…ern-frontend/src/routes/workflows/editor/Workspace.tsx1361 setTimeout(() => {COMMENT
LOW…rn-frontend/src/routes/workflows/editor/nodes/index.ts121export type AppNode = UtilityNode | WorkflowBlockNode;COMMENT
LOW…/routes/workflows/editor/nodes/StartNode/StartNode.tsx141 return (COMMENT
LOW…s/workflows/editor/panels/WorkflowNodeLibraryPanel.tsx81 />COMMENT
LOW…s/workflows/editor/panels/WorkflowNodeLibraryPanel.tsx181 workflowBlockType={WorkflowBlockTypes.FileURLParser}COMMENT
LOW…s/workflows/editor/panels/WorkflowNodeLibraryPanel.tsx201 // <WorkflowBlockIconCOMMENT
LOW…editor/panels/BlockConfigForm/Taskv2BlockForm.test.tsx321 // mutating the fixture, so the wrapper's `value` snapshot never movesCOMMENT
LOW…/workflows/editor/collapse/scheduleCollapseRelayout.ts1// A container block (loop / conditional) drives a canvas re-layout wheneverCOMMENT
LOW…s/editor/collapse/applyDescendantCollapseVisibility.ts21 .conditionalBranchId;COMMENT
LOW…utes/workflows/editor/collapse/useNodeCollapseStore.ts21 toggleBlock: (workflowId: string, blockLabel: string) => void;COMMENT
LOW…utes/workflows/editor/collapse/useNodeCollapseStore.ts161 // `<WorkflowScopeContext.Provider>` wrap is obvious during development,COMMENT
LOW…rc/routes/workflows/editor/hooks/useWorkflowHistory.ts101 // transition. Lets us detect internal updates even when begin/end areCOMMENT
LOW…rc/routes/workflows/editor/hooks/useWorkflowHistory.ts221 // eslint-disable-next-line react-hooks/exhaustive-depsCOMMENT
LOW…rc/routes/workflows/editor/hooks/useWorkflowHistory.ts361 }COMMENT
LOW…rc/routes/workflows/editor/hooks/useWorkflowHistory.ts381 [setNodes, setEdges],COMMENT
LOW…utes/workflows/editor/selection/selectedRingClasses.ts1// Shared visual treatment for "this canvas element is the active selection."COMMENT
LOW…end/src/routes/workflows/editor/sortable/scope.test.ts321 const keys = scopes.map(getScopeKey);COMMENT
LOWk8s/charts/skyvern-ui/values.yaml1# Default values for skyvern-ui.COMMENT
LOWtests/unit/test_taskv3_loop.py11321 assert by_tool["click"]["tool_ok_class"] == "solved"COMMENT
LOWtests/unit/test_taskv3_loop.py11381 # Classified on the exception's module and CLASS name, never its message -- a message can carryCOMMENT
LOWtests/unit/test_taskv3_loop.py11641 else:COMMENT
LOWtests/unit/test_taskv3_goal_composition.py161 # reverts to a demonstrative untouched, and even inverting the prescribed status passes. AssertingCOMMENT
LOWtests/unit/conftest.py161# import sysCOMMENT
LOWtests/unit/test_copilot_cancel_helpers.py161# _trusted_post_drain_statusCOMMENT
LOWtests/unit/test_taskv3_opaque_refs.py81NUMERIC_DOT_TRIPLET_URL = "https://files.example.test/artifacts/1735689600000.1735689660000.1735689720000/build.zip"COMMENT
LOWtests/unit/test_domutils_injection_scope.js1// Behavioral test for domUtils.js injection scope isolation.COMMENT
LOWtests/unit/workflow/test_reorder_graph_validation.py81COMMENT
LOWscripts/test-install.sh1#!/bin/shCOMMENT
148 more matches not shown…
Docstring Block Structure30 hits · 150 pts
SeverityFileLineSnippetContext
HIGHskyvern/core/script_generations/skyvern_page.py433Click an element using a CSS selector, AI-powered prompt matching, or both. This method supports three modes: STRING
HIGHskyvern/core/script_generations/skyvern_page.py667Fill an input field using a CSS selector, AI-powered prompt matching, or both. This method supports three modesSTRING
HIGHskyvern/core/script_generations/skyvern_page.py835Fill an autocomplete input by typing a value and clicking the matching dropdown option. Handles widgets like GoSTRING
HIGHskyvern/core/script_generations/skyvern_page.py1409Select an option from a dropdown using a CSS selector, AI-powered prompt matching, or both. This method supportSTRING
HIGHskyvern/core/script_generations/skyvern_page.py1583Extract structured data from the page using AI. Args: prompt: Natural language description of what STRING
HIGHskyvern/core/script_generations/skyvern_page.py1631Validate the current page state using AI. Args: prompt: Validation criteria or condition to check STRING
HIGHskyvern/core/script_generations/skyvern_page.py1674Classify the current page state against named options using a tiered cascade. This method uses a three-tier appSTRING
HIGHskyvern/core/script_generations/skyvern_page.py3588Activate the AI agent from the CURRENT page position to achieve a goal. Instead of re-running the entire block STRING
HIGHskyvern/core/script_generations/skyvern_page.py3631Send a prompt to the LLM and get a response based on the provided schema. This method allows you to interact wiSTRING
HIGHskyvern/core/script_generations/skyvern_page.py3702Get a Playwright locator using a CSS selector, AI-powered prompt, or both. This method extends Playwright's locSTRING
HIGHskyvern/library/skyvern_browser_page_agent.py357Run a workflow in the context of this page and wait for it to finish. Args: workflow_id: ID of the STRING
HIGHskyvern/cli/core/browser_launcher.py230Launch Chrome with CDP enabled and wait for it to be ready. Args: port: The port for Chrome's CDP server. STRING
HIGHskyvern/cli/core/browser_launcher.py294Wait for Chrome's CDP server to be ready and return the WebSocket URL. Args: port: CDP port to poll. STRING
HIGHskyvern/schemas/workflows.py265Sanitizes parameter keys and collects the key mapping. Args: parameters: List of parameter dictionaries STRING
HIGHskyvern/forge/sdk/core/curl_converter.py11 Parse a curl command into HTTP request parameters using curlparser library. Args: curl_command: The cuSTRING
HIGHskyvern/forge/sdk/utils/pdf_parser.py29 Extract text from a PDF file with fallback support. This function attempts to parse the PDF using pypdf first.STRING
HIGHskyvern/forge/sdk/utils/pdf_parser.py149 Validate that a file is a readable PDF. This function attempts to validate the PDF using pypdf first. If that STRING
HIGHskyvern/forge/sdk/workflow/context_manager.py1239 Extract vault_id and item_id from the credential_id. This method handles the legacy format vault_id:iteSTRING
HIGHskyvern/forge/sdk/workflow/models/block.py18038 Resolve a dotted/bracket access path on a nested value. Examples: _resolve_nested_path({"a": {"b": 1}}STRING
HIGHskyvern/forge/sdk/workflow/models/block.py18175 Extract the evaluations array from LLM output. ExtractionBlock wraps output in 'extracted_information', so we STRING
HIGHskyvern/forge/sdk/db/repositories/artifacts.py305Return artifacts associated with a run. Args: run_id: The ID of the run to get artifacts for STRING
HIGHskyvern/forge/sdk/api/azure.py62Create or update a secret in Azure Key Vault. Args: secret_name: The name of the secret to create oSTRING
HIGHskyvern/forge/sdk/api/azure.py78Delete a secret from Azure Key Vault. Args: secret_name: The name of the secret to delete STRING
HIGHskyvern/forge/sdk/api/custom_credential_client.py178 Create a credential using the custom API. Args: name: Name of the credential cSTRING
HIGHskyvern/forge/sdk/api/custom_credential_client.py262 Get a credential using the custom API. Args: credential_id: ID of the credential to retrieSTRING
HIGHskyvern/forge/sdk/api/llm/api_handler_factory.py1951 Custom LLM API handler that utilizes the LiteLLM router and fallbacks to OpenAI GPT-4 Vision. STRING
HIGHskyvern/forge/sdk/routes/agent_protocol.py4713 Get all artifacts for an entity (step, task, workflow_run). Args: entity_type: Type of entity to fetchSTRING
HIGHskyvern/forge/sdk/routes/webhooks.py208Return the replay payload preview for a completed run. Args: run_id (str): Identifier of the run to previewSTRING
HIGHskyvern/forge/sdk/routes/webhooks.py262Replay a completed run's webhook to the stored or override URL. Args: run_id (str): Identifier of the run wSTRING
HIGH…services/credential/custom_credential_vault_service.py85 Get or create a CustomCredentialAPIClient for the given organization. Args: organization_iSTRING
Structural Annotation Overuse81 hits · 133 pts
SeverityFileLineSnippetContext
LOW⚡README.md277#### Step 1: Enable remote debugging in ChromeCOMMENT
LOW⚡README.md286#### Step 2: Connect SkyvernCOMMENT
LOW⚡…-frontend/src/routes/workflows/editor/FlowRenderer.tsx1343 // Step 1: Remove inline {{ deleted_block_output }} references from all nodesCOMMENT
LOW⚡…-frontend/src/routes/workflows/editor/FlowRenderer.tsx1350 // Step 2: Remove from parameterKeys arrays and handle special casesCOMMENT
LOW⚡…end/src/routes/workflows/editor/workflowEditorUtils.ts4476 // Step 1: Update inline {{ old_output }} references to {{ new_output }}COMMENT
LOW⚡…end/src/routes/workflows/editor/workflowEditorUtils.ts4483 // Step 2: Update parameterKeys arrays and the label of the renamed nodeCOMMENT
LOW⚡…es/workflows/editor/panels/WorkflowParametersPanel.tsx83 // Step 1: Remove inline {{ parameter.key }} referencesCOMMENT
LOW⚡…es/workflows/editor/panels/WorkflowParametersPanel.tsx88 // Step 2: Remove from parameterKeys arraysCOMMENT
LOW⚡…es/workflows/editor/panels/WorkflowParametersPanel.tsx290 // Step 1: Update inline {{ old_key }} references to {{ new_key }}COMMENT
LOW⚡…es/workflows/editor/panels/WorkflowParametersPanel.tsx295 // Step 2: Update parameterKeys arraysCOMMENT
LOWtests/unit/test_workflow_schema_field_preservation.py374 # Step 1: Build existing field assignmentsSTRING
LOWtests/unit/test_workflow_schema_field_preservation.py386 # Step 2: SKY-8965 Phase 2 — deterministic picker preserves existingSTRING
LOW⚡tests/unit/workflow/test_browser_session_id_template.py244 # Step 1: Register context (like initialize_workflow_run_context does)COMMENT
LOW⚡tests/unit/workflow/test_browser_session_id_template.py254 # Step 2: Simulate auto_create_browser_session_if_needed returning a session,COMMENT
LOW⚡tests/unit/workflow/test_browser_session_id_template.py260 # Step 3: Verify template rendering (as _execute_workflow_blocks would)COMMENT
LOW…ions/2025_10_30_1414-541870962332_add_folders_table.py24 # Step 1: Create folders tableCOMMENT
LOW…ions/2025_10_30_1414-541870962332_add_folders_table.py56 # Step 2: Add folder_id to workflows tableCOMMENT
LOW⚡…ions/2025_10_30_1414-541870962332_add_folders_table.py81 # Step 1: Remove folder_id from workflows table (must be done before dropping folders table)COMMENT
LOW⚡…ions/2025_10_30_1414-541870962332_add_folders_table.py86 # Step 2: Drop folders tableCOMMENT
LOWskills/skyvern/SKILL.md11## Step 1: Classify Your Task (ALWAYS do this first)COMMENT
LOWskills/skyvern/SKILL.md25## Step 2: Apply These Decision RulesCOMMENT
LOWskills/skyvern/SKILL.md34## Step 3: Create a SessionCOMMENT
LOWskills/skyvern/SKILL.md52## Step 4: Execute by ClassificationCOMMENT
LOWskills/skyvern/SKILL.md138## Step 5: VerifyCOMMENT
LOWskills/skyvern/SKILL.md148## Step 6: Error RecoveryCOMMENT
LOWskyvern/core/script_generations/generate_script.py4264 # Step 1: Get or create ScriptBlock record for this revisionCOMMENT
LOWskyvern/core/script_generations/generate_script.py4297 # Step 2: Create or update ScriptFile with content deduplicationCOMMENT
LOW⚡skyvern/webeye/utils/dom.py1510 # Step 1: Use native element.scrollIntoView() which handles both window scrollingCOMMENT
LOW⚡skyvern/webeye/utils/dom.py1569 # Step 2: Playwright actionability confirmation. After Step 1, the element shouldCOMMENT
LOW⚡skyvern/cli/browser.py252 # Step 1: Check if debugging is already enabledCOMMENT
LOW⚡skyvern/cli/browser.py266 # Step 2: Guide the user to enable Chrome remote debugging.COMMENT
LOW⚡skyvern/cli/browser.py274 # Step 3: Auto-discover the debugging server with retriesCOMMENT
LOWskyvern/cli/browser.py293 # Step 4: Fallback — ask for manual URLCOMMENT
LOW⚡skyvern/cli/setup_commands.py1077 # Step 1: CredentialsCOMMENT
LOW⚡skyvern/cli/setup_commands.py1086 # Step 2: Detect toolsCOMMENT
LOWskyvern/cli/setup_commands.py1133 # Step 3: Configure detected toolsCOMMENT
LOWskyvern/cli/skills/qa/SKILL.md35## Step 1: Understand the ChangesCOMMENT
LOWskyvern/cli/skills/qa/SKILL.md67## Step 2: Classify the DiffCOMMENT
LOWskyvern/cli/skills/qa/SKILL.md83## Step 3: Choose the Validation StrategyCOMMENT
LOWskyvern/cli/skills/qa/SKILL.md365## Step 5: Report ResultsCOMMENT
LOWskyvern/cli/skills/qa/SKILL.md399## Step 6: Post Evidence to PRCOMMENT
LOWskyvern/cli/skills/smoke-test/SKILL.md47## Step 1: Understand the ChangesCOMMENT
LOWskyvern/cli/skills/smoke-test/SKILL.md79## Step 2: Classify the DiffCOMMENT
LOWskyvern/cli/skills/smoke-test/SKILL.md95## Step 3: Choose the Validation StrategyCOMMENT
LOWskyvern/cli/skills/smoke-test/SKILL.md159## Step 4: Start the AppCOMMENT
LOWskyvern/cli/skills/smoke-test/SKILL.md178## Step 5: Generate Smoke Test CasesCOMMENT
LOWskyvern/cli/skills/smoke-test/SKILL.md212## Step 6: Run Tests via Browser ToolsCOMMENT
LOWskyvern/cli/skills/smoke-test/SKILL.md332## Step 7: Report ResultsCOMMENT
LOWskyvern/cli/skills/smoke-test/SKILL.md380## Step 8: Post to PRCOMMENT
LOWskyvern/cli/skills/skyvern/SKILL.md11## Step 1: Classify Your Task (ALWAYS do this first)COMMENT
LOWskyvern/cli/skills/skyvern/SKILL.md25## Step 2: Apply These Decision RulesCOMMENT
LOWskyvern/cli/skills/skyvern/SKILL.md34## Step 3: Create a SessionCOMMENT
LOWskyvern/cli/skills/skyvern/SKILL.md52## Step 4: Execute by ClassificationCOMMENT
LOWskyvern/cli/skills/skyvern/SKILL.md138## Step 5: VerifyCOMMENT
LOWskyvern/cli/skills/skyvern/SKILL.md148## Step 6: Error RecoveryCOMMENT
LOW⚡skyvern/cli/mcp_tools/prompts.py165### Step 1: Create and runCOMMENT
LOW⚡skyvern/cli/mcp_tools/prompts.py169### Step 2: Check statusCOMMENT
LOW⚡skyvern/cli/mcp_tools/prompts.py176### Step 3: Fix and re-runCOMMENT
LOW⚡skyvern/cli/mcp_tools/prompts.py255## Step 1: Read the ErrorCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py190### Step 4: Verify outputCOMMENT
21 more matches not shown…
Verbosity Indicators55 hits · 92 pts
SeverityFileLineSnippetContext
LOW⚡…-frontend/src/routes/workflows/editor/FlowRenderer.tsx1343 // Step 1: Remove inline {{ deleted_block_output }} references from all nodesCOMMENT
LOW⚡…-frontend/src/routes/workflows/editor/FlowRenderer.tsx1350 // Step 2: Remove from parameterKeys arrays and handle special casesCOMMENT
LOW⚡…end/src/routes/workflows/editor/workflowEditorUtils.ts4476 // Step 1: Update inline {{ old_output }} references to {{ new_output }}COMMENT
LOW⚡…end/src/routes/workflows/editor/workflowEditorUtils.ts4483 // Step 2: Update parameterKeys arrays and the label of the renamed nodeCOMMENT
LOW⚡…es/workflows/editor/panels/WorkflowParametersPanel.tsx83 // Step 1: Remove inline {{ parameter.key }} referencesCOMMENT
LOW⚡…es/workflows/editor/panels/WorkflowParametersPanel.tsx88 // Step 2: Remove from parameterKeys arraysCOMMENT
LOW⚡…es/workflows/editor/panels/WorkflowParametersPanel.tsx290 // Step 1: Update inline {{ old_key }} references to {{ new_key }}COMMENT
LOW⚡…es/workflows/editor/panels/WorkflowParametersPanel.tsx295 // Step 2: Update parameterKeys arraysCOMMENT
LOWtests/unit/test_workflow_schema_field_preservation.py374 # Step 1: Build existing field assignmentsSTRING
LOWtests/unit/test_workflow_schema_field_preservation.py386 # Step 2: SKY-8965 Phase 2 — deterministic picker preserves existingSTRING
LOW⚡tests/unit/workflow/test_browser_session_id_template.py244 # Step 1: Register context (like initialize_workflow_run_context does)COMMENT
LOW⚡tests/unit/workflow/test_browser_session_id_template.py254 # Step 2: Simulate auto_create_browser_session_if_needed returning a session,COMMENT
LOW⚡tests/unit/workflow/test_browser_session_id_template.py260 # Step 3: Verify template rendering (as _execute_workflow_blocks would)COMMENT
LOW…ions/2025_10_30_1414-541870962332_add_folders_table.py24 # Step 1: Create folders tableCOMMENT
LOW…ions/2025_10_30_1414-541870962332_add_folders_table.py56 # Step 2: Add folder_id to workflows tableCOMMENT
LOW⚡…ions/2025_10_30_1414-541870962332_add_folders_table.py81 # Step 1: Remove folder_id from workflows table (must be done before dropping folders table)COMMENT
LOW⚡…ions/2025_10_30_1414-541870962332_add_folders_table.py86 # Step 2: Drop folders tableCOMMENT
LOWskyvern/core/script_generations/generate_script.py4264 # Step 1: Get or create ScriptBlock record for this revisionCOMMENT
LOWskyvern/core/script_generations/generate_script.py4297 # Step 2: Create or update ScriptFile with content deduplicationCOMMENT
LOW⚡skyvern/webeye/utils/dom.py1510 # Step 1: Use native element.scrollIntoView() which handles both window scrollingCOMMENT
LOW⚡skyvern/webeye/utils/dom.py1569 # Step 2: Playwright actionability confirmation. After Step 1, the element shouldCOMMENT
LOW⚡skyvern/cli/browser.py252 # Step 1: Check if debugging is already enabledCOMMENT
LOW⚡skyvern/cli/browser.py266 # Step 2: Guide the user to enable Chrome remote debugging.COMMENT
LOW⚡skyvern/cli/browser.py274 # Step 3: Auto-discover the debugging server with retriesCOMMENT
LOWskyvern/cli/browser.py293 # Step 4: Fallback — ask for manual URLCOMMENT
LOW⚡skyvern/cli/setup_commands.py1077 # Step 1: CredentialsCOMMENT
LOW⚡skyvern/cli/setup_commands.py1086 # Step 2: Detect toolsCOMMENT
LOWskyvern/cli/setup_commands.py1133 # Step 3: Configure detected toolsCOMMENT
LOW⚡skyvern/cli/mcp_tools/prompts.py165### Step 1: Create and runCOMMENT
LOW⚡skyvern/cli/mcp_tools/prompts.py169### Step 2: Check statusCOMMENT
LOW⚡skyvern/cli/mcp_tools/prompts.py176### Step 3: Fix and re-runCOMMENT
LOW⚡skyvern/cli/mcp_tools/prompts.py255## Step 1: Read the ErrorCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py190### Step 4: Verify outputCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py273## Step 2: Diagnose the PatternCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py315## Step 3: Fix and Re-runCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py329## Step 4: EscalationCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py524## Step 1: Understand the ChangesCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py569## Step 2: Choose the Validation StrategyCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py849## Step 4: Report ResultsCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py881## Step 5: Post Evidence to PRCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py1024## Step 1: Understand the ChangesCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py1046## Step 2: Choose the Validation StrategyCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py1100## Step 4: Report ResultsCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py1130## Step 5: Remote / Stateless ConstraintsCOMMENT
LOW⚡skyvern/schemas/workflows.py354 # Step 1: Sanitize all block labels and collect the mappingCOMMENT
LOW⚡skyvern/schemas/workflows.py361 # Step 2: Sanitize all parameter keys and collect the mappingCOMMENT
LOW⚡skyvern/schemas/workflows.py454 # Step 5: Update parameter_keys arrays in blocksCOMMENT
LOW⚡skyvern/schemas/workflows.py460 # Step 6: Update finally_block_label if it references an old labelCOMMENT
LOW⚡skyvern/schemas/workflows.py466 # Step 7: Update next_block_label in all blocksCOMMENT
LOWskyvern/schemas/workflows.py378 # Step 3: Update all block label referencesCOMMENT
LOWskyvern/schemas/workflows.py417 # Step 4: Update all parameter key referencesCOMMENT
LOWskyvern/forge/sdk/copilot/tools/__init__.py1694 # Step 1: Update the workflowCOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py3278 # If the loop_data is a dict, we need to check if the key exists in the loop_dataCOMMENT
LOWskyvern/forge/sdk/services/bitwarden.py1392 # Step 3: Retrieve the itemsCOMMENT
LOWskyvern/forge/sdk/services/bitwarden.py1571 # Step 3: Get the itemCOMMENT
Redundant / Tautological Comments64 hits · 86 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_workflow_schema_field_preservation.py30# Check if real LLM tests should run (set RUN_LLM_TESTS=1 to enable)COMMENT
LOWskyvern/core/script_generations/generate_script.py291 # Check if this task has existing field names to preserveCOMMENT
LOWskyvern/core/script_generations/generate_script.py3881 # Check if already cached (for progressive caching)COMMENT
LOWskyvern/core/script_generations/generate_script.py3950 # Check if the reviewer has already provided code for this blockCOMMENT
LOWskyvern/core/script_generations/skyvern_page.py1046 # Check if the value persistedCOMMENT
LOWskyvern/experimentation/wait_config.py170 # Check if user is in the experimentCOMMENT
LOWskyvern/webeye/browser_factory.py1408 # Check if Chrome is already runningCOMMENT
LOWskyvern/webeye/scraper/scraped_page.py122 # Check if the element is self-closingCOMMENT
LOW⚡skyvern/webeye/actions/handler.py10958 # Check if we should terminate instead of completeCOMMENT
LOWskyvern/cli/doctor.py288 # Check if any tools are even installed (binary on PATH or config dir exists)COMMENT
LOWskyvern/cli/quickstart.py929 # Check if Docker Compose option was explicitly requested or offer choiceCOMMENT
LOWskyvern/cli/commands/browser.py2104 # Check if Chrome process is still aliveCOMMENT
LOWskyvern/cli/commands/browser.py2192 # Check if ngrok is installedCOMMENT
LOWskyvern/cli/commands/browser.py2202 # Check if ngrok auth token is configuredCOMMENT
LOWskyvern/cli/commands/browser.py2226 # Check if ngrok died (e.g. bad auth token, port conflict)COMMENT
LOWskyvern/forge/agent.py5499 # Check if Skyvern already returned a complete action, if so, don't run user goal checkCOMMENT
LOWskyvern/forge/agent.py5705 # Check if the src is a data URI with base64 encoded PDFCOMMENT
LOWskyvern/forge/agent.py6603 # Check if we should use the termination-aware prompt (experiment)COMMENT
LOWskyvern/forge/agent.py6741 # Check if we should terminate instead of completeCOMMENT
LOWskyvern/forge/agent.py7440 # Check if we have pre-scraped data from parallel verification optimizationCOMMENT
LOWskyvern/forge/agent.py8029 # Check if prompt caching is enabled for extract-actionCOMMENT
LOWskyvern/forge/agent.py10489 # Check if this is an LLM provider errorCOMMENT
LOWskyvern/forge/agent.py10552 # Check if we have LLM errors even if the summarization failedCOMMENT
LOWskyvern/forge/agent.py10622 # Check if this is an LLM provider errorCOMMENT
LOWskyvern/forge/agent.py10706 # Check if we have LLM errors even if the summarization failedCOMMENT
LOWskyvern/forge/agent.py10858 # Check if parallel verification should be usedCOMMENT
LOWskyvern/forge/sdk/models.py116 # Check if there is a successful complete actionCOMMENT
LOWskyvern/forge/sdk/models.py152 # Check if there is a successful terminate actionCOMMENT
LOWskyvern/forge/sdk/forge_log.py1467 # Check if it's a subclass of known exception typesCOMMENT
LOWskyvern/forge/sdk/forge_log.py1516 # Check if exception is a subclass of transient exceptionsCOMMENT
LOWskyvern/forge/sdk/forge_log.py1523 # Check if exception is a subclass of bug exceptionsCOMMENT
LOW…rn/forge/sdk/workflow/workflow_definition_converter.py117 # Check if user's trying to manually create an output parameterCOMMENT
LOW…rn/forge/sdk/workflow/workflow_definition_converter.py130 # Check if any parameter keys collide with automatically created output parameter keysCOMMENT
LOWskyvern/forge/sdk/workflow/service.py7571 # Check if there's a related workflow script that should be used instead.COMMENT
LOWskyvern/forge/sdk/workflow/service.py7658 # Check if there's a finally block configuredCOMMENT
LOWskyvern/forge/sdk/workflow/service.py9513 # Check if this block is designated as requires_agent by the script reviewer.COMMENT
LOWskyvern/forge/sdk/workflow/service.py9521 # Check if this block has never been cached (e.g. from an unexecutedCOMMENT
LOWskyvern/forge/sdk/workflow/service.py17874 # Check if the script is pinned — skip auto-review for pinned scripts.COMMENT
LOWskyvern/forge/sdk/workflow/context_manager.py1252 # Check if it's in the format vault_id:item_idCOMMENT
LOWskyvern/forge/sdk/workflow/context_manager.py1529 # Check if item is NoneCOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py3328 # Check if this looks like a parameter path (contains dots and/or _output)COMMENT
LOWskyvern/forge/sdk/workflow/models/block.py15513 # Check if timeout_seconds has elapsedCOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py16701 # Check if url is a parameterCOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py17080 # Check if file_path is a URL or managed storage URICOMMENT
LOWskyvern/forge/sdk/db/repositories/folders.py174 # Check if folder existsCOMMENT
LOWskyvern/forge/sdk/api/files.py636 # Check if URL is a Google Drive linkCOMMENT
LOWskyvern/forge/sdk/api/files.py645 # Check if URL is a storage URI handled by the configured storage backend. A file:// URICOMMENT
LOWskyvern/forge/sdk/api/files.py686 # Check if URL is a file:// URICOMMENT
LOW⚡skyvern/forge/sdk/api/llm/schema_validator.py75 # Check if null is allowed in the schema typeCOMMENT
LOWskyvern/forge/sdk/api/llm/api_handler_factory.py2105 # Check if this is an OpenAI modelCOMMENT
LOWskyvern/forge/sdk/api/llm/api_handler_factory.py2949 # Check if this is an OpenAI modelCOMMENT
LOWskyvern/forge/sdk/api/llm/utils.py424 # Check if the next non-whitespace character is a JSON structure characterCOMMENT
LOW⚡skyvern/forge/sdk/api/llm/vertex_cache_manager.py103 # Check if cache already exists for this keyCOMMENT
LOW⚡skyvern/forge/sdk/api/llm/vertex_cache_manager.py106 # Check if still validCOMMENT
LOWskyvern/forge/sdk/routes/agent_protocol.py1308 # Read file and validate early (before creating import record)COMMENT
LOWskyvern/forge/sdk/routes/agent_protocol.py6284 # Check if this is a TaskV2 block that needs to be flattenedCOMMENT
LOWskyvern/forge/sdk/routes/credentials.py1235 # Check if the credential already has a browser profileCOMMENT
LOWskyvern/forge/sdk/services/bitwarden.py1586 # Check if the bw_organization_id matchesCOMMENT
LOWskyvern/forge/sdk/services/bitwarden.py1597 # Check if the item is a credit cardCOMMENT
LOWskyvern/services/cleanup_service.py333 # Check if process name matches any of the stale process namesCOMMENT
4 more matches not shown…
Hallucination Indicators8 hits · 85 pts
SeverityFileLineSnippetContext
CRITICALtests/unit/test_script_skyvern_page.py1207 assert "654321" not in script_page._ai.ai_input_text.await_args.kwargs.values()CODE
CRITICALtests/unit/test_script_skyvern_page.py1601 assert "654321" not in script_page._ai.ai_input_text.await_args.kwargs.values()CODE
CRITICALtests/unit/test_real_azure.py5from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundErrorCODE
CRITICALtests/unit/test_context_manager.py11from azure.core.exceptions import ClientAuthenticationError, HttpResponseErrorCODE
CRITICALtests/unit/webeye/test_screenshot_cdp_fallback.py76 page.context.new_cdp_session.return_value.detach.assert_awaited_once()CODE
CRITICALtests/unit/webeye/test_screenshot_observability.py300 page.context.new_cdp_session.return_value.detach.assert_awaited_once_with()CODE
CRITICAL⚡tests/unit/webeye/test_main_world_eval.py99 page.context.new_cdp_session.return_value.detach.assert_awaited_once()CODE
CRITICALskyvern/forge/sdk/api/real_azure.py8from azure.core.exceptions import ResourceNotFoundErrorCODE
Modern AI Meta-Vocabulary26 hits · 84 pts
SeverityFileLineSnippetContext
MEDIUM…rn-frontend/src/util/onboarding/OnboardingTelemetry.ts248// -- Error events (rollback guardrails) --COMMENT
MEDIUM…nit/test_action_to_stmt_credential_totp_inheritance.py77 # `totp_identifier=` explicitly on the block. Mirrors the agenticCOMMENT
MEDIUM…nit/test_action_to_stmt_credential_totp_inheritance.py206 # agentic walk over `block.get_all_parameters(...)`.COMMENT
MEDIUM…nit/test_action_to_stmt_credential_totp_inheritance.py232 # Block has no credential parameter bound — matches the agentic caseCOMMENT
MEDIUM⚡tests/unit/test_validation_evidence_router_prompts.py141 # invites it to hallucinate visual evidence. The no-page branch must notCOMMENT
MEDIUM⚡tests/unit/test_mcp_workflow_tools.py405# Prove the exact Slack scenario: MCP agent hallucinates various model stringsCOMMENT
MEDIUM⚡tests/unit/test_download_popup_lifecycle_v4.py998# --- Behavior A: event-driven Page ownership via context.on("page") (SKY-15371) ---------------------COMMENT
MEDIUM⚡tests/unit/test_download_popup_lifecycle_v4.py1002# action-window delta backstop have both been torn down. An event-driven ``context.on("page")`` owner,COMMENT
MEDIUMtests/unit/test_domutils_scroll_helpers_gating.py123 # And the helper that orchestrates the scroll loop defaults to False.COMMENT
MEDIUM⚡tests/unit/test_copilot_composition_evidence.py1752 # The first goto_url is the scaffold the agent scouts from — never gated.STRING
MEDIUMskills/skyvern/references/prompt-writing.md23## Reliability guardrailsCOMMENT
MEDIUMskyvern/webeye/actions/handler.py5136 # zero-delay return). An event-driven download already settled/closed by the capture pathCOMMENT
MEDIUMskyvern/webeye/actions/parse_actions.py131 # LLM sometimes hallucinates and returns element id for non-web actions such as WAIT, TERMINATE, COMPLETE etc.COMMENT
MEDIUMskyvern/cli/skills/skyvern/references/prompt-writing.md23## Reliability guardrailsCOMMENT
MEDIUMskyvern/cli/mcp_tools/response.py815 # combined value past the formatter's own output (generic scaffolding plusCOMMENT
MEDIUMskyvern/forge/failure_classifier.py518 # LLM reasoning error (wrong action, hallucination)COMMENT
MEDIUMskyvern/forge/agent.py671# Exception types that indicate an LLM-specific step failure (context window, provider errors,COMMENT
MEDIUMskyvern/forge/agent.py3582 # 1. CUA executes only one action step by step -- it's pretty less likely to have a hallucination for completionCOMMENT
MEDIUMskyvern/forge/agent.py10602 # LLM-specific failure (e.g. context window exceeded)COMMENT
MEDIUMskyvern/forge/agent_functions.py2543 # from element attributes to make sure this won't increase hallucinationCOMMENT
MEDIUMskyvern/forge/sdk/core/skyvern_context.py861 # v3 agentic reviewer — per-run cumulative budget. Initialized at workflowCOMMENT
MEDIUMskyvern/forge/sdk/copilot/composition_evidence.py628 # entrypoint scaffold — ungated so the agent can record it and scout from it.COMMENT
MEDIUM⚡skyvern/forge/sdk/copilot/code_block_preflight.py578 # The wrapper scaffolding is static and valid, so any SyntaxError is in the supplied code —COMMENT
MEDIUM⚡skyvern/forge/sdk/copilot/tools/guardrails.py44 # Agents SDK guardrails may hand us either raw JSON or an already parsed mapping.COMMENT
MEDIUMskyvern/forge/sdk/workflow/models/block.py9421 # "context" is a skyvern-defined field to reduce LLM hallucinationCOMMENT
MEDIUMskyvern/services/script_reviewer_v3/skills/validate.py211# agent doesn't hallucinate methods.COMMENT
AI Slop Vocabulary29 hits · 82 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_taskv3_loop.py13600 # The engine summary line emits these counters. An `engages_page` tool, a click the harness refusedCOMMENT
MEDIUMtests/unit/test_agent_task_v3.py5296 # execute harness stubs update_task, so the real contract is pinned here: failed/terminatedCOMMENT
MEDIUM⚡tests/unit/test_cdp_connection_retry.py332 """An invalid runtime override falls back to the settings field default (the robustSTRING
MEDIUM…s/unit/test_explicit_submit_sequential_click_bypass.py392 # bypass above is caused by the submit semantics, not the harness.COMMENT
LOWtests/unit/test_cached_download_s3_upload.py517 # A misconfigured cached destination must halt the script (raise), not just return aCOMMENT
MEDIUMtests/unit/test_workflow_copilot_route.py1758 # The harness cancel seed is handed through; nothing re-authors it.COMMENT
MEDIUMtests/unit/test_workflow_copilot_route.py2799 # before finalisation breaks. The name says "after staged commit"; this makes the harness mean it.COMMENT
MEDIUM⚡tests/unit/test_download_suffix_lineage.py250# 4-case reproduction harness (real render/copy + real finalize + real contextvar naming)COMMENT
MEDIUMtests/unit/workflow/test_code_block_escalation.py1749 # The harness heal path composes its goal without the floor path's `if not self.prompt`COMMENT
MEDIUMskyvern/webeye/cdp_download_interceptor.py125# and a separate local harness reproduced the interceptor replay materializing ~4/3x the body as base64.COMMENT
MEDIUMskyvern/webeye/cdp_download_interceptor.py126# Those are local-stack / replay-harness observations, not interceptor-path production measurements.COMMENT
MEDIUM⚡skyvern/cli/lazy.py108# Click-version-robust group baseCOMMENT
LOWskyvern/forge/agent.py4018 # TODO (kerem): keep the task object uptodate at all times so that clean_up_task can just use itCOMMENT
MEDIUMskyvern/forge/sdk/copilot/hooks.py273 # harness's cue to end the loop and speak for it.COMMENT
MEDIUMskyvern/forge/sdk/copilot/agent.py1720 # the product can do; the harness only keeps the recorded-run sentence in front of it,COMMENT
MEDIUMskyvern/forge/sdk/copilot/agent.py1722 # contradictions is the model's jurisdiction and the eval's bar, not a harness matcher.COMMENT
MEDIUM…yvern/forge/sdk/copilot/completion_output_grounding.py47# Keys the harness writes onto page evidence: facts about the capture, never page content.COMMENT
MEDIUMskyvern/forge/sdk/workflow/service.py14842 # soft-deleted (e.g. eval harness teardown fired while the orphanCOMMENT
MEDIUMskyvern/forge/sdk/workflow/service.py15862 # harness tears down a workflow while the run is still executing inCOMMENT
MEDIUMskyvern/forge/sdk/db/repositories/scripts.py970 # Join on both script_id and organization_id to leverage uc_org_script_version index.COMMENT
MEDIUMskyvern/forge/taskv3/target_label.py92# The model cannot do this (cloud_docs/task-v3/CHARTER.md, "Is the harness doing the model's job?"): theCOMMENT
MEDIUMskyvern/forge/taskv3/code_surface.py74 # The accounting unit for a tool whose body the harness cannot see is the brokered operation,COMMENT
MEDIUMskyvern/forge/taskv3/loop.py2447# written by the harness itself (an exception, a retry/step ceiling). `TaskStatus.can_update_to`COMMENT
MEDIUMskyvern/forge/taskv3/loop.py4191 # emitted a well-formed action call and the harness declined to dispatch it overCOMMENT
MEDIUMskyvern/forge/taskv3/loop.py4237 # The model attempted; the harness declined. A refusal must not read as a runCOMMENT
LOWskyvern/client/core/serialization.py180 # then we can just pass the value through as isCOMMENT
LOWskyvern/services/script_service.py4341 # Invariant: loop_output_values was just set to [] above (step 5 setup).COMMENT
MEDIUMskyvern/services/browser_recording/service.py487 # Base64, but Python's standard decoder is usually robust enough toCOMMENT
MEDIUMskyvern/services/browser_recording/redact.py79# a classifier in the harness. A field without the attribute stays unbound.COMMENT
Dead Code17 hits · 34 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_copilot_runtime.py1511CODE
MEDIUMtests/unit/test_copilot_runtime.py1551CODE
MEDIUMtests/unit/test_copilot_ask_user.py488CODE
MEDIUMtests/unit/test_copilot_streaming_adapter.py427CODE
MEDIUMtests/unit/test_agent_protocol_idempotency.py442CODE
MEDIUMtests/unit/test_twilio_integration_routes.py1597CODE
MEDIUMtests/unit/test_copilot_attached_file_upload.py398CODE
MEDIUMtests/unit/test_copilot_mcp_adapter.py602CODE
MEDIUMtests/unit/test_copilot_mcp_adapter.py637CODE
MEDIUMtests/unit/test_copilot_mcp_adapter.py1302CODE
MEDIUMtests/unit/test_copilot_mcp_adapter.py1848CODE
MEDIUMtests/unit/test_copilot_mcp_adapter.py1901CODE
MEDIUMtests/unit/test_copilot_mcp_adapter.py2432CODE
MEDIUMtests/unit/test_copilot_mcp_adapter.py2456CODE
MEDIUMskyvern/forge/agent_functions.py2773CODE
MEDIUMskyvern/forge/sdk/routes/scripts.py753CODE
MEDIUMskyvern/services/script_service.py1939CODE
Overly Generic Function Names29 hits · 25 pts
SeverityFileLineSnippetContext
LOW⚡tests/unit/test_code_block_preflight.py248 async def helper():CODE
LOWtests/unit/test_code_block_preflight.py93async def helper():CODE
LOWtests/unit/test_code_block_preflight.py104async def helper():CODE
LOW⚡tests/unit/test_code_block_preflight.py236 code = "async def helper():\n global setup_only\n setup_only = False\n\nawait helper()\nreturn {}\n"STRING
LOW⚡…unit/test_copilot_code_artifact_metadata_violations.py480 def helper():CODE
LOW⚡…unit/test_copilot_code_artifact_metadata_violations.py489 def helper():CODE
LOW…unit/test_copilot_code_artifact_metadata_violations.py401 def helper():CODE
LOW⚡tests/unit/test_code_block_steps.py486 "def helper():\n url = 'https://example.com/a'\n\nasync def run(page):\n await page.goto(url)\n",CODE
LOW⚡tests/unit/test_copilot_code_block_synthesis.py2115 "async def helper():\n"STRING
LOW⚡tests/unit/test_copilot_code_block_synthesis.py2127 "async def helper():\n"STRING
LOW⚡tests/unit/test_copilot_code_block_synthesis.py2198 "async def helper():\n"STRING
LOW⚡tests/unit/test_copilot_code_block_synthesis.py2210 "async def helper():\n"STRING
LOWtests/unit/test_uploaded_file_retention.py515 async def execute_task(**kwargs: object) -> None:CODE
LOW⚡tests/unit/test_task_v2_compute_task.py276 nested = "def helper():\n return {'output': 1}\nanswer = helper()\n"CODE
LOW⚡skyvern/webeye/actions/handler.py2695 async def helper(element_dict: dict, frame: Page | Frame) -> bool:CODE
LOWskyvern/webeye/actions/handler.py2664 async def helper(element_dict: dict, frame: Page | Frame) -> bool:CODE
LOWskyvern/library/skyvern.py328 async def run_task(CODE
LOWskyvern/library/skyvern_browser_page_agent.py42 async def run_task(CODE
LOWskyvern/cli/commands/browser.py1749def run_task(CODE
LOWskyvern/forge/sdk/api/aws.py1502 async def run_task(CODE
LOWskyvern/forge/sdk/executor/background_task_executor.py697 async def execute_task(CODE
LOWskyvern/forge/sdk/executor/async_executor.py20 async def execute_task(CODE
LOWskyvern/forge/sdk/routes/agent_protocol.py333async def run_task(CODE
LOWskyvern/client/client.py166 def run_task(CODE
LOWskyvern/client/client.py4033 async def run_task(CODE
LOWskyvern/client/raw_client.py90 def run_task(CODE
LOWskyvern/client/raw_client.py5792 async def run_task(CODE
LOWskyvern/services/task_v1_service.py111async def run_task(CODE
LOWskyvern/services/script_service.py2305async def run_task(CODE
Synthetic Comment Markers3 hits · 20 pts
SeverityFileLineSnippetContext
HIGHskyvern-ts/client/src/library/SkyvernBrowserPage.ts142 // If the original selector doesn't work, try to click the element with the AI generated selectorCOMMENT
HIGHevaluation/results/webvoyager-Allrecipes.md36| 33 | Allrecipes--33 | completed | Find a recipe for a low-carb breakfast on Allrecipes with at least 25 revCODE
HIGHskyvern/core/script_generations/script_skyvern_page.py1246 # AI-generated cached scripts still get LLM verification.COMMENT
Slop Phrases5 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMdocker-compose.yml139 # If you are looking to integrate Skyvern with a password manager (eg Bitwarden), you can use the following environmCOMMENT
MEDIUMdocker-compose.yml148 # If you are looking to integrate Skyvern with 1Password, you can use the following environment variables.COMMENT
MEDIUMdocker-compose.yml210# - 127.0.0.1:11002:80 # you can replace the 11002 with your preferred portCOMMENT
MEDIUMtests/unit/test_actions.py961 "I cannot provide an action. The `actions` array will be empty.",CODE
LOWskyvern/forge/sdk/core/aiohttp_helper.py335 # TODO: make sure to test this outCOMMENT
TODO Padding3 hits · 4 pts
SeverityFileLineSnippetContext
LOWskyvern/core/script_generations/script_skyvern_page.py1199 # TODO: add validation here. if it doesn't pass the validation criteria:COMMENT
LOWskyvern/webeye/cdp_download_interceptor.py1356 # TODO: implement proper filename dedup (e.g., content hash or UUID suffix)COMMENT
LOWskyvern/forge/agent_functions.py712 # TODO: implement a fallback solution for "too large" case, maybe convert by screenshotCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/test-install.sh4# Usage:COMMENT