name: Tool Request Pipeline on: issues: types: [labeled] jobs: trigger-claude: # Only run when 'tool-request' label is added if: github.event.label.name == 'tool-request' runs-on: ubuntu-latest permissions: issues: write steps: - name: Add working label uses: actions/github-script@v7 with: script: | // Add 'claude-working' label to indicate processing has started await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, labels: ['claude-working'] }); - name: Comment to trigger Claude uses: actions/github-script@v7 with: script: | const body = `@claude Please implement this tool request. **Instructions:** 1. Read the pipeline specification at \`.claude/pipelines/tool-request.md\` 2. Follow all steps: analyze, design, implement, validate, test, publish 3. Update labels as you progress (remove \`claude-working\`, add \`published\` or \`validation-failed\`) 4. Post full changelog when complete 5. This issue will auto-close 24h after successful publish **Issue Context:** - Issue #${context.issue.number} - Author: @${context.payload.issue.user.login} - Created: ${context.payload.issue.created_at} Begin implementation.`; await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, body: body }); # Auto-close published issues after 24 hours auto-close: runs-on: ubuntu-latest if: github.event.label.name == 'published' permissions: issues: write steps: - name: Schedule auto-close uses: actions/github-script@v7 with: script: | // Add a comment about auto-close await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, body: '**Note:** This issue will auto-close in 24 hours. Reply if you have feedback or issues with the published tool.' }); # Separate workflow handles the actual auto-close via scheduled job # See: .github/workflows/auto-close-published.yml