Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Execute Bright Data secondary workflow: Core Workflow B. Use when implementing secondary use case, or complementing primary workflow. Trigger with phrases like "brightdata secondary workflow", "secondary task with brightdata".
.claude/skills/jeremylongshore-brightdata-core-workflow-b/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 100% | 11 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 49% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 69% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -48% | 0% |
Implement the documented trigger, progress, and download lifecycle as a state machine. Keep dataset identifiers and approved inputs separate from the API key; cap polling, validate terminal states, and stream results rather than loading arbitrary payloads into memory.
Read the requested dataset/inputs and Grep for disallowed target classes or fields. Hash the approved input manifest before submission.
Use Bash(curl:) only against the fixed Bright Data API origin with the API key as a Bearer header.
bashcurl --fail-with-body --request POST \ 'https://api.brightdata.com/datasets/v3/trigger?dataset_id=DATASET_ID' \ --header "Authorization: Bearer $BRIGHTDATA_API_KEY" \ --header 'Content-Type: application/json' \ --data-binary @approved-inputs.json
Persist the returned snapshot_id; poll GET /datasets/v3/progress/SNAPSHOT_ID with bounded attempts and provider-directed delay. Handle ready, failed, empty, expired, and still-building states explicitly.
Stream GET /datasets/v3/snapshot/SNAPSHOT_ID in the approved format. Use parts for large results, hold format/compression parameters constant, enforce byte/record ceilings, and validate the schema before promotion.
Use Read and Grep for policy and schema checks. Use Write and Edit only for the manifest, state machine, tests, and redacted receipt. Use Bash(curl:) for fixed-origin Bright Data API calls after authorization; never print the Bearer value or raw result data.
Submit a small approved URL batch, record the returned snapshot ID, poll until ready, and stream JSON to quarantine. Reject a response whose schema, record count, or byte count exceeds the manifest even if the provider marks it ready.
| Failure | Meaning | Response | |---------|---------|----------| | 400 validation response | Dataset ID or input shape is invalid | Correct the manifest; do not retry unchanged input | | 429 or too many jobs | Tenant or dataset concurrency is exhausted | Pause new triggers and wait for owned jobs | | Snapshot expired or empty | Result cannot be promoted | Trigger a newly approved run or investigate inputs |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 15,080 | 9,432 | -37% | 1 | 1 | 0% | 2,842 | 3,479 | +22% | 0 | 0 | — |
case-02 | fail→pass | 14,168 | 13,360 | -6% | 1 | 1 | 0% | 3,038 | 4,514 | +49% | 0 | 0 | — |
case-03 | fail→pass | 12,168 | 7,514 | -38% | 1 | 1 | 0% | 2,478 | 3,042 | +23% | 0 | 0 | — |
case-04 | pass→pass | 13,339 | 8,153 | -39% | 1 | 1 | 0% | 2,306 | 3,043 | +32% | 0 | 0 | — |
case-05 | pass→pass | 8,692 | 4,331 | -50% | 1 | 1 | 0% | 1,667 | 2,255 | +35% | 0 | 0 | — |
case-14 | pass→pass | 5,158 | 3,521 | -32% | 1 | 1 | 0% | 1,039 | 2,082 | +100% | 0 | 0 | — |
case-06 | pass→pass | 7,688 | 4,982 | -35% | 1 | 1 | 0% | 1,447 | 2,349 | +62% | 0 | 0 | — |
case-07 | fail→pass | 7,003 | 4,238 | -39% | 1 | 1 | 0% | 1,269 | 2,147 | +69% | 0 | 0 | — |
case-08 | pass→pass | 5,732 | 2,329 | -59% | 1 | 1 | 0% | 930 | 1,856 | +100% | 0 | 0 | — |
case-09 | fail→pass | 19,887 | 3,919 | -80% | 1 | 1 | 0% | 3,960 | 2,042 | -48% | 0 | 0 | — |
case-10 | fail→pass | 10,890 | 5,262 | -52% | 1 | 1 | 0% | 1,778 | 2,296 | +29% | 0 | 0 | — |
case-11 | pass→pass | 8,076 | 3,277 | -59% | 1 | 1 | 0% | 1,265 | 1,817 | +44% | 0 | 0 | — |
case-12 | pass→pass | 7,787 | 5,322 | -32% | 1 | 1 | 0% | 1,374 | 2,305 | +68% | 0 | 0 | — |
case-13 | fail→pass | 12,431 | 8,765 | -29% | 1 | 1 | 0% | 2,307 | 3,035 | +32% | 0 | 0 | — |
case-15 | pass→pass | 9,843 | 5,207 | -47% | 1 | 1 | 0% | 1,842 | 2,433 | +32% | 0 | 0 | — |
case-16 | pass→pass | 4,854 | 2,119 | -56% | 1 | 1 | 0% | 819 | 1,815 | +122% | 0 | 0 | — |
case-17 | pass→pass | 8,893 | 4,054 | -54% | 1 | 1 | 0% | 1,449 | 1,954 | +35% | 0 | 0 | — |
case-18 | pass→pass | 3,891 | 2,247 | -42% | 1 | 1 | 0% | 661 | 1,888 | +186% | 0 | 0 | — |
case-19 | pass→pass | 5,000 | 2,182 | -56% | 1 | 1 | 0% | 769 | 1,833 | +138% | 0 | 0 | — |
case-20 | fail→pass | 19,075 | 17,452 | -9% | 1 | 1 | 0% | 3,055 | 4,266 | +40% | 0 | 0 | — |
case-21 | pass→pass | 15,041 | 11,507 | -23% | 1 | 1 | 0% | 2,702 | 3,668 | +36% | 0 | 0 | — |
case-22 | pass→pass | 13,112 | 11,564 | -12% | 1 | 1 | 0% | 2,639 | 3,827 | +45% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 22 comparable cases.
The publisher has shipped newer versions since this run, so these numbers describe v1, not the version currently listed.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.