code: def newbie(cls, *args, **kwargs):
          
          parser = cls(*args, **kwargs)
          subparser = parser.add_subparsers(dest='command')
          parents = [parser.pparser, parser.output_parser]
  
          sparser = subparser.add_parser('search', help='Perform new search of items', parents=parents)
          """ Adds search arguments to a parser """
          parser.search_group = sparser.add_argument_group('search options')
          parser.search_group.add_argument('-c', '--collection', help='Name of collection', default=None)
          h = 'One or more scene IDs from provided collection (ignores other parameters)'
          parser.search_group.add_argument('--ids', help=h, nargs='*', default=None)
          parser.search_group.add_argument('--bbox', help='Bounding box (min lon, min lat, max lon, max lat)', nargs=4)
          parser.search_group.add_argument('--intersects', help='GeoJSON Feature (file or string)')
          parser.search_group.add_argument('--datetime', help='Single date/time or begin and end date/time (e.g., 2017-01-01/2017-02-15)')
          parser.search_group.add_argument('-p', '--property', nargs='*', help='Properties of form KEY=VALUE (<, >, <=, >=, = supported)')
          parser.search_group.add_argument('--sort', help='Sort by fields', nargs='*')
          h = 'Only output how many Items found'
          parser.search_group.add_argument('--found', help=h, action='store_true', default=False)
          parser.search_group.add_argument('--url', help='URL of the API', default=config.API_URL)
  
          parents.append(parser.download_parser)
          lparser = subparser.add_parser('load', help='Load items from previous search', parents=parents)
          lparser.add_argument('items', help='GeoJSON file of Items')
          return parser
docs: Create a newbie class, with all the skills needed