feat(dashboard): /config form — routing + skills sections #457

Closed
opened 2026-04-27 13:50:21 +00:00 by claude-desktop · 1 comment
Collaborator

User story

As an operator, I want the Routing and Skills tabs in /config's per-type panel to use multi-select chips backed by live data (repo labels, agent names, available skills), so that I don't have to hand-type label names like area:dashboard and risk typos.

Acceptance criteria

Routing tab

  • routes_labels: multi-select chip input. Suggestions sourced from mcp__forgejo__list_repo_labels (cached server-side). Custom values allowed (label may not exist yet).
  • reviews_authors: multi-select chip input. Suggestions = list of configured agent forgejo_users.
  • reviews_labels: same shape as routes_labels.
  • dispatchable: boolean toggle.
  • role: "code" | "review" | "design" | "design-review" | "host" dropdown.

Skills tab

  • skill_overrides: row-per-event-kind. Left = event kind (dropdown of known kinds: issue.assigned, pr.review_requested, etc.), right = skill name (free text or dropdown of skills from ~/.claude/skills if discoverable).
  • "+ Add override" / "X" delete affordance.

Tests

  • Editing a chip updates the staged form state without writing
  • Save sends the merged config to PUT /config/agents

Out of scope

  • Skill author/editing (skills come from the host filesystem)
  • Drag-to-reorder chips (alphabetical OK)

References

  • Depends on Phase 2a (routing schema in agents.json) — #450
  • Depends on Phase 4a skeleton — #456
## User story As an operator, I want the Routing and Skills tabs in `/config`'s per-type panel to use multi-select chips backed by live data (repo labels, agent names, available skills), so that I don't have to hand-type label names like `area:dashboard` and risk typos. ## Acceptance criteria ### Routing tab - [ ] `routes_labels`: multi-select chip input. Suggestions sourced from `mcp__forgejo__list_repo_labels` (cached server-side). Custom values allowed (label may not exist yet). - [ ] `reviews_authors`: multi-select chip input. Suggestions = list of configured agent forgejo_users. - [ ] `reviews_labels`: same shape as routes_labels. - [ ] `dispatchable: boolean` toggle. - [ ] `role: "code" | "review" | "design" | "design-review" | "host"` dropdown. ### Skills tab - [ ] `skill_overrides`: row-per-event-kind. Left = event kind (dropdown of known kinds: `issue.assigned`, `pr.review_requested`, etc.), right = skill name (free text or dropdown of skills from `~/.claude/skills` if discoverable). - [ ] "+ Add override" / "X" delete affordance. ### Tests - [ ] Editing a chip updates the staged form state without writing - [ ] Save sends the merged config to `PUT /config/agents` ## Out of scope - Skill author/editing (skills come from the host filesystem) - Drag-to-reorder chips (alphabetical OK) ## References - Depends on Phase 2a (routing schema in agents.json) — `#450` - Depends on Phase 4a skeleton — `#456`
Collaborator

🤖 Auto-assigned to dev (heuristic: area:dashboard + body 1440 bytes (≤ 2 KB) — dev). Reply /unassign to reroute.

🤖 Auto-assigned to **dev** (heuristic: area:dashboard + body 1440 bytes (≤ 2 KB) — dev). Reply `/unassign` to reroute.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks#457
No description provided.