boundary-bbcr-fallback
Execute automatic BBCR (Collapse-Rebirth Correction) when knowledge boundaries are exceeded or reasoning fails.
Balance team workload distribution
$ npx -y skills add qdhenry/Claude-Command-Suite --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/team-workload-balancerContext preview
What this command does when you run it.
Balance team workload distribution
Balance team workload distribution
This command analyzes team members' current workloads, skills, past performance, and availability to suggest optimal task assignments. It helps prevent burnout, ensures balanced distribution, and matches tasks to team members' strengths.
# Show current team workload claude "Show workload balance for the engineering team" # Suggest optimal assignment for new tasks claude "Who should work on the new payment integration task?" # Rebalance current sprint claude "Rebalance tasks in the current sprint for optimal distribution" # Capacity planning for next sprint claude "Plan task assignments for next sprint based on team capacity"
Collect information about team members:
class TeamAnalyzer {
async gatherTeamData() {
const team = {};
// Get team members from Linear
const teamMembers = await linear.getTeamMembers();
for (const member of teamMembers) {
team[member.id] = {
name: member.name,
email: member.email,
currentTasks: [],
completedTasks: [],
skills: new Set(),
velocity: 0,
availability: 100, // percentage
preferences: {},
strengths: [],
timeZone: member.timeZone
};
// Get current assignments
const activeTasks = await linear.getUserTasks(member.id, {
filter: { state: ['in_progress', 'todo'] }
});
team[member.id].currentTasks = activeTasks;
// Get historical data
const completedTasks = await linear.getUserTasks(member.id, {
filter: { state: 'done' },
since: '3 months ago'
});
team[member.id].completedTasks = completedTasks;
// Analyze git contributions
const gitStats = await this.analyzeGitContributions(member.email);
team[member.id].skills = gitStats.technologies;
team[member.id].codeContributions = gitStats.contributions;
}
return team;
}
async analyzeGitContributions(email) {
// Get commit history
const commits = await exec(`git log --author="${email}" --since="6 months ago" --pretty=format:"%H"`);
const commitHashes = commits.split('\n').filter(Boolean);
const stats = {
technologies: new Set(),
contributions: {
frontend: 0,
backend: 0,
database: 0,
devops: 0,
testing: 0,
documentation: 0
},
filesChanged: new Map()
};
// Analyze each commit
for (const hash of commitHashes.slice(0, 100)) { // Limit to recent 100 commits
const files = await exec(`git show --name-only --pretty=format: ${hash}`);
const fileList = files.split('\n').filter(Boolean);
for (const file of fileList) {
// Track technologies
if (file.match(/\.(js|jsx|ts|tsx)$/)) stats.technologies.add('JavaScript');
if (file.match(/\.(py)$/)) stats.technologies.add('Python');
if (file.match(/\.(java)$/)) stats.technologies.add('Java');
if (file.match(/\.(go)$/)) stats.technologies.add('Go');
// Categorize contributions
if (file.match(/\/(components|views|pages|frontend)\//)) stats.contributions.frontend++;
if (file.match(/\/(api|server|backend|services)\//)) stats.contributions.backend++;
if (file.match(/\/(migrations|schemas|models)\//)) stats.contributions.database++;
if (file.match(/\/(deploy|docker|k8s|.github)\//)) stats.contributions.devops++;
if (file.match(/\.(test|spec)\./)) stats.contributions.testing++;
if (file.match(/\.(md|docs)\//)) stats.contributions.documentation++;
// Track file expertise
stats.filesChanged.set(file, (stats.filesChanged.get(file) || 0) + 1);
}
}
return stats;
}
}Analyze current workload distribution:
class WorkloadCalculator {
calculateWorkload(teamMember) {
const metrics = {
currentPoints: 0,
currentTasks: teamMember.currentTasks.length,
inProgressPoints: 0,
todoPoints: 0,
blockedTasks: 0,
overdueTasksk: 0,
workloadScore: 0, // 0-100
capacity: 0
};
// Sum story points
for (const task of teamMember.currentTasks) {
const points = task.estimate || 3; // Default to 3 if no estimate
metrics.currentPoints += points;
if (task.state === 'in_progress') {
metrics.inProgressPoints += points;
} else if (task.state === 'todo') {
metrics.todoPoints += points;
}
if (task.blockedBy?.length > 0) {
metrics.blockedTasks++;
}
if (task.dueDate && new Date(task.dueDate) < new Date()) {
metrics.overdueTasksk++;
}
}
// Calculate velocity from historical data
const velocity = this.calculateVelocity(teamMember.completedTasks);
// Calculate workload score (0-100)
// Higher score = more overloaded
metrics.workloadScore = Math.min(100, (metrics.currentPoints / velocity.average) * 100);
// Calculate remaining capacity
metrics.capacity = Math.max(0, velocity.average - metrics.currentPoints);
// Adjust for blocked tasks
if (metrics.blockedTasks > 0) {
metrics.workloadScore *= 1.2; // Increase workload score for blocked work
}
return metrics;
}
calculateVelocity(completedTasks) {
// Group by sprint/week
const tasksByWeek = new Map();
for (const task of completedTasks) {
const weekKey = this.getWeekKey(task.completedAt);
if (!tasksByWeek.has(weekKey)) {
tasksByWeek.set(weekKey, []);
}
tasksByWeek.get(weekKey).push(task);
}
// Calculate points per week
const weeklyPoints = [];
for (const [week, tasks] of tasksByWeek) {
const points = tasks.reduce((sum, t) => sumA comprehensive development toolkit designed following Anthropic's Claude Code Best Practices for AI-assisted software development.
Repo: qdhenry/Claude-Command-Suite
Execute automatic BBCR (Collapse-Rebirth Correction) when knowledge boundaries are exceeded or reasoning fails.
Analyze semantic position relative to knowledge boundaries to prevent hallucination and identify uncertainty zones.
Generate a visual heatmap of knowledge boundaries showing safe zones, risk areas, and semantic coverage.
Evaluate the current risk level and provide detailed analysis of potential hallucination or reasoning failure.
Find and construct semantic bridges to safely navigate from current position to target concept without crossing dangerous boundaries.
Takes an input prompt and returns ONLY a token-optimized version that preserves meaning while minimizing token count. Based on LLM tokenization principles:…