feat: add /gc-feature-request skill; register guruconnect coord key
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -192,6 +192,7 @@ curl -s -X PUT "http://172.16.3.30:8001/api/coord/components/gururmm/server" \
|
|||||||
| project_key | Components | States |
|
| project_key | Components | States |
|
||||||
|-------------|------------|--------|
|
|-------------|------------|--------|
|
||||||
| `gururmm` | `server`, `agents`, `dashboard`, `db_migrations` | `building`, `built`, `deploying`, `deployed`, `degraded` |
|
| `gururmm` | `server`, `agents`, `dashboard`, `db_migrations` | `building`, `built`, `deploying`, `deployed`, `degraded` |
|
||||||
|
| `guruconnect` | `server`, `agent`, `dashboard` | `building`, `built`, `deploying`, `deployed`, `degraded` |
|
||||||
| `claudetools` | `api`, `db_migrations`, `coord_api` | `deploying`, `deployed`, `degraded` |
|
| `claudetools` | `api`, `db_migrations`, `coord_api` | `deploying`, `deployed`, `degraded` |
|
||||||
| `dataforth-dos` | `app`, `db` | `active`, `idle`, `degraded` |
|
| `dataforth-dos` | `app`, `db` | `active`, `idle`, `degraded` |
|
||||||
| `clients/<name>` | `(free-form)` | `(free-form)` |
|
| `clients/<name>` | `(free-form)` | `(free-form)` |
|
||||||
|
|||||||
117
.claude/commands/gc-feature-request.md
Normal file
117
.claude/commands/gc-feature-request.md
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
GuruConnect Feature Request — Analysis & Specification
|
||||||
|
|
||||||
|
Produce a researched specification for a GuruConnect feature, place it in the GC roadmap, and commit
|
||||||
|
it. GuruConnect is a standalone remote-support product (separate repo `azcomputerguru/guru-connect`,
|
||||||
|
tracked as the `projects/msp-tools/guru-connect` submodule). Do NOT confuse it with GuruRMM — see its
|
||||||
|
ADR-001. Use `/feature-request` for GuruRMM instead.
|
||||||
|
|
||||||
|
`$ARGUMENTS` = the feature request text.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 1 — Context
|
||||||
|
|
||||||
|
Read:
|
||||||
|
- `projects/msp-tools/guru-connect/docs/FEATURE_ROADMAP.md` — sections, priorities, existing items
|
||||||
|
- `projects/msp-tools/guru-connect/docs/ARCHITECTURE_DECISIONS.md` — ADRs (esp. ADR-001 standalone+contract)
|
||||||
|
- `projects/msp-tools/guru-connect/CLAUDE.md` — architecture, design constraints, coding standards
|
||||||
|
- `projects/msp-tools/guru-connect/docs/specs/` — existing SPEC-NNN files (to pick the next number)
|
||||||
|
|
||||||
|
GuruConnect architecture vocabulary: **agent** (Windows capture/input/viewer), **relay-server**
|
||||||
|
(Axum), **viewer** (native + React/TS web viewer), **dashboard**. Transport: protobuf-over-WSS.
|
||||||
|
|
||||||
|
## Phase 2 — Classify (Ollama)
|
||||||
|
|
||||||
|
Call Ollama `qwen3.6:latest` (strict JSON). Endpoint from `.claude/identity.json` (`.ollama.endpoint`).
|
||||||
|
|
||||||
|
```
|
||||||
|
Analyze a feature request for GuruConnect, a Rust remote-desktop product (agent + Axum relay +
|
||||||
|
native/web viewer), protobuf-over-WSS.
|
||||||
|
Roadmap sections: Core Remote Control, GuruRMM Integration, Server/API, Security & Infrastructure,
|
||||||
|
Operational Tooling, Future Considerations.
|
||||||
|
Feature request: $ARGUMENTS
|
||||||
|
Respond JSON only: {"section","subsection","priority":"P1|P2|P3","brief_summary",
|
||||||
|
"similar_features":[],"research_needed":[]}
|
||||||
|
```
|
||||||
|
If Ollama is unreachable, classify yourself.
|
||||||
|
|
||||||
|
## Phase 3 — Research
|
||||||
|
|
||||||
|
- Grep `projects/msp-tools/guru-connect/{agent,server,dashboard,proto}/` for related code; cite file:line.
|
||||||
|
- Note where the feature lives (agent / relay-server / viewer / dashboard / proto / DB migration).
|
||||||
|
- If it touches the GuruRMM integration surface, cross-reference `docs/specs/native-remote-control/`
|
||||||
|
and keep the integration contract authoritative (GC owns it).
|
||||||
|
|
||||||
|
## Phase 4 — Write the spec
|
||||||
|
|
||||||
|
Next number = highest existing `SPEC-NNN` + 1. Write `docs/specs/SPEC-NNN-<slug>.md`:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# SPEC-NNN: <Feature Name>
|
||||||
|
|
||||||
|
**Status:** Proposed
|
||||||
|
**Priority:** P1|P2|P3
|
||||||
|
**Requested By:** <Mike|Howard> (<date>)
|
||||||
|
**Estimated Effort:** Small|Medium|Large|X-Large
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
<2-3 sentences; user-facing benefit; primary use cases; success criteria>
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
### Included in v1
|
||||||
|
### Explicitly out of scope
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
- Agent / Relay-server / Viewer / Dashboard responsibilities
|
||||||
|
- Protobuf changes (`proto/guruconnect.proto`)
|
||||||
|
- DB schema (migrations)
|
||||||
|
- API endpoints / WS messages
|
||||||
|
|
||||||
|
## Implementation details
|
||||||
|
- Files to touch (file:line where known), structs/messages, key logic
|
||||||
|
|
||||||
|
## Security considerations
|
||||||
|
- Auth (JWT/agent key/support code), input validation, audit events, threat model
|
||||||
|
|
||||||
|
## Testing strategy
|
||||||
|
- Unit / integration / manual scenarios
|
||||||
|
|
||||||
|
## Effort estimate & dependencies
|
||||||
|
- Size; what must precede it; what it unblocks
|
||||||
|
|
||||||
|
## Open questions
|
||||||
|
```
|
||||||
|
|
||||||
|
Generate the prose via Ollama `qwen3:14b` if available (fallback: write it yourself). Be specific —
|
||||||
|
real file paths and message/struct names from Phase 3.
|
||||||
|
|
||||||
|
## Phase 5 — Roadmap
|
||||||
|
|
||||||
|
Add/insert the item in the right `docs/FEATURE_ROADMAP.md` section:
|
||||||
|
`- [ ] **<Feature>** — P<n> — <one-liner>. (SPEC-NNN)` with a link to the spec.
|
||||||
|
|
||||||
|
## Phase 6 — Commit (GC submodule, then bump pointer)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd projects/msp-tools/guru-connect
|
||||||
|
git add docs/specs/SPEC-NNN-<slug>.md docs/FEATURE_ROADMAP.md
|
||||||
|
git commit -m "spec: add SPEC-NNN <feature name>"
|
||||||
|
# push only if the user asks; pushing main triggers GC CI
|
||||||
|
cd ../../..
|
||||||
|
git add projects/msp-tools/guru-connect
|
||||||
|
git commit -m "chore: bump guru-connect submodule (SPEC-NNN <feature name>)"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Phase 7 — Optional coord message
|
||||||
|
|
||||||
|
If Howard submitted it (not Mike), POST to the coord API with `project_key: "guruconnect"`,
|
||||||
|
subject "GC Feature Spec: <name>", summarizing the spec for Mike's review.
|
||||||
|
|
||||||
|
## Phase 8 — Respond
|
||||||
|
|
||||||
|
Summarize: SPEC number, priority, effort, placement, overview, key components, dependencies, files
|
||||||
|
created. Use ASCII markers ([SUCCESS]/[INFO]); no emojis.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Never edit GuruConnect product code as part of "RMM work"; this skill is the GC product's own intake.
|
||||||
|
- Spec is a living doc; refine during planning.
|
||||||
Reference in New Issue
Block a user