askill
ecos-label-taxonomy

ecos-label-taxonomySafety 94Repository

Use when applying or checking GitHub labels for agent assignment and status tracking. GitHub label taxonomy reference for the Chief of Staff Agent. Trigger with `/ecos-label-taxonomy`.

1 stars
1.2k downloads
Updated 2/15/2026

Package Files

Loading files...
SKILL.md

ECOS Label Taxonomy

Overview

This skill provides the label taxonomy relevant to the Chief of Staff Agent (ECOS) role. Each role plugin has its own label-taxonomy skill covering the labels that role manages.


Prerequisites

  1. GitHub repository with label support
  2. Understanding of agent role prefixes (ecos-, eoa-, eia-, eaa-, eama-)
  3. Read AGENT_OPERATIONS.md in docs/ folder for session naming
  4. GitHub CLI (gh) installed and authenticated
  5. Access to team registry at .emasoft/team-registry.json

Instructions

  1. Identify the label category needed (assign, status, priority)
  2. Check if label exists on the issue/PR
  3. Apply or modify label using gh CLI or GitHub API
  4. Verify label was applied correctly
  5. Update team registry if assignment labels changed

Checklist

Copy this checklist and track your progress:

  • Identify label category (assign/status/priority)
  • Check existing labels on issue with gh issue view <number>
  • Remove conflicting labels if needed
  • Apply new label via gh issue edit --add-label
  • Verify label appears correctly
  • Update .emasoft/team-registry.json if agent assignment changed

Output

Output TypeDescriptionExample
Label AppliedLabel successfully added to issueassign:eoa-svgbbox-orchestrator
Label RemovedOld label removed before new onestatus:pending removed
Status UpdatedIssue status changed via labelstatus:in-progress applied
VerificationConfirmation of label stateLabels: assign:implementer-1, status:todo, priority:high
Registry SyncedTeam registry updated to match labelscurrent_issues: [42, 43] in team-registry.json

Error Handling

ErrorCauseSolution
Label not foundLabel doesn't exist in repoCreate label first with gh label create
Permission deniedInsufficient repo accessVerify GitHub token has repo scope
Duplicate assign labelsMultiple assign:* labels on issueRemove old assign label before adding new
Registry out of syncLabels don't match team-registry.jsonRun sync check script to reconcile
gh CLI not authenticatedGitHub token expired or missingRun gh auth login
Issue not foundInvalid issue numberVerify issue exists with gh issue list

Examples

Example 1: Spawning Agent and Assigning to Issue

Scenario: ECOS spawns a new agent "implementer-1" and assigns it to issue #42.

# Step 1: Add assignment label
gh issue edit 42 --add-label "assign:implementer-1"

# Step 2: Update status from backlog to ready
gh issue edit 42 --remove-label "status:backlog" --add-label "status:todo"

# Step 3: Update team registry
jq '.agents["implementer-1"].current_issues += [42]' .emasoft/team-registry.json > temp.json && mv temp.json .emasoft/team-registry.json

# Step 4: Verify
gh issue view 42 --json labels --jq '.labels[].name'
# Output: assign:implementer-1, status:todo

Example 2: Terminating Agent and Clearing Assignments

Scenario: Agent "implementer-1" is being terminated. Clear all its assignments.

# Step 1: Find all issues assigned to agent
AGENT_ISSUES=$(gh issue list --label "assign:implementer-1" --json number --jq '.[].number')

# Step 2: Remove assignment and update status
for ISSUE in $AGENT_ISSUES; do
  gh issue edit $ISSUE --remove-label "assign:implementer-1" --add-label "status:backlog"
  echo "Cleared assignment from issue #$ISSUE"
done

# Step 3: Update team registry
jq 'del(.agents["implementer-1"])' .emasoft/team-registry.json > temp.json && mv temp.json .emasoft/team-registry.json

# Step 4: Verify no issues remain assigned
gh issue list --label "assign:implementer-1"
# Output: (empty)

Example 3: Handling Blocked Agent

Scenario: Agent reports it's blocked on issue #43. ECOS updates status and notifies.

# Step 1: Update status to blocked
gh issue edit 43 --remove-label "status:in-progress" --add-label "status:blocked"

# Step 2: Add comment explaining blocker
gh issue comment 43 --body "Agent blocked: waiting for external API credentials. Assigned to human for resolution."

# Step 3: Escalate to human if needed
gh issue edit 43 --add-label "assign:human"

# Step 4: Verify
gh issue view 43 --json labels --jq '.labels[].name'
# Output: assign:human, status:blocked, priority:high

Labels ECOS Manages

Assignment Labels (assign:*)

ECOS coordinates with EOA on agent assignments.

LabelDescriptionWhen ECOS Is Involved
assign:<agent-name>Specific agentWhen spawning/managing agents
assign:orchestratorEOA handlingWhen escalating to EOA
assign:humanHuman neededWhen human intervention required

