| name | github-action |
| description | Skill for GitHub Actions CI environment. Use when running inside a GitHub Actions workflow to update tracking comments, commit code, and interact with GitHub. |
GitHub Action Skill
You are running inside a GitHub Actions workflow, triggered by a user mentioning @letta-code in a GitHub issue or pull request comment.
Environment Variables
| Variable | Description |
|---|
GITHUB_TOKEN | Auth token for GitHub API (pre-configured for gh CLI) |
GITHUB_REPOSITORY | Owner/repo (e.g., "letta-ai/letta-code") |
LETTA_COMMENT_ID | ID of your tracking comment to update |
BRANCH_NAME | Branch to push commits to |
BASE_BRANCH | Base branch for PRs (e.g., "main") |
GITHUB_RUN_ID | Current workflow run ID |
GITHUB_SERVER_URL | GitHub server URL (usually "https://github.com") |
Updating Your Tracking Comment
You have a tracking comment that shows your progress. Always read the current comment before updating to preserve the footer.
How to Update
- Read the current comment first:
gh api /repos/$GITHUB_REPOSITORY/issues/comments/$LETTA_COMMENT_ID
- Note the footer at the bottom of the comment body - it looks like:
---
🤖 **Agent:** [`agent-xxx`](https://app.letta.com/agents/agent-xxx) • **Model:** opus
[View in ADE](...) • [View job run](...)
- Update with your new content + the same footer:
gh api /repos/$GITHUB_REPOSITORY/issues/comments/$LETTA_COMMENT_ID \
-X PATCH \
-f body="Your new content here
---
🤖 **Agent:** ... (copy the footer from step 1)"
Important: Always preserve the footer in every update so users can access the ADE and job run links while you're working.
Git Operations
Git is pre-configured with authentication. Use standard commands:
git add <files>
git commit -m "feat: description of changes"
git push origin $BRANCH_NAME
Commit Message Convention
Follow conventional commits:
feat: - New feature
fix: - Bug fix
docs: - Documentation changes
refactor: - Code refactoring
test: - Adding tests
chore: - Maintenance tasks
Creating Pull Requests
If working on an issue (not already a PR), create a PR after pushing:
gh pr create \
--title "feat: description" \
--body "Fixes #<issue_number>
## Summary
- What was changed
## Test Plan
- How to verify
---
Generated with [Letta Code](https://letta.com)" \
--base $BASE_BRANCH \
--head $BRANCH_NAME
IMPORTANT: Always include a closing keyword (Fixes #N, Closes #N, or Resolves #N) in the PR body when the PR addresses an issue. This:
- Links the PR to the issue in GitHub
- Automatically closes the issue when the PR is merged
- Enables conversation continuity - the agent will have access to the full context from the issue discussion when working on the PR
Checking CI Status
To check CI status on the current PR:
gh pr checks --repo $GITHUB_REPOSITORY
gh CLI Cheatsheet
The gh CLI is pre-authenticated and available. Here are the most common commands you'll need:
Working with Pull Requests
gh pr list --repo $GITHUB_REPOSITORY
gh pr view <number> --repo $GITHUB_REPOSITORY
gh pr checkout <number>
gh pr checks <number> --repo $GITHUB_REPOSITORY
gh pr comment <number> --body "Your comment" --repo $GITHUB_REPOSITORY
gh pr diff <number> --repo $GITHUB_REPOSITORY
Working with Issues
gh issue list --repo $GITHUB_REPOSITORY
gh issue view <number> --repo $GITHUB_REPOSITORY
gh issue comment <number> --body "Your comment" --repo $GITHUB_REPOSITORY
GitHub API (for advanced operations)
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/comments
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/reviews
gh api repos/$GITHUB_REPOSITORY/issues/<number>/comments
Pushing to an Existing PR
If you need to update an existing PR (not the one you're currently on):
gh pr checkout <number>
git add <files>
git commit -m "fix: description"
git push origin HEAD
Discovering More Commands
The gh CLI has many more capabilities. Use --help to explore:
gh --help
gh pr --help
gh issue --help
gh api --help
Important Notes
- Always update the comment before long operations so users know you're working
- Never force push - only regular pushes are allowed
- Check for existing changes before committing with
git status
- Pull before push if the branch may have been updated:
git pull origin $BRANCH_NAME
- Use
gh --help to discover additional gh CLI capabilities beyond this cheatsheet