google-github-actions / google-github-actions/run-gemini-cli
Natural Language Intent Routing
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.1k
- Forks
- 285
- Avg merge
- 8h 8m
- Merged PRs (30d)
- 1
Description
Problem
The current dispatcher pattern relies on slash commands (@gemini-cli /review, @gemini-cli /triage) limits the natural interaction experience:
- Rigid syntax: Users must remember exact slash commands (/review, /triage)
- Poor discoverability: No way to know what commands are available except by reading workflows
- Unnatural interaction: Doesn't leverage Gemini's natural language understanding capabilities
- Limited flexibility: Can't handle variations or synonyms (e.g., "please review this" vs "/review")
- User friction: Have to context-switch to remember command syntax
Solution
Intent routing involves:
- Parse natural language requests instead of requiring slash commands
- Automatically detect intent from user requests
- Route to appropriate workflows based on semantic understanding
- Provide fallback handling for ambiguous requests
Here are some examples:
- Review intent: "review", "analyze", "check", "examine", "audit"
- Triage intent: "categorize", "label", "classify", "organize", "tag"
- Implement intent: "fix", "update", "change", "modify", "improve"
- General query intent: "explain", "help", "what", "how", "why"
Example
This is an example routing step:
# Example enhanced dispatcher logic
- name: 'Classify intent'
if: |-
${{ !startsWith(github.event.comment.body, '@gemini-cli /') }}
env:
REQUEST_BODY: '${{ github.event.comment.body || github.event.review.body || github.event.issue.body }}'
uses: 'google-github-actions/run-gemini-cli@main'
with:
prompt: |-
Classify this request into one of: review, triage, invoke
Request: "${REQUEST_BODY}"
Return only the classification.
This would be the outcome:
❌ Before: "@gemini-cli /review focus on security"
✅ After: "@gemini-cli please review this PR for security issues"
❌ Before: "@gemini-cli /triage"
✅ After: "@gemini-cli can you help categorize this issue?"
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing dispatcher workflows and their slash-command handling, then examine the proposed classification step using run-gemini-cli. Define how review, triage, invoke, and ambiguous requests are routed, and verify that natural-language examples work while existing slash commands remain handled appropriately.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, typescript
- Domain
- ai, ci-cd
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100