Use intention-revealing, consistent, and unique names for CI workflow, jobs, and steps (avoid generic labels like build). Names should tell the reader what the unit actually does.

Apply:

Example (GitHub Actions):

name: Build CI/CD Pipeline

jobs:
  build_and_test:
    name: Build and Test
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v5
      - name: Set up uv
        uses: astral-sh/setup-uv@v3
      - name: Install dependencies
        run: uv sync --group=test

  directory_writer:
    name: Directory Writer
    # ...

This improves readability and reduces confusion when multiple workflows/jobs/steps exist.