Skip to content
Latchkey

Generate LLM.txt workflow (pathintegral-institute/mcpm.sh)

The Generate LLM.txt workflow from pathintegral-institute/mcpm.sh, explained and optimized by Latchkey.

C

CI health: C - fair

Point runs-on at Latchkey and get caching, job timeouts, self-healing for flaky steps, and up to 58% lower cost, applied automatically.

Grade your own workflow free or run it on Latchkey →
Source: pathintegral-institute/mcpm.sh.github/workflows/generate-llm-txt.ymlLicense MITView source

What it does

This is the Generate LLM.txt workflow from the pathintegral-institute/mcpm.sh repository, a real project running GitHub Actions. It is shown here with attribution under its MIT license.

Below, Latchkey shows a faster, safer version produced by its optimization engine.

The workflow

workflow (.yml)
name: Generate LLM.txt

on:
  # Trigger on releases
  release:
    types: [published]

  # Allow manual trigger
  workflow_dispatch:

jobs:
  generate-llm-txt:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
    
    steps:
    - name: Generate token
      id: generate_token
      uses: actions/create-github-app-token@v1
      with:
        app-id: ${{ secrets.BOT_APP_ID }}
        private-key: ${{ secrets.BOT_PRIVATE_KEY }}
    
    - name: Checkout code
      uses: actions/checkout@v4
      with:
        token: ${{ steps.generate_token.outputs.token }}
        fetch-depth: 0
    
    - name: Set up Python
      uses: actions/setup-python@v5
      with:
        python-version: '3.11'
    
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -e .
    
    - name: Generate llm.txt
      run: |
        python scripts/generate_llm_txt.py
    
    - name: Check for changes
      id: check_changes
      run: |
        if git diff --quiet llm.txt; then
          echo "no_changes=true" >> $GITHUB_OUTPUT
        else
          echo "no_changes=false" >> $GITHUB_OUTPUT
        fi
    
    - name: Commit and push changes
      if: steps.check_changes.outputs.no_changes == 'false'
      run: |
        git config --local user.email "action@github.com"
        git config --local user.name "GitHub Action"
        git add llm.txt
        git commit -m "docs: update llm.txt for AI agents [skip ci]"
        git push
      env:
        GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}

The same workflow, on Latchkey

Estimated ~20% faster on cache hits, plus fewer wasted runs and a safer supply chain. Added and changed lines are highlighted.

name: Generate LLM.txt
 
on:
  # Trigger on releases
  release:
    types: [published]
 
  # Allow manual trigger
  workflow_dispatch:
 
jobs:
  generate-llm-txt:
    timeout-minutes: 30
    runs-on: latchkey-small
    permissions:
      contents: write
      pull-requests: write
    
    steps:
    - name: Generate token
      id: generate_token
      uses: actions/create-github-app-token@v1
      with:
        app-id: ${{ secrets.BOT_APP_ID }}
        private-key: ${{ secrets.BOT_PRIVATE_KEY }}
    
    - name: Checkout code
      uses: actions/checkout@v4
      with:
        token: ${{ steps.generate_token.outputs.token }}
        fetch-depth: 0
    
    - name: Set up Python
      uses: actions/setup-python@v5
      with:
        cache: 'pip'
        python-version: '3.11'
    
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -e .
    
    - name: Generate llm.txt
      run: |
        python scripts/generate_llm_txt.py
    
    - name: Check for changes
      id: check_changes
      run: |
        if git diff --quiet llm.txt; then
          echo "no_changes=true" >> $GITHUB_OUTPUT
        else
          echo "no_changes=false" >> $GITHUB_OUTPUT
        fi
    
    - name: Commit and push changes
      if: steps.check_changes.outputs.no_changes == 'false'
      run: |
        git config --local user.email "action@github.com"
        git config --local user.name "GitHub Action"
        git add llm.txt
        git commit -m "docs: update llm.txt for AI agents [skip ci]"
        git push
      env:
        GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
 

What changed

What Latchkey heals here

This workflow has steps that commonly fail on transient issues (network, registries, flaky browsers). On Latchkey managed runners they are detected, retried, and self-healed instead of failing your build:

This workflow runs 1 job per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.

Actions used in this workflow