Files
claudetools/.claude/skills/bug-tracker/skill.md
Howard Enos 742bc5f81b sync: auto-sync from HOWARD-HOME at 2026-07-17 20:00:56
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-17 20:00:56
2026-07-17 20:01:24 -07:00

91 lines
3.1 KiB
Markdown

---
name: bug-tracker
description: "File, list, update, and close bugs/features/tasks in the Gitea issue tracker across GuruRMM, GuruConnect, and ClaudeTools repos. Visual dashboard at projects/msp-tools/bug-tracker/dashboard.html."
triggers:
- "file a bug"
- "track a bug"
- "open an issue"
- "bug tracker"
- "what bugs are open"
- "list bugs"
- "close issue"
- "update issue"
- "mark fixed"
- "what's being worked on"
---
# Bug & Project Tracker — Gitea Issues
Manage the ACG bug/feature/skill/project tracker via Gitea Issues API.
Dashboard: `projects/msp-tools/bug-tracker/dashboard.html`
## Setup
- Gitea: `https://git.azcomputerguru.com/api/v1`
- Owner: `azcomputerguru`
- Token: vault `services/gitea``credentials.api.api-token`
- Tracked repos: `gururmm`, `guru-connect`, `claudetools`
## Label scheme
| Label | Purpose |
|-------|---------|
| `bug` | Something broken |
| `feature` | New capability |
| `skill` | Skill work |
| `project` | Project-level |
| `P1-critical` / `P2-high` / `P3-normal` / `P4-low` | Priority |
| `in-progress` | Being worked |
| `blocked` | Blocked |
| `dropped` | Stalled |
| `fixed` | Fix applied |
| `verified` | Confirmed working |
| `security` | Security-related |
| `component:rmm-agent` / `rmm-server` / `rmm-dashboard` / `guruconnect` / `harness` | Component |
## Operations
### File a new issue
Read the token from vault. POST to `/repos/{owner}/{repo}/issues`:
```json
{
"title": "...",
"body": "## Problem\n...\n\n## Steps to reproduce\n...\n\n## Expected behavior\n...\n\n## Session context\nFiled from session on MACHINE at DATE",
"labels": [label_id, label_id, ...]
}
```
Always include: one type label (bug/feature/skill/project), one priority label, component label(s) if applicable.
### List open issues
GET `/repos/{owner}/{repo}/issues?state=open&type=issues&limit=50`
For cross-repo view, query all tracked repos and merge results.
### Update an issue (add progress, change status)
- Add a comment: POST `/repos/{owner}/{repo}/issues/{number}/comments` with `{"body": "..."}`
- Change labels: PATCH `/repos/{owner}/{repo}/issues/{number}` or use label endpoints
- Close: PATCH with `{"state": "closed"}`
### Mark fixed
Add `fixed` label, add a comment describing the fix, reference the commit if available.
### Mark verified
Add `verified` label, close the issue.
## Auto-filing (IMPORTANT)
When a bug surfaces during a Claude session — a command fails unexpectedly, a skill hits an error that needs follow-up, or the user reports something broken — **file it as an issue automatically** (with user confirmation for the title/priority). This is the whole point: bugs should not require someone to remember them.
The issue body should include:
- What happened (error message, unexpected behavior)
- Context (what was being attempted, which machine, which session)
- Any workaround applied
- Links to relevant session logs if available
## Dashboard
Open `projects/msp-tools/bug-tracker/dashboard.html` in a browser.
Pass the Gitea token as a URL parameter: `?token=xxx`
It shows a kanban board (Open / In Progress / Blocked / Done) with filtering by repo and type.
$ARGUMENTS