Skip to content
Back to skills

Fix Art Issues

ASecurity

Fix a GitHub issue on OpenPipe/ART and open a PR. Use when the user asks to fix, solve, or work on an ART issue, or references a GitHub issue URL containing "OpenPipe/ART". Triggers: "fix ART issue", "solve this issue" with an OpenPipe/ART URL, "work on ART #N".

  • 17 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 31, 2026
businesspythontestinggitbackend

Security analysis

A100/100

Scanned May 31, 2026

npx -y skills add gabrielmoreira/agent-skills-mirror --skill fix-art-issues --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fix Art Issues?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fix Art Issues
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gabrielmoreira-fix-art-issues/badge)](https://www.skillsdirectory.com/skills/gabrielmoreira-fix-art-issues)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fix-art-issues
description: >
  Fix a GitHub issue on OpenPipe/ART and open a PR.
  Use when the user asks to fix, solve, or work on an ART issue,
  or references a GitHub issue URL containing "OpenPipe/ART".
  Triggers: "fix ART issue", "solve this issue" with an OpenPipe/ART URL,
  "work on ART #N".
---

# Fix ART Issue

Fix a GitHub issue on `OpenPipe/ART` and open a PR.

- **Repo**: `OpenPipe/ART`
- **Base branch**: `main`

Assumes the workspace is already set up with the correct branch checked out and `.env` in place (handled by the system-level `fix-art-workspace` skill).

## Workflow

### 1. Read the Issue
```
gh issue view <number> --repo OpenPipe/ART --json title,body,labels,assignees,comments
```

### 2. Explore, Plan, Implement
- Use the Explore agent to understand relevant code before making changes.
- Plan clearly, implement with minimal focused changes. No over-engineering.

### 3. Commit and Push
- Commit with a message that includes `Closes #<issue-number>`.
- Push the feature branch. If HTTPS push fails due to SAML SSO, set SSH remote: `git remote set-url origin git@github.com:OpenPipe/ART.git`

### 4. Open a Draft PR
- `gh pr create --base main --draft`.
- PR body: `## Summary`, `Closes #<number>`, `## Changes`, `## Test plan`.

### 5. Testing
- **No test artifacts in the final PR**: debug prints, test scripts, and temporary changes must NOT be committed.
- Update the PR's test plan section with detailed results.
- When testing passes, mark the PR as ready: `gh pr ready`.

## Reference

Read `CONTRIBUTING.md` at the repo root for guidance on code quality checks (prek), CI cache refresh, and the release process.

## Dependency Management Tips

- **Pin versions strictly** (`==`) for critical deps like `transformers`, `trl`, `unsloth`, `unsloth-zoo`, `vllm` to avoid surprise breakage from new releases.
- **Don't loosen pins without reason**: if a dep was `==X.Y.Z`, keep it pinned unless there's a specific reason to change. Don't use `>=` just because it seems more flexible.
- **`uv run` fails on macOS** for backend deps (apex/torch need CUDA). This is expected — use `uvx ruff` for linting locally, test on GPU cluster.

## Deploying a GPU Cluster

Name the SkyPilot cluster after the branch name without the `fix/` prefix, replacing `/` with `-` (SkyPilot doesn't allow slashes). For example, if the branch is `fix/short-description`:
```
uv run sky launch -c short-description skypilot-config.yaml -y
```

To connect: `ssh short-description`

To tear down when done: `uv run sky down short-description`

## GPU Cluster Testing Tips

- **Kill stale GPU processes** before re-running tests: `nvidia-smi --query-compute-apps=pid --format=csv,noheader | xargs -r kill -9`. Previous failed runs leave processes holding GPU memory.
- **Set `gpu_memory_utilization`** in test scripts (e.g. `0.7`) — the default `0.9` is too high when Unsloth's training model is also loaded on the same GPU.
- **Redirect test output to a log file**: `nohup python test.py > /tmp/output.log 2>&1 &` then `tail -f /tmp/output.log`. SSH background tasks lose output when connection drops.
- **Git on cluster**: SSH keys may not be configured. Use HTTPS with token: `git remote set-url origin https://${GITHUB_TOKEN}@github.com/OpenPipe/ART.git`
- **Tear down clusters** when done: `sky down <cluster-name> -y`

$ARGUMENTS

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.