what to fill in after $items in hook_field_is_empty
rgb is one of the column names defined by the field_example module's implementation of hook_field_schema():

function field_example_field_schema($field) {
  $columns = array(
    'rgb' =&gt; array('type' =&gt; 'varchar', 'length' =&gt; 7, 'not null' =&gt; FALSE),
  );
  $indexes = array(
    'rgb' =&gt; array('rgb'),
  );
  return array(
    'columns' =&gt; $columns,
    'indexes' =&gt; $indexes,
  );
}


These columns are the actual storage for your field's various values, and represent the columns you'll find in the field_data_* and field_revision_* tables in a normal Drupal installation. 

In the case of the rgb field there's only one column, but for many fields there are multiple columns (for example the image field which besides a 'fid' (file id) column has 'alt' and others).

The $item passed to hook_field_is_empty() is the representation of an instance of your field attached to an entity...essentially it contains the values filled in (or not as the case may be) by the user.

All of the columns you define in hook_field_schema() will be available in $item in hook_field_is_empty()...you then use whatever custom logic you need to decide whether the field has been sufficiently completed for storage, and return a TRUE or FALSE to represent that.