Spec-driven collection

Skill-Spec-Driven Egocentric Data Collection

A skill spec is the written contract a Firsthand custom egocentric collection is built around. It names the task, what must be in frame, the hours per condition, the reject rule and one acceptance test, and it then drives capture, labels, QA and delivery. This page explains how a spec-driven collection works and how to start one: fast, on demand and scoped to your spec.
Starts from
Written skill spec
Spec parts
Skill · geometry · conditions · reject rule · test
Billing
Per validated hour
License
Perpetual, buyer-owned
A contributor wearing a head-mounted capture rig performs a task, beside a graphic of the synchronized streams and annotation layers delivered in the final dataset.
The written skill spec is agreed first; capture, labels, QA and delivery are all measured against it.

Why spec first

What a written spec locks in before capture.

01

Agreed before anyone is briefed

The site’s glossary states that nothing is captured speculatively. The spec is agreed before a single contributor is briefed, so you know what you are buying.

02

One document both sides read

The first draft is written with you on a call and handed back as a file for your repository. It becomes the contract the coverage report is measured against.

03

A reject rule you can apply

The reject rule lets a reviewer accept or reject a batch without a meeting, and the acceptance test is one a reviewer can apply in fifteen frames.

04

Proven small, then scaled

A Spec Pilot runs the written spec on real footage first. The same spec, corrected where the pilot surfaced an issue, then scales into the full order.

Definition

What is skill-spec-driven egocentric data collection?

Skill-spec-driven egocentric data collection is custom first-person capture in which a written skill spec, not a catalog, decides what gets recorded. The site defines a skill spec as the written contract for a capture program: the named skill, the environments and conditions to cover, the acceptance criteria and the target hours. Nothing is captured speculatively.

This page sells the collection service built around that spec: fast, on-demand, custom collection scoped to the tasks, environments and streams your model is missing. It is not the guide that teaches you to write a spec, and it is not a glossary definition. The guide covers the writing method; the custom egocentric dataset page covers the mechanics of the order. Here the focus is how the spec drives everything that follows.

Spec contents

What goes into a skill spec?

The site’s guide says a skill spec has five parts: the named skill, the geometry that must be visible, the condition budget in hours, the reject rule and a single acceptance test. Everything else is commentary. The rules behind the parts are to name the verb and the noun rather than a broad activity, to state what must be in frame and for how long, to budget hours per condition cell including failure cases, to write the reject rule first, and to give one acceptance test.

The guide’s worked example is dicing an onion with a chef’s knife. It requires both hands visible at grasp and first cut, budgets hours across daylight, low light, cluttered and failure-case conditions, and rejects an item when the cut is off-frame for more than two seconds, a second person’s hands enter the manipulation region, or depth is invalid over 35 % of the board region. That illustrates the shape of a spec. It is not a fixed template or a program size, and your spec’s fields and numbers are agreed with you.

What the spec drives

How does the spec shape capture, labels and QA?

Capture is briefed from the spec. The named skill sets what contributors perform on camera, the geometry sets what stays in frame, and the condition budget sets which environments and conditions are covered, with failure cases as their own cell. Failure cases and recoveries are recorded uncut rather than edited out.

Labels follow the spec. Hand pose, body pose, segmentation and action labels each add equipment, QA passes and cost, so the site advises ordering what the model consumes rather than everything available. Labels match the accept criteria written into the spec.

QA is applied against the spec. Every item is checked against the reject rule and acceptance test, sync and calibration are verified, and anonymization of faces, plates and screens is reviewer-confirmed before anything ships. Where several streams are ordered, they are hardware-triggered onto one PTP clock domain with a stated sync error of 1.12 ms median, 1.94 ms p99 and a 2.0 ms ceiling, and an episode breaching the ceiling is rejected.

Streams and formats

Which streams, formats and fields can a spec request?

A spec names the streams per episode. The site lists video from the head and wrist cameras, depth, IMU, hand pose, body pose, segmentation and action labels, with RGB as the baseline and the others added where the spec calls for them. Each added stream is a separate cost and QA lever, which is why the streams list belongs in the spec.

