There’s a trap I keep falling into. Get task, do task, check off task. Repeat.

It feels productive. The list gets shorter. Things are moving. But are they moving in the right direction? Is the work I’m doing actually useful?

This is the question I’ve started asking myself more often: not “did I complete the task?” but “if I stopped right here, would this thing I just created add value to anyone?”

A Real Example: GitHub Issues

Let me tell you about something I’ve experienced at SigNoz.

Creating GitHub issues. Sounds simple, right? Someone spots a bug or has an idea, opens a new issue, dumps a quick description, and hits create. Done. Checkbox ticked. Move on to the next thing.

But here’s the problem – that issue is now floating in the void. No labels. Not added to any project or milestone. Maybe a vague title that won’t make sense to anyone in two weeks.

Working on an open source project like SigNoz, I’ve seen this play out at scale. We have over 1500 open issues right now. A good chunk of them are duplicates that were never caught because the original wasn’t labeled properly. Some are zombies – closed issues that get reopened because the underlying problem was never fully tracked. Others are just… lost. Nobody knows they exist until someone stumbles across them while searching for something else.

The person who created that issue probably felt like they did their job. They documented the problem. They “contributed.”

But did they really?

The Illusion of Done

There’s this satisfying feeling when you create an issue and close the tab. “I’ve done my part.”

But the work isn’t done when you’ve created the artifact. The work is done when the artifact is useful.

If the issue doesn’t describe the problem well enough for your future self (or someone else) to pick it up, is it really documented? If it’s not labeled or categorized, will anyone ever find it? If it’s not linked to a milestone or project, how does anyone know when it should be addressed?

This applies everywhere:

  • Writing documentation that nobody can find
  • Sending updates that don’t actually update anyone
  • Attending meetings that don’t lead to decisions
  • Creating reports that nobody reads

We get so caught up in the motion of work that we forget to check if there’s actual progress.

The Question to Keep Asking

The habit I’m trying to build is simple: pause before marking something “done” and ask – is this actually useful?

Not “did I technically complete what was asked?” but “does this serve its purpose?”

It’s uncomfortable at first because sometimes the honest answer is “no, this is half-baked” and that means more work. But that’s exactly the point. Better to catch it now than to create noise that someone else has to clean up later.

A Bonus Discovery: Thinking Can Be Delegated

Here’s something I’ve realized while trying to stay more mindful: attention is expensive, but it can be replicated.

This is what computers have always done for us – take a pattern of thinking, encode it, and apply it consistently. And now with AI agents, we can do this for higher-level tasks too.

Take the GitHub issues example. Once you’ve figured out what “good” looks like – proper labels, clear descriptions, linked to milestones – you can encode that thinking:

  • Use an AI agent to suggest relevant labels
  • Auto-check for duplicates before creating new issues
  • Flag when critical information is missing
  • Add issues to the right project based on keywords

The expensive thinking happens once when you define the standard. After that, it’s automated execution.

This doesn’t replace the need to think – you still need to figure out what “good” looks like in the first place. But it means you don’t have to burn attention on every single instance. You can reserve your thinking for the things that actually need it.

The Bottom Line

Execution without thinking is just motion. It feels productive but often isn’t.

The work isn’t done when you’ve checked the box. It’s done when the thing you created is actually useful to someone – including your future self.

So before you move on to the next task, pause. Ask the question. And when you figure out what “good” looks like, see if you can encode that thinking so you don’t have to do it manually every time.