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
This commit is contained in:
90
.claude/skills/bug-tracker/skill.md
Normal file
90
.claude/skills/bug-tracker/skill.md
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user