The spec also names the delivery format so the data loads without a conversion pass. The site states RLDS, LeRobot, WebDataset and HDF5 for custom collections, and its pilot page adds zarr, Rerun .rrd and raw streams with metadata. Field layout follows the format pages and the episode schema. Anything those pages do not state, such as how a particular label is stored in your chosen format, is set per program in the skill spec.

From spec to delivery

How does a skill spec turn into a custom collection?

The site states the order flow as spec, quote, Spec Pilot, scale. The quote is scoped against the written spec because reach, stream count and turnaround each move the number independently. The Spec Pilot is a small, fast first batch captured against the spec, QA’d and delivered with a reject log and coverage report, the same reporting a full order gets.

Once the pilot is accepted, the same spec, corrected for anything the pilot surfaced, scales into the full order without restarting specification. Capture, review and delivery then run in batches, so validated data arrives and QA passes before the program is fully delivered. A pilot can start from a focused written brief covering tasks, scenes and required streams and labels.

Reporting

How is coverage reported against the spec?

Firsthand reports fill rates against the spec per batch, by condition, not just an hour count. The coverage report tells you where the data is thin before training does, and the reject log records each rejected item and why. Both sides look at the same document when a batch is accepted.

Footage that fails QA is rejected and recaptured at the provider’s cost, not billed to you. You are billed per validated hour.

Spec vs off-the-shelf

Spec-driven collection vs off-the-shelf datasets: what changes?

An off-the-shelf egocentric dataset is fixed to whatever it already contains, under whatever license its publishers attached, which is frequently research-only. Without a spec, the site says, you get generic footage and discover the gaps after training. A spec-driven collection reverses that order: the gap is written down first, the data is captured to it, and coverage is measured cell by cell.

Custom is not the answer every time. If a public dataset already covers the gap under a license you can use, there is no need to commission a custom order for it. Choose spec-driven collection when the gap is specific, when you need a commercial license a research-only dataset does not grant, or when you need data on a timeline a static release cannot meet.

Timeline and cost

How long does a spec-driven collection take and what does it cost?

Where coverage for your tasks, environments and regions is already deep, the median time from signed spec to first validated batch is 48 hours. Where coverage is thin, turnaround runs three to four weeks, because recruiting has to happen in parallel across more regions before capture can scale. A Spec Pilot gives a real small-scale number for your spec.

There is no fixed price list. Cost moves with the stream count per episode, the validated hours the order requires, how thin or deep existing coverage is, and how fast you need the first batch. You are quoted against the written spec.

License

Who owns the data and how is it licensed?

Delivered data ships under a perpetual, buyer-owned commercial license, not a hosted-access or research-only arrangement. Every contributor signs a consent release before capture, and that consent record travels with the episode through delivery.

Agreed per spec

What is agreed per spec rather than stated up front?

Several details are not fixed on this site and are agreed in the spec instead. The table below separates what the site states from what is set per program, so a buyer can see where the spec conversation starts.

Getting started

How do you start a spec-driven collection?

Send the tasks or skills, the environments and regions, the contributors, the streams and labels, the accept criteria and the delivery format you need. If you do not have a written spec yet, the first draft is written with you on a call and handed back as a file for your repository. Then ask for a quote or a Spec Pilot.

If you would rather check the data before specifying anything, the sample page shows what the sample pack contains. If you want the writing method first, read the guide. Otherwise use the request below, and we scope a Spec Pilot or a quote against your spec.

At a glance

What you get.

Starts from
Written skill spec
Spec parts
Named skill · geometry · condition budget · reject rule · acceptance test
Order flow
Spec → quote → Spec Pilot → scale
Spec to first batch
a median of 48 hours (deep coverage)
Billing
Per validated hour
Delivery
RLDS · LeRobot · WebDataset · HDF5
License
Perpetual, buyer-owned

Every collection runs through the same seven-stage end-to-end custom collection pipeline. End-to-end custom data collection is a managed service that takes an AI data need from problem to owned dataset in a single accountable pipeline.

Spec elements

What each part of a skill spec states and drives

