Missing key name

I have added templates in asset and shot in template.yml. While asset works fine but am getting error for missing key name in shots.
For asset, name is user input. For shot, it is the task.

photoshop_shot_png_work:
    definition: '@shot_root/work/photoshop/png/{Shot}_{name}.v{version}.png'

photoshop_asset_png_work:
    definition: '@asset_root/work/photoshop/png/{Asset}_{name}.v{version}.png'
    root_name: primary

Why should name be missing. If you consider default config, name is present in other templates.

photoshop_shot_publish: '@shot_root/publish/photoshop/psd/{Shot}_**{name}**.v{version}.psd'

It is present and it works without any error. So I presume it should work for custom config as well. Not sure why this error is occuring. Please suggest how to go around this issue.