Ship early and ship often. This is a principle we embrace and celebrate here at A Serious Business, Inc.. It’s a cultural holdover from our days at GitHub

At GitHub, we ship a lot. We think it’s so important to ship often, we even have a shipping mascot and matching emoji (:shipit:).

The shipping mascot mentioned in the post is the famous Ship It Squirrel!

The famous Ship It Squirrel.

The Ship It Squirrel showed up everywhere. If a Pull Request was ready to go, we’d comment on the PR with the :shipit: emoji. In chat, we had a Hubot script we could call that posted a random Ship It Squirrel into the chat room. The hubot-shipit script still lives on! It’s a nice way to encourage each other.

With Abbot, it’s possible to build such a skill without any code as Abbot has first-class support for building skills that pull a random item from a list via the list skill. The following is a demonstration:

@abbot list add shipit
@abbot shipit add https://user-images.githubusercontent.com/19977/122805857-796f9480-d27e-11eb-8ee8-ccb335d14f23.png

That first command creates a new list skill named shipit. The second command adds an image URL to the shipit list.

With this in place, you can call the shipit skill with no arguments (@abbot shipit) to tell it to retrieve a random item from the list. In this case, with only one item, that’s not so interesting. So lets add more items to the list like so:

@abbot shipit add https://28.media.tumblr.com/tumblr_lybw63nzPp1r5bvcto1_500.jpg
@abbot shipit add https://user-images.githubusercontent.com/19977/122805749-55ac4e80-d27e-11eb-9ec5-ea5cd551a9a2.png

The next time you run @abbot shipit, Abbot will return a random item from the shipit list.

Hopefully your teammates will use such lists responsibly, but just in case someone adds an image that is not conducive to a culture of shipping, you can log in to the Abbot List Skills page to find out who added which items.

By my estimate 80% of Hubot scripts that GitHub employees wrote for internal user were variations of this theme. For example, I mentioned that a previous co-worker wrote .haack me which brought up a random animated gif of me. Turns out, that co-worker is now my co-founder.

We use lists for fun and to build camaraderie. For example, the default joke skill is implemented as a list. We also have a Magic 8 Ball list. But we also use them for real work such as tracking ideas for new skills. What interesting lists will you create?

calendar icon

June 22, 2021
clock icon

Author
Author, AI Specialist