The five spec parts as the site’s guide states them, with what each controls.
Spec elementWhat the site statesWhat it drives
Named skillThe exact task as a verb and a noun, not a broad activityWhat contributors perform on camera
GeometryWhat must be visible, at which moment and for how longWhat stays in frame in each episode
Condition budgetHours per condition cell, including failure casesThe cells the per-batch coverage report measures fill against
Reject ruleWritten first; names what causes an item to be rejectedLets a reviewer accept or reject a batch without a meeting
Acceptance testOne test a reviewer can apply in fifteen framesWhat makes a take validated rather than rejected

Streams and formats

Streams, gates and formats a spec can request

Stream, sync and format claims as the site states them, with how a spec requests each.
ItemWhat the site statesHow a spec requests it
RGB videoHead and wrist cameras; the baseline streamNamed as the baseline stream
Depth and IMUAdded where the spec calls for themListed in the streams section of the spec
Hand pose and body posePer-joint labels where orderedListed where the model consumes them
Segmentation and action labelsMasks and action segments where orderedListed where the model consumes them
Cross-stream syncOne PTP clock domain; 1.12 ms median, 1.94 ms p99, 2.0 ms ceilingA stated gate; episodes breaching it are rejected
Delivery formatRLDS, LeRobot, WebDataset, HDF5, zarr, Rerun .rrd, raw plus metadataNamed up front so data loads without a conversion pass

Spec vs off-the-shelf

Off-the-shelf dataset vs spec-driven collection

The trade-off is scope, license and timeline, not just availability.
DimensionOff-the-shelf datasetSpec-driven collection
CoverageFixed to what was already capturedScoped to your tasks, objects and regions
LicenseOften research-onlyPerpetual, buyer-owned, commercial
GapsDiscovered after trainingMeasured cell by cell against the spec, per batch
TimelineAvailable now, as-isMedian 48 h where coverage is deep; three to four weeks where thin
Cost modelFree or fixed access termsQuoted against your spec, billed per validated hour

Agreed per spec

What the site states vs what is set per program

Details the site does not fix are agreed in the skill spec.
DetailWhat the site statesWhere it is set
Hours and volumeDefined by you, not sold as a fixed package sizeYour skill spec
Pilot sizeA small, fast first batch; no exact size statedAgreed per spec
PriceNo list price; quoted against the specThe quote
Turnaround for your specMedian 48 h where deep; three to four weeks where thinConfirmed by the Spec Pilot
Spec fields and thresholdsThe guide’s example is illustrative, not a fixed templateAgreed with you in the spec
Label storage in a chosen formatNot stated beyond the format pagesSet per program in the skill spec

FAQ

Skill-spec-driven egocentric data collection, answered.

What is a skill spec?
A skill spec is the written contract for a capture program. The guide names five parts: the named skill, the geometry that must be visible, the condition budget in hours, the reject rule and one acceptance test. It is agreed before a contributor is briefed.
Who writes the skill spec?
Firsthand designs the first draft with you on a call and hands it back as a file for your repository. It then becomes the document coverage is reported against, so both sides read the same spec when a batch is accepted.
Do I need a finished spec before I ask for a quote?
The quote is scoped against a written spec, and a Spec Pilot can start from a focused written brief covering tasks, scenes and required streams and labels. If you have no spec yet, the first draft is written with you.
How does the spec affect what gets rejected?
Every item is checked against the reject rule and acceptance test in your spec, and sync and calibration are verified. Episodes breaching the 2.0 ms sync ceiling are rejected, and rejected footage is recaptured at the provider’s cost.
Which formats can a spec request?
RLDS, LeRobot, WebDataset and HDF5 are stated for custom collections, and the pilot page also lists zarr, Rerun .rrd and raw streams with metadata. How a given label is stored in a chosen format is set per program in the skill spec.
How fast can a spec-driven collection start?
Where coverage is deep, the median from signed spec to first validated batch is 48 hours. Where coverage is thin, it runs three to four weeks. A Spec Pilot gives a real number for your spec.
How is a spec-driven collection priced?
There is no list price. You are quoted against your written spec and billed per validated hour. Stream count, validated hours, coverage depth and turnaround drive the number, and footage that fails QA is not billed.

Sources

Where are the delivery formats documented?

Request a custom dataset.

Tell us the skill, the environments, the streams and the format you need. We write the first spec draft with you and scope a Spec Pilot or a quote against it.