Idempotent simply means "has no additional effect if it is called more than once with the same input parameters" (What is an idempotent operation?)
If you run a recipe containing a directory resource twice, the 2nd run should have no effect on the directory. For instance the first run of:
directory "#{node.default['jboss']['root']}" do
owner 'jboss'
group 'jboss'
mode '0755'
action :create
end
will create the directory, if it does not exist, and make sure its owner and group are set to jboss and that permissions on it are '0755'. A second run would do nothing (unless you'd changed any of those things, in which case it would bring it back to that state)