بنقرة واحدة
speckit-agent-assign-validate
Validate that all agent assignments are correct and agents exist
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Validate that all agent assignments are correct and agents exist
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Think before building. Use when the user asks to reason about, analyze, evaluate, compare options, make an architecture decision, choose between approaches, think through a problem, or assess trade-offs. Also use when the user asks 'why did we...', 'should we...', 'what are our options', 'is this the right approach', or wants to frame/reframe a problem.
Archive a feature specification into main project memory after merge, resolving gaps and conflicts
Generate spec-kit configuration tailored to the existing codebase
Incrementally adopt SDD for existing features with reverse-engineered specs
Auto-discover project structure, tech stack, frameworks, and architecture patterns
Verify bootstrap output matches actual project structure and conventions
| name | speckit-agent-assign-validate |
| description | Validate that all agent assignments are correct and agents exist |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"github-spec-kit","source":"agent-assign:commands/validate.md"} |
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Check for extension hooks (before validation):
.specify/extensions.yml exists in the project root.hooks.before_implement keyenabled is explicitly false. Treat hooks without an enabled field as enabled by default.condition expressions:
condition field, or it is null/empty, treat the hook as executablecondition, skip the hook and leave condition evaluation to the HookExecutor implementationoptional flag:
optional: true):
## Extension Hooks
**Optional Pre-Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
optional: false):
## Extension Hooks
**Automatic Pre-Hook**: {extension}
Executing: `/{command}`
EXECUTE_COMMAND: {command}
Wait for the result of the hook command before proceeding to the Outline.
.specify/extensions.yml does not exist, skip silentlyVerify that agent assignments in agent-assignments.yml are complete, consistent, and reference agents that actually exist. This command is READ-ONLY — it does not modify any files. If issues are found, it suggests remediation actions.
Setup: Run .specify/scripts/bash/check-prerequisites.sh --json --require-tasks from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'''m Groot' (or double-quote if possible: "I'm Groot").
Check Assignment File Exists: Verify agent-assignments.yml exists in FEATURE_DIR.
/speckit.agent-assign.assign first to generate agent assignments."Load Inputs: Read the following files from FEATURE_DIR:
agent-assignments.yml — the agent assignment mappingtasks.md — the task list to validate againstagent-assignments.yml to extract the agents_scanned list and assignments mappingtasks.md to extract all task IDsRescan Agent Definitions: Discover currently available agent definition files following the same hierarchy as the assign command:
Scanning priority order (highest to lowest):
.claude/agents/*.md in the repository root~/.claude/agents/*.md in the user's home directoryFor each agent file:
Build a Current Agent Registry for comparison against agents_scanned in the assignment file.
Run Validation Checks: Perform the following checks and record results:
Check 1 — Coverage: Every task ID in tasks.md has a corresponding entry in assignments.
OK (has assignment) or UNASSIGNED (missing from assignments)Check 2 — Agent Existence: Every agent name referenced in assignments (except default) exists in the current agent registry.
OK (agent exists) or MISSING (agent file not found)Check 3 — Agent Conflicts: No agent name appears at multiple hierarchy levels with different definitions.
OK (no conflicts) or CONFLICT (same name, different levels — list which levels)Check 4 — Agent Drift: Compare agents_scanned from the assignment file against the current agent registry.
Check 5 — Frontmatter Validity: Each agent file referenced in assignments has valid YAML frontmatter with at minimum a description field.
OK (valid) or INVALID (missing or malformed frontmatter)Generate Validation Report: Output a structured report:
## Agent Assignment Validation Report
**Feature**: <feature-name>
**Assignment file**: <path to agent-assignments.yml>
**Validation time**: <timestamp>
### Summary
| Metric | Value |
|----------------------|-------|
| Total tasks | 15 |
| Assigned tasks | 15 |
| Unassigned tasks | 0 |
| Valid agents | 12 |
| Missing agents | 0 |
| Conflicts | 0 |
| Agent drift detected | No |
### Overall Status: ✓ PASS / ✗ FAIL
### Task Assignment Details
| Task ID | Assigned Agent | Status |
|---------|-----------------|------------|
| T001 | default | ✓ OK |
| T002 | backend-dev | ✓ OK |
| T003 | unknown-agent | ✗ MISSING |
| T004 | frontend-dev | ✓ OK |
### Issues Found (if any)
1. **MISSING**: Task T003 assigned to agent `unknown-agent` which does not exist at any hierarchy level
2. **UNASSIGNED**: Task T010 has no entry in agent-assignments.yml
3. **CONFLICT**: Agent `helper` found at both project and user level with different descriptions
4. **DRIFT**: Agent `api-dev` was available during assignment but has since been removed
### Recommended Actions
- Run `/speckit.agent-assign.assign` to reassign tasks with missing or conflicting agents
- Or manually edit `agent-assignments.yml` to fix specific entries
Final Verdict:
/speckit.agent-assign.executeIf PASS, suggest proceeding with /speckit.agent-assign.execute.
If FAIL, suggest running /speckit.agent-assign.assign to fix issues.
Note: This command is strictly read-only. It does not modify agent-assignments.yml, tasks.md, or any agent files.