CLI best practices for LlamaFarm. Covers Cobra, Bubbletea, Lipgloss patterns for Go CLI development.
日本語の概要は準備中です。原文の説明を表示しています。
Fetch GitHub CI failure information, analyze root causes, reproduce locally, and propose a fix plan. Use `/fix-ci` for current branch or `/fix-ci <run-id>` for a specific run.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Automates CI troubleshooting by fetching GitHub Actions failures, analyzing logs, reproducing issues locally, and creating a fix plan for user approval.
Verify the GitHub CLI is installed and authenticated:
gh --version && gh auth status
If gh is not installed:
brew install gh"If not authenticated:
gh auth login"Determine the mode based on arguments:
/fix-ci): Fetch failures for the current branch only/fix-ci <run-id>): Fetch specific run (bypasses branch scoping)Default mode (current branch):
BRANCH=$(git branch --show-current)
gh run list --branch "$BRANCH" --status failure --limit 1 --json databaseId,name,headBranch,workflowName,createdAt
Specific run mode:
gh run view <run-id> --json databaseId,name,headBranch,workflowName,jobs,conclusion
If no failures found:
$BRANCH. CI is green!"gh run list --branch "$BRANCH" --limit 3 --json databaseId,conclusion,workflowName,createdAt
Once a failed run is identified, gather comprehensive details:
RUN_ID=<the-run-id>
# Get failed jobs with their steps
gh run view $RUN_ID --json jobs --jq '.jobs[] | select(.conclusion == "failure") | {name, conclusion, steps: [.steps[] | select(.conclusion == "failure")]}'
# Get failed step logs (critical for debugging)
gh run view $RUN_ID --log-failed 2>&1 | head -500
# Get verbose run info
gh run view $RUN_ID --verbose
Log handling:
Attempt to download any debug artifacts:
# Try common artifact names - failures are OK (not all runs have artifacts)
gh run download $RUN_ID -n "coverage" -D /tmp/ci-debug/ 2>/dev/null || true
gh run download $RUN_ID -n "test-results" -D /tmp/ci-debug/ 2>/dev/null || true
gh run download $RUN_ID -n "logs" -D /tmp/ci-debug/ 2>/dev/null || true
If artifacts downloaded, read them for additional context.
Categorize the failure based on log patterns:
| Pattern | Failure Type | Root Cause Area |
|---|---|---|
FAIL:, --- FAIL, FAILED | Test Failure | Specific test case |
ruff check, ruff format | Lint Error | Code style/formatting |
ModuleNotFoundError, ImportError | Import Error | Missing dependency |
TypeError, AttributeError | Runtime Error | Type mismatch |
SyntaxError | Syntax Error | Invalid code |
AssertionError | Assertion Failure | Test expectation mismatch |
TimeoutError, timed out | Timeout | Performance/hang |
PermissionError, EACCES | Permission Error | File/resource access |
ConnectionError, ECONNREFUSED | Network Error | External service |
Extract key information:
Determine the appropriate local command based on the CI job:
| CI Workflow/Job | Local Command |
|---|---|
test-cli | cd cli && go test ./... |
test-python (server) | cd server && uv run pytest -v |
test-python (rag) | cd rag && uv run pytest -v |
test-python (config) | cd config && uv run pytest -v |
test-python (runtime) | cd runtimes/universal && uv run pytest -v |
lint (python) | uv run ruff check . |
lint (go) | cd cli && golangci-lint run |
type-check | uv run mypy . |
build-cli | nx build cli |
build-designer | cd designer && npm run build |
For specific test failures, narrow down the command:
cd <dir> && uv run pytest -v <test_file>::<test_name>cd cli && go test -v -run <TestName> ./...Run the mapped local command to confirm the failure reproduces:
# Example for Python test
cd server && uv run pytest -v tests/test_api.py::test_health_check
Outcome A - Failure reproduces locally:
Outcome B - Failure does NOT reproduce locally:
gh run rerun $RUN_ID"Based on the failure type and logs, identify:
Use available tools to explore:
Use EnterPlanMode to create a formal fix plan. The plan should include:
# CI Fix Plan
## Problem Statement
[Summary of the CI failure from logs]
## Failure Details
- **Run ID**: <run-id>
- **Workflow**: <workflow-name>
- **Job**: <job-name>
- **Error Type**: <categorized-type>
## Root Cause Analysis
[Explanation of why the failure occurred]
## Affected Files
- `path/to/file1.py` (line X)
- `path/to/file2.py` (line Y)
## Proposed Changes
### Change 1: [Brief description]
[Specific edit to make]
### Change 2: [Brief description]
[Specific edit to make]
## Verification Steps
1. Run: `<local-test-command>`
2. Expected: All tests pass
3. Optional: Run full test suite with `<full-suite-command>`
## Notes
- [Any caveats or considerations]
Present the plan and wait for explicit user approval:
CRITICAL: Never make code changes without user approval.
<local-test-command>
IMPORTANT: Do NOT auto-commit changes. Leave committing to the user or /commit-push-pr skill.
| Scenario | Action |
|---|---|
| gh CLI not installed | Direct user to install: brew install gh |
| gh not authenticated | Direct user to: gh auth login |
| No failures found | Report CI is green, exit gracefully |
| Rate limit exceeded | Suggest waiting or using gh auth refresh |
| Run not found | Verify run ID, suggest gh run list to find valid IDs |
| Large logs (>500 lines) | Truncate, note full logs on GitHub |
| Local reproduction fails | Note as flaky/env issue, offer re-run option |
| Network errors | Suggest retry, check connection |
On finding a failure:
CI Failure Found
Run: #12345 (workflow-name)
Branch: feature-branch
Failed Job: test-python
Error Type: Test Failure
Analyzing logs...
[Summary of failure]
Reproducing locally...
[Result]
Entering plan mode to propose fix...
On success (after fix):
Fix Applied
- Modified: path/to/file.py
- Verification: Tests pass locally
Next steps:
- Review the changes
- Run `/commit-push-pr` to commit and push
- CI will re-run automatically on push
/fix-ci to fix their current work, not random failuresまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
CLI best practices for LlamaFarm. Covers Cobra, Bubbletea, Lipgloss patterns for Go CLI development.
日本語の概要は準備中です。原文の説明を表示しています。
Comprehensive code review for diffs. Analyzes changed code for security vulnerabilities, anti-patterns, and quality issues. Auto-detects domain (frontend/backend) from file paths.
日本語の概要は準備中です。原文の説明を表示しています。
Commit changes, push to GitHub, and open a PR. Includes quality checks (security, patterns, simplification). Use --quick to skip checks.
日本語の概要は準備中です。原文の説明を表示しています。
Best practices for the Common utilities package in LlamaFarm. Covers HuggingFace Hub integration, GGUF model management, and shared utilities.
日本語の概要は準備中です。原文の説明を表示しています。
Configuration module patterns for LlamaFarm. Covers Pydantic v2 models, JSONSchema generation, YAML processing, and validation.
日本語の概要は準備中です。原文の説明を表示しています。
Designer subsystem patterns for LlamaFarm. Covers React 18, TanStack Query, TailwindCSS, and Radix UI.
日本語の概要は準備中です。原文の説明を表示しています。