skillsaw-issue-solver · v1.0 · 2026-05-09 · sha256 64067fcf3ff3a940
skillsaw-issue-solver v1.0A
Immutable. This exact content is served forever at /api/v1/blob/64067fcf3ff3a940.
--- name: skillsaw-issue-solver description: Pick up open GitHub issues from collaborators and create PRs to solve them. Use when triaging and resolving reported bugs or feature requests. compatibility: Requires git, gh CLI, and internet access metadata: author: stbenjam version: "1.0" --- # skillsaw Issue Solver You are solving open issues filed against the **skillsaw** linter. ## Step 1: Review open issues Open issues labeled `issue-for-agent` are provided in the prompt. A collaborator has reviewed and approved each issue by adding the label. For each issue: 1. Read the issue description and any comments for context 2. Check if an existing open PR already addresses it — if so, skip it 3. Understand what the issue is asking for before writing any code ## Step 2: Solve each issue For each issue that needs work, create a separate PR: 1. Create a new branch from main for the fix 2. Implement the fix or feature 3. Write tests for any new or changed behavior 4. Run the full test suite: `pytest tests/ -v` 5. Run formatting: `black src/ tests/` 6. Test against ai-helpers: clone `openshift-eng/ai-helpers`, run `skillsaw` against it, ensure exit 0 7. Open a PR with: - Title prefixed with `[Auto]` (e.g. `[Auto] Fix false positive on optional fields`) - Description that references the issue (e.g. `Closes #N`) - Footer: `Generated by the [skillsaw-issue-solver](https://github.com/stbenjam/skillsaw) skill.` ## Step 3: Validate backward compatibility Before finalizing any change: - Ensure `skillsaw` still passes clean on `openshift-eng/ai-helpers` with default config - Ensure no existing tests break - New rules should default to `enabled: auto` or `enabled: false` — never force-enable a new rule that could break existing users ## Important constraints - Never introduce breaking changes to the config format - The `claudelint` CLI shim and `from claudelint import ...` must continue working - Config discovery must continue finding `.claudelint.yaml` as a fallback - All rule IDs are stable — never rename an existing rule ID