chore: remove unwanted files added in commit 91f620f (#193)

Remove example-dispatch-workflow.yml and pr-summary.md that were
unintentionally added to the root directory in commit 91f620f.
These files should not be in the repository root.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Tomohiro Ishibashi
2025-06-24 09:39:14 +09:00
committed by GitHub
parent 28aaa5404d
commit 882586e496
2 changed files with 0 additions and 191 deletions

View File

@@ -1,73 +0,0 @@
name: Claude Task Executor
on:
repository_dispatch:
types: [claude-task]
permissions:
contents: write
pull-requests: write
issues: write
id-token: write # Required for OIDC authentication
jobs:
execute-claude-task:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Execute Claude Task
uses: anthropics/claude-code-action@main
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# Base branch for creating task branches
base_branch: main
# Optional: Custom instructions for Claude
custom_instructions: |
Follow the CLAUDE.md guidelines strictly.
Commit changes with descriptive messages.
# Optional: Tool restrictions
allowed_tools: |
file_editor
bash_command
github_comment
mcp__github__create_or_update_file
# Optional: Anthropic API configuration
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
# Or use AWS Bedrock
# aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }}
# aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# aws_region: us-east-1
# Or use Google Vertex AI
# google_credentials: ${{ secrets.GOOGLE_CREDENTIALS }}
# vertex_project: my-project
# vertex_location: us-central1
# Example: Triggering this workflow from another service
#
# curl -X POST \
# https://api.github.com/repos/owner/repo/dispatches \
# -H "Authorization: token $GITHUB_TOKEN" \
# -H "Accept: application/vnd.github.v3+json" \
# -d '{
# "event_type": "claude-task",
# "client_payload": {
# "description": "Analyze the codebase and create a comprehensive test suite for the authentication module",
# "progress_endpoint": "https://api.example.com/claude/progress",
# "correlation_id": "task-auth-tests-2024-01-17"
# }
# }'
#
# The progress_endpoint will receive POST requests with:
# {
# "repository": "owner/repo",
# "run_id": "123456789",
# "correlation_id": "task-auth-tests-2024-01-17",
# "status": "in_progress" | "completed" | "failed",
# "message": "Current progress description",
# "completed_tasks": ["task1", "task2"],
# "current_task": "Working on task3",
# "timestamp": "2024-01-17T12:00:00Z"
# }
#
# Authentication: Progress updates include a GitHub OIDC token in the Authorization header

View File

@@ -1,118 +0,0 @@
## Summary
Adds support for `repository_dispatch` events, enabling backend services to programmatically trigger Claude to perform tasks and receive progress updates via API.
## Architecture
```mermaid
sequenceDiagram
participant Backend as Backend Service
participant GH as GitHub
participant Action as Claude Action
participant Claude as Claude
participant MCP as Progress MCP Server
participant API as Progress API
Backend->>GH: POST /repos/{owner}/{repo}/dispatches
Note over Backend,GH: Payload includes:<br/>- description (task)<br/>- progress_endpoint<br/>- correlation_id
GH->>Action: Trigger workflow<br/>(repository_dispatch)
Action->>Action: Parse dispatch payload
Note over Action: Extract task description,<br/>endpoint, correlation_id
Action->>MCP: Install Progress Server
Note over MCP: Configure with:<br/>- PROGRESS_ENDPOINT<br/>- CORRELATION_ID<br/>- GITHUB_RUN_ID
Action->>Claude: Execute task with<br/>MCP tools available
loop Task Execution
Claude->>MCP: update_claude_progress()
MCP->>MCP: Get OIDC token
MCP->>API: POST progress update
Note over API: Payload includes:<br/>- correlation_id<br/>- status<br/>- message<br/>- completed_tasks
API->>Backend: Forward update
end
Claude->>Action: Task complete
Action->>GH: Commit changes
```
## Key Features
### 1. Repository Dispatch Support
- New event handler for `repository_dispatch` events
- Extracts task description, progress endpoint, and correlation ID from `client_payload`
- Bypasses GitHub UI interaction for fully programmatic operation
### 2. Progress Reporting MCP Server
- New MCP server (`progress-server.ts`) for sending progress updates
- OIDC authentication for secure API communication
- Includes correlation ID in all updates for request tracking
### 3. Simplified Dispatch Prompts
- Focused instructions for dispatch events (no PR/issue context)
- Clear directives: answer questions or implement changes
- Automatic progress updates at start and completion
## Implementation Details
### Triggering a Dispatch
```bash
curl -X POST \
https://api.github.com/repos/{owner}/{repo}/dispatches \
-H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
-d '{
"event_type": "claude-task",
"client_payload": {
"description": "Implement a new feature that...",
"progress_endpoint": "https://api.example.com/progress",
"correlation_id": "req-123-abc"
}
}'
```
### Progress Update Payload
```json
{
"repository": "owner/repo",
"run_id": "123456789",
"correlation_id": "req-123-abc",
"status": "in_progress",
"message": "Implementing feature...",
"completed_tasks": ["Setup environment", "Created base structure"],
"current_task": "Writing tests",
"timestamp": "2024-01-17T12:00:00Z"
}
```
## Security
- **OIDC Authentication**: All progress updates use GitHub OIDC tokens
- **Correlation IDs**: Included in request body (not URL) for security
- **Endpoint Validation**: Progress endpoint must be explicitly provided
- **No Credential Storage**: Tokens are generated per-request
## Testing
To test the repository_dispatch flow:
1. Configure workflow with `repository_dispatch` trigger
2. Send dispatch event with required payload
3. Monitor GitHub Actions logs for execution
4. Verify progress updates at configured endpoint
## Changes
- Added `repository_dispatch` event handling in `context.ts`
- Created new `progress-server.ts` MCP server
- Updated `isDispatch` flag across all event types
- Modified prompt generation for dispatch events
- Made `githubData` optional for dispatch workflows
- Added correlation ID support throughout the pipeline