mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-11 02:33:51 +08:00
- 更新所有69个命令文件的description字段,基于实际功能重新生成详细描述 - 重新生成5个索引文件(all-commands, by-category, by-use-case, essential-commands, command-relationships) - 移动analyze_commands.py到scripts/目录并完善功能 - 移除临时备份文件 命令描述改进示例: - workflow:plan: 增加了工具和代理的详细说明(Gemini, action-planning-agent) - cli:execute: 说明了YOLO权限和多种执行模式 - memory:update-related: 详细说明了批处理策略和工具回退链 索引文件改进: - usage_scenario从2种扩展到10种(更精细分类) - command-relationships覆盖所有69个命令 - 区分built-in(内置调用)和sequential(用户顺序执行)关系 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
283 lines
10 KiB
Markdown
283 lines
10 KiB
Markdown
---
|
|
name: gather
|
|
description: Intelligently collect project context using context-search-agent based on task description, packages into standardized JSON
|
|
argument-hint: "--session WFS-session-id \"task description\""
|
|
examples:
|
|
- /workflow:tools:context-gather --session WFS-user-auth "Implement user authentication system"
|
|
- /workflow:tools:context-gather --session WFS-payment "Refactor payment module API"
|
|
- /workflow:tools:context-gather --session WFS-bugfix "Fix login validation error"
|
|
allowed-tools: Task(*), Read(*), Glob(*)
|
|
---
|
|
|
|
# Context Gather Command (/workflow:tools:context-gather)
|
|
|
|
## Overview
|
|
|
|
Orchestrator command that invokes `context-search-agent` to gather comprehensive project context for implementation planning. Generates standardized `context-package.json` with codebase analysis, dependencies, and conflict detection.
|
|
|
|
**Agent**: `context-search-agent` (`.claude/agents/context-search-agent.md`)
|
|
|
|
## Core Philosophy
|
|
|
|
- **Agent Delegation**: Delegate all discovery to `context-search-agent` for autonomous execution
|
|
- **Detection-First**: Check for existing context-package before executing
|
|
- **Plan Mode**: Full comprehensive analysis (vs lightweight brainstorm mode)
|
|
- **Standardized Output**: Generate `.workflow/{session}/.process/context-package.json`
|
|
|
|
## Execution Flow
|
|
|
|
### Step 1: Context-Package Detection
|
|
|
|
**Execute First** - Check if valid package already exists:
|
|
|
|
```javascript
|
|
const contextPackagePath = `.workflow/${session_id}/.process/context-package.json`;
|
|
|
|
if (file_exists(contextPackagePath)) {
|
|
const existing = Read(contextPackagePath);
|
|
|
|
// Validate package belongs to current session
|
|
if (existing?.metadata?.session_id === session_id) {
|
|
console.log("✅ Valid context-package found for session:", session_id);
|
|
console.log("📊 Stats:", existing.statistics);
|
|
console.log("⚠️ Conflict Risk:", existing.conflict_detection.risk_level);
|
|
return existing; // Skip execution, return existing
|
|
} else {
|
|
console.warn("⚠️ Invalid session_id in existing package, re-generating...");
|
|
}
|
|
}
|
|
```
|
|
|
|
### Step 2: Invoke Context-Search Agent
|
|
|
|
**Only execute if Step 1 finds no valid package**
|
|
|
|
```javascript
|
|
Task(
|
|
subagent_type="context-search-agent",
|
|
description="Gather comprehensive context for plan",
|
|
prompt=`
|
|
You are executing as context-search-agent (.claude/agents/context-search-agent.md).
|
|
|
|
## Execution Mode
|
|
**PLAN MODE** (Comprehensive) - Full Phase 1-3 execution
|
|
|
|
## Session Information
|
|
- **Session ID**: ${session_id}
|
|
- **Task Description**: ${task_description}
|
|
- **Output Path**: .workflow/${session_id}/.process/context-package.json
|
|
|
|
## Mission
|
|
Execute complete context-search-agent workflow for implementation planning:
|
|
|
|
### Phase 1: Initialization & Pre-Analysis
|
|
1. **Detection**: Check for existing context-package (early exit if valid)
|
|
2. **Foundation**: Initialize code-index, get project structure, load docs
|
|
3. **Analysis**: Extract keywords, determine scope, classify complexity
|
|
|
|
### Phase 2: Multi-Source Context Discovery
|
|
Execute all 4 discovery tracks:
|
|
- **Track 1**: Historical archive analysis (query manifest.json for lessons learned)
|
|
- **Track 2**: Reference documentation (CLAUDE.md, architecture docs)
|
|
- **Track 3**: Web examples (use Exa MCP for unfamiliar tech/APIs)
|
|
- **Track 4**: Codebase analysis (5-layer discovery: files, content, patterns, deps, config/tests)
|
|
|
|
### Phase 3: Synthesis, Assessment & Packaging
|
|
1. Apply relevance scoring and build dependency graph
|
|
2. Synthesize 4-source data (archive > docs > code > web)
|
|
3. Integrate brainstorm artifacts (if .brainstorming/ exists, read content)
|
|
4. Perform conflict detection with risk assessment
|
|
5. **Inject historical conflicts** from archive analysis into conflict_detection
|
|
6. Generate and validate context-package.json
|
|
|
|
## Output Requirements
|
|
Complete context-package.json with:
|
|
- **metadata**: task_description, keywords, complexity, tech_stack, session_id
|
|
- **project_context**: architecture_patterns, coding_conventions, tech_stack
|
|
- **assets**: {documentation[], source_code[], config[], tests[]} with relevance scores
|
|
- **dependencies**: {internal[], external[]} with dependency graph
|
|
- **brainstorm_artifacts**: {guidance_specification, role_analyses[], synthesis_output} with content
|
|
- **conflict_detection**: {risk_level, risk_factors, affected_modules[], mitigation_strategy, historical_conflicts[]}
|
|
|
|
## Quality Validation
|
|
Before completion verify:
|
|
- [ ] Valid JSON format with all required fields
|
|
- [ ] File relevance accuracy >80%
|
|
- [ ] Dependency graph complete (max 2 transitive levels)
|
|
- [ ] Conflict risk level calculated correctly
|
|
- [ ] No sensitive data exposed
|
|
- [ ] Total files ≤50 (prioritize high-relevance)
|
|
|
|
Execute autonomously following agent documentation.
|
|
Report completion with statistics.
|
|
`
|
|
)
|
|
```
|
|
|
|
### Step 3: Output Verification
|
|
|
|
After agent completes, verify output:
|
|
|
|
```javascript
|
|
// Verify file was created
|
|
const outputPath = `.workflow/${session_id}/.process/context-package.json`;
|
|
if (!file_exists(outputPath)) {
|
|
throw new Error("❌ Agent failed to generate context-package.json");
|
|
}
|
|
```
|
|
|
|
## Parameter Reference
|
|
|
|
| Parameter | Type | Required | Description |
|
|
|-----------|------|----------|-------------|
|
|
| `--session` | string | ✅ | Workflow session ID (e.g., WFS-user-auth) |
|
|
| `task_description` | string | ✅ | Detailed task description for context extraction |
|
|
|
|
## Output Schema
|
|
|
|
Refer to `context-search-agent.md` Phase 3.7 for complete `context-package.json` schema.
|
|
|
|
**Key Sections**:
|
|
- **metadata**: Session info, keywords, complexity, tech stack
|
|
- **project_context**: Architecture patterns, conventions, tech stack
|
|
- **assets**: Categorized files with relevance scores (documentation, source_code, config, tests)
|
|
- **dependencies**: Internal and external dependency graphs
|
|
- **brainstorm_artifacts**: Brainstorm documents with full content (if exists)
|
|
- **conflict_detection**: Risk assessment with mitigation strategies and historical conflicts
|
|
|
|
## Historical Archive Analysis
|
|
|
|
### Track 1: Query Archive Manifest
|
|
|
|
The context-search-agent MUST perform historical archive analysis as Track 1 in Phase 2:
|
|
|
|
**Step 1: Check for Archive Manifest**
|
|
```bash
|
|
# Check if archive manifest exists
|
|
if [[ -f .workflow/.archives/manifest.json ]]; then
|
|
# Manifest available for querying
|
|
fi
|
|
```
|
|
|
|
**Step 2: Extract Task Keywords**
|
|
```javascript
|
|
// From current task description, extract key entities and operations
|
|
const keywords = extractKeywords(task_description);
|
|
// Examples: ["User", "model", "authentication", "JWT", "reporting"]
|
|
```
|
|
|
|
**Step 3: Search Archive for Relevant Sessions**
|
|
```javascript
|
|
// Query manifest for sessions with matching tags or descriptions
|
|
const relevantArchives = archives.filter(archive => {
|
|
return archive.tags.some(tag => keywords.includes(tag)) ||
|
|
keywords.some(kw => archive.description.toLowerCase().includes(kw.toLowerCase()));
|
|
});
|
|
```
|
|
|
|
**Step 4: Extract Watch Patterns**
|
|
```javascript
|
|
// For each relevant archive, check watch_patterns for applicability
|
|
const historicalConflicts = [];
|
|
|
|
relevantArchives.forEach(archive => {
|
|
archive.lessons.watch_patterns?.forEach(pattern => {
|
|
// Check if pattern trigger matches current task
|
|
if (isPatternRelevant(pattern.pattern, task_description)) {
|
|
historicalConflicts.push({
|
|
source_session: archive.session_id,
|
|
pattern: pattern.pattern,
|
|
action: pattern.action,
|
|
files_to_check: pattern.related_files,
|
|
archived_at: archive.archived_at
|
|
});
|
|
}
|
|
});
|
|
});
|
|
```
|
|
|
|
**Step 5: Inject into Context Package**
|
|
```json
|
|
{
|
|
"conflict_detection": {
|
|
"risk_level": "medium",
|
|
"risk_factors": ["..."],
|
|
"affected_modules": ["..."],
|
|
"mitigation_strategy": "...",
|
|
"historical_conflicts": [
|
|
{
|
|
"source_session": "WFS-auth-feature",
|
|
"pattern": "When modifying User model",
|
|
"action": "Check reporting-service and auditing-service dependencies",
|
|
"files_to_check": ["src/models/User.ts", "src/services/reporting.ts"],
|
|
"archived_at": "2025-09-16T09:00:00Z"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Risk Level Escalation
|
|
|
|
If `historical_conflicts` array is not empty, minimum risk level should be "medium":
|
|
|
|
```javascript
|
|
if (historicalConflicts.length > 0 && currentRisk === "low") {
|
|
conflict_detection.risk_level = "medium";
|
|
conflict_detection.risk_factors.push(
|
|
`${historicalConflicts.length} historical conflict pattern(s) detected from past sessions`
|
|
);
|
|
}
|
|
```
|
|
|
|
### Archive Query Algorithm
|
|
|
|
```markdown
|
|
1. IF .workflow/.archives/manifest.json does NOT exist → Skip Track 1, continue to Track 2
|
|
2. IF manifest exists:
|
|
a. Load manifest.json
|
|
b. Extract keywords from task_description (nouns, verbs, technical terms)
|
|
c. Filter archives where:
|
|
- ANY tag matches keywords (case-insensitive) OR
|
|
- description contains keywords (case-insensitive substring match)
|
|
d. For each relevant archive:
|
|
- Read lessons.watch_patterns array
|
|
- Check if pattern.pattern keywords overlap with task_description
|
|
- If relevant: Add to historical_conflicts array
|
|
e. IF historical_conflicts.length > 0:
|
|
- Set risk_level = max(current_risk, "medium")
|
|
- Add to risk_factors
|
|
3. Continue to Track 2 (reference documentation)
|
|
```
|
|
|
|
## Usage Examples
|
|
|
|
### Basic Usage
|
|
```bash
|
|
/workflow:tools:context-gather --session WFS-auth-feature "Implement JWT authentication with refresh tokens"
|
|
```
|
|
## Success Criteria
|
|
|
|
- ✅ Valid context-package.json generated in `.workflow/{session}/.process/`
|
|
- ✅ Contains >80% relevant files based on task keywords
|
|
- ✅ Execution completes within 2 minutes
|
|
- ✅ All required schema fields present and valid
|
|
- ✅ Conflict risk accurately assessed
|
|
- ✅ Agent reports completion with statistics
|
|
|
|
## Error Handling
|
|
|
|
| Error | Cause | Resolution |
|
|
|-------|-------|------------|
|
|
| Package validation failed | Invalid session_id in existing package | Re-run agent to regenerate |
|
|
| Agent execution timeout | Large codebase or slow MCP | Increase timeout, check code-index status |
|
|
| Missing required fields | Agent incomplete execution | Check agent logs, verify schema compliance |
|
|
| File count exceeds limit | Too many relevant files | Agent should auto-prioritize top 50 by relevance |
|
|
|
|
## Notes
|
|
|
|
- **Detection-first**: Always check for existing package before invoking agent
|
|
- **Agent autonomy**: Agent handles all discovery logic per `.claude/agents/context-search-agent.md`
|
|
- **No redundancy**: This command is a thin orchestrator, all logic in agent
|
|
- **Plan-specific**: Use this for implementation planning; brainstorm mode uses direct agent call
|