BB SKILLS / RESOURCES

Homepage timing: a bounded browser observation

This sample records initial-load observations for the BB Skills homepage. It demonstrates a bounded measurement workflow associated with the Cloudflare web-performance resource. It does not establish full skill effectiveness or Core Web Vitals compliance.

Method and acceptance scope

Six homepage navigations in fresh automated Chromium contexts: three per viewport, observe 3000ms after load; default browser cache within each context; no CPU/network throttling or interactions.

Measurement workflow completed: six public homepage reads with valid navigation/paint observations, English output and no horizontal overflow. Passed does not grade performance or the full skill.

Both viewports use the same desktop Chromium browser, not real mobile devices. The recorded user agent is Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36. Measurements were recorded in UTC on 2026-10-02T18:43:54.581Z.

Every measured navigation

Viewport Run TTFB ms FCP ms Last LCP candidate ms Initial-window shift sum
1440×900 1 865.2 1168.0 1168.0 0.0000
1440×900 2 255.2 356.0 356.0 0.0000
1440×900 3 280.8 380.0 380.0 0.0000
390×844 1 1440.0 1684.0 1684.0 0.0000
390×844 2 244.2 336.0 336.0 0.0000
390×844 3 233.0 308.0 308.0 0.0000

The first navigation in each context took longer than later ones. This sample does not isolate the cause; cache and connection setup were not controlled. No layout-shift entries were observed during these initial windows. Neither observation predicts all user sessions.

What this does not prove

  • Viewport resizing on a desktop browser is not physical mobile hardware.
  • Three loads per viewport are a small sequential sample; cache, connection reuse, CPU and network were not controlled.
  • Observations stop 3000ms after load; LCP entries are candidates and layout shifts cover only that window.
  • No interactions, INP, finalized session CLS, Lighthouse score, DevTools trace, CrUX or real-user percentiles were measured.
  • This is direct browser observation, not an AI-agent end-to-end evaluation of the skill.

Source and interpretation

Read Google’s Web Vitals guide before interpreting lab and field data, and PerformanceObserver documentation for the browser API. Full lifecycle measurement and field aggregation require a separate setup. No field compliance grade is assigned here.

Open the resource and its package notes.

Package version: 41e0d1985894. Package SHA-256: 2dd7e06e58fc23f651ee19c2461e2da9bca29bababbb453f619f894bf691fe2b. Evidence JSON SHA-256: 165fe37f281b17866e3c9c6b41b15c9188b004e391c8a6c88b5a42654eb9b931. Probe script SHA-256: 4c6b571d27f49e16928391129d0caa48cef13feef87e924015f51d47ef86e115.

Reproduce the browser observation

Run the following async function with a Playwright page in an automation browser. It creates isolated contexts, makes six public homepage reads and closes those contexts. Review the URL before using it; it performs no deployment or account action. Results will vary across environments and dates.

async(page)=>{const browser=page.context().browser();if(!browser)throw Error('No isolated browser available');const runs=[];for(const viewport of [{width:1440,height:900},{width:390,height:844}]){const context=await browser.newContext({viewport});await context.addInitScript(()=>{const state={lcp:[],shifts:[],observers:[],unsupported:[]};window.__bbTimingEvidence=state;for(const type of ['largest-contentful-paint','layout-shift']){if(!PerformanceObserver.supportedEntryTypes.includes(type)){state.unsupported.push(type);continue;}const record=entries=>{for(const e of entries){if(type==='largest-contentful-paint')state.lcp.push({startTime:e.startTime,size:e.size,tag:e.element?.tagName||null});else state.shifts.push({startTime:e.startTime,value:e.value,hadRecentInput:e.hadRecentInput});}};const observer=new PerformanceObserver(list=>record(list.getEntries()));observer.observe({type,buffered:true});state.observers.push({observer,record});}});try{for(let run=1;run<=3;run++){const p=await context.newPage();const response=await p.goto('https://bb.fouho.com/',{waitUntil:'load',timeout:30000});await p.waitForTimeout(3000);const metrics=await p.evaluate(()=>{const s=window.__bbTimingEvidence;for(const x of s.observers){x.record(x.observer.takeRecords());x.observer.disconnect();}const n=performance.getEntriesByType('navigation')[0];return {user_agent:navigator.userAgent,url:location.href,title:document.title,lang:document.documentElement.lang,observed_until_ms:performance.now(),navigation:{ttfb_ms:n.responseStart-n.startTime,dom_content_loaded_ms:n.domContentLoadedEventEnd,load_event_end_ms:n.loadEventEnd,transfer_bytes:n.transferSize,encoded_body_bytes:n.encodedBodySize,decoded_body_bytes:n.decodedBodySize},paints:performance.getEntriesByType('paint').map(e=>({name:e.name,startTime:e.startTime})),lcp_candidates:s.lcp,layout_shift_entries:s.shifts,unsupported:s.unsupported,horizontal_overflow:document.documentElement.scrollWidth>innerWidth,resource_count:performance.getEntriesByType('resource').length};});runs.push({viewport,run,response_status:response.status(),measured_at:new Date().toISOString(),...metrics});await p.close();}}finally{await context.close();}}return {method:'Six homepage navigations in fresh automated Chromium contexts: three per viewport, observe 3000ms after load; default browser cache within each context; no CPU/network throttling or interactions.',scope:'Initial-window navigation, paint and layout-shift observations only; not finalized Core Web Vitals, field data, Lighthouse, a trace, or an agent end-to-end evaluation.',runs};}