ECOS Assignment Responsibilities:

  • Track which agents are assigned to which issues
  • Reassign when agent becomes unavailable
  • Clear assignments when agents are terminated

Kanban Columns (Canonical 8-Column System)

The full workflow uses these 8 status columns:

#Column CodeDisplay NameLabelDescription
1backlogBacklogstatus:backlogEntry point for new tasks
2todoTodostatus:todoReady to start
3in-progressIn Progressstatus:in-progressActive work
4ai-reviewAI Reviewstatus:ai-reviewIntegrator agent reviews ALL tasks
5human-reviewHuman Reviewstatus:human-reviewUser reviews BIG tasks only (via EAMA)
6merge-releaseMerge/Releasestatus:merge-releaseReady to merge
7doneDonestatus:doneCompleted
8blockedBlockedstatus:blockedBlocked at any stage

Task Routing Rules:

  • Small tasks: In Progress -> AI Review -> Merge/Release -> Done
  • Big tasks: In Progress -> AI Review -> Human Review -> Merge/Release -> Done
  • Human Review is requested via EAMA (Assistant Manager asks user to test/review)
  • Not all tasks go through Human Review -- only significant changes requiring human judgment

Status Labels ECOS Updates

LabelWhen ECOS Sets It
status:blockedWhen pausing work (resource constraints) or agent reports blocker
status:todoWhen blocker resolved and task is ready to resume

Labels ECOS Monitors

Priority Labels (priority:*)

ECOS uses priority for resource allocation:

  • priority:critical - Ensure agent assigned immediately
  • priority:high - Prioritize in staffing decisions
  • priority:normal - Standard allocation
  • priority:low - Can wait for resources

Status Labels (status:*)

ECOS monitors all status changes:

  • status:blocked - May need to reassign or escalate
  • status:in-progress - Track for timeout/health monitoring
  • status:ai-review - Route to EIA if not already
  • status:human-review - Escalated for user review via EAMA
  • status:merge-release - Ready to merge/release

ECOS Label Commands

When Agent Spawned

# Assign new agent to issue
gh issue edit $ISSUE_NUMBER --add-label "assign:$NEW_AGENT_NAME"
gh issue edit $ISSUE_NUMBER --remove-label "status:backlog" --add-label "status:todo"

When Agent Terminated

# Clear assignment from all agent's issues
AGENT_ISSUES=$(gh issue list --label "assign:$AGENT_NAME" --json number --jq '.[].number')
for ISSUE in $AGENT_ISSUES; do
  gh issue edit $ISSUE --remove-label "assign:$AGENT_NAME" --add-label "status:backlog"
done

When Agent Blocked

# Mark issue blocked
gh issue edit $ISSUE_NUMBER --remove-label "status:in-progress" --add-label "status:blocked"

When Escalating to Human

# Reassign to human
gh issue edit $ISSUE_NUMBER --remove-label "assign:$AGENT_NAME" --add-label "assign:human"

Agent Registry and Labels

ECOS maintains the team registry at .emasoft/team-registry.json. Labels should be synchronized:

{
  "agents": {
    "implementer-1": {
      "session_name": "code-impl-01",
      "status": "active",
      "current_issues": [42, 43]  // Should match assign:implementer-1 labels
    }
  }
}

Sync Check

# Find issues assigned to agent
LABELED=$(gh issue list --label "assign:implementer-1" --json number --jq '.[].number' | sort)

# Compare with registry
REGISTERED=$(jq -r '.agents["implementer-1"].current_issues | sort | .[]' .emasoft/team-registry.json)

# Should match

Quick Reference

ECOS Label Responsibilities

ActionLabels Involved
Spawn agentAdd assign:<agent>, update status:todo
Terminate agentRemove assign:<agent>, set status:backlog
Agent blockedUpdate to status:blocked
Resolve blockerUpdate to status:todo or status:in-progress
Escalate to humanAdd assign:human
Block workAdd status:blocked

Labels ECOS Never Sets

  • type:* - Set at issue creation
  • effort:* - Set during triage by EOA
  • review:* - Managed by EIA
  • priority:* - Set by EOA or EAMA (ECOS can suggest changes)

Resources

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

83/100Analyzed 2/19/2026

High-quality technical reference skill for GitHub label taxonomy in an agent orchestration system. Comprehensive with structured steps, error handling, and practical examples. Highly specific to internal Emasoft project conventions but well-documented and actionable. Scores high on completeness, clarity, and safety. Slight penalty for internal-only signals (references internal files and project-specific conventions), but the structured reference content is excellent.

94
90
72
92
88

Metadata

Licenseunknown
Version1.0.0
Updated2/15/2026
PublisherEmasoft

Tags

apigithubgithub-actionsobservabilitysecuritytesting