-
Notifications
You must be signed in to change notification settings - Fork 28
Add /cloclo command workflow with Claude engine and MCP integrations #4003
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
pelikhan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot if it is called from a pull request comment, it should push the changes to the pull request branch (if any) - use safe output
.github/workflows/cloclo.md
Outdated
| actions: read | ||
| engine: | ||
| id: claude | ||
| max-turns: 5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot max turns 100
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed max-turns from 5 to 100 in commit 117ae90.
…ranch support Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Added |
|
@copilot it should also trigger when an issue or discussion is labelled "cloclo" |
|
@copilot just like the famous French singer Claude Francois, the comments left by cloclo are glamorous. cloclo always adds a comment on the original conversation thread with a summary of the changes. |
…oclo" Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Added label trigger support in commit 8e84c02. The workflow now triggers when:
The workflow uses an |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Updated in commit ab2ad14. Cloclo is now glamorous like Claude François! The workflow now ALWAYS adds a beautifully formatted summary comment on the original conversation thread after completing any action. Comments include:
Whether making code changes, performing analysis, or running automation, cloclo will always leave a memorable comment! 🎭 |
.github/workflows/cloclo.md
Outdated
| ## Issue Context (if applicable) | ||
|
|
||
| When triggered by an issue (either via label or comment): | ||
|
|
||
| - **Issue Number**: ${{ github.event.issue.number }} | ||
| - **Issue Title**: ${{ github.event.issue.title }} | ||
| - **Issue State**: ${{ github.event.issue.state }} | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot Use conditional template
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated to use conditional template {{#if github.event.issue}}...{{/if}} in commit 047e674.
.github/workflows/cloclo.md
Outdated
| ## Discussion Context (if applicable) | ||
|
|
||
| When triggered by a discussion (either via label or comment): | ||
|
|
||
| - **Discussion Number**: ${{ github.event.discussion.number }} | ||
| - **Discussion Title**: ${{ github.event.discussion.title }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot use conditional template
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated to use conditional template {{#if github.event.discussion}}...{{/if}} in commit 047e674.
.github/workflows/cloclo.md
Outdated
| ## Pull Request Context (if applicable) | ||
|
|
||
| **IMPORTANT**: If this command was triggered from a pull request, you must capture and include the PR branch information in your processing: | ||
|
|
||
| - **Pull Request Number**: ${{ github.event.pull_request.number }} | ||
| - **Pull Request Title**: ${{ github.event.pull_request.title }} | ||
| - **Source Branch SHA**: ${{ github.event.pull_request.head.sha }} | ||
| - **Target Branch SHA**: ${{ github.event.pull_request.base.sha }} | ||
| - **PR State**: ${{ github.event.pull_request.state }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot use conditional template
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated to use conditional template {{#if github.event.pull_request}}...{{/if}} in commit 047e674.
.github/workflows/cloclo.md
Outdated
| issues: | ||
| types: [opened, edited, reopened, labeled] | ||
| issue_comment: | ||
| types: [created, edited] | ||
| pull_request: | ||
| types: [opened, edited, reopened] | ||
| discussion: | ||
| types: [created, edited, labeled] | ||
| discussion_comment: | ||
| types: [created, edited] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot use command
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed to use command: trigger in commit 047e674. The workflow now uses the simpler command trigger syntax instead of manual event triggers.
.github/workflows/cloclo.md
Outdated
| if: | | ||
| (github.event_name == 'issues' && github.event.action == 'labeled' && contains(github.event.label.name, 'cloclo')) || | ||
| (github.event_name == 'discussion' && github.event.action == 'labeled' && contains(github.event.label.name, 'cloclo')) || | ||
| (github.event_name == 'issues' && contains(github.event.issue.body, '/cloclo')) || | ||
| (github.event_name == 'issue_comment' && contains(github.event.comment.body, '/cloclo')) || | ||
| (github.event_name == 'pull_request' && contains(github.event.pull_request.body, '/cloclo')) || | ||
| (github.event_name == 'discussion' && contains(github.event.discussion.body, '/cloclo')) || | ||
| (github.event_name == 'discussion_comment' && contains(github.event.comment.body, '/cloclo')) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot not needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the complex if: condition in commit 047e674. The command trigger handles activation conditions automatically.
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements a new /cloclo command workflow that processes content through the Claude engine with multiple MCP integrations (Serena, gh-aw, Playwright). The workflow is designed to respond glamorously to user commands across issues, pull requests, and discussions, always adding a summary comment back to the conversation thread. The implementation emphasizes safe outputs and includes constraints against modifying .github/.workflows files.
Key changes:
- Adds command-triggered workflow with Claude engine (max-turns=100)
- Integrates three MCP servers via imports for static analysis, workflow introspection, and browser automation
- Configures safe outputs for PR creation, comment addition, and PR branch pushing
- Implements conditional templates to display context only when applicable (Issue, Discussion, or Pull Request)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ### Next Steps | ||
| [If applicable, suggest what the user should do next] | ||
| ``` | ||
| ``` |
Copilot
AI
Nov 15, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extra closing code fence on line 173. This creates an unclosed code block starting at line 158. Remove this line to properly close the example response format section.
| ``` |
| edit: | ||
| playwright: | ||
| cache-memory: | ||
| key: cloclo-memory-${{ github.workflow }}-${{ github.run_id }} |
Copilot
AI
Nov 15, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using ${{ github.run_id }} in the cache key makes each run create a new cache, preventing persistence across runs. According to the cache-memory documentation, this defeats the purpose of persistent memory. Consider using a stable key like cloclo-memory or cloclo-memory-${{ github.workflow }} for true persistence across workflow runs.
| key: cloclo-memory-${{ github.workflow }}-${{ github.run_id }} | |
| key: cloclo-memory-${{ github.workflow }} |
| ⚠️ **NEVER commit or modify any files inside the `.github/.workflows` directory** | ||
|
|
||
| This is a hard constraint. If the user request involves workflow modifications: | ||
| 1. Politely explain that you cannot modify files in `.github/.workflows` |
Copilot
AI
Nov 15, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect directory path. The workflows directory is .github/workflows (no dot before workflows). The current path .github/.workflows does not exist.
| ⚠️ **NEVER commit or modify any files inside the `.github/.workflows` directory** | |
| This is a hard constraint. If the user request involves workflow modifications: | |
| 1. Politely explain that you cannot modify files in `.github/.workflows` | |
| ⚠️ **NEVER commit or modify any files inside the `.github/workflows` directory** | |
| This is a hard constraint. If the user request involves workflow modifications: | |
| 1. Politely explain that you cannot modify files in `.github/workflows` |
Implements a
/cloclocommand that processes content through Claude engine with Serena (static analysis), gh-aw (workflow introspection), and Playwright (browser automation) MCPs. Inspired by the legendary French singer Claude François, cloclo provides glamorous responses and always adds a beautiful summary comment on the original conversation thread. Outputs via safe-outputs only; enforces constraint against modifying.github/.workflows.Implementation
Trigger:
/cloclocommand in issue/PR/discussion bodies or commentsEngine: Claude with max-turns=100
MCP Integrations (via imports):
serena- Static analysis via uvx, memory at/tmp/gh-aw/cache-memory/serenagh-aw- HTTP MCP on port 8765 (status, compile, logs, audit tools)jqschema- JSON structure discovery at/tmp/gh-aw/jqschema.shTools:
/tmp/gh-aw/mcp-logs/playwright/)Safe Outputs:
create-pull-requestwith[cloclo]prefix and auto-labels (for new PRs)add-comment- ALWAYS used to provide glamorous summary comments with emojis (✨, 🎭, 🎨, ✅, 🚀) and 👍 reaction supportpush-to-pull-request-branchto push changes directly to PR branch when called from PR commentsSecurity: Read-only permissions, sanitized context (
needs.activation.outputs.text), authorized expressions onlyPR Context Handling: Captures number, title, state, head/base SHAs when triggered from pull requests. When called from a PR comment, changes are pushed directly to the PR branch instead of creating a new PR.
Conditional Templates: Uses
{{#if}}...{{/if}}syntax to dynamically render Issue, Discussion, and Pull Request context sections only when applicable.Glamorous Comments: Like Claude François, cloclo ALWAYS adds a beautifully formatted summary comment on the original conversation thread after completing any action, including:
Usage
Command trigger:
When called from a PR comment with code changes, the workflow will push changes directly to the PR branch and add a glamorous summary comment.
Compiled lock file: 331 KB, strict mode validated (0 errors, 0 warnings)
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.