/devteam-issue
**Command:** `/devteam:issue <number>`
> /plugin marketplace add michael-harris/devteam > /plugin install devteam@devteam-marketplace
How it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/devteam-issue
Context preview
What this command does when you run it.
**Command:** `/devteam:issue <number>`
Command definition
devteam-issue.mdDevTeam Issue Command
**Command:** `/devteam:issue <number>`
Fix a GitHub issue by number. Automatically fetches details and implements a fix.
Usage
/devteam:issue 123 # Fix GitHub issue #123
/devteam:issue 456 --council # Force Bug Council for complex diagnosis
Your Process
Phase 0: Initialize State Tracking
Before starting, initialize state in SQLite database (`.devteam/devteam.db`):
# Source the state management functions
source scripts/state.sh
# Initialize the database if needed
source scripts/db-init.sh
# Set project metadata
set_kv_state "metadata.created_at" "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
set_kv_state "metadata.project_name" "Issue #123 Fix"
set_kv_state "metadata.project_type" "issue"
# Set issue details
set_kv_state "issue.number" "123"
set_kv_state "issue.title" "[from GitHub]"
set_kv_state "issue.type" "bug" # bug | security | performance | enhancement
set_kv_state "issue.severity" "high" # critical | high | medium | low
set_kv_state "issue.complexity" "moderate" # simple | moderate | complex
# Set execution context
set_kv_state "current_execution.command" "/devteam:issue 123"
set_phase "diagnosis"
# Configure autonomous mode
set_kv_state "autonomous_mode.enabled" "true"
set_kv_state "autonomous_mode.max_iterations" "20"
set_kv_state "autonomous_mode.current_iteration" "0"
set_kv_state "autonomous_mode.circuit_breaker.consecutive_failures" "0"
set_kv_state "autonomous_mode.circuit_breaker.max_failures" "3"
set_kv_state "autonomous_mode.circuit_breaker.state" "closed"
Phase 1: Fetch Issue Details
# Fetch issue from GitHub
gh issue view 123 --json title,body,labels,comments,state
# Extract key information
- Title
- Description
- Steps to reproduce
- Labels (bug, enhancement, security, etc.)
- Comments (may have additional context)
Phase 2: Classify Issue
**Determine issue type:**
- `bug` - Something broken
- `security` - Security vulnerability
- `performance` - Performance degradation
- `enhancement` - Small feature request
**Determine severity:**
- `critical` - System down, security vulnerability, data loss
- `high` - Major functionality broken
- `medium` - Important but workaround exists
- `low` - Minor issue
**Determine complexity:**
- `simple` - Clear cause, straightforward fix (1-2 files)
- `moderate` - Requires investigation, multiple files
- `complex` - Architectural issue, needs deep analysis
Phase 3: Bug Council (for complex bugs)
**Activate Bug Council if:**
- Complexity is `complex`
- Issue has no clear reproduction steps
- Multiple failed fix attempts
- `--council` flag specified
**Bug Council Process:**
// Spawn 5 diagnostic agents in parallel
const councilResults = await Promise.all([
Task({
subagent_type: "diagnosis:root-cause-analyst",
model: "opus",
prompt: `Analyze issue #${issueNumber}:
Title: ${title}
Description: ${body}
Provide diagnosis with:
- Root cause analysis
- Evidence
- Recommended fix
- Confidence score (0-1)`
}),
Task({
subagent_type: "diagnosis:code-archaeologist",
model: "opus",
prompt: `Investigate git history for issue #${issueNumber}...`
}),
Task({
subagent_type: "diagnosis:pattern-matcher",
model: "opus",
prompt: `Search codebase for similar patterns...`
}),
Task({
subagent_type: "diagnosis:systems-thinker",
model: "opus",
prompt: `Analyze system interactions...`
}),
Task({
subagent_type: "diagnosis:adversarial-tester",
model: "opus",
prompt: `Find edge cases and related failures...`
})
])
// Ranked-choice voting
const proposals = councilResults.map(r => r.proposal)
const votes = councilResults.map(r => r.ranking)
const winner = calculateRankedChoice(proposals, votes)
console.log(`Bug Council Decision: ${winner.approach}`)
console.log(`Consensus: ${winner.votes}/${councilResults.length}`)**Bug Council Output:**
bug_council:
activated: true
issue_number: 123
proposals:
A:
agent: diagnosis:root-cause-analyst
diagnosis: "Null reference in guest user handling"
confidence: 0.85
B:
agent: diagnosis:code-archaeologist
diagnosis: "Regression from commit abc123"
confidence: 0.78
C:
agent: diagnosis:pattern-matcher
diagnosis: "Inconsistent optional chaining"
confidence: 0.92
D:
agent: diagnosis:systems-thinker
diagnosis: "AuthContext contract violation"
confidence: 0.80
E:
agent: diagnosis:adversarial-tester
diagnosis: "Multiple paths to same failure"
confidence: 0.75
voting:
method: ranked_choice
winner: C
consensus: "Strong (4/5 ranked C in top 2)"
selected_approach:
diagnosis: "Inconsistent optional chaining across 4 locations"
fix: "Add optional chaining to all user.settings accesses"
prevention: "Add eslint rule for optional chaining"Phase 4: Implement Fix
**Simple/Moderate Issues (no council):**
Task({
subagent_type: "orchestration:task-loop",
model: "opus",
prompt: `Fix issue #${issueNumber}:
Issue: ${title}
Root cause: ${diagnosis}
1. Implement fix
2. Add regression tests
3. Run existing tests
4. Code review
Update state after each step.`
})**Complex Issues (with council):**
Task({
subagent_type: "orchestration:task-loop",
model: "sonnet",
prompt: `Fix issue #${issueNumber} using Bug Council decision:
Selected approach: ${councilDecision.approach}
Locations: ${councilDecision.locations}
1. Apply fix to all identified locations
2. Implement prevention measures
3. Add comprehensive regression tests
4. Run full test suite
5. Security audit (if applicable)
Follow council recommendations exactly.`
})Phase 4.5: Model Escalation (on failure)
If fix attempt fails:
model_escalation:
# Issue-speci
Read more
DevTeam Issue Command
**Command:** `/devteam:issue <number>`
Fix a GitHub issue by number. Automatically fetches details and implements a fix.
Usage
/devteam:issue 123 # Fix GitHub issue #123 /devteam:issue 456 --council # Force Bug Council for complex diagnosis
Your Process
Phase 0: Initialize State Tracking
Before starting, initialize state in SQLite database (`.devteam/devteam.db`):
# Source the state management functions source scripts/state.sh # Initialize the database if needed source scripts/db-init.sh # Set project metadata set_kv_state "metadata.created_at" "$(date -u +%Y-%m-%dT%H:%M:%SZ)" set_kv_state "metadata.project_name" "Issue #123 Fix" set_kv_state "metadata.project_type" "issue" # Set issue details set_kv_state "issue.number" "123" set_kv_state "issue.title" "[from GitHub]" set_kv_state "issue.type" "bug" # bug | security | performance | enhancement set_kv_state "issue.severity" "high" # critical | high | medium | low set_kv_state "issue.complexity" "moderate" # simple | moderate | complex # Set execution context set_kv_state "current_execution.command" "/devteam:issue 123" set_phase "diagnosis" # Configure autonomous mode set_kv_state "autonomous_mode.enabled" "true" set_kv_state "autonomous_mode.max_iterations" "20" set_kv_state "autonomous_mode.current_iteration" "0" set_kv_state "autonomous_mode.circuit_breaker.consecutive_failures" "0" set_kv_state "autonomous_mode.circuit_breaker.max_failures" "3" set_kv_state "autonomous_mode.circuit_breaker.state" "closed"
Phase 1: Fetch Issue Details
# Fetch issue from GitHub gh issue view 123 --json title,body,labels,comments,state # Extract key information - Title - Description - Steps to reproduce - Labels (bug, enhancement, security, etc.) - Comments (may have additional context)
Phase 2: Classify Issue
**Determine issue type:**
- `bug` - Something broken
- `security` - Security vulnerability
- `performance` - Performance degradation
- `enhancement` - Small feature request
**Determine severity:**
- `critical` - System down, security vulnerability, data loss
- `high` - Major functionality broken
- `medium` - Important but workaround exists
- `low` - Minor issue
**Determine complexity:**
- `simple` - Clear cause, straightforward fix (1-2 files)
- `moderate` - Requires investigation, multiple files
- `complex` - Architectural issue, needs deep analysis
Phase 3: Bug Council (for complex bugs)
**Activate Bug Council if:**
- Complexity is `complex`
- Issue has no clear reproduction steps
- Multiple failed fix attempts
- `--council` flag specified
**Bug Council Process:**
// Spawn 5 diagnostic agents in parallel
const councilResults = await Promise.all([
Task({
subagent_type: "diagnosis:root-cause-analyst",
model: "opus",
prompt: `Analyze issue #${issueNumber}:
Title: ${title}
Description: ${body}
Provide diagnosis with:
- Root cause analysis
- Evidence
- Recommended fix
- Confidence score (0-1)`
}),
Task({
subagent_type: "diagnosis:code-archaeologist",
model: "opus",
prompt: `Investigate git history for issue #${issueNumber}...`
}),
Task({
subagent_type: "diagnosis:pattern-matcher",
model: "opus",
prompt: `Search codebase for similar patterns...`
}),
Task({
subagent_type: "diagnosis:systems-thinker",
model: "opus",
prompt: `Analyze system interactions...`
}),
Task({
subagent_type: "diagnosis:adversarial-tester",
model: "opus",
prompt: `Find edge cases and related failures...`
})
])
// Ranked-choice voting
const proposals = councilResults.map(r => r.proposal)
const votes = councilResults.map(r => r.ranking)
const winner = calculateRankedChoice(proposals, votes)
console.log(`Bug Council Decision: ${winner.approach}`)
console.log(`Consensus: ${winner.votes}/${councilResults.length}`)**Bug Council Output:**
bug_council:
activated: true
issue_number: 123
proposals:
A:
agent: diagnosis:root-cause-analyst
diagnosis: "Null reference in guest user handling"
confidence: 0.85
B:
agent: diagnosis:code-archaeologist
diagnosis: "Regression from commit abc123"
confidence: 0.78
C:
agent: diagnosis:pattern-matcher
diagnosis: "Inconsistent optional chaining"
confidence: 0.92
D:
agent: diagnosis:systems-thinker
diagnosis: "AuthContext contract violation"
confidence: 0.80
E:
agent: diagnosis:adversarial-tester
diagnosis: "Multiple paths to same failure"
confidence: 0.75
voting:
method: ranked_choice
winner: C
consensus: "Strong (4/5 ranked C in top 2)"
selected_approach:
diagnosis: "Inconsistent optional chaining across 4 locations"
fix: "Add optional chaining to all user.settings accesses"
prevention: "Add eslint rule for optional chaining"Phase 4: Implement Fix
**Simple/Moderate Issues (no council):**
Task({
subagent_type: "orchestration:task-loop",
model: "opus",
prompt: `Fix issue #${issueNumber}:
Issue: ${title}
Root cause: ${diagnosis}
1. Implement fix
2. Add regression tests
3. Run existing tests
4. Code review
Update state after each step.`
})**Complex Issues (with council):**
Task({
subagent_type: "orchestration:task-loop",
model: "sonnet",
prompt: `Fix issue #${issueNumber} using Bug Council decision:
Selected approach: ${councilDecision.approach}
Locations: ${councilDecision.locations}
1. Apply fix to all identified locations
2. Implement prevention measures
3. Add comprehensive regression tests
4. Run full test suite
5. Security audit (if applicable)
Follow council recommendations exactly.`
})Phase 4.5: Model Escalation (on failure)
If fix attempt fails:
model_escalation: # Issue-speci
A Claude Code plugin providing 127 specialized AI agents with: Interview-driven planning - Clarify requirements before work begins Codebase research - Investigate patterns and blockers before implementation SQLite state management - Reliable session tracking
Repo: michael-harris/devteam
Other commands on michael-harris-devteam.
devteam-design-drift
**Command:** `/devteam:design-drift [scope] [options]`

