I forgot all about the skip_files in app.yaml and asked my favorite search engine what to do. A number of the top pages returned made it unnecessarily complicated. Just do this to skip directories (.idea and tools in this example):
... skip_files: - ^(.*/)?#.*#$ - ^(.*/)?.*~$ - ^(.*/)?.*\.py[co]$ - ^(.*/)?.*/RCS/.*$ - ^(.*/)?\..*$ - ^\.idea$ - ^tools$ ...
(These are top-level directories within my app engine project.)
Add -v to your appcfg.py ... update ... invocation to confirm, from messages like
2014-08-02 09:19:20,424 INFO appcfg.py:2568 Ignoring directory '.idea': Directory matches ignore regex. 2014-08-02 09:19:20,425 INFO appcfg.py:2426 Processing file 'app.yaml' 2014-08-02 09:19:20,426 INFO appcfg.py:2426 Processing file 'index.yaml' 2014-08-02 09:19:20,426 INFO appcfg.py:2426 Processing file 'main.py' 2014-08-02 09:19:20,426 INFO appcfg.py:2561 Ignoring file 'main.pyc': File matches ignore regex. 2014-08-02 09:19:20,426 INFO appcfg.py:2426 Processing file 'not_found.py' 2014-08-02 09:19:20,427 INFO appcfg.py:2568 Ignoring directory 'tools': Directory matches ignore regex. 2014-08-02 09:19:20,429 INFO appcfg.py:2426 Processing file 'static/Chart.min.js' ...