Recorded raw observations

{
  "method": "Six homepage navigations in fresh automated Chromium contexts: three per viewport, observe 3000ms after load; default browser cache within each context; no CPU/network throttling or interactions.",
  "scope": "Initial-window navigation, paint and layout-shift observations only; not finalized Core Web Vitals, field data, Lighthouse, a trace, or an agent end-to-end evaluation.",
  "runs": [
    {
      "viewport": {
        "width": 1440,
        "height": 900
      },
      "run": 1,
      "response_status": 200,
      "measured_at": "2026-10-02T18:43:35.267Z",
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36",
      "url": "https://bb.fouho.com/",
      "title": "BB Skills | Open AI Skills & Practical Workflows",
      "lang": "en",
      "observed_until_ms": 4167,
      "navigation": {
        "ttfb_ms": 865.2000000029802,
        "dom_content_loaded_ms": 1147.4000000022352,
        "load_event_end_ms": 1148,
        "transfer_bytes": 5018,
        "encoded_body_bytes": 4718,
        "decoded_body_bytes": 17441
      },
      "paints": [
        {
          "name": "first-paint",
          "startTime": 1168
        },
        {
          "name": "first-contentful-paint",
          "startTime": 1168
        }
      ],
      "lcp_candidates": [
        {
          "startTime": 1168,
          "size": 72606,
          "tag": "H1"
        }
      ],
      "layout_shift_entries": [],
      "unsupported": [],
      "horizontal_overflow": false,
      "resource_count": 5,
      "first_contentful_paint_ms": 1168,
      "last_lcp_candidate_ms": 1168,
      "initial_window_shift_sum": 0
    },
    {
      "viewport": {
        "width": 1440,
        "height": 900
      },
      "run": 2,
      "response_status": 200,
      "measured_at": "2026-10-02T18:43:38.745Z",
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36",
      "url": "https://bb.fouho.com/",
      "title": "BB Skills | Open AI Skills & Practical Workflows",
      "lang": "en",
      "observed_until_ms": 3342,
      "navigation": {
        "ttfb_ms": 255.20000000298023,
        "dom_content_loaded_ms": 268.70000000298023,
        "load_event_end_ms": 329.30000000074506,
        "transfer_bytes": 5018,
        "encoded_body_bytes": 4718,
        "decoded_body_bytes": 17441
      },
      "paints": [
        {
          "name": "first-paint",
          "startTime": 356
        },
        {
          "name": "first-contentful-paint",
          "startTime": 356
        }
      ],
      "lcp_candidates": [
        {
          "startTime": 356,
          "size": 72606,
          "tag": "H1"
        }
      ],
      "layout_shift_entries": [],
      "unsupported": [],
      "horizontal_overflow": false,
      "resource_count": 5,
      "first_contentful_paint_ms": 356,
      "last_lcp_candidate_ms": 356,
      "initial_window_shift_sum": 0
    },
    {
      "viewport": {
        "width": 1440,
        "height": 900
      },
      "run": 3,
      "response_status": 200,
      "measured_at": "2026-10-02T18:43:42.225Z",
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36",
      "url": "https://bb.fouho.com/",
      "title": "BB Skills | Open AI Skills & Practical Workflows",
      "lang": "en",
      "observed_until_ms": 3363.400000002235,
      "navigation": {
        "ttfb_ms": 280.80000000074506,
        "dom_content_loaded_ms": 298,
        "load_event_end_ms": 355.30000000074506,
        "transfer_bytes": 5018,
        "encoded_body_bytes": 4718,
        "decoded_body_bytes": 17441
      },
      "paints": [
        {
          "name": "first-paint",
          "startTime": 380
        },
        {
          "name": "first-contentful-paint",
          "startTime": 380
        }
      ],
      "lcp_candidates": [
        {
          "startTime": 380,
          "size": 72606,
          "tag": "H1"
        }
      ],
      "layout_shift_entries": [],
      "unsupported": [],
      "horizontal_overflow": false,
      "resource_count": 5,
      "first_contentful_paint_ms": 380,
      "last_lcp_candidate_ms": 380,
      "initial_window_shift_sum": 0
    },
    {
      "viewport": {
        "width": 390,
        "height": 844
      },
      "run": 1,
      "response_status": 200,
      "measured_at": "2026-10-02T18:43:47.629Z",
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36",
      "url": "https://bb.fouho.com/",
      "title": "BB Skills | Open AI Skills & Practical Workflows",
      "lang": "en",
      "observed_until_ms": 4691,
      "navigation": {
        "ttfb_ms": 1440,
        "dom_content_loaded_ms": 1677.0999999977648,
        "load_event_end_ms": 1677.800000000745,
        "transfer_bytes": 5018,
        "encoded_body_bytes": 4718,
        "decoded_body_bytes": 17441
      },
      "paints": [
        {
          "name": "first-paint",
          "startTime": 1684
        },
        {
          "name": "first-contentful-paint",
          "startTime": 1684
        }
      ],
      "lcp_candidates": [
        {
          "startTime": 1684,
          "size": 38968,
          "tag": "H1"
        }
      ],
      "layout_shift_entries": [],
      "unsupported": [],
      "horizontal_overflow": false,
      "resource_count": 5,
      "first_contentful_paint_ms": 1684,
      "last_lcp_candidate_ms": 1684,
      "initial_window_shift_sum": 0
    },
    {
      "viewport": {
        "width": 390,
        "height": 844
      },
      "run": 2,
      "response_status": 200,
      "measured_at": "2026-10-02T18:43:51.119Z",
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36",
      "url": "https://bb.fouho.com/",
      "title": "BB Skills | Open AI Skills & Practical Workflows",
      "lang": "en",
      "observed_until_ms": 3335.60000000149,
      "navigation": {
        "ttfb_ms": 244.19999999925494,
        "dom_content_loaded_ms": 257.19999999925494,
        "load_event_end_ms": 316.6000000014901,
        "transfer_bytes": 5018,
        "encoded_body_bytes": 4718,
        "decoded_body_bytes": 17441
      },
      "paints": [
        {
          "name": "first-paint",
          "startTime": 336
        },
        {
          "name": "first-contentful-paint",
          "startTime": 336
        }
      ],
      "lcp_candidates": [
        {
          "startTime": 336,
          "size": 38968,
          "tag": "H1"
        }
      ],
      "layout_shift_entries": [],
      "unsupported": [],
      "horizontal_overflow": false,
      "resource_count": 5,
      "first_contentful_paint_ms": 336,
      "last_lcp_candidate_ms": 336,
      "initial_window_shift_sum": 0
    },
    {
      "viewport": {
        "width": 390,
        "height": 844
      },
      "run": 3,
      "response_status": 200,
      "measured_at": "2026-10-02T18:43:54.581Z",
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36",
      "url": "https://bb.fouho.com/",
      "title": "BB Skills | Open AI Skills & Practical Workflows",
      "lang": "en",
      "observed_until_ms": 3311.599999997765,
      "navigation": {
        "ttfb_ms": 233,
        "dom_content_loaded_ms": 244.59999999776483,
        "load_event_end_ms": 295,
        "transfer_bytes": 5018,
        "encoded_body_bytes": 4718,
        "decoded_body_bytes": 17441
      },
      "paints": [
        {
          "name": "first-paint",
          "startTime": 308
        },
        {
          "name": "first-contentful-paint",
          "startTime": 308
        }
      ],
      "lcp_candidates": [
        {
          "startTime": 308,
          "size": 38968,
          "tag": "H1"
        }
      ],
      "layout_shift_entries": [],
      "unsupported": [],
      "horizontal_overflow": false,
      "resource_count": 5,
      "first_contentful_paint_ms": 308,
      "last_lcp_candidate_ms": 308,
      "initial_window_shift_sum": 0
    }
  ],
  "skill_slug": "cloudflare-web-perf",
  "skill_version": "41e0d1985894",
  "package_sha256": "2dd7e06e58fc23f651ee19c2461e2da9bca29bababbb453f619f894bf691fe2b",
  "executed_at": "2026-10-02T18:43:54.581Z",
  "probe_script_sha256": "4c6b571d27f49e16928391129d0caa48cef13feef87e924015f51d47ef86e115",
  "status": "passed",
  "acceptance_scope": "Measurement workflow completed: six public homepage reads with valid navigation/paint observations, English output and no horizontal overflow. Passed does not grade performance or the full skill.",
  "limitations": [
    "Viewport resizing on a desktop browser is not physical mobile hardware.",
    "Three loads per viewport are a small sequential sample; cache, connection reuse, CPU and network were not controlled.",
    "Observations stop 3000ms after load; LCP entries are candidates and layout shifts cover only that window.",
    "No interactions, INP, finalized session CLS, Lighthouse score, DevTools trace, CrUX or real-user percentiles were measured.",
    "This is direct browser observation, not an AI-agent end-to-end evaluation of the skill."
  ]
}