Dev Hub Command Center
Dev Hub Command Center
Goal
Provide developers with a unified command interface to AI Dev Hub for daily workflow management. This skill turns natural language into structured project management actions -- fetching briefs, creating tickets, tracking time, and monitoring progress -- all without leaving the chat.
MCP Tools Used
This skill uses the AI Dev Hub MCP server. Reference tools by short name; Claude resolves them to the full MCP tool names automatically.
| Tool | Purpose |
|---|---|
search_tasks |
Find tasks by status, assignee, project |
get_task |
Retrieve full task details |
create_task |
Create new tasks/tickets |
update_task |
Update task status, fields, time entries |
add_task_assignee |
Assign users to tasks |
create_comment |
Add comments (used for session logs) |
list_comments |
Read task comments and session history |
search_projects |
Find projects by name |
search_users |
Resolve current user identity |
get_recent_changes |
Fetch recent activity across projects |
User Identity Resolution
Before any personalized query, resolve the current user:
- Call
search_userswith the user's name or email from context - Cache the returned user ID for the session
- Use this ID to filter
search_tasksby assignee
If user identity cannot be resolved, ask: "I couldn't find your Dev Hub profile. What name or email should I search for?"
Instructions
Morning Brief
When the user asks "what's on my plate", "morning brief", or "what should I work on":
- Resolve user identity (see above)
- Call
search_taskswith the user's ID, filtering for open/in-progress tasks - Call
get_recent_changesto fetch activity from the last 24 hours - Group tasks by status:
- In Progress -- tasks currently being worked on
- Overdue -- tasks past their due date (flag with [!])
- Due Today -- tasks due today
- Upcoming -- tasks due this week
- Backlog -- unscheduled open tasks
- Present as a scannable brief:
DEV BRIEF -- [Date]
IN PROGRESS (2)
TSK-142 Fix OAuth token refresh Due: Today
TSK-138 Add pagination to /api/users Due: Tomorrow
OVERDUE (1)
[!] TSK-105 Update API docs for v2 Due: 3 days ago
DUE TODAY (1)
TSK-150 Review PR #847
UPCOMING THIS WEEK (2)
TSK-155 Schema migration for billing Due: Thursday
TSK-160 Write integration tests Due: Friday
RECENT ACTIVITY (last 24h)
TSK-138 Comment by Sarah: "API review approved"
TSK-142 Status changed to In Progress
- End with a recommendation: suggest tackling overdue items first, then in-progress work
Smart Ticket CRUD
Creating Tickets
When the user says "create a ticket for..." or "new ticket":
- Extract the user's description
- If a project is not specified, call
search_projectsand ask which project to use (or use the most recent) - AI-generate structured ticket fields from the brief description:
- Title: Concise, imperative form (e.g., "Fix login timeout on mobile")
- Description: Expanded from the user's input with acceptance criteria
- Priority: Inferred from language ("critical", "bug", "nice to have")
- Call
create_taskwith the generated fields - Optionally call
add_task_assigneeto assign the creator - Confirm creation:
Created TSK-172: "Fix login timeout on mobile"
Project: Backend API
Priority: High
Assigned: You
Description:
The login endpoint times out on mobile clients when network
conditions are poor. Investigate timeout thresholds and add
retry logic.
Acceptance criteria:
- Login succeeds on 3G connections within 10s
- Timeout errors show user-friendly message
- Retry logic with exponential backoff
Viewing Tickets
When the user asks "show me TSK-123" or "what's the status of...":
- Call
get_taskwith the task ID - Call
list_commentsfor recent discussion - Present task details with status, assignees, dates, and recent comments
Updating Tickets
When the user says "update TSK-123" or "mark TSK-123 as done":
- Call
get_taskto fetch current state - Determine the update from the user's request (status change, field update, etc.)
- Call
update_taskwith the changes - Confirm the update with before/after state
Session Time Tracking
Time tracking uses task comments as a persistence layer -- this provides an auditable log with no new infrastructure required.
Starting a Session
When the user says "start working on TSK-123":
- Call
get_taskto verify the task exists - Call
create_commenton the task with a session-start marker:- Content:
[SESSION START] {timestamp_iso}
- Content:
- Call
update_taskto set status to "In Progress" if not already - Confirm:
Session started on TSK-142: "Fix OAuth token refresh"
Started: 10:32 AM
Status: In Progress
Ending a Session
When the user says "done with TSK-123" or "stop working on":
- Call
list_commentson the task to find the most recent[SESSION START] - Calculate duration from start to now
- Call
create_commentwith a session-end marker:- Content:
[SESSION END] {timestamp_iso} | Duration: {hours}h {minutes}m
- Content:
- Confirm with duration:
Session ended on TSK-142: "Fix OAuth token refresh"
Duration: 2h 15m
Total time on this task: 5h 30m
Calculating Running Totals
When showing task details or session summaries, scan all comments for [SESSION START] and [SESSION END] markers to compute:
- Total time spent on the task
- Number of sessions
- Average session length
Progress Dashboard
When the user asks "show my progress" or "sprint stats":
- Resolve user identity
- Call
search_tasksfor the user's tasks across all statuses - Call
get_recent_changesfor the last 7 days - Compute metrics:
- Completed this week: count of tasks moved to Done
- In Progress: count of active tasks
- Open/Backlog: count of unstarted tasks
- Overdue: count of past-due tasks
- Velocity: tasks completed per week (based on available history)
- Present as a dashboard:
PROGRESS DASHBOARD -- Week of [Date]
COMPLETED THIS WEEK 8 tasks
IN PROGRESS 3 tasks
OPEN / BACKLOG 12 tasks
OVERDUE 2 tasks
VELOCITY
This week: 8 tasks
Last week: 6 tasks
Trend: +33% improvement
OVERDUE ITEMS
[!] TSK-105 Update API docs for v2 3 days overdue
[!] TSK-098 Fix flaky CI test 5 days overdue
RECENT COMPLETIONS
TSK-148 Refactor auth middleware Completed yesterday
TSK-145 Add rate limiting Completed 2 days ago
TSK-140 Database connection pooling Completed 3 days ago
Code-Aware Tickets
When the user provides code context (error messages, TODOs, diffs) and asks to create a ticket:
Error to Bug Ticket
When the user shares an error and says "create a bug from this":
- Parse the error message, stack trace, or log output
- Generate a structured bug report:
- Title: Descriptive bug title from the error
- Description: Include the error message, likely cause, and reproduction steps
- Priority: Critical if it's a crash/500, High if it's a user-facing error, Medium otherwise
- Call
create_taskwith the generated fields
TODO to Ticket
When the user says "TODO to ticket" or references a TODO comment:
- Extract the TODO text and file location
- Generate a task:
- Title: Action from the TODO (e.g., "Implement caching for user queries")
- Description: Include the file path, line reference, and surrounding context
- Call
create_task
Diff to Follow-Up
When the user shares a diff or PR description and says "create a follow-up":
- Analyze the changes for follow-up items (missing tests, partial implementations, tech debt)
- Generate one or more tasks for each follow-up
- Call
create_taskfor each
Error Handling
Task Not Found
If a task ID doesn't resolve, respond: "I couldn't find task [ID]. Double-check the ID or try searching: 'search for [keyword]'."
Project Not Found
If no projects match, list available projects: "I couldn't find that project. Here are your projects -- which one did you mean?"
User Not Found
If user identity can't be resolved, ask for clarification rather than guessing: "What name or email is your Dev Hub account under?"
No Open Tasks
If the morning brief finds zero tasks, respond positively: "Your plate is clear! No open tasks assigned to you. Want to pull something from the backlog?"
Session Already Active
If starting a session but a [SESSION START] without a matching [SESSION END] exists, warn: "You have an active session on this task started at [time]. Want me to end that one and start fresh?"
API Errors
If an AI Dev Hub tool call fails, report the error clearly and suggest a retry: "The Dev Hub API returned an error: [message]. Want me to try again?"
Guidelines
- Always use task IDs (not titles) when calling AI Dev Hub tools -- titles are for display only
- Session markers in comments use the exact format
[SESSION START]and[SESSION END]for reliable parsing - When creating tickets from code context, always include the source (file path, error message, TODO text) in the description
- Keep brief output scannable -- use the grouping format shown above, no prose paragraphs
- Recommend tackling overdue items first in morning briefs
- For progress dashboards, show trends when enough history exists (2+ weeks)
- Never fabricate task data -- if a field is unknown, omit it