After I photograph a game, the photos are only part of the job. I still have to build the gallery, check the score and other details, write something for the website, add captions, and get everything into WordPress. Then I need posts for X, Facebook, and Instagram so people can find it.
I started using ChatGPT to help with some of that work. In the beginning, I would give it the teams, the sport, the date, the score, and a gallery link. I might add a few things I noticed while I was shooting. It would give me a basic story.
That was useful, but it was not enough. I kept finding things that needed to be added or fixed. So the process changed a little with almost every post.
It Started with the WordPress Posts
I use the Gutenberg Code Editor in WordPress. I did not want to copy a story into WordPress and then rebuild the whole post by hand. I wanted the headings, links, photos, captions, and WordPress blocks already in place.
We worked out a standard format. The post needed a title, an Excerpt, categories, tags, the full story, a link to the gallery, and links to my season index and Sports Photography page. We also added the same footer to each sports post.
That sounds obvious now, but we got there by doing the work and noticing what was missing. When a link was wrong, we corrected it. When a post came back without the full WordPress code, we added that to the instructions. When captions were too general or a player could not be identified for sure, we tightened those rules too.
What I Give ChatGPT
For a while, I used a fill-in template that I kept in Apple Notes. Later, we made a full Sports Blog Post Request Guide as a PDF.
The form asks for the basic information about the event:
- The teams and sport
- Whether it was JV, varsity, both, or another level
- The date, time, and location
- The final score or result
- Any special event, such as Homecoming, Senior Night, or Youth Night
- Anything I saw or want mentioned in the story
I can also ask ChatGPT to check team records, standings, or upcoming games. I try to keep my own notes separate from information found online. If something cannot be confirmed, it should not be presented as a fact. I would rather leave something out than put the wrong score, name, or statistic in a post.
Getting the Photos into the Post
The photo part took more work to figure out.
I may have one SmugMug gallery that I use as the photo source and another gallery that I want readers to visit. The photo-source gallery is open in my logged-in Chrome window. That is where ChatGPT gets the exact image links. The public gallery is the link that goes into the story and the social media posts.
I tell ChatGPT whether to use every photo, a certain number of photos, or selected image numbers. I also give it the uniform colors. That small detail helps a lot when it is describing the action.
The image links have to be handled carefully. I use the exact X5Large version loaded by SmugMug. ChatGPT checks the count, keeps the photos in order, removes duplicate links, and looks at each image and its saved information. It does not guess a larger image link by changing part of a smaller one.
Player names are handled carefully too. A name is used only when the game level, jersey number, team color, and current roster all match. If they do not, the caption describes what is happening without naming the player. That is better than guessing.
How the Skill Came Together
By September 2026, the instructions had gotten pretty long. I did not want to paste the same list into every new request. On September 9, we turned the process into a reusable tool called the sports-blog-post skill.
The skill remembers the parts that stay the same. It knows what the finished WordPress package should include. It knows the photo and caption rules. It knows which links and footer to use. It also knows not to publish anything without my approval.
I still have to provide the details that change with each event. The current process looks like this:
- Open the photo-source gallery and copy the public gallery link.
- Provide the teams, level, date, location, result, colors, and my notes.
- Say which photos I want to use.
- List anything I want researched.
- Ask the sports-blog-post skill to build the package.
- Review everything before it goes anywhere.
A Recent Example
A good example is the September 26, 2026 girls varsity soccer game between Twinsburg and Jackson. It was also Twinsburg’s 23rd annual Youth Soccer Night, which is my favorite soccer event of the year. Twinsburg won 3–0.

For that post, ChatGPT pulled 23 X5Large images in gallery order. The first five were from Youth Night. The other 18 were from the varsity game. It checked the image count, looked for duplicates, and reviewed the photos and their saved information.
No players were named because the full identification check was not met. The captions still described the action, but they did not pretend to know something we could not prove.

The final package included the story, two gallery links, all 23 photos, captions, alt text, and the WordPress information. The code was checked before it came back to me. The finished post is Twinsburg Blanks Jackson 3–0 in Girls Varsity Soccer on Youth Night.
Then I Use It for Social Media
Once the blog post is ready, I also use ChatGPT to write drafts for X, Facebook, and Instagram. I do not want the exact same message copied to all three.
The X post usually gets to the point quickly. Facebook gives me more room to talk about the event and the photos. Instagram gets a shorter, more visual version with a few hashtags. Since I have a paid X account, that post can be longer when the extra details are worth including.
The social posts use the same facts as the blog. That helps keep the score, date, and other details consistent. For the Twinsburg–Jackson post, all three drafts mentioned the 3–0 result, Youth Night, and the link to the finished story.
I Still Make the Final Call
ChatGPT saves me time, especially with the WordPress code, photo captions, fact checks, and social media drafts. But it does not replace what I do.
I am still the one at the game. I decide what to photograph. I build the galleries. I explain what I saw. I review the story and captions. I decide what gets published.
Nothing is supposed to be posted automatically. ChatGPT does not publish or update WordPress, share anything on social media, or change a SmugMug gallery unless I separately approve it.
This whole process came from doing the same job over and over and trying to make it better. ChatGPT now handles a lot of the repetitive work. I still control the photos, the facts, and the final story.
Also, please check out why I shoot sports.