fix: move argv.specs and argv.excludes parsing logic to function