feat: motion-graphics video pipeline (HTML/GSAP → MP4 + GitTools + RenderBackendProtocol) #149
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Claude Assistant | |
| on: | |
| issue_comment: | |
| types: [created] | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| issues: write | |
| actions: read | |
| id-token: write | |
| jobs: | |
| claude-response: | |
| env: | |
| ISSUE_NUMBER_RESOLVED: ${{ github.event.issue.number }} | |
| if: | | |
| github.event_name == 'issue_comment' && | |
| contains(github.event.comment.body, '@claude') && | |
| github.actor != 'dependabot[bot]' && | |
| github.actor != 'cursor[bot]' && | |
| github.actor != 'renovate[bot]' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| ref: ${{ github.event.issue.pull_request && format('refs/pull/{0}/head', github.event.issue.number) || github.event.repository.default_branch }} | |
| - name: Run Claude Code Action | |
| uses: anthropics/claude-code-action@beta | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| trigger_phrase: "@claude" | |
| label_trigger: "claude" | |
| allowed_bots: "praisonai-triage-agent[bot]" | |
| timeout_minutes: "30" | |
| direct_prompt: | | |
| You are implementing changes in MervinPraison/PraisonAI-Tools (Python tools for PraisonAI). Follow README.md and existing patterns under `praisonai_tools/`. | |
| Primary scope: `praisonai_tools/`, `tests/`, `examples/`, `docs/`. Do not change `praisonaiagents` in this repo (it is not vendored here). | |
| STEP 0 — GIT & GITHUB CLI: | |
| git config --global user.name "github-actions[bot]" | |
| git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
| gh auth setup-git | |
| STEP 1 — ISSUE / PR: | |
| Read the issue (or PR) and all comments. Implement what is described with minimal, focused changes. | |
| STEP 2 — BRANCH (single name; reuse in STEP 4): | |
| BRANCH="claude/issue-${{ env.ISSUE_NUMBER_RESOLVED }}-$(date +%Y%m%d-%H%M%S)" | |
| git checkout -b "$BRANCH" | |
| STEP 3 — TEST / VERIFY: | |
| Run targeted pytest or smoke checks relevant to your edits (e.g. pytest tests/unit -q). | |
| STEP 4 — COMMIT, PUSH, OPEN PR (mandatory if you produced commits): | |
| git add -A | |
| git commit -m "feat: <short summary> (fixes #${{ env.ISSUE_NUMBER_RESOLVED }})" | |
| git push -u origin "$BRANCH" | |
| REPO="${{ github.repository }}" | |
| COUNT=$(gh pr list --repo "$REPO" --head "$BRANCH" --json number --jq 'length') | |
| if [ "$COUNT" -gt 0 ]; then | |
| gh pr list --repo "$REPO" --head "$BRANCH" --json url --jq '.[0].url' | |
| else | |
| gh pr create --repo "$REPO" --base main --head "$BRANCH" --title "feat: <short title>" --body "Fixes #${{ env.ISSUE_NUMBER_RESOLVED }}" | |
| fi | |
| CRITICAL: Do not stop after `git push`. You MUST complete `gh pr create` (or print the existing PR URL from the step above) and post that URL on the issue. Never ask a human to open the PR manually. | |
| allowed_tools: | | |
| Bash(git:*) | |
| Bash(python:*) | |
| Bash(pip:*) | |
| Bash(pytest:*) | |
| Bash(gh:*) | |
| Bash(python -m pytest:*) | |
| Bash(python -m pip:*) | |
| View | |
| GlobTool | |
| GrepTool | |
| BatchTool | |
| Edit | |
| Replace | |
| mcp__github__get_issue | |
| mcp__github__get_issue_comments | |
| mcp__github__update_issue |