Back to skills
extension
Category: Development & EngineeringNo API key required

observe

Use this skill when the user asks to "check observations", "what did Crawlio see", "show crawl timeline", "query the observation log", or wants to review what happened during a crawl session. Queries the append-only observation log with filtering by host, source, operation, and time range.

personAuthor: jakexiaohubgithub

observe

Query Crawlio's observation log — the append-only timeline of everything Crawlio observed during a crawl session.

When to Use

Use this skill when the user wants to:

  • See what happened during a crawl
  • Review extension captures (framework detection, network requests, console logs)
  • Reconstruct a timeline of events
  • Find specific observations by host, source, or time range

Quick Reference

Get Recent Observations

get_observations({ limit: 20 })

Filter by Host

get_observations({ host: "example.com", limit: 50 })

Filter by Source

| Source | What It Captures | |--------|-----------------| | extension | Chrome extension enrichment (framework, network, console, DOM) | | engine | Crawl lifecycle events (crawl_start, crawl_done) | | webkit | WebKit runtime capture | | agent | AI-created findings |

get_observations({ source: "extension", limit: 30 })

Filter by Operation

| Op | Meaning | |----|---------| | observe | Raw data capture | | finding | Agent-created insight | | crawl_start | Crawl began | | crawl_done | Crawl completed | | page | Single page observation |

get_observations({ op: "crawl_done" })

Time-Based Query

Use Unix timestamps to query a time range:

get_observations({ since: 1708444200, limit: 100 })

Combine Filters

get_observations({
  host: "example.com",
  source: "extension",
  op: "observe",
  limit: 50
})

Single Observation Lookup

Look up a specific observation or finding by ID:

get_observation({ id: "obs_a1b2c3d4" })

Use this to verify evidence referenced by findings, or to inspect the full payload of an evidenceId returned by analyze_page. Works with both obs_xxx (observation) and fnd_xxx (finding) IDs.

Reading Observations

Each observation entry contains:

  • id — unique identifier (obs_ prefix for observations, fnd_ for findings)
  • op — what type of event this is
  • ts — ISO 8601 timestamp
  • url — the URL this relates to
  • source — what produced this entry
  • data — composite payload (framework detection, network requests, console logs, progress, etc.)

Common Patterns

Timeline Reconstruction

Query by host with no limit to see the full story of a crawl:

get_observations({ host: "example.com" })

Crawl Summary

Get start and end events to see crawl performance:

get_observations({ op: "crawl_start" })
get_observations({ op: "crawl_done" })

The crawl_done entry includes progress data (totalDiscovered, downloaded, failed).

Extension Audit

See everything the Chrome extension captured:

get_observations({ source: "extension", limit: 200 })

Evidence Chain Verification

Verify evidence referenced by a finding:

get_observation({ id: "obs_a1b2c3d4" })

This returns the full observation entry. Use it to confirm that evidence IDs in findings actually support the claimed insight.

After Observation — Create Findings

Once you've identified patterns in observations, use the finding skill to record insights with evidence chains.