Initial commit
This commit is contained in:
553
skills/feature-orchestration/examples.md
Normal file
553
skills/feature-orchestration/examples.md
Normal file
@@ -0,0 +1,553 @@
|
||||
# Feature Orchestration Skill - Examples
|
||||
|
||||
## Example 1: Simple Feature Creation
|
||||
|
||||
**User Request:**
|
||||
> "Create a user profile feature"
|
||||
|
||||
**Skill Assessment:**
|
||||
- Description: Short and clear (< 50 characters)
|
||||
- Scope: Single purpose (user profile)
|
||||
- Expected tasks: 2-3 (database, backend, frontend)
|
||||
- Complexity: Simple
|
||||
|
||||
**Actions:**
|
||||
1. Query templates for FEATURE type
|
||||
2. Create feature with "Requirements Specification" template
|
||||
3. Create 3 tasks directly:
|
||||
- Database: "Create user profile schema"
|
||||
- Backend: "Implement profile API endpoints"
|
||||
- Frontend: "Build profile UI component"
|
||||
|
||||
**Output:**
|
||||
```
|
||||
✓ Feature created: User Profile
|
||||
Status: planning
|
||||
Tasks: 3 created
|
||||
Templates: Requirements Specification
|
||||
|
||||
Next: Ready for task execution. Use Task Orchestration Skill to begin.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example 2: Complex Feature - Delegate to Feature Architect
|
||||
|
||||
**User Request:**
|
||||
> "Build a comprehensive OAuth integration system supporting Google, GitHub, and Microsoft authentication with JWT token management, refresh token handling, secure session storage, role-based access control, and audit logging"
|
||||
|
||||
**Skill Assessment:**
|
||||
- Description: Long (> 200 characters)
|
||||
- Scope: Multiple systems (OAuth providers, JWT, RBAC, audit)
|
||||
- Technical complexity: High (authentication, security)
|
||||
- Expected tasks: 8+ tasks
|
||||
- Complexity: Complex
|
||||
|
||||
**Actions:**
|
||||
1. Assess complexity score: 9/10
|
||||
2. Return recommendation to orchestrator
|
||||
|
||||
**Output:**
|
||||
```
|
||||
⚠️ Complex Feature Detected
|
||||
|
||||
This feature requires detailed planning:
|
||||
- Multiple integration points (3 OAuth providers)
|
||||
- Security-critical components
|
||||
- Cross-cutting concerns (RBAC, audit)
|
||||
- Estimated 8+ tasks
|
||||
|
||||
**Decision: COMPLEX feature → Launch Feature Architect**
|
||||
|
||||
**Execution Pattern:**
|
||||
```javascript
|
||||
// Step 1: Launch Feature Architect subagent
|
||||
Use Task tool with:
|
||||
- subagent_type: "Feature Architect"
|
||||
- description: "Create OAuth integration feature"
|
||||
- prompt: `Create a feature for comprehensive OAuth integration system.
|
||||
|
||||
Requirements:
|
||||
- Support Google, GitHub, and Microsoft authentication
|
||||
- JWT token management
|
||||
- Refresh token handling
|
||||
- Secure session storage
|
||||
- Role-based access control
|
||||
- Audit logging
|
||||
|
||||
Steps:
|
||||
1. Formalize requirements and create feature structure
|
||||
2. Discover and apply appropriate templates (security, API design)
|
||||
3. Create comprehensive sections
|
||||
4. Return feature ID for task breakdown`
|
||||
|
||||
// Step 2: After Feature Architect completes, launch Planning Specialist
|
||||
Use Task tool with:
|
||||
- subagent_type: "Planning Specialist"
|
||||
- description: "Break down OAuth feature into tasks"
|
||||
- prompt: `Break down feature [feature-id-from-architect] into domain-isolated tasks.
|
||||
|
||||
Feature: OAuth integration system with multi-provider support
|
||||
|
||||
Create:
|
||||
- Domain-isolated tasks (database, backend, frontend, security, testing, docs)
|
||||
- BLOCKS dependencies showing execution order
|
||||
- Execution graph with parallel batches`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example 2B: Multi-Feature Creation from Testing Plan
|
||||
|
||||
**User Request:**
|
||||
> "Create a test project to validate our v2.0 event-driven feature and task orchestration workflows. Please read the testing plan at D:\Projects\task-orchestrator\tests\workflow-testing-plan.md"
|
||||
|
||||
**Skill Assessment:**
|
||||
- Request involves: Creating 8 features with varying complexity
|
||||
- Features range from 2 tasks to 8+ tasks
|
||||
- Multiple workflow patterns to test
|
||||
- File reference provided
|
||||
- Complexity: VERY COMPLEX
|
||||
|
||||
**CRITICAL Decision: This requires Feature Architect for EACH complex feature**
|
||||
|
||||
**Execution Pattern:**
|
||||
```javascript
|
||||
// For EACH feature in the testing plan:
|
||||
|
||||
// Feature 1: Simple User Profile (2-3 tasks) → CREATE DIRECTLY
|
||||
manage_container(operation="create", containerType="feature", name="User Profile Management", ...)
|
||||
// Create 2-3 tasks directly
|
||||
|
||||
// Feature 2: Complex Payment System (8+ tasks) → LAUNCH FEATURE ARCHITECT
|
||||
Use Task tool with:
|
||||
- subagent_type: "Feature Architect"
|
||||
- prompt: `Create feature: Payment Processing System
|
||||
Read requirements from: D:\Projects\task-orchestrator\tests\workflow-testing-plan.md
|
||||
Feature details in Test 2.2
|
||||
Expected: 8+ tasks, complex workflow
|
||||
Return feature ID when complete`
|
||||
|
||||
// After Feature Architect returns:
|
||||
Use Task tool with:
|
||||
- subagent_type: "Planning Specialist"
|
||||
- prompt: `Break down feature [feature-id] into tasks per testing plan Test 2.2`
|
||||
|
||||
// Feature 3: Product Catalog (4 parallel tasks) → LAUNCH PLANNING SPECIALIST
|
||||
manage_container(operation="create", containerType="feature", name="Product Catalog", ...)
|
||||
Use Task tool with:
|
||||
- subagent_type: "Planning Specialist"
|
||||
- prompt: `Break down Product Catalog feature into 4 independent tasks (Test 3.1)`
|
||||
|
||||
// ... Repeat pattern for all 8 features
|
||||
```
|
||||
|
||||
**Rules for Testing Plan:**
|
||||
- Simple features (< 4 tasks): Create directly + create tasks directly
|
||||
- Complex features (4-7 tasks): Create directly + **launch Planning Specialist**
|
||||
- Very complex features (8+ tasks): **Launch Feature Architect + Planning Specialist**
|
||||
|
||||
**DO NOT:**
|
||||
- ❌ Create all features and tasks manually (defeats the purpose of testing orchestration)
|
||||
- ❌ Skip Planning Specialist for features with dependencies
|
||||
- ❌ Skip Feature Architect for features with 8+ tasks
|
||||
|
||||
**Expected Workflow:**
|
||||
1. Read testing plan file
|
||||
2. For each feature, assess complexity
|
||||
3. Route appropriately (direct, Planning Specialist, or Feature Architect → Planning Specialist)
|
||||
4. Verify orchestration works correctly
|
||||
|
||||
---
|
||||
|
||||
## Example 3: Progress Feature to Testing
|
||||
|
||||
**User Request:**
|
||||
> "Check status of authentication feature"
|
||||
|
||||
**Actions:**
|
||||
1. Query feature with overview operation
|
||||
2. Analyze task status:
|
||||
- Total: 5 tasks
|
||||
- Completed: 4 tasks
|
||||
- In Progress: 1 task
|
||||
3. Determine next status: Cannot progress yet
|
||||
|
||||
**Output:**
|
||||
```
|
||||
Feature: Authentication System
|
||||
Status: in-development (80% complete)
|
||||
|
||||
Tasks:
|
||||
✓ Database schema (completed)
|
||||
✓ Backend API (completed)
|
||||
✓ Frontend UI (completed)
|
||||
✓ Unit tests (completed)
|
||||
⏳ Integration tests (in-progress)
|
||||
|
||||
Cannot progress to testing yet - 1 task still in progress.
|
||||
Next action: Wait for integration tests to complete.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example 4: Feature Completion with Quality Gates
|
||||
|
||||
**User Request:**
|
||||
> "Complete authentication feature"
|
||||
|
||||
**Actions:**
|
||||
1. Check all tasks completed: ✓
|
||||
2. Trigger testing hook
|
||||
3. Tests pass: ✓
|
||||
4. Create feature summary section
|
||||
5. Mark feature complete
|
||||
|
||||
**Output:**
|
||||
```
|
||||
✓ Feature Completed: Authentication System
|
||||
|
||||
Summary:
|
||||
- 5 tasks completed
|
||||
- All tests passing
|
||||
- Coverage: 87%
|
||||
|
||||
Key Changes:
|
||||
- OAuth integration with Google, GitHub
|
||||
- JWT token management
|
||||
- Session handling and refresh tokens
|
||||
- Comprehensive test suite
|
||||
|
||||
Files Changed: 23 files
|
||||
- Backend: 12 files
|
||||
- Frontend: 8 files
|
||||
- Tests: 3 files
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example 5: Quality Gate Failure
|
||||
|
||||
**User Request:**
|
||||
> "Complete user management feature"
|
||||
|
||||
**Actions:**
|
||||
1. Validate completion readiness
|
||||
2. All tasks complete: ✓
|
||||
3. Trigger testing hook
|
||||
4. Tests fail: ✗
|
||||
|
||||
**Output:**
|
||||
```
|
||||
✗ Cannot Complete Feature: Quality Gates Failing
|
||||
|
||||
Testing Gate: FAILED
|
||||
- 3 test failures detected
|
||||
• UserManagementTest.testDeleteUser
|
||||
• UserManagementTest.testUpdatePermissions
|
||||
• UserManagementTest.testBulkImport
|
||||
|
||||
Coverage Gate: WARNING
|
||||
- Current: 68%
|
||||
- Required: 80%
|
||||
- Missing: 12% coverage
|
||||
|
||||
Actions Required:
|
||||
1. Fix 3 failing tests
|
||||
2. Add tests to reach 80% coverage threshold
|
||||
3. Re-run testing gate
|
||||
|
||||
Suggestion: Launch Test Engineer to address failures.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example 6: Parallel Execution Planning
|
||||
|
||||
**User Request:**
|
||||
> "Plan execution for notification system feature"
|
||||
|
||||
**Actions:**
|
||||
1. Get all tasks (6 tasks total)
|
||||
2. Analyze dependencies
|
||||
3. Create execution batches
|
||||
|
||||
**Output:**
|
||||
```
|
||||
Execution Plan: Notification System
|
||||
|
||||
Batch 1 (Parallel - 40% time saved):
|
||||
├─ Database schema (Complexity: 4)
|
||||
├─ Email templates (Complexity: 3)
|
||||
└─ UI notification center (Complexity: 5)
|
||||
Total: 12 units → 5 units (parallel)
|
||||
|
||||
Batch 2 (Sequential):
|
||||
└─ Backend notification service (Complexity: 7)
|
||||
Depends on: Database schema
|
||||
|
||||
Batch 3 (Parallel - 33% time saved):
|
||||
├─ Integration tests (Complexity: 5)
|
||||
└─ Documentation (Complexity: 4)
|
||||
Total: 9 units → 5 units (parallel)
|
||||
|
||||
Estimated Time Savings: 40% overall
|
||||
Next: Launch Batch 1 with 3 specialists in parallel
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example 7: Check Feature Progress
|
||||
|
||||
**User Request:**
|
||||
> "What's next for the API redesign feature?"
|
||||
|
||||
**Actions:**
|
||||
1. Query feature overview
|
||||
2. Analyze current state
|
||||
3. Determine blockers and next actions
|
||||
|
||||
**Output:**
|
||||
```
|
||||
Feature: API Redesign
|
||||
Status: in-development
|
||||
Progress: 60% (6/10 tasks)
|
||||
|
||||
Current Status:
|
||||
✓ 4 completed
|
||||
⏳ 2 in progress
|
||||
• API versioning implementation
|
||||
• Swagger documentation
|
||||
⏸️ 4 pending
|
||||
|
||||
Blockers: None
|
||||
|
||||
Next Actions:
|
||||
1. Wait for current 2 tasks to complete
|
||||
2. Then launch Batch 3 (2 parallel tasks):
|
||||
- Integration tests
|
||||
- Migration scripts
|
||||
|
||||
Parallel opportunity available once current batch completes.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example 8: Feature with Review Gate
|
||||
|
||||
**User Request:**
|
||||
> "Complete payment integration feature"
|
||||
|
||||
**Actions:**
|
||||
1. Check configuration: review gate enabled
|
||||
2. All tasks complete: ✓
|
||||
3. Tests passing: ✓
|
||||
4. Update status to pending-review
|
||||
|
||||
**Output:**
|
||||
```
|
||||
Feature: Payment Integration
|
||||
Status: validating → pending-review
|
||||
|
||||
✓ All Prerequisites Met:
|
||||
• All 8 tasks completed
|
||||
• Tests passing (94% coverage)
|
||||
• No blockers
|
||||
|
||||
⏸️ Awaiting Review:
|
||||
Review required before completion (configured in .taskorchestrator/config.yaml)
|
||||
|
||||
Next: Review feature implementation, then:
|
||||
• Approve: Move to completed
|
||||
• Request changes: Return to in-development
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Token Usage Examples
|
||||
|
||||
### Efficient Status Check
|
||||
```javascript
|
||||
// Using overview operation
|
||||
query_container(operation="overview", containerType="feature", id="uuid")
|
||||
// Returns: ~1,200 tokens (task list + counts, no sections)
|
||||
```
|
||||
|
||||
### Inefficient Status Check (Don't do this)
|
||||
```javascript
|
||||
// Using get with sections
|
||||
query_container(operation="get", containerType="feature", id="uuid", includeSections=true)
|
||||
// Returns: ~18,500 tokens (full sections + tasks)
|
||||
```
|
||||
|
||||
**Savings: 93% token reduction**
|
||||
|
||||
---
|
||||
|
||||
## Integration Examples
|
||||
|
||||
### With Task Orchestration Skill
|
||||
```
|
||||
1. Feature Orchestration: Creates feature + tasks
|
||||
2. Task Orchestration: Executes tasks in parallel batches
|
||||
3. Feature Orchestration: Validates quality gates
|
||||
4. Feature Orchestration: Marks complete
|
||||
```
|
||||
|
||||
### With Dependency Orchestration Skill
|
||||
```
|
||||
User: "This feature has complex dependencies"
|
||||
1. Feature Orchestration: Creates feature
|
||||
2. Dependency Orchestration: Analyzes dependency graph
|
||||
3. Task Orchestration: Uses analysis for batching
|
||||
```
|
||||
|
||||
### With Status Progression Skill
|
||||
```
|
||||
User: "Progress feature through workflow"
|
||||
1. Status Progression: Validates transition
|
||||
2. Status Progression: Checks prerequisites
|
||||
3. Feature Orchestration: Enforces quality gates
|
||||
4. Status Progression: Updates status
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Event Detection Examples
|
||||
|
||||
### Detection: First Task Started
|
||||
|
||||
```javascript
|
||||
// Triggered when ANY task changes to execution phase
|
||||
function onTaskStatusChange(taskId, oldStatus, newStatus) {
|
||||
// Check if transitioned into execution
|
||||
if (isExecutionPhase(newStatus) && !isExecutionPhase(oldStatus)) {
|
||||
|
||||
task = query_container(operation="get", containerType="task", id=taskId)
|
||||
|
||||
if (task.featureId) {
|
||||
// Query feature to check task counts
|
||||
feature = query_container(
|
||||
operation="overview",
|
||||
containerType="feature",
|
||||
id=task.featureId
|
||||
)
|
||||
|
||||
// Count how many tasks in execution
|
||||
inProgressCount = feature.taskCounts.byStatus["in-progress"] || 0
|
||||
|
||||
if (inProgressCount == 1) {
|
||||
// This is the FIRST task to start work!
|
||||
// EVENT DETECTED: first_task_started
|
||||
|
||||
"Use Status Progression Skill to progress feature status.
|
||||
Context: First task started - ${task.title}"
|
||||
|
||||
// Possible outcomes based on user's config:
|
||||
// - default_flow: planning → in-development
|
||||
// - rapid_prototype_flow: draft → in-development
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Detection: Tests Passed
|
||||
|
||||
```javascript
|
||||
// Triggered by external test hook or manual trigger
|
||||
function onTestsComplete(featureId, testResults) {
|
||||
if (testResults.allPassed) {
|
||||
// EVENT DETECTED: tests_passed
|
||||
|
||||
"Use Status Progression Skill to progress feature status.
|
||||
Context: Tests passed - ${testResults.total} tests successful"
|
||||
|
||||
// Possible outcomes:
|
||||
// - default_flow: testing → validating
|
||||
// - with_review_flow: testing → validating → pending-review
|
||||
// - rapid_prototype_flow: (no testing, wouldn't get here)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Detection: Review Completed
|
||||
|
||||
```javascript
|
||||
// Triggered by user or external review system
|
||||
function onReviewComplete(featureId, reviewResult) {
|
||||
if (reviewResult.approved) {
|
||||
// EVENT DETECTED: review_approved
|
||||
|
||||
"Use Status Progression Skill to progress feature status.
|
||||
Context: Review approved by ${reviewResult.reviewer}"
|
||||
|
||||
// Possible outcome:
|
||||
// - with_review_flow: pending-review → completed
|
||||
|
||||
} else {
|
||||
// EVENT DETECTED: changes_requested
|
||||
|
||||
"Use Status Progression Skill to move feature back for rework.
|
||||
Context: Changes requested - ${reviewResult.changesRequested}"
|
||||
|
||||
// Backward movement (if allow_backward: true):
|
||||
// - pending-review → in-development
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Complexity Assessment Algorithm
|
||||
|
||||
```python
|
||||
def assess_feature_complexity(user_request, context):
|
||||
score = 0
|
||||
|
||||
# Length indicators
|
||||
if len(user_request) > 200:
|
||||
score += 2 # Long description suggests complexity
|
||||
|
||||
# Technical complexity keywords
|
||||
integration_keywords = ["oauth", "api", "integration", "authentication",
|
||||
"third-party", "external", "webhook"]
|
||||
if has_keywords(user_request, integration_keywords):
|
||||
score += 3 # Integrations add complexity
|
||||
|
||||
# Domain indicators
|
||||
domains = count_domains(user_request) # database, backend, frontend, etc.
|
||||
if domains >= 3:
|
||||
score += 2 # Multiple domains = complex
|
||||
|
||||
# Scope clarity
|
||||
unclear_keywords = ["might", "maybe", "possibly", "unclear", "TBD"]
|
||||
if has_keywords(user_request, unclear_keywords):
|
||||
score += 2 # Unclear scope needs exploration
|
||||
|
||||
# Expected task count
|
||||
estimated_tasks = estimate_task_count(user_request)
|
||||
if estimated_tasks >= 8:
|
||||
score += 3 # Many tasks = complex
|
||||
elif estimated_tasks >= 5:
|
||||
score += 2 # Medium tasks = moderate
|
||||
elif estimated_tasks >= 3:
|
||||
score += 1 # Few tasks = simple
|
||||
|
||||
# Decision thresholds
|
||||
if score <= 3:
|
||||
return "simple" # Create directly with Feature Orchestration
|
||||
elif score <= 6:
|
||||
return "moderate" # Could go either way
|
||||
else:
|
||||
return "complex" # Launch Feature Architect subagent
|
||||
```
|
||||
|
||||
**Example Assessments:**
|
||||
|
||||
| Request | Length | Integration | Domains | Tasks | Score | Result |
|
||||
|---------|--------|-------------|---------|-------|-------|--------|
|
||||
| "User profile feature" | 0 | 0 | 1 | 1 | 1 | Simple |
|
||||
| "API for user management with CRUD operations" | 0 | 0 | 2 | 1 | 1 | Simple |
|
||||
| "OAuth integration for Google and GitHub" | 0 | 3 | 2 | 2 | 7 | Complex |
|
||||
| "Build comprehensive reporting system with analytics, dashboards, PDF export, scheduled emails, and data warehouse integration" | 2 | 3 | 3 | 3 | 13 | Complex |
|
||||
Reference in New Issue
Block a user