Repository Analysis

Skyvern-AI/skyvern

Automate browser based workflows with AI

25.4 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of Skyvern-AI/skyvern, a Python project with 22,222 GitHub stars. SynthScan v2.0 examined 974,004 lines of code across 3890 source files, recording 23292 pattern matches distributed across 26 syntactic categories. The overall adjusted score of 25.4 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

25.4
Adjusted Score
25.4
Raw Score
100%
Time Factor
2026-07-14
Last Push
22.2K
Stars
Python
Language
974.0K
Lines of Code
3.9K
Files
23.3K
Pattern Hits
2026-07-14
Scan Date
0.19
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 8HIGH 742MEDIUM 906LOW 21636

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 23292 distinct pattern matches across 26 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers15914 hits · 13695 pts
SeverityFileLineSnippetContext
LOWskyvern-frontend/src/util/timeFormat.ts85function 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/tson.ts112function replaceBracesOutsideQuotes(input: string): string {CODE
LOWskyvern-frontend/src/util/translationCrashGuard.ts3export function installTranslationCrashGuard(): void {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.ts17export function markRecordBrowserProcessed(blockCount: number): void {CODE
LOWskyvern-frontend/src/util/recordBrowserTelemetry.ts27export function captureRecordBrowserUndoAfterRecordingIfRecent(CODE
LOW…ontend/src/util/onboarding/credentialSetupTelemetry.ts23function credentialSetupCtaClicked(CODE
LOWskyvern-frontend/src/util/onboarding/rolloutGating.ts26function isFirstFailedRunRecoveryEligible(args: {CODE
LOW…ntend/src/components/ParameterAutocompleteDropdown.tsx37function ParameterAutocompleteDropdown({CODE
LOW…frontend/src/components/WorkflowBlockInputTextarea.tsx31function WorkflowBlockInputTextarea(props: Props) {CODE
LOW…rc/components/AzureClientSecretCredentialTokenForm.tsx39export function AzureClientSecretCredentialTokenForm({CODE
LOW…vern-frontend/src/components/browserStreamClipboard.ts43async 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…frontend/src/components/GlobalNotificationListener.tsx36function GlobalNotificationListener() {CODE
LOW…rontend/src/components/GoogleOAuthClientConfigForm.tsx44export function GoogleOAuthClientConfigForm({ onSuccess }: Props = {}) {CODE
LOW…/DataSchemaInputGroup/WorkflowDataSchemaInputGroup.tsx41function WorkflowDataSchemaInputGroup({CODE
LOW…rn-frontend/src/hooks/useShouldNotifyWhenClosingTab.ts3function useShouldNotifyWhenClosingTab(shouldNotify: boolean) {CODE
LOW…rn-frontend/src/hooks/useClearOrganizationAuthToken.ts15export function useClearOrganizationAuthToken({CODE
LOW…yvern-frontend/src/hooks/useRecordingElapsedSeconds.ts11export function useRecordingElapsedSeconds(): number {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.ts166function microphonePermissionErrorMessage(error: unknown): string {CODE
LOWskyvern-frontend/src/hooks/useSpeechToText.ts178async function requestMicrophonePermission(): Promise<void> {CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts23function safePostCredentialsInvalidate(CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts36function broadcastCredentialsChanged() {CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts40export function normalizeMicrosoftOAuthScopes(CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts55export function normalizeMicrosoftScopeSegment(scope: string): string {CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts60export function getMicrosoftOAuthCredentialScopesGranted(CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts70export function getMicrosoftOAuthCredentialScopesRequested(CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts76export function isMicrosoftOAuthCredentialActive(CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts85export function hasMicrosoftOAuthCredentialScopes(CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts99export function matchesMicrosoftOAuthIntegrationScopes(CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts113export function getDefaultMicrosoftOAuthCredentialId(CODE
LOW…ern-frontend/src/hooks/useMicrosoftOAuthCredentials.ts128export function useMicrosoftOAuthCredentials({CODE
LOWskyvern-frontend/src/hooks/useGoogleOAuthCredentials.ts28export function safePostCredentialsInvalidate(CODE
LOWskyvern-frontend/src/hooks/useGoogleOAuthCredentials.ts41function broadcastCredentialsChanged() {CODE
LOWskyvern-frontend/src/hooks/useGoogleOAuthCredentials.ts45export function normalizeGoogleOAuthScopes(CODE
LOWskyvern-frontend/src/hooks/useGoogleOAuthCredentials.ts60export function getGoogleOAuthCredentialScopesGranted(CODE
LOWskyvern-frontend/src/hooks/useGoogleOAuthCredentials.ts70export function getGoogleOAuthCredentialScopesRequested(CODE
LOWskyvern-frontend/src/hooks/useGoogleOAuthCredentials.ts76export function isGoogleOAuthCredentialActive(CODE
LOWskyvern-frontend/src/hooks/useGoogleOAuthCredentials.ts85export function hasGoogleOAuthCredentialScopes(CODE
LOWskyvern-frontend/src/hooks/useGoogleOAuthCredentials.ts93export function matchesGoogleOAuthIntegrationScopes(CODE
LOWskyvern-frontend/src/hooks/useGoogleOAuthCredentials.ts107export function getDefaultGoogleOAuthCredentialId(CODE
LOWskyvern-frontend/src/hooks/useGoogleOAuthCredentials.ts122export function useGoogleOAuthCredentials({CODE
LOWskyvern-frontend/src/hooks/useAnalyticsDashboardFlag.ts7export function useAnalyticsDashboardFlag(): boolean | undefined {CODE
LOWskyvern-frontend/src/hooks/useRuntimeConfig.ts16function normalizeBrowserStreamingMode(CODE
LOWskyvern-frontend/src/hooks/useWorkflowsDirectoryTree.ts8export function useWorkflowsDirectoryTree(): boolean {CODE
LOW…yvern-frontend/src/hooks/useCreateGoogleSpreadsheet.ts9export function useCreateGoogleSpreadsheet() {CODE
LOWskyvern-frontend/src/api/QueryClient.ts7function retryTransientNetworkFailures(CODE
LOWskyvern-frontend/src/api/AxiosClient.ts94function removeHeaderForAllClients(header: string) {CODE
15854 more matches not shown…
Decorative Section Separators768 hits · 3019 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
MEDIUMtests/unit/test_copilot_non_retriable_nav.py112# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py114# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py257# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py259# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py301# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py303# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py360# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py362# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py372# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py374# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py386# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py388# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py441# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py443# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py453# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py455# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py475# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py477# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py532# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py534# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py58# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_non_retriable_nav.py60# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_auto_completion_location.py28# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_auto_completion_location.py30# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_auto_completion_location.py98# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_auto_completion_location.py100# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_auto_completion_location.py367# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_auto_completion_location.py369# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_auto_completion_location.py423# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_auto_completion_location.py425# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_browser_session_download_artifacts.py72# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_browser_session_download_artifacts.py74# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_browser_session_download_artifacts.py148# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_browser_session_download_artifacts.py150# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_browser_session_download_artifacts.py292# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_browser_session_download_artifacts.py294# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_browser_session_download_artifacts.py513# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_browser_session_download_artifacts.py515# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_cached_artifact_bundling.py25# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_cached_artifact_bundling.py27# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_cached_artifact_bundling.py60# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_cached_artifact_bundling.py62# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_cached_artifact_bundling.py299# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_cached_artifact_bundling.py301# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_cached_artifact_bundling.py431# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_cached_artifact_bundling.py433# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_watchdog.py60# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_watchdog.py62# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_watchdog.py354# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_watchdog.py360# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_watchdog.py448# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_copilot_watchdog.py453# ---------------------------------------------------------------------------COMMENT
708 more matches not shown…
Unused Imports2573 hits · 1758 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_copilot_non_retriable_nav.py10CODE
LOW…_real_browser_manager_publisher_self_stops_on_close.py7CODE
LOW…sts/unit/test_workflow_definition_version_inference.py9CODE
LOWtests/unit/test_verifier_goal_unwrap.py9CODE
LOWtests/unit/test_copilot_token_accounting.py3CODE
LOWtests/unit/test_normal_select_deterministic.py1CODE
LOWtests/unit/test_webhook_delivery_retry.py3CODE
LOWtests/unit/test_quickstart_server_extra.py1CODE
LOWtests/unit/test_masked_prompt.py1CODE
LOWtests/unit/test_copilot_scout_act_observe.py6CODE
LOWtests/unit/test_auto_completion_location.py7CODE
LOWtests/unit/test_init_command.py1CODE
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.py6CODE
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_copilot_secret_scrub.py6CODE
LOW…it/test_browser_artifacts_remote_browser_session_id.py8CODE
LOWtests/unit/test_downloaded_files_artifact_urls.py3CODE
LOWtests/unit/test_copilot_hooks.py3CODE
LOWtests/unit/test_ngrok_helpers.py1CODE
LOWtests/unit/test_run_sdk_action_failures.py1CODE
LOWtests/unit/test_copilot_watchdog.py27CODE
LOWtests/unit/test_workflow_copilot_route_helpers.py11CODE
LOWtests/unit/test_copilot_enforcement_pruning.py9CODE
LOWtests/unit/test_mcp_workflow_route_prefixes.py16CODE
LOWtests/unit/test_select_option_blocking_overlay.py12CODE
LOWtests/unit/test_real_browser_state_on_close_hook.py7CODE
LOWtests/unit/test_copilot_narrative_activity.py1CODE
LOWtests/unit/test_otp_service.py3CODE
LOW…sts/unit/test_workflow_system_prompt_llm_forwarding.py11CODE
LOWtests/unit/test_browser_session_recording_artifacts.py13CODE
LOWtests/unit/test_copilot_result_evidence.py1CODE
LOWtests/unit/test_browser_profile_key.py1CODE
LOWtests/unit/test_extract_information_retry_bypass.py9CODE
LOWtests/unit/test_cli_no_args_help.py9CODE
LOWtests/unit/test_browser_recording_interpretation.py1CODE
LOWtests/unit/test_quickstart_browser_install.py1CODE
LOWtests/unit/test_copilot_agent_blocker_renderer.py1CODE
LOWtests/unit/test_mcp_page_errors.py3CODE
LOWtests/unit/fake_workflow_run_context.py8CODE
LOWtests/unit/test_workflow_schedule_service.py1CODE
LOWtests/unit/_mcp_browser_fakes.py1CODE
LOWtests/unit/test_task_v2_navigate_extracted_data.py7CODE
LOWtests/unit/test_event_source_stream_disconnect.py12CODE
LOWtests/unit/test_emerging_elements_prompt_scope.py7CODE
LOWtests/unit/test_complete_verify_span.py14CODE
LOWtests/unit/test_files_resolve_local_or_download.py1CODE
LOWtests/unit/test_copilot_credential_pause.py20CODE
LOWtests/unit/test_copilot_tracing_setup.py9CODE
LOWtests/unit/test_copilot_turn_intent_tool_gate.py1CODE
LOWtests/unit/test_worker_cdp_frame_publisher.py1CODE
LOWtests/unit/test_session_cookies.py1CODE
LOWtests/unit/test_extract_information_wpid_fallback.py11CODE
LOWtests/unit/test_copilot_turn_ownership.py1CODE
2513 more matches not shown…
Excessive Try-Catch Wrapping1715 hits · 1460 pts
SeverityFileLineSnippetContext
LOWrun_streaming.py26 except Exception:CODE
LOWrun_streaming.py53 except Exception:CODE
LOWrun_streaming.py73 except Exception:CODE
LOWtests/unit/test_copilot_code_block_persist_seam.py2996 except Exception:CODE
LOWtests/unit/test_copilot_code_block_persist_seam.py5860 except Exception:CODE
LOWtests/unit/test_copilot_code_block_persist_seam.py5928 except Exception:CODE
LOWtests/unit/test_copilot_code_block_persist_seam.py6000 except Exception:CODE
LOWtests/unit/test_credential_rotation.py656 except Exception as exc:STRING
LOWtests/unit/test_scrape_frame_decision.py36 except Exception:CODE
MEDIUMtests/unit/test_scrape_frame_decision.py30def _has_playwright_browser() -> bool:CODE
LOWtests/unit/test_iframe_mcp_e2e.py32 except Exception:CODE
LOWtests/unit/test_iframe_mcp_e2e.py144 except Exception:CODE
LOWtests/unit/test_get_scripts_query.py75 except Exception:CODE
LOW…unit/test_copilot_code_artifact_metadata_violations.py792 except Exception:CODE
LOW…unit/test_copilot_code_artifact_metadata_violations.py861 except Exception:CODE
LOW…unit/test_copilot_code_artifact_metadata_violations.py878 except Exception:CODE
LOW…unit/test_copilot_code_artifact_metadata_violations.py708 except Exception:CODE
LOWtests/unit/test_code_block_sandbox.py1280 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
LOWtests/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.py495 except Exception:CODE
LOWtests/unit/test_saved_session_proxy_pin.py265 except Exception as exc:CODE
LOWtests/unit/test_missing_starter_url.py387 except Exception:CODE
LOWtests/unit/test_llm_response_parsing.py21 except Exception:CODE
MEDIUMtests/unit/test_llm_response_parsing.py17def test_coerce_response_to_dict_variants(response, expected):CODE
MEDIUMtests/unit/test_copilot_composition_evidence.py2856def _has_playwright_browser() -> bool:CODE
LOWtests/unit/test_copilot_composition_evidence.py2862 except Exception:STRING
MEDIUMtests/unit/test_script_reviewer_terminate.py182def block_fn(page, context):CODE
MEDIUMtests/unit/test_script_reviewer_terminate.py195def block_fn(page, context):CODE
MEDIUMtests/unit/test_script_reviewer_terminate.py213def block_fn(page, context):CODE
LOWtests/unit/test_script_reviewer_terminate.py185 except Exception:CODE
LOWtests/unit/test_script_reviewer_terminate.py205 except Exception:CODE
LOWtests/unit/test_script_reviewer_terminate.py216 except Exception:CODE
LOW…sts/unit/workflow/test_block_browser_state_recovery.py30 except Exception:CODE
LOW…sts/unit/workflow/test_block_browser_state_recovery.py265 except Exception:CODE
LOWtests/unit/embedded/test_tab_management_e2e.py25 except Exception:CODE
LOWtests/unit/embedded/test_tab_management_e2e.py55 except Exception:CODE
MEDIUMtests/unit/embedded/test_tab_management_e2e.py19def _has_playwright_browser() -> bool:CODE
LOWtests/unit/embedded/test_embedded_e2e.py29 except Exception:CODE
LOWtests/unit_tests/test_alembic_loop.py35 except Exception as e:CODE
LOWtests/sdk/python_sdk/conftest.py98 except Exception:CODE
MEDIUMscripts/test_persistent_browsers.py63 print(f"Error listing sessions: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py78 print(f"Error parsing response: {session}")CODE
MEDIUMscripts/test_persistent_browsers.py79 print(f"Error: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py82 print(f"Error creating session: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py94 print(f"Error getting session: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py104 print(f"Error closing sessions: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py183 print(f"Error parsing response: {task}")CODE
MEDIUMscripts/test_persistent_browsers.py184 print(f"Error: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py187 print(f"Error creating task: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py215 print(f"Error parsing response: {workflow_run}")CODE
MEDIUMscripts/test_persistent_browsers.py216 print(f"Error: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py219 print(f"Error creating workflow run: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py247 print(f"Error parsing response: {cruise}")CODE
MEDIUMscripts/test_persistent_browsers.py248 print(f"Error: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py251 print(f"Error creating cruise: {str(e)}")CODE
MEDIUMscripts/test_persistent_browsers.py37 print(f"Error details: {json.dumps(error_detail, indent=2)}")CODE
1655 more matches not shown…
Magic Placeholder Names358 hits · 1171 pts
SeverityFileLineSnippetContext
HIGHentrypoint-skyvernui.sh31# (YOUR_API_KEY) can leak through if users skip configuration. Keep theseCOMMENT
HIGHentrypoint-skyvernui.sh43 && [ "$VITE_SKYVERN_API_KEY" != "YOUR_API_KEY" ]; thenCODE
HIGHREADME.md227skyvern = Skyvern(api_key="your-api-key")CODE
HIGHREADME.md245const skyvern = new Skyvern({ apiKey: "your-api-key" });CODE
HIGHREADME.md291 api_key="YOUR_API_KEY",CODE
HIGHREADME.md323skyvern = Skyvern(api_key="your-api-key")CODE
HIGHskyvern-frontend/src/util/env.test.ts69 const { getRuntimeApiKey } = await loadEnv("YOUR_API_KEY");CODE
HIGHskyvern-frontend/src/util/env.ts88 candidate === "YOUR_API_KEY" || candidate?.endsWith("_PLACEHOLDER__");CODE
HIGH…yvern-frontend/src/routes/tasks/detail/TaskDetails.tsx300 "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.tsx698 "x-api-key": apiCredential ?? "<your-api-key>",CODE
HIGHskyvern-frontend/src/routes/workflows/WorkflowRun.tsx622 "x-api-key": apiCredential ?? "<your-api-key>",CODE
HIGH…/src/routes/workflows/studio/runview/RunPaneHeader.tsx237 "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.py14 (frontend / ".env.example").write_text("VITE_SKYVERN_API_KEY=YOUR_API_KEY\n")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
HIGHdocs/api-reference/openapi.json566 "code": "\nfrom skyvern import Skyvern\n\n# Create a workflow in JSON format\nworkflow_definition = {\n CODE
HIGHdocs/api-reference/openapi.json570 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json3117 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\n# Create a blank brCODE
HIGHdocs/api-reference/openapi.json3121 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json4097 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.creatCODE
HIGHdocs/api-reference/openapi.json4101 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.creatCODE
HIGHdocs/api-reference/openapi.json4105 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json4109 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json4881 "code": "# Login with password saved in Skyvern\nfrom skyvern import Skyvern\n\nskyvern = Skyvern(api_keCODE
HIGHdocs/api-reference/openapi.json4885 "code": "# Login with password saved in Bitwarden\nfrom skyvern import Skyvern\n\nskyvern = Skyvern(api_CODE
HIGHdocs/api-reference/openapi.json4889 "code": "# Login with password saved in 1Password\nfrom skyvern import Skyvern\n\nskyvern = Skyvern(api_CODE
HIGHdocs/api-reference/openapi.json4893 "code": "// Login with password saved in Skyvern\nimport { SkyvernClient } from \"@skyvern/client\";\n\nCODE
HIGHdocs/api-reference/openapi.json4897 "code": "// Login with password saved in Bitwarden\nimport { SkyvernClient } from \"@skyvern/client\";\nCODE
HIGHdocs/api-reference/openapi.json4901 "code": "// Login with password saved in 1Password\nimport { SkyvernClient } from \"@skyvern/client\";\nCODE
HIGHdocs/api-reference/openapi.json95 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.run_tCODE
HIGHdocs/api-reference/openapi.json99 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json215 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.run_wCODE
HIGHdocs/api-reference/openapi.json219 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json321 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nrun = await skyvernCODE
HIGHdocs/api-reference/openapi.json325 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json397 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.canceCODE
HIGHdocs/api-reference/openapi.json401 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json474 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.bulk_CODE
HIGHdocs/api-reference/openapi.json478 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json799 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nworkflows = await sCODE
HIGHdocs/api-reference/openapi.json803 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json887 "code": "\nfrom skyvern import Skyvern\n\nupdated_workflow_definition = {\n \"title\": \"Updated ContCODE
HIGHdocs/api-reference/openapi.json891 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json966 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.deletCODE
HIGHdocs/api-reference/openapi.json970 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json2730 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.retryCODE
HIGHdocs/api-reference/openapi.json2734 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json2822 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\n# Get timeline for CODE
HIGHdocs/api-reference/openapi.json2826 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json3260 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nbrowser_profiles = CODE
HIGHdocs/api-reference/openapi.json3264 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json3344 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nbrowser_profile = aCODE
HIGHdocs/api-reference/openapi.json3348 "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKeCODE
HIGHdocs/api-reference/openapi.json3439 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nbrowser_profile = aCODE
298 more matches not shown…
Cross-Language Confusion217 hits · 1076 pts
SeverityFileLineSnippetContext
HIGHtests/unit/test_mcp_workflow_create_defaults.py64 """When the user explicitly sets run_with to null, it stays null."""STRING
HIGHtests/unit/test_cdp_connection.py49 assert parse_default_cdp_connect_headers('{"x-api-key": "secret", "x-bad": 42, "x-null": null}') == {CODE
HIGHtests/unit/test_mcp_workflow_tools.py310 """MCP workflow creation must strip ANY hallucinated llm_key and default to Skyvern Optimized (null)."""STRING
HIGHtests/unit/test_script_reviewer_extract.py171 '"agency_program": {"param": null, "action": "fill"}}'CODE
HIGHtests/unit/test_should_run_script.py6run_with is always "agent" or "code" (never null). When run_with="agent" andSTRING
HIGHtests/unit/test_lean_html.py203 "javascript:void(undefined)",CODE
HIGHtests/unit/test_lean_html.py204 "javascript:void(null)",CODE
HIGHtests/unit/test_lean_html.py197 """`javascript:void(0)`, `javascript:`, `javascript:void(undefined)` etc.STRING
HIGHtests/unit/workflow/test_dag_engine.py599 # Before the fix, execution stalled at validate (next=null).COMMENT
HIGHtests/unit/workflow/test_dag_engine.py489 outer_cond (next=merge) → branch → nav → inner_cond (next=null)STRING
HIGHtests/unit/workflow/test_dag_engine.py490 inner_cond → branch → loop_block → validate (next=null)STRING
HIGHtests/unit/workflow/test_dag_engine.py320 block_29 → inner_cond (next=null)STRING
HIGHtests/unit_tests/test_schema_validator.py273 # When data is null, it should remain null (valid for nullable type)COMMENT
HIGHtests/unit_tests/test_schema_validator.py288 # When data is an object (not null), missing required fields should be filledCOMMENT
HIGHtests/unit_tests/test_schema_validator.py310 # When data is null, it should remain nullCOMMENT
HIGHtests/unit_tests/test_schema_validator.py328 # When data is an array (not null), items should be validatedCOMMENT
HIGHskyvern/core/script_generations/skyvern_page.py2351 if (t && t.length > 3 && t.length < 300 && el.offsetWidth > 0) {CODE
HIGHskyvern/core/script_generations/skyvern_page.py2354 errs.push(t.substring(0, 100));CODE
HIGHskyvern/core/script_generations/skyvern_page.py3156 && style.opacity !== '0' && el.offsetWidth > 0 && el.offsetHeight > 0;STRING
HIGHskyvern/core/script_generations/skyvern_page.py3164 const required = el.required || el.getAttribute('aria-required') === 'true';STRING
HIGHskyvern/core/script_generations/skyvern_page.py3186 const label = el.name || el.id || el.getAttribute('aria-label') || tag;STRING
HIGHskyvern/core/script_generations/skyvern_page.py3187 results.push({required: true, hasValue: value.trim().length > 0, label: label});STRING
HIGHskyvern/core/script_generations/skyvern_page.py3248 && style.opacity !== '0' && el.offsetWidth > 0 && el.offsetHeight > 0;STRING
HIGHskyvern/core/script_generations/skyvern_page.py3265 return el.name || el.id || null;STRING
HIGHskyvern/core/script_generations/skyvern_page.py3265 return el.name || el.id || null;STRING
HIGHskyvern/core/script_generations/skyvern_page.py3289 return lbl || checked.value || 'selected';STRING
HIGHskyvern/core/script_generations/skyvern_page.py3297 return el.files && el.files.length > 0STRING
HIGHskyvern/core/script_generations/skyvern_page.py3319 results.push({STRING
HIGHskyvern/core/script_generations/skyvern_page.py3321 type: type || tag,STRING
HIGHskyvern/webeye/transient_page_observer.py152 return rect.width > 0 && rect.height > 0;STRING
HIGHskyvern/webeye/transient_page_observer.py158 let text = element instanceof HTMLElement && typeof element.innerText === "string"STRING
HIGHskyvern/webeye/transient_page_observer.py167 tag: element.tagName || null,STRING
HIGHskyvern/webeye/transient_page_observer.py167 tag: element.tagName || null,STRING
HIGHskyvern/webeye/transient_page_observer.py181 observer.observe(document.documentElement || document.body, {STRING
HIGHskyvern/webeye/utils/page.py376 if (maxSizeBytes != null && blob.size > maxSizeBytes) {CODE
HIGHskyvern/webeye/utils/page.py1256 return rect.width > 0 && rect.height > 0;CODE
HIGHskyvern/webeye/actions/handler.py1574 return { index: null, label: null, value: normalize(select?.value) };CODE
HIGHskyvern/webeye/actions/handler.py1576 const option = select.options[select.selectedIndex] ?? null;CODE
HIGHskyvern/webeye/actions/handler.py1579 label: option ? normalize(option.textContent) : null,CODE
HIGHskyvern/webeye/actions/handler.py2539 " window.__skyvernScrolledElementId = null; return v === id; }",CODE
HIGHskyvern/webeye/actions/handler.py6487 nestedChoice: nestedChoice != null,CODE
HIGHskyvern/webeye/actions/handler.py6508 if (normalized.startsWith(prefix)) parts.push(normalized.slice(prefix.length).trim());CODE
HIGHskyvern/webeye/actions/handler.py6537 scopeCandidates.reduce((closest, el) => (!closest || closest.contains(el) ? el : closest), null)CODE
HIGHskyvern/webeye/actions/handler.py6537 scopeCandidates.reduce((closest, el) => (!closest || closest.contains(el) ? el : closest), null)CODE
HIGHskyvern/webeye/actions/handler.py6554 if (allowAriaSelectedOptionTokens && activeId) {CODE
HIGHskyvern/webeye/actions/handler.py6556 if (active && active.getAttribute("aria-selected") === "true") {CODE
HIGHskyvern/webeye/actions/handler.py6576 if (!el || seen.has(el) || !scopeRoot.contains(el)) continue;CODE
HIGHskyvern/webeye/actions/handler.py2473 if (!element) return null;STRING
HIGHskyvern/webeye/actions/handler.py2477 if (element && element.nodeType === 1) {STRING
HIGHskyvern/webeye/actions/handler.py2484 return null;STRING
HIGHskyvern/webeye/actions/handler.py2486 return null;STRING
HIGHskyvern/webeye/actions/handler.py4933 viewport_width: window.innerWidth || root.clientWidth || 0,STRING
HIGHskyvern/webeye/actions/handler.py4934 viewport_height: window.innerHeight || root.clientHeight || 0,STRING
HIGHskyvern/library/skyvern.py224 (pip install playwright && playwright install chromium).STRING
HIGHskyvern/utils/lean_html.py72 remains (pure no-ops like `javascript:`, `javascript:void(undefined)`).STRING
HIGHskyvern/cli/schedule_command.py225 clear_parameters: bool = typer.Option(False, "--clear-parameters", help="Clear parameters (set to null)."),CODE
HIGHskyvern/cli/run_commands.py279 "[cyan]git clone https://github.com/skyvern-ai/skyvern.git && cd skyvern[/cyan]",CODE
HIGHskyvern/cli/doctor.py1126const key = envKey && envKey !== "YOUR_API_KEY" ? envKey : generatedKey;CODE
HIGHskyvern/cli/quickstart.py948 "[cyan]git clone https://github.com/skyvern-ai/skyvern.git && cd skyvern[/cyan]",CODE
HIGHskyvern/cli/core/browser_ops.py594 if (element.labels && element.labels.length) {CODE
157 more matches not shown…
Cross-File Repetition134 hits · 670 pts
SeverityFileLineSnippetContext
HIGHtests/unit/test_copilot_session_injection.py0title: count example.com topic alpha results workflow_definition: blocks: - block_type: navigation label: search_topic_aSTRING
HIGHtests/unit/test_copilot_agent_helpers.py0title: count example.com topic alpha results workflow_definition: blocks: - block_type: navigation label: search_topic_aSTRING
HIGHtests/unit/test_copilot_frontier.py0title: count example.com topic alpha results workflow_definition: blocks: - block_type: navigation label: search_topic_aSTRING
HIGHtests/unit/test_copilot_session_injection.py0title: count example.com sample beta results workflow_definition: blocks: - block_type: navigation label: search_sample_STRING
HIGHtests/unit/test_copilot_agent_helpers.py0title: count example.com sample beta results workflow_definition: blocks: - block_type: navigation label: search_sample_STRING
HIGHtests/unit/test_copilot_frontier.py0title: count example.com sample beta results workflow_definition: blocks: - block_type: navigation label: search_sample_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
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/forge/sdk/schemas/task_v2.py0if the `block` has a `model` defined, then return the mapped llm_key for it. otherwise return `none`.STRING
HIGHskyvern/forge/sdk/schemas/tasks.py0if the `block` has a `model` defined, then return the mapped llm_key for it. otherwise return `none`.STRING
HIGHskyvern/forge/sdk/workflow/models/block.py0if the `block` has a `model` defined, then return the mapped llm_key for it. otherwise return `none`.STRING
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/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/file_upload_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/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
HIGHskyvern/client/types/print_page_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/action_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/navigation_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/pdf_parser_block_yaml.py0optional pointer to the label of the next block. when omitted, it will default to sequential order. see [[s-4bnl]].STRING
74 more matches not shown…
Deep Nesting553 hits · 376 pts
SeverityFileLineSnippetContext
LOWrun_streaming.py18CODE
LOWtests/unit/test_budget_preflight.py10CODE
LOWtests/unit/test_copilot_turn_intent_tool_gate.py758CODE
LOWtests/unit/test_scrape_default_no_overlay.py57CODE
LOWtests/unit/test_scrape_default_no_overlay.py74CODE
LOWtests/unit/test_iframe_mcp_e2e.py96CODE
LOWtests/unit/test_video_utils.py128CODE
LOWtests/unit/test_video_utils.py206CODE
LOWtests/unit/test_fail_task_error_detection.py44CODE
LOWtests/unit/test_fail_task_error_detection.py99CODE
LOWtests/unit/test_fail_task_error_detection.py129CODE
LOWtests/unit/test_fail_task_error_detection.py170CODE
LOWtests/unit/test_fail_task_error_detection.py206CODE
LOWtests/unit/test_fail_task_error_detection.py242CODE
LOWtests/unit/test_fail_task_error_detection.py287CODE
LOWtests/unit/test_code_block_sandbox.py646CODE
LOWtests/unit/test_error_detection_integration.py65CODE
LOWtests/unit/test_error_detection_integration.py365CODE
LOWtests/unit/test_error_detection_integration.py409CODE
LOWtests/unit/test_error_detection_integration.py448CODE
LOWtests/unit/test_error_detection_integration.py522CODE
LOWtests/unit/test_animation_wait_attrs.py16CODE
LOWtests/unit/test_domutils_scroll_helpers_gating.py28CODE
LOWtests/unit/test_domutils_scroll_helpers_gating.py56CODE
LOWtests/unit/test_domutils_scroll_helpers_gating.py96CODE
LOWtests/unit/test_vertex_cache_model_extraction.py44CODE
LOW…sts/unit/workflow/test_block_browser_state_recovery.py237CODE
LOWtests/unit/workflow/test_file_parser_error_code.py149CODE
LOWtests/unit/workflow/test_file_parser_error_code.py172CODE
LOWtests/unit/workflow/test_file_parser_error_code.py195CODE
LOWtests/unit/workflow/test_file_parser_error_code.py228CODE
LOWtests/unit/workflow/test_file_parser_error_code.py257CODE
LOWtests/unit/workflow/test_file_parser_error_code.py282CODE
LOWtests/unit/workflow/test_file_parser_error_code.py408CODE
LOWtests/unit/workflow/test_file_parser_error_code.py433CODE
LOWtests/unit/workflow/test_file_parser_error_code.py460CODE
LOWtests/unit/workflow/test_file_parser_error_code.py491CODE
LOWtests/smoke_tests/test_prompts.py54CODE
LOWscripts/test_persistent_browsers.py286CODE
LOWscripts/profile_workflow_run.py45CODE
LOWevaluation/core/utils.py23CODE
LOWevaluation/script/eval_webvoyager_task_v2.py75CODE
LOWskyvern/core/script_generations/script_skyvern_page.py180CODE
LOWskyvern/core/script_generations/script_skyvern_page.py402CODE
LOWskyvern/core/script_generations/script_skyvern_page.py793CODE
LOWskyvern/core/script_generations/script_skyvern_page.py837CODE
LOWskyvern/core/script_generations/script_validators.py38CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py300CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py466CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py577CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py647CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py891CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py1067CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py1589CODE
LOW…vern/core/script_generations/script_block_extractor.py116CODE
LOW…vern/core/script_generations/script_block_extractor.py180CODE
LOW…vern/core/script_generations/script_block_extractor.py226CODE
LOW…vern/core/script_generations/script_block_extractor.py262CODE
LOWskyvern/core/script_generations/fuzzy_matcher.py26CODE
LOWskyvern/core/script_generations/generate_script.py215CODE
493 more matches not shown…
Fake / Example Data287 hits · 282 pts
SeverityFileLineSnippetContext
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts17 totp_identifier: "user@example.com",CODE
LOW…yvern-frontend/src/components/PushTotpCodeForm.test.ts38 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
LOWskyvern-frontend/src/routes/tasks/create/PromptBox.tsx62 prompt: `Go to https://jobs.lever.co/leverdemo-8/45d39614-464a-4b62-a5cd-8683ce4fb80a/apply, fill out the job applicCODE
LOWskyvern-frontend/src/routes/tasks/create/PromptBox.tsx80 prompt: `Go to https://canadahvac.com/contact-hvac-canada. Fill out the contact us form and submit it. Your goal is CODE
LOW…kflows/workflowRun/blockDetail/BlockInspector.test.tsx140 text: "user@example.com",CODE
LOW…kflows/workflowRun/blockDetail/BlockInspector.test.tsx148 expect(screen.getByText("user@example.com")).toBeDefined();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…ntend/src/routes/credentials/CredentialsModal.test.tsx89 username: "user@example.com",CODE
LOW…ntend/src/routes/credentials/CredentialsModal.test.tsx188 target: { value: "user@example.com" },CODE
LOW…rontend/src/routes/credentials/CredentialItem.test.tsx51 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx38 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx473 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx486 return next.totp_identifier === "user@example.com";CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx501 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx533 username: "user@example.com",CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx551 next.totp_identifier === "user@example.com"CODE
LOW…/routes/credentials/PasswordCredentialContent.test.tsx578 username: "user@example.com",CODE
LOW…ontend/src/routes/credentials/CredentialsList.test.tsx36 credential: { username: "user@example.com", totp_type: "none" },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
LOWtests/unit/test_auto_completion_location.py511 # LLM should be called because "No results" doesn't contain "123 Main St"COMMENT
LOWtests/unit/test_auto_completion_location.py34_TASK = make_task(_NOW, _ORG, navigation_payload={"address": "123 Main St"})CODE
LOWtests/unit/test_auto_completion_location.py357 text="123 Main St",CODE
LOWtests/unit/test_auto_completion_location.py504 text="123 Main St",CODE
LOWtests/unit/test_auto_completion_location.py128 text="123 Main St",CODE
LOWtests/unit/test_auto_completion_location.py172 text="123 Main St", # Double spaces - should still match after normalizationCODE
LOWtests/unit/test_auto_completion_location.py222 text="123 Main St",CODE
LOWtests/unit/test_auto_completion_location.py307 text="123 Main St",CODE
LOWtests/unit/test_auto_completion_location.py386 text="123 Main St",CODE
LOWtests/unit/test_auto_completion_location.py553 text="123 Main St",CODE
LOWtests/unit/test_copilot_code_block_persist_seam.py1586 locations = [{{"address": "123 Main St"}}]CODE
LOWtests/unit/test_script_reviewer_validators.py70 {"email": "user@example.com", "password": "secret123"},CODE
LOWtests/unit/test_script_reviewer_validators.py117 {"website_url": "https://portal.vendor.com/login", "email": "user@example.com"},CODE
LOWtests/unit/test_script_reviewer_validators.py777 "value=context.parameters['fake_key']",STRING
LOWtests/unit/test_script_reviewer_validators.py780 ("fake_key", "!self-output"),STRING
LOWtests/unit/test_script_reviewer_validators.py811 "# context.parameters['fake_key']\n"STRING
LOWtests/unit/test_otp_service.py123 "totp_identifier": "user@example.com",CODE
LOWtests/unit/test_otp_service.py132 token.token = "fake-token"CODE
LOWtests/unit/test_otp_service.py503 "fake-token",CODE
LOWtests/unit/test_script_skyvern_page.py1782 script_page, "dynamic_field_map", new=AsyncMock(side_effect=[{0: "x@y.com"}, {}, {0: "555-0100"}])CODE
LOWtests/unit/test_script_skyvern_page.py1788 pages_filled = await script_page.fill_multipage_form({"email": "x@y.com", "phone": "555-0100"})CODE
LOWtests/unit/test_script_skyvern_page.py2124 result = await script_page.fill("#username", "user@example.com", mode="direct")CODE
LOWtests/unit/test_script_skyvern_page.py2126 assert result == "user@example.com"CODE
LOWtests/unit/test_script_skyvern_page.py2130 fill_index = locator.calls.index(("fill", "user@example.com"))CODE
LOWtests/unit/test_script_skyvern_page.py2144 await script_page.fill("#username", "user@example.com", mode="direct")CODE
LOWtests/unit/test_totp_identifier_fallback.py24 totp_identifier="user@example.com",CODE
LOWtests/unit/test_totp_identifier_fallback.py73 assert context.get_credential_totp_identifier("credential_param") == "user@example.com"CODE
LOWtests/unit/test_totp_identifier_fallback.py131 username="user@example.com",CODE
227 more matches not shown…
Self-Referential Comments53 hits · 157 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_script_skyvern_page.py130 # Create a mock page first, then set page to None after constructionCOMMENT
MEDIUMtests/unit/test_download_file_action_handler.py419 # Create a read-only directory to simulate write failureCOMMENT
MEDIUMtests/unit/test_forloop_script_generation.py208 # Create a mock CodeGenInput with ForLoop blockCOMMENT
MEDIUMtests/unit/test_aiohttp_helper.py899 # Create a temporary file for testingCOMMENT
MEDIUMtests/unit/test_aiohttp_helper.py953 # Create a temporary file for testingCOMMENT
MEDIUMtests/unit/test_aiohttp_helper.py1080 # Create a temporary file for testingCOMMENT
MEDIUMtests/unit/test_http_block_raw_filter.py344 # Create a real context to test the methodCOMMENT
MEDIUMtests/unit/test_local_file_path_validation.py83 # Create a symlink inside the sandbox that points to /etc/passwdCOMMENT
MEDIUMtests/unit/test_vertex_cache_model_extraction.py114 # Create a mock router config that matches the real GEMINI_3_0_FLASH_WITH_FALLBACKCOMMENT
MEDIUMtests/unit/test_aws_client_ttl.py202 # Create a stream that raises on seekCOMMENT
MEDIUMtests/unit/workflow/test_file_parser_block.py109 # Create a minimal valid PDF fileCOMMENT
MEDIUMtests/unit/embedded/test_sqlite_server_mode.py406 # Create a client with a bad setting that will cause validation errorCOMMENT
MEDIUMtests/unit_tests/test_file_parser_block.py25 # Create a mock OutputParameter with all required fieldsCOMMENT
MEDIUMtests/unit_tests/test_file_parser_block.py88 # Create a mock OutputParameterCOMMENT
MEDIUMtests/unit_tests/test_file_parser_block.py151 # Create a binary file that's definitely not CSVCOMMENT
MEDIUMtests/unit_tests/test_file_parser_block.py233 # Create a DataFrame with NaN, NaT, and timestamp valuesCOMMENT
MEDIUMtests/unit_tests/test_schema_validator.py455 # Create a schema that will fail Draft202012Validator.check_schemaCOMMENT
MEDIUMtests/sdk/python_sdk/conftest.py57 # Create a handler class that serves from the specific directoryCOMMENT
MEDIUMdocs/api-reference/openapi.json566 "code": "\nfrom skyvern import Skyvern\n\n# Create a workflow in JSON format\nworkflow_definition = {\n CODE
MEDIUMdocs/api-reference/openapi.json3117 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\n# Create a blank brCODE
MEDIUMfern/openapi/skyvern_openapi.json568 "code": "\nfrom skyvern import Skyvern\n\n# Create a workflow in JSON format\nworkflow_definition = {\n CODE
MEDIUMfern/openapi/skyvern_openapi.json2310 "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\n# Create a blank brCODE
MEDIUMskyvern/core/script_generations/real_skyvern_page_ai.py835 # Create the episode now so v3's agent can attach decisions to it.COMMENT
MEDIUMskyvern/core/script_generations/generate_script.py2728 # Create the for loop target (current_value)COMMENT
MEDIUMskyvern/core/script_generations/generate_script.py2751 # Create the async for loopCOMMENT
MEDIUMskyvern/core/script_generations/generate_script.py3698 # Create a requires_agent entry (no code, no run_signature)COMMENT
MEDIUMskyvern/core/script_generations/generate_script.py3843 # Create a temporary module to convert the start block content to a functionCOMMENT
MEDIUMskyvern/webeye/actions/handler.py4374 # Create a TerminateAction and execute itCOMMENT
MEDIUMskyvern/webeye/actions/handler.py3791# This function is deprecated in 'extract-actions' prompt. Downloads are handled by the click action handler now.COMMENT
MEDIUMskyvern/library/skyvern_browser.py32 # Create a new pageSTRING
MEDIUMskyvern/cli/mcp_tools/prompts.py884 # Create a new commentCOMMENT
MEDIUMskyvern/forge/sdk/log_artifacts.py85 # This function is called from ``update_workflow_run`` in the DB layer, whichCOMMENT
MEDIUMskyvern/forge/sdk/workflow/service.py1462 # Create the workflow run and set skyvern contextCOMMENT
MEDIUMskyvern/forge/sdk/workflow/service.py4334 # Create the browser with the saved profile and navigateCOMMENT
MEDIUMskyvern/forge/sdk/workflow/service.py8408 # Create a new version of the SAME script_id instead of a new scriptCOMMENT
MEDIUMskyvern/forge/sdk/workflow/models/block.py2231 # Create a temporary output parameter using the current block's workflow_idCOMMENT
MEDIUMskyvern/forge/sdk/workflow/models/block.py2594 # Create a failure block result for this iterationCOMMENT
MEDIUMskyvern/forge/sdk/api/llm/config_registry.py1536# Create a GCP service account WITH the Vertex AI API access enabledCOMMENT
MEDIUMskyvern/forge/sdk/routes/agent_protocol.py5302 # Create a new timeline with processed childrenCOMMENT
MEDIUMskyvern/forge/sdk/routes/credentials.py820 # Create a temporary credentialCOMMENT
MEDIUMskyvern/forge/sdk/routes/credentials.py2479 # Create the new tokenCOMMENT
MEDIUMskyvern/forge/sdk/routes/credentials.py2736 # Create the new Azure tokenCOMMENT
MEDIUMskyvern/forge/sdk/routes/credentials.py2842 # Create the new configurationCOMMENT
MEDIUMskyvern/forge/sdk/routes/code_samples.py910# Create a blank browser profile for future runsCOMMENT
MEDIUMskyvern/forge/sdk/routes/code_samples.py916# Create a browser profile from a persistent browser sessionCOMMENT
MEDIUMskyvern/forge/sdk/routes/code_samples.py277# Create a workflow in JSON formatCOMMENT
MEDIUMskyvern/forge/sdk/routes/scripts.py584 # Create a new version of the scriptCOMMENT
MEDIUMskyvern/forge/sdk/routes/scripts.py1400 # Create a new script version with the updated blocksCOMMENT
MEDIUMskyvern/services/workflow_script_service.py1884 # Create a new script versionCOMMENT
MEDIUMskyvern/services/workflow_script_service.py2053 # Create the workflow script mapping for cache lookupCOMMENT
MEDIUMskyvern/services/workflow_script_service.py2181 # Create a new script versionCOMMENT
MEDIUMskyvern/services/task_v2_service.py242 # Create a dedicated termination thought for UI visibilityCOMMENT
MEDIUMskyvern/services/script_service.py1642 # Create a new script versionCOMMENT
Docstring Block Structure30 hits · 150 pts
SeverityFileLineSnippetContext
HIGHskyvern/core/script_generations/skyvern_page.py346Click an element using a CSS selector, AI-powered prompt matching, or both. This method supports three modes: STRING
HIGHskyvern/core/script_generations/skyvern_page.py553Fill an input field using a CSS selector, AI-powered prompt matching, or both. This method supports three modesSTRING
HIGHskyvern/core/script_generations/skyvern_page.py705Fill an autocomplete input by typing a value and clicking the matching dropdown option. Handles widgets like GoSTRING
HIGHskyvern/core/script_generations/skyvern_page.py1262Select an option from a dropdown using a CSS selector, AI-powered prompt matching, or both. This method supportSTRING
HIGHskyvern/core/script_generations/skyvern_page.py1420Extract structured data from the page using AI. Args: prompt: Natural language description of what STRING
HIGHskyvern/core/script_generations/skyvern_page.py1468Validate the current page state using AI. Args: prompt: Validation criteria or condition to check STRING
HIGHskyvern/core/script_generations/skyvern_page.py1511Classify the current page state against named options using a tiered cascade. This method uses a three-tier appSTRING
HIGHskyvern/core/script_generations/skyvern_page.py3396Activate 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.py3439Send 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.py3510Get a Playwright locator using a CSS selector, AI-powered prompt, or both. This method extends Playwright's locSTRING
HIGHskyvern/library/skyvern_browser_page_agent.py356Run 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.py188Sanitizes 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.py602 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.py9890 Resolve a dotted/bracket access path on a nested value. Examples: _resolve_nested_path({"a": {"b": 1}}STRING
HIGHskyvern/forge/sdk/workflow/models/block.py10027 Extract the evaluations array from LLM output. ExtractionBlock wraps output in 'extracted_information', so we STRING
HIGHskyvern/forge/sdk/db/repositories/artifacts.py160Return 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.py170 Create a credential using the custom API. Args: name: Name of the credential cSTRING
HIGHskyvern/forge/sdk/api/custom_credential_client.py254 Get a credential using the custom API. Args: credential_id: ID of the credential to retrieSTRING
HIGHskyvern/forge/sdk/api/llm/api_handler_factory.py1136 Custom LLM API handler that utilizes the LiteLLM router and fallbacks to OpenAI GPT-4 Vision. STRING
HIGHskyvern/forge/sdk/routes/agent_protocol.py3954 Get all artifacts for an entity (step, task, workflow_run). Args: entity_type: Type of entity to fetchSTRING
HIGHskyvern/forge/sdk/routes/webhooks.py216Return the replay payload preview for a completed run. Args: run_id (str): Identifier of the run to previewSTRING
HIGHskyvern/forge/sdk/routes/webhooks.py270Replay 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.py39 Get or create a CustomCredentialAPIClient for the given organization. Args: organization_iSTRING
Structural Annotation Overuse85 hits · 139 pts
SeverityFileLineSnippetContext
LOWREADME.md274#### Step 1: Enable remote debugging in ChromeCOMMENT
LOWREADME.md283#### Step 2: Connect SkyvernCOMMENT
LOW…-frontend/src/routes/workflows/editor/FlowRenderer.tsx1058 // Step 1: Remove inline {{ deleted_block_output }} references from all nodesCOMMENT
LOW…-frontend/src/routes/workflows/editor/FlowRenderer.tsx1065 // Step 2: Remove from parameterKeys arrays and handle special casesCOMMENT
LOW…end/src/routes/workflows/editor/workflowEditorUtils.ts3851 // Step 1: Update inline {{ old_output }} references to {{ new_output }}COMMENT
LOW…end/src/routes/workflows/editor/workflowEditorUtils.ts3858 // Step 2: Update parameterKeys arrays and the label of the renamed nodeCOMMENT
LOW…es/workflows/editor/panels/WorkflowParametersPanel.tsx80 // Step 1: Remove inline {{ parameter.key }} referencesCOMMENT
LOW…es/workflows/editor/panels/WorkflowParametersPanel.tsx85 // Step 2: Remove from parameterKeys arraysCOMMENT
LOW…es/workflows/editor/panels/WorkflowParametersPanel.tsx280 // Step 1: Update inline {{ old_key }} references to {{ new_key }}COMMENT
LOW…es/workflows/editor/panels/WorkflowParametersPanel.tsx285 // 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
LOWtests/unit/workflow/test_browser_session_id_template.py244 # Step 1: Register context (like initialize_workflow_run_context does)COMMENT
LOWtests/unit/workflow/test_browser_session_id_template.py254 # Step 2: Simulate auto_create_browser_session_if_needed returning a session,COMMENT
LOWtests/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.py3981 # Step 1: Get or create ScriptBlock record for this revisionCOMMENT
LOWskyvern/core/script_generations/generate_script.py4014 # Step 2: Create or update ScriptFile with content deduplicationCOMMENT
LOWskyvern/webeye/utils/dom.py1109 # Step 1: Use native element.scrollIntoView() which handles both window scrollingCOMMENT
LOWskyvern/webeye/utils/dom.py1150 # Step 2: Playwright actionability confirmation. After Step 1, the element shouldCOMMENT
LOWskyvern/cli/browser.py252 # Step 1: Check if debugging is already enabledCOMMENT
LOWskyvern/cli/browser.py266 # Step 2: Guide the user to enable Chrome remote debugging.COMMENT
LOWskyvern/cli/browser.py274 # Step 3: Auto-discover the debugging server with retriesCOMMENT
LOWskyvern/cli/browser.py293 # Step 4: Fallback — ask for manual URLCOMMENT
LOWskyvern/cli/setup_commands.py1013 # Step 1: CredentialsCOMMENT
LOWskyvern/cli/setup_commands.py1022 # Step 2: Detect toolsCOMMENT
LOWskyvern/cli/setup_commands.py1069 # 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.md335## Step 5: Report ResultsCOMMENT
LOWskyvern/cli/skills/qa/SKILL.md369## 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.md312## Step 7: Report ResultsCOMMENT
LOWskyvern/cli/skills/smoke-test/SKILL.md360## 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
LOWskyvern/cli/mcp_tools/prompts.py159### Step 1: Create and runCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py163### Step 2: Check statusCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py170### Step 3: Fix and re-runCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py249## Step 1: Read the ErrorCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py846## Step 5: Post Evidence to PRCOMMENT
25 more matches not shown…
Modern Structural Boilerplate126 hits · 130 pts
SeverityFileLineSnippetContext
LOWtests/unit/fake_workflow_run_context.py42 def update_block_metadata(self, label: str, metadata: dict[str, Any]) -> None:CODE
LOWtests/unit/fake_workflow_run_context.py51 def set_value(self, key: str, value: Any) -> None:CODE
LOWtests/unit/test_block_description_caching.py53def _setup_mocks(mock_app: MagicMock) -> None:CODE
LOWtests/unit/test_cdp_connection_retry.py19def _set_budget(monkeypatch: pytest.MonkeyPatch, attempts: int, backoff: list[float]) -> None:CODE
LOWtests/unit/test_quickstart_command.py26def _set_home(monkeypatch, home: Path) -> 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
LOW…unit/test_copilot_code_artifact_metadata_violations.py905 def set_attributes(self, fields: dict) -> None:STRING
LOWtests/unit/test_copilot_completion_verification.py3057def _set_workflow_labels(ctx: CopilotContext, *labels: str) -> None:STRING
LOWtests/unit/test_pdf_download_fixes.py471 def _setup_context(self) -> None:CODE
LOWtests/unit/test_artifact_url_expiry_org_config.py410__all__ = [CODE
LOWtests/unit/test_collapse_fanout_gates.py63def _set_provider(monkeypatch: pytest.MonkeyPatch, provider: FakeExperimentationProvider) -> None:CODE
LOWtests/unit/test_copilot_frontier.py1305def _set_failure_ctx(ctx: CopilotContext, definition: _FakeDefinition, reason: str) -> None:STRING
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/workflow/test_dag_engine.py79 def update_block_metadata(self, label: str, metadata: dict) -> None:CODE
LOWtests/unit/workflow/test_code_block_escalation.py177 async def _update_workflow_run_block(**kwargs: object) -> None:CODE
LOWscripts/patch_generated_client.py77FORWARD_REFS_OLD = """def update_forward_refs(model: Type["Model"], **localns: Any) -> None:CODE
LOWscripts/patch_generated_client.py83FORWARD_REFS_NEW = """def update_forward_refs(model: Type["Model"], **localns: Any) -> None:CODE
LOWskyvern/__init__.py52__all__ = ["__version__", *_base_lazy_imports, *_server_lazy_imports]CODE
LOWskyvern/settings_manager.py13 def set_settings(settings: Settings) -> None:CODE
LOWskyvern/core/script_generations/script_skyvern_page.py1115 async def _update_step_output_before_complete(self, context: skyvern_context.SkyvernContext) -> None:CODE
LOWskyvern/core/script_generations/script_skyvern_page.py1171 def set_run_context(self, run_context: RunContext) -> None:CODE
LOWskyvern/core/script_generations/script_skyvern_page.py1179 def set_cached_fn(self, cache_key: str, fn: Callable) -> None:CODE
LOWskyvern/experimentation/__init__.py5__all__ = ["WaitConfig", "get_wait_config_from_experiment", "WAIT_VARIANTS"]CODE
LOWskyvern/webeye/browser_state.py56 async def set_working_page(self, page: Page | None, index: int = 0) -> None: ...CODE
LOWskyvern/webeye/browser_state.py58 async def set_active_page(self, page: Page) -> None: ...CODE
LOWskyvern/webeye/dialog_handler.py118def set_dialog_handler(browser_context: BrowserContext) -> None:CODE
LOWskyvern/webeye/real_browser_state.py339 async def set_working_page(self, page: Page | None, index: int = 0) -> None:CODE
LOWskyvern/webeye/real_browser_state.py345 async def set_active_page(self, page: Page) -> None:CODE
LOWskyvern/webeye/browser_factory.py134def set_browser_console_log(browser_context: BrowserContext, browser_artifacts: BrowserArtifacts) -> None:CODE
LOWskyvern/webeye/browser_factory.py161def set_popup_video_listener(browser_context: BrowserContext, browser_artifacts: BrowserArtifacts) -> None:CODE
LOWskyvern/webeye/cdp_download_interceptor.py345 def set_download_dir(self, download_dir: str) -> None:CODE
LOWskyvern/webeye/real_browser_manager.py541 def set_video_artifact_for_task(self, task: Task, artifacts: list[VideoArtifact]) -> None:CODE
LOWskyvern/webeye/browser_manager.py65 def set_video_artifact_for_task(self, task: Task, artifacts: list[VideoArtifact]) -> None: ...CODE
LOWskyvern/webeye/scraper/scraper.py715 def set_element_tree_trimmed(self, element_tree_trimmed: list[dict]) -> None:CODE
LOWskyvern/webeye/utils/page.py1003 async def _set_enriched_element_tree_flag(self) -> None:STRING
LOWskyvern/webeye/actions/actions.py183 def set_has_mini_agent(self) -> None:CODE
LOWskyvern/library/__init__.py8__all__ = ["Skyvern"]CODE
LOWskyvern/cli/__init__.py3__all__ = [CODE
LOWskyvern/cli/llm_setup.py90 def set_env_var(key: str, value: str) -> None:CODE
LOWskyvern/cli/init_command.py408 def set_env_var(key: str, value: str) -> None:CODE
LOWskyvern/cli/core/session_manager.py278def set_current_session(state: SessionState) -> None:CODE
LOWskyvern/cli/core/session_manager.py299def set_stateless_http_mode(enabled: bool) -> None:CODE
LOWskyvern/cli/core/__init__.py36__all__ = [CODE
LOWskyvern/cli/core/result.py44def set_concise_responses(enabled: bool) -> None:CODE
LOWskyvern/cli/core/unified_server.py59 def _setup_routes(self) -> None:CODE
LOWskyvern/cli/mcp_tools/origin_middleware.py134__all__ = ["MCP_LOOPBACK_HOSTS", "MCP_ORIGIN_HOSTS", "OriginValidationMiddleware", "is_allowed_origin"]CODE
LOWskyvern/cli/mcp_tools/_common.py70__all__ = [CODE
LOWskyvern/cli/mcp_tools/__init__.py516__all__ = [STRING
LOWskyvern/cli/mcp_tools/response.py199__all__ = [CODE
LOWskyvern/cli/mcp_tools/_session.py26__all__ = [CODE
LOWskyvern/cli/mcp_tools/_client.py11__all__ = ["get_skyvern"]CODE
LOWskyvern/cli/mcp_tools/schedule.py568__all__ = [CODE
LOWskyvern/cli/mcp_tools/code_block.py182__all__ = ["skyvern_code_block_lint", "skyvern_code_block_synthesize"]CODE
LOWskyvern/schemas/llm.py6__all__ = [CODE
LOWskyvern/forge/__init__.py14 def set_app(self, inst: ForgeApp) -> None:CODE
LOWskyvern/forge/__init__.py38def set_force_app_instance(inst: ForgeApp) -> None:CODE
LOWskyvern/forge/agent_functions.py1173 async def set_workflow_schedule_enabled(self, backend_schedule_id: str, enabled: bool) -> None:CODE
LOWskyvern/forge/sdk/settings_manager.py3__all__ = ["SettingsManager"]CODE
66 more matches not shown…
AI Structural Patterns169 hits · 124 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_cached_script_deploy_service.py81CODE
LOW…sts/unit/test_chain_click_blocked_anchor_navigation.py304CODE
LOWtests/unit/test_llm_handler_parity_characterization.py236CODE
LOWtests/unit/test_llm_handler_parity_characterization.py285CODE
LOWtests/unit/test_schedule_mcp_tools.py27CODE
LOWtests/unit/test_copilot_failure_tracking.py32CODE
LOWtests/unit/copilot_test_helpers.py163CODE
LOWskyvern/core/script_generations/skyvern_page_ai.py36CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py300CODE
LOWskyvern/core/script_generations/real_skyvern_page_ai.py1587CODE
LOWskyvern/core/script_generations/generate_script.py3175CODE
LOWskyvern/core/script_generations/skyvern_page.py539CODE
LOWskyvern/core/script_generations/skyvern_page.py656CODE
LOWskyvern/core/script_generations/skyvern_page.py1003CODE
LOWskyvern/webeye/browser_state.py23CODE
LOWskyvern/webeye/browser_state.py40CODE
LOWskyvern/webeye/browser_state.py68CODE
LOWskyvern/webeye/browser_state.py101CODE
LOWskyvern/webeye/persistent_sessions_manager.py92CODE
LOWskyvern/webeye/real_browser_state.py149CODE
LOWskyvern/webeye/real_browser_state.py350CODE
LOWskyvern/webeye/real_browser_state.py448CODE
LOWskyvern/webeye/real_browser_state.py560CODE
LOWskyvern/webeye/default_persistent_sessions_manager.py342CODE
LOWskyvern/webeye/real_browser_manager.py187CODE
LOWskyvern/webeye/scraper/scraper.py190CODE
LOWskyvern/webeye/scraper/scraper.py386CODE
LOWskyvern/webeye/actions/handler.py6262CODE
LOWskyvern/library/skyvern.py294CODE
LOWskyvern/library/skyvern.py351CODE
LOWskyvern/library/skyvern.py407CODE
LOWskyvern/library/embedded_server_factory.py127CODE
LOWskyvern/library/skyvern_browser_page_agent.py42CODE
LOWskyvern/library/skyvern_browser_page_agent.py108CODE
LOWskyvern/library/skyvern_browser_page_agent.py123CODE
LOWskyvern/library/skyvern_browser_page_agent.py155CODE
LOWskyvern/library/skyvern_browser_page_agent.py172CODE
LOWskyvern/library/skyvern_browser_page_agent.py289CODE
LOWskyvern/library/skyvern_browser_page_agent.py343CODE
LOWskyvern/library/skyvern_browser_page_ai.py79CODE
LOWskyvern/cli/credentials.py59CODE
LOWskyvern/cli/schedule_command.py181CODE
LOWskyvern/cli/schedule_command.py214CODE
LOWskyvern/cli/setup_commands.py1184CODE
LOWskyvern/cli/setup_commands.py1226CODE
LOWskyvern/cli/setup_commands.py1274CODE
LOWskyvern/cli/setup_commands.py1300CODE
LOWskyvern/cli/setup_commands.py1339CODE
LOWskyvern/cli/setup_commands.py1455CODE
LOWskyvern/cli/workflow.py271CODE
LOWskyvern/cli/init_command.py328CODE
LOWskyvern/cli/init_command.py346CODE
LOWskyvern/cli/init_command.py363CODE
LOWskyvern/cli/quickstart.py764CODE
LOWskyvern/cli/commands/browser.py470CODE
LOWskyvern/cli/commands/browser.py682CODE
LOWskyvern/cli/commands/browser.py781CODE
LOWskyvern/cli/commands/browser.py911CODE
LOWskyvern/cli/commands/browser.py1014CODE
LOWskyvern/cli/commands/browser.py1180CODE
109 more matches not shown…
Redundant / Tautological Comments75 hits · 108 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.py285 # Check if this task has existing field names to preserveCOMMENT
LOWskyvern/core/script_generations/generate_script.py3605 # Check if already cached (for progressive caching)COMMENT
LOWskyvern/core/script_generations/generate_script.py3675 # Check if the reviewer has already provided code for this blockCOMMENT
LOWskyvern/core/script_generations/skyvern_page.py903 # Check if the value persistedCOMMENT
LOWskyvern/experimentation/wait_config.py170 # Check if user is in the experimentCOMMENT
LOWskyvern/webeye/browser_factory.py952 # Check if Chrome is already runningCOMMENT
LOWskyvern/webeye/scraper/scraped_page.py122 # Check if the element is self-closingCOMMENT
LOWskyvern/webeye/actions/handler.py4364 # Check if we should terminate instead of completeCOMMENT
LOWskyvern/webeye/actions/handler.py2886 # Check if cached TOTP has expiredCOMMENT
LOWskyvern/cli/doctor.py291 # 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.py1530 # Check if Chrome process is still aliveCOMMENT
LOWskyvern/cli/commands/browser.py1616 # Check if ngrok is installedCOMMENT
LOWskyvern/cli/commands/browser.py1626 # Check if ngrok auth token is configuredCOMMENT
LOWskyvern/cli/commands/browser.py1650 # Check if ngrok died (e.g. bad auth token, port conflict)COMMENT
LOWskyvern/forge/agent.py2063 # Check if Skyvern already returned a complete action, if so, don't run user goal checkCOMMENT
LOWskyvern/forge/agent.py2254 # Check if the src is a data URI with base64 encoded PDFCOMMENT
LOWskyvern/forge/agent.py3105 # Check if we should use the termination-aware prompt (experiment)COMMENT
LOWskyvern/forge/agent.py3240 # Check if we should terminate instead of completeCOMMENT
LOWskyvern/forge/agent.py3564 # Check if we have pre-scraped data from parallel verification optimizationCOMMENT
LOWskyvern/forge/agent.py4121 # Check if prompt caching is enabled for extract-actionCOMMENT
LOWskyvern/forge/agent.py4450 # Check if inputs are close together or have similar attributesCOMMENT
LOWskyvern/forge/agent.py4510 # Check if we have multiple consecutive single-digit INPUT_TEXT actionsCOMMENT
LOWskyvern/forge/agent.py5756 # Check if this is an LLM provider errorCOMMENT
LOWskyvern/forge/agent.py5814 # Check if we have LLM errors even if the summarization failedCOMMENT
LOWskyvern/forge/agent.py5883 # Check if this is an LLM provider errorCOMMENT
LOWskyvern/forge/agent.py5961 # Check if we have LLM errors even if the summarization failedCOMMENT
LOWskyvern/forge/agent.py6104 # Check if parallel verification should be usedCOMMENT
LOWskyvern/forge/sdk/models.py124 # Check if there is a successful complete actionCOMMENT
LOWskyvern/forge/sdk/models.py160 # Check if there is a successful terminate actionCOMMENT
LOWskyvern/forge/sdk/forge_log.py347 # Check if it's a subclass of known exception typesCOMMENT
LOWskyvern/forge/sdk/forge_log.py396 # Check if exception is a subclass of transient exceptionsCOMMENT
LOWskyvern/forge/sdk/forge_log.py403 # Check if exception is a subclass of bug exceptionsCOMMENT
LOW…rn/forge/sdk/workflow/workflow_definition_converter.py112 # Check if user's trying to manually create an output parameterCOMMENT
LOW…rn/forge/sdk/workflow/workflow_definition_converter.py125 # Check if any parameter keys collide with automatically created output parameter keysCOMMENT
LOWskyvern/forge/sdk/workflow/service.py2621 # Check if there's a related workflow script that should be used instead.COMMENT
LOWskyvern/forge/sdk/workflow/service.py2682 # Check if there's a finally block configuredCOMMENT
LOWskyvern/forge/sdk/workflow/service.py4086 # Check if this block is designated as requires_agent by the script reviewer.COMMENT
LOWskyvern/forge/sdk/workflow/service.py4094 # Check if this block has never been cached (e.g. from an unexecutedCOMMENT
LOWskyvern/forge/sdk/workflow/service.py5913 # Check if this workflow/org should use browser sessions (anti-bot detection mitigation)COMMENT
LOWskyvern/forge/sdk/workflow/service.py8569 # Check if the script is pinned — skip auto-review for pinned scripts.COMMENT
LOWskyvern/forge/sdk/workflow/context_manager.py615 # Check if it's in the format vault_id:item_idCOMMENT
LOWskyvern/forge/sdk/workflow/context_manager.py835 # Check if item is NoneCOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py9134 # Check if file_path is a URL or managed storage URICOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py9142 # Check if file is in allowed directoriesCOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py9152 # Check if file is within any allowed directoryCOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py1957 # Check if this looks like a parameter path (contains dots and/or _output)COMMENT
LOWskyvern/forge/sdk/workflow/models/block.py6642 # Check if the recipient is a parameter and get its valueCOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py6720 # Check if the filename has an extensionCOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py8395 # Check if timeout_seconds has elapsedCOMMENT
LOWskyvern/forge/sdk/workflow/models/block.py8904 # Check if url is a parameterCOMMENT
LOWskyvern/forge/sdk/db/repositories/folders.py174 # Check if folder existsCOMMENT
LOWskyvern/forge/sdk/api/files.py202 # Check if URL is a Google Drive linkCOMMENT
LOWskyvern/forge/sdk/api/files.py210 # Check if URL is a cloud storage URI handled by the configured storage backend.COMMENT
LOWskyvern/forge/sdk/api/files.py233 # Check if URL is a file:// URICOMMENT
LOWskyvern/forge/sdk/api/llm/schema_validator.py75 # Check if null is allowed in the schema typeCOMMENT
LOWskyvern/forge/sdk/api/llm/api_handler_factory.py1283 # Check if this is an OpenAI modelCOMMENT
LOWskyvern/forge/sdk/api/llm/api_handler_factory.py2045 # Check if this is an OpenAI modelCOMMENT
LOWskyvern/forge/sdk/api/llm/utils.py326 # Check if the next non-whitespace character is a JSON structure characterCOMMENT
15 more matches not shown…
Hallucination Indicators8 hits · 100 pts
SeverityFileLineSnippetContext
CRITICALtests/unit/test_script_skyvern_page.py971 assert "654321" not in script_page._ai.ai_input_text.await_args.kwargs.values()CODE
CRITICALtests/unit/test_script_skyvern_page.py1191 assert "654321" not in script_page._ai.ai_input_text.await_args.kwargs.values()CODE
CRITICALtests/unit/test_copilot_probable_site_block.py364 assert "configure a proxy" in exc_info.value.halt.blocker_signal.user_facing_reason.lower()STRING
CRITICALtests/unit/webeye/test_main_world_eval.py87 page.context.new_cdp_session.return_value.detach.assert_awaited_once()CODE
CRITICALtests/smoke_tests/test_prompts.py159# response = await openai_client.client.chat.completions.with_raw_response.create(**llm_request)COMMENT
CRITICALtests/smoke_tests/test_prompts.py188# response = await openai_client.client.chat.completions.with_raw_response.create(**llm_request)COMMENT
CRITICALtests/smoke_tests/test_prompts.py214# response = await openai_client.client.chat.completions.with_raw_response.create(**llm_request)COMMENT
CRITICALskyvern/forge/sdk/api/real_azure.py8from azure.core.exceptions import ResourceNotFoundErrorCODE
Verbosity Indicators59 hits · 100 pts
SeverityFileLineSnippetContext
LOW…-frontend/src/routes/workflows/editor/FlowRenderer.tsx1058 // Step 1: Remove inline {{ deleted_block_output }} references from all nodesCOMMENT
LOW…-frontend/src/routes/workflows/editor/FlowRenderer.tsx1065 // Step 2: Remove from parameterKeys arrays and handle special casesCOMMENT
LOW…end/src/routes/workflows/editor/workflowEditorUtils.ts3851 // Step 1: Update inline {{ old_output }} references to {{ new_output }}COMMENT
LOW…end/src/routes/workflows/editor/workflowEditorUtils.ts3858 // Step 2: Update parameterKeys arrays and the label of the renamed nodeCOMMENT
LOW…es/workflows/editor/panels/WorkflowParametersPanel.tsx80 // Step 1: Remove inline {{ parameter.key }} referencesCOMMENT
LOW…es/workflows/editor/panels/WorkflowParametersPanel.tsx85 // Step 2: Remove from parameterKeys arraysCOMMENT
LOW…es/workflows/editor/panels/WorkflowParametersPanel.tsx280 // Step 1: Update inline {{ old_key }} references to {{ new_key }}COMMENT
LOW…es/workflows/editor/panels/WorkflowParametersPanel.tsx285 // 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
LOWtests/unit/workflow/test_browser_session_id_template.py244 # Step 1: Register context (like initialize_workflow_run_context does)COMMENT
LOWtests/unit/workflow/test_browser_session_id_template.py254 # Step 2: Simulate auto_create_browser_session_if_needed returning a session,COMMENT
LOWtests/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.py3981 # Step 1: Get or create ScriptBlock record for this revisionCOMMENT
LOWskyvern/core/script_generations/generate_script.py4014 # Step 2: Create or update ScriptFile with content deduplicationCOMMENT
LOWskyvern/webeye/utils/dom.py1109 # Step 1: Use native element.scrollIntoView() which handles both window scrollingCOMMENT
LOWskyvern/webeye/utils/dom.py1150 # Step 2: Playwright actionability confirmation. After Step 1, the element shouldCOMMENT
LOWskyvern/cli/browser.py252 # Step 1: Check if debugging is already enabledCOMMENT
LOWskyvern/cli/browser.py266 # Step 2: Guide the user to enable Chrome remote debugging.COMMENT
LOWskyvern/cli/browser.py274 # Step 3: Auto-discover the debugging server with retriesCOMMENT
LOWskyvern/cli/browser.py293 # Step 4: Fallback — ask for manual URLCOMMENT
LOWskyvern/cli/setup_commands.py1013 # Step 1: CredentialsCOMMENT
LOWskyvern/cli/setup_commands.py1022 # Step 2: Detect toolsCOMMENT
LOWskyvern/cli/setup_commands.py1069 # Step 3: Configure detected toolsCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py159### Step 1: Create and runCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py163### Step 2: Check statusCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py170### Step 3: Fix and re-runCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py249## Step 1: Read the ErrorCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py846## Step 5: Post Evidence to PRCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py184### Step 4: Verify outputCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py267## Step 2: Diagnose the PatternCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py309## Step 3: Fix and Re-runCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py323## Step 4: EscalationCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py519## Step 1: Understand the ChangesCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py564## Step 2: Choose the Validation StrategyCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py814## Step 4: Report ResultsCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py1008## Step 1: Understand the ChangesCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py1030## Step 2: Choose the Validation StrategyCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py1083## Step 4: Report ResultsCOMMENT
LOWskyvern/cli/mcp_tools/prompts.py1113## Step 5: Remote / Stateless ConstraintsCOMMENT
LOWskyvern/schemas/workflows.py277 # Step 1: Sanitize all block labels and collect the mappingCOMMENT
LOWskyvern/schemas/workflows.py284 # Step 2: Sanitize all parameter keys and collect the mappingCOMMENT
LOWskyvern/schemas/workflows.py377 # Step 5: Update parameter_keys arrays in blocksCOMMENT
LOWskyvern/schemas/workflows.py383 # Step 6: Update finally_block_label if it references an old labelCOMMENT
LOWskyvern/schemas/workflows.py389 # Step 7: Update next_block_label in all blocksCOMMENT
LOWskyvern/schemas/workflows.py301 # Step 3: Update all block label referencesCOMMENT
LOWskyvern/schemas/workflows.py340 # Step 4: Update all parameter key referencesCOMMENT
LOWskyvern/forge/sdk/copilot/tools/__init__.py699 # Step 1: Update the workflowCOMMENT
LOWskyvern/forge/sdk/copilot/tools/__init__.py755 # Step 2: Compute frontier and run the blocks.COMMENT
LOWskyvern/forge/sdk/workflow/models/block.py1930 # If the loop_data is a dict, we need to check if the key exists in the loop_dataCOMMENT
LOWskyvern/forge/sdk/services/bitwarden.py673 # Step 4: Log outCOMMENT
LOWskyvern/forge/sdk/services/bitwarden.py761 # Step 3: Retrieve the itemsCOMMENT
LOWskyvern/forge/sdk/services/bitwarden.py815 # Step 4: Log outCOMMENT
LOWskyvern/forge/sdk/services/bitwarden.py923 # Step 3: Get the itemCOMMENT
LOWskyvern/forge/sdk/services/bitwarden.py979 # Step 4: Log outCOMMENT
Modern AI Meta-Vocabulary27 hits · 86 pts
SeverityFileLineSnippetContext
MEDIUM…rn-frontend/src/util/onboarding/OnboardingTelemetry.ts143// -- 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
MEDIUMtests/unit/test_copilot_build_phase.py69 # with an empty-blocks scaffold workflow flips `has_workflow=True`COMMENT
MEDIUMtests/unit/test_validation_evidence_router_prompts.py141 # invites it to hallucinate visual evidence. The no-page branch must notCOMMENT
MEDIUMtests/unit/test_mcp_workflow_tools.py291# Prove the exact Slack scenario: MCP agent hallucinates various model stringsCOMMENT
MEDIUMtests/unit/test_domutils_scroll_helpers_gating.py123 # And the helper that orchestrates the scroll loop defaults to False.COMMENT
MEDIUMtests/unit/test_copilot_composition_evidence.py1653 # 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/parse_actions.py126 # 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/forge/failure_classifier.py219 # LLM reasoning error (wrong action, hallucination)COMMENT
MEDIUMskyvern/forge/agent.py237# Exception types that indicate an LLM-specific step failure (context window, provider errors).COMMENT
MEDIUMskyvern/forge/agent.py798 # 1. CUA executes only one action step by step -- it's pretty less likely to have a hallucination for completionCOMMENT
MEDIUMskyvern/forge/agent.py5863 # LLM-specific failure (e.g. context window exceeded)COMMENT
MEDIUMskyvern/forge/agent_functions.py1591 # from element attributes to make sure this won't increase hallucinationCOMMENT
MEDIUMskyvern/forge/sdk/core/skyvern_context.py171 # v3 agentic reviewer — per-run cumulative budget. Initialized at workflowCOMMENT
MEDIUMskyvern/forge/sdk/copilot/request_policy.py84# Gates guardrails.py's deferred-draft tool authority — narrower than the prompt set below.COMMENT
MEDIUMskyvern/forge/sdk/copilot/composition_evidence.py472 # entrypoint scaffold — ungated so the agent can record it and scout from it.COMMENT
MEDIUMskyvern/forge/sdk/copilot/credential_pause.py242 # (guardrails.py) skips the run for a skip_test-deferred credential, same as itCOMMENT
MEDIUMskyvern/forge/sdk/copilot/code_block_preflight.py396 # The wrapper scaffolding is static and valid, so any SyntaxError is in the supplied code —COMMENT
MEDIUMskyvern/forge/sdk/copilot/tools/guardrails.py57 # Agents SDK guardrails may hand us either raw JSON or an already parsed mapping.COMMENT
MEDIUMskyvern/forge/sdk/copilot/tools/workflow_update.py6886 # prepended extraction scaffolding; that shape is handled by preserve_submitted_extraction.COMMENT
MEDIUMskyvern/forge/sdk/workflow/models/block.py4040 # pre-copilot code blocks must never gain agentic recovery from the toggle alone.COMMENT
MEDIUMskyvern/forge/sdk/workflow/models/block.py4546 # "context" is a skyvern-defined field to reduce LLM hallucinationCOMMENT
MEDIUMskyvern/services/script_reviewer_v3/skills/validate.py211# agent doesn't hallucinate methods.COMMENT
Over-Commented Block93 hits · 83 pts
SeverityFileLineSnippetContext
LOWentrypoint-skyvernui.sh21VITE_ARTIFACT_API_BASE_URL="${VITE_ARTIFACT_API_BASE_URL:-http://localhost:9090}"COMMENT
LOWconftest.py1from skyvern.forge.sdk.forge_log import setup_loggerCOMMENT
LOWpytest.ini1[pytest]COMMENT
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
LOWpyproject.toml261COMMENT
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/ui/css-vars.test.ts1import { describe, expect, it } from "vitest";COMMENT
LOW…rontend/src/routes/workflows/copilot/narrativeState.ts161 terminal: "response" | "error" | null;COMMENT
LOW…rontend/src/routes/workflows/copilot/narrativeState.ts181 draftingSignaledAt: number | null;COMMENT
LOW…es/workflows/workflowRun/resizableTimelineSplitMath.ts1export const TIMELINE_SPLIT_STORAGE_KEY = "skyvern.runView.timelineSplit";COMMENT
LOW…rontend/src/routes/workflows/components/CodeEditor.tsx81 ...restPropsCOMMENT
LOW…utes/workflows/components/tagging/TagFilterControl.tsx41type Props = {COMMENT
LOW…-frontend/src/routes/workflows/editor/FlowRenderer.tsx401 // step. The canvas-only consumers that use FlowRenderer without theCOMMENT
LOW…-frontend/src/routes/workflows/editor/FlowRenderer.tsx1401 () => buildDragAnnouncements(nodes),COMMENT
LOW…ern-frontend/src/routes/workflows/editor/Workspace.tsx901 // workflows when the parent route doesn't key by workflowPermanentIdCOMMENT
LOW…s/workflows/editor/panels/WorkflowNodeLibraryPanel.tsx81 />COMMENT
LOW…s/workflows/editor/panels/WorkflowNodeLibraryPanel.tsx181 // ),COMMENT
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.ts221 // independent of React's render/batch cycle. Fires synchronouslyCOMMENT
LOW…rc/routes/workflows/editor/hooks/useWorkflowHistory.ts361 // persisted state - mark dirty so the leave-page warning firesCOMMENT
LOW…rc/routes/workflows/editor/hooks/useWorkflowHistory.ts381 // History navigation is unsafe while an internal update is inCOMMENT
LOW…ditor/hooks/useResolveDefaultGoogleSheetsCredential.ts81 // the fill is silently unsaved and a later Run reads the stale credential_idCOMMENT
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
LOW…n-frontend/src/routes/credentials/CredentialsModal.tsx1021COMMENT
LOWskyvern-frontend/src/store/useRecordingStore.ts561COMMENT
LOWk8s/charts/skyvern-ui/values.yaml1# Default values for skyvern-ui.COMMENT
LOWtests/unit/test_copilot_cancel_helpers.py161# _trusted_post_drain_statusCOMMENT
LOWtests/unit/workflow/test_reorder_graph_validation.py81COMMENT
LOWtests/smoke_tests/test_prompts.py141COMMENT
LOWtests/smoke_tests/test_prompts.py161# parse_response(chat_completion)COMMENT
LOWtests/smoke_tests/test_prompts.py181# screenshot4 = encode_image("tests/smoke_tests/data/geico_closest_coverage/geico_closest_coverage_prompt_ss4.png")COMMENT
LOWtests/smoke_tests/test_prompts.py201# elements=get_file("tests/smoke_tests/data/workable_yes_or_no/element_tree.json"),COMMENT
LOWscripts/test-install.sh1#!/bin/shCOMMENT
LOWskyvern/config.py201 # Off preserves the historical implicit residential default for anti-bot-sensitive traffic.COMMENT
LOWskyvern/config.py301 # local profile directory. Leave empty to use the in-repo template.COMMENT
LOWskyvern/config.py721 # list means no redirect_uri may be supplied at all (the route layer rejectsCOMMENT
LOWskyvern/core/script_generations/real_skyvern_page_ai.py1281 context = skyvern_context.current()COMMENT
LOWskyvern/core/script_generations/real_skyvern_page_ai.py1361 # and double-count the call as both a hit/miss and a `lookup_error`COMMENT
LOWskyvern/core/script_generations/generate_script.py881 value=_value(semantic),COMMENT
LOW…/core/script_generations/deterministic_field_naming.py61 description: str | None = NoneCOMMENT
LOWskyvern/webeye/scraper/scraped_page.py501 # Defensive: callers today rebuild before reading, but future directCOMMENT
LOWskyvern/webeye/actions/handler.py8041 current_url=scraped_page_refreshed.url,COMMENT
LOWskyvern/webeye/actions/handler.py8061 # failure can't re-enter the except block and double-count the call asCOMMENT
LOWskyvern/schemas/runs.py361 # pins the forward-compat guarantee (unknown keys silently dropped).COMMENT
LOWskyvern/forge/sdk/core/skyvern_context.py201 # preventing repeated injection loops when the captcha solver succeeds but the page doesn't changeCOMMENT
33 more matches not shown…
AI Slop Vocabulary12 hits · 34 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_cdp_connection_retry.py192 """An invalid runtime override falls back to the settings field default (the robustSTRING
MEDIUMtests/smoke_tests/test_prompts.py48EXTRACTED_INFORMATION_SCHEMA = """{'additionalProperties': False, 'properties': {'quotes': {'items': {'additionalPropertCODE
MEDIUMtests/smoke_tests/test_prompts.py169# navigation_goal="Navigate through the website until you generate an auto insurance quote. Only stay on the\nstCOMMENT
MEDIUMtests/smoke_tests/test_prompts.py173# data_extraction_goal='Extract all quote information in JSON format including the premium amount, the timeframeCOMMENT
MEDIUMskyvern/cli/lazy.py108# Click-version-robust group baseCOMMENT
LOWskyvern/forge/agent.py1088 # TODO (kerem): keep the task object uptodate at all times so that clean_up_task can just use itCOMMENT
MEDIUMskyvern/forge/sdk/workflow/service.py6956 # soft-deleted (e.g. eval harness teardown fired while the orphanCOMMENT
MEDIUMskyvern/forge/sdk/workflow/service.py7336 # harness tears down a workflow while the run is still executing inCOMMENT
MEDIUMskyvern/forge/sdk/db/repositories/scripts.py951 # Join on both script_id and organization_id to leverage uc_org_script_version index.COMMENT
LOWskyvern/client/core/serialization.py180 # then we can just pass the value through as isCOMMENT
LOWskyvern/services/script_service.py3304 # Invariant: loop_output_values was just set to [] above (step 5 setup).COMMENT
MEDIUMskyvern/services/browser_recording/service.py217 # Base64, but Python's standard decoder is usually robust enough toCOMMENT
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.py1061 # AI-generated cached scripts still get LLM verification.COMMENT
Overly Generic Function Names22 hits · 18 pts
SeverityFileLineSnippetContext
LOW…unit/test_copilot_code_artifact_metadata_violations.py772 def helper():CODE
LOW…unit/test_copilot_code_artifact_metadata_violations.py781 def helper():CODE
LOW…unit/test_copilot_code_artifact_metadata_violations.py693 def helper():CODE
LOWtests/unit/test_copilot_code_block_synthesis.py1832 "async def helper():\n"STRING
LOWtests/unit/test_copilot_code_block_synthesis.py1844 "async def helper():\n"STRING
LOWtests/unit/test_copilot_code_block_synthesis.py1915 "async def helper():\n"STRING
LOWtests/unit/test_copilot_code_block_synthesis.py1927 "async def helper():\n"STRING
LOWskyvern/webeye/actions/handler.py915 async def helper(element_dict: dict, frame: Page | Frame) -> bool:CODE
LOWskyvern/webeye/actions/handler.py941 async def helper(element_dict: dict, frame: Page | Frame) -> bool:CODE
LOWskyvern/library/skyvern.py294 async def run_task(CODE
LOWskyvern/library/skyvern_browser_page_agent.py42 async def run_task(CODE
LOWskyvern/cli/commands/browser.py1180def run_task(CODE
LOWskyvern/forge/sdk/api/aws.py502 async def run_task(CODE
LOWskyvern/forge/sdk/executor/background_task_executor.py24 async def execute_task(CODE
LOWskyvern/forge/sdk/executor/async_executor.py11 async def execute_task(CODE
LOWskyvern/forge/sdk/routes/agent_protocol.py250async def run_task(CODE
LOWskyvern/client/client.py155 def run_task(CODE
LOWskyvern/client/client.py3382 async def run_task(CODE
LOWskyvern/client/raw_client.py79 def run_task(CODE
LOWskyvern/client/raw_client.py4698 async def run_task(CODE
LOWskyvern/services/task_v1_service.py106async def run_task(CODE
LOWskyvern/services/script_service.py1868async def run_task(CODE
Slop Phrases4 hits · 10 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
LOWskyvern/forge/sdk/core/aiohttp_helper.py326 # TODO: make sure to test this outCOMMENT
Dead Code3 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_copilot_streaming_adapter.py289CODE
MEDIUMskyvern/forge/sdk/routes/scripts.py720CODE
MEDIUMskyvern/services/script_service.py1602CODE
TODO Padding3 hits · 4 pts
SeverityFileLineSnippetContext
LOWskyvern/core/script_generations/script_skyvern_page.py1014 # TODO: add validation here. if it doesn't pass the validation criteria:COMMENT
LOWskyvern/webeye/cdp_download_interceptor.py377 # TODO: implement proper filename dedup (e.g., content hash or UUID suffix)COMMENT
LOWskyvern/forge/agent_functions.py467 # 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