Personal App Architect - Strategic Development Orchestrator
Version: 2.0.0 Category: Meta-Skill / Personal App Architect Related Skills: dev-vue, ts-foundation-restorer, qa-testing, comprehensive-system-analyzer, master-plan-manager
Overview
A strategic meta-skill designed for personal productivity application development. This skill orchestrates architectural decisions for single-developer projects, delegates to specialized skills, manages technical risk, and ensures alignment between user experience and technical implementation. Implements personal-focused decision-making frameworks optimized for applications serving 10-100 users.
Quick Context
-
Complexity: Medium-High (Personal app orchestration)
-
Duration: Variable (Project lifecycle)
-
Dependencies: Complete project analysis capabilities
-
Scale: 10-100 users maximum
Activation Triggers
-
Keywords: architecture, orchestration, strategy, decision, personal app, migration, system design, productivity app, mobile prep, cross-platform, ideas, issues, process ideas, auto-process
-
Files: Entire codebase, project documentation, architectural decisions, ideas-issues.md
-
Contexts: Personal productivity app planning, local-first architecture, mobile preparation, cross-tab sync, technology evaluation, idea management, issue tracking
🚨 CRITICAL ORCHESTRATION REQUIREMENTS
🚨 REALITY-FIRST VERIFICATION PROTOCOL (MANDATORY)
ZERO TOLERANCE FOR FALSE SUCCESS CLAIMS: Never claim success without user confirmation and manual testing evidence.
5-Step Verification Process (MANDATORY for ALL Success Claims):
-
Build Test: Application compiles and starts successfully
-
Manual Browser Test: Manual verification in browser with DevTools inspection
-
User Workflow Test: Complete user workflow testing end-to-end
-
Screenshot Evidence: Actual screenshots showing functionality working
-
User Confirmation: Explicit user confirmation BEFORE any success claims
FORBIDDEN SUCCESS CLAIMS (AUTOMATIC SKILL TERMINATION):
-
❌ "PRODUCTION READY" without complete manual testing
-
❌ "MISSION ACCOMPLISHED" without ALL bugs fixed
-
❌ "ISSUE RESOLVED" without user verification
-
❌ "SYSTEM STABLE" without comprehensive testing
-
❌ ANY success claim without evidence and user confirmation
Personal App Architect Protocol
PERSONAL PRODUCTIVITY FOCUS: Make technical decisions that optimize user experience, development efficiency, and personal app maintainability.
Before Making Architectural Decisions - MANDATORY Steps:
-
User Impact Analysis: Assess effect on personal productivity and user experience
-
Technical Simplicity Check: Prefer solutions that are maintainable by a single developer
-
Option Evaluation: Multiple solution alternatives with personal development trade-offs
-
Create Context Documentation: Document reasoning in development notes for future reference
-
Cross-Platform Consideration: Evaluate browser compatibility and mobile preparation impact
-
Local-First Priority: Ensure offline functionality and data persistence reliability
-
Development Workflow Impact: Consider effect on personal development velocity and testing
CRITICAL: No Premature Technology Pivots Protocol
-
MANDATORY: Never pivot core technologies (database, framework, architecture) without thorough local testing
-
MANDATORY: Try multiple troubleshooting approaches with detailed documentation before considering major changes
-
MANDATORY: Only pivot after exhaustive testing and backup verification
-
DOCUMENTATION: Keep decision notes in project development log for future reference
Evidence-Based Reporting Requirements
ALL CLAIMS MUST HAVE EVIDENCE:
-
Screenshots for UI fixes
-
Console logs for technical fixes
-
Test results for functionality
-
User feedback for UX improvements
-
Performance metrics for optimization
User Confirmation Protocol
USER IS FINAL AUTHORITY:
-
User testing > automated tests
-
User feedback > assumptions
-
User confirmation > technical claims
-
User experience > technical elegance
Core Architectural Responsibilities
- Personal App Architecture Planning
-
Analyze user experience requirements and translate to technical architecture
-
Make foundational architectural decisions for single-developer projects
-
Define personal app principles focused on simplicity and maintainability
-
Create development roadmaps aligned with user productivity goals
-
Evaluate trade-offs between development speed, user experience, and maintainability
- Project Context Analysis
-
Continuously track personal app state across all dimensions
-
Extract information from project artifacts (code, docs, configs, tests)
-
Identify technical debt that impacts personal development velocity
-
Monitor user experience quality metrics and validation gates
-
Maintain personal development knowledge repository
- Dynamic Skill Orchestration
-
Route to specialized skills based on personal app development needs
-
Coordinate dependencies between skill executions for single developer
-
Handle skill failures with practical recovery strategies
-
Manage parallel vs. sequential skill execution for efficiency
-
Validate feature completion before proceeding
- Personal Decision Management
-
Document architectural decisions with personal development rationale
-
Validate decisions against personal app principles and user experience
-
Learn from past decisions for personal development improvement
-
Recommend solutions based on similar personal app contexts
-
Track decision impact on user productivity and development workflow
Personal App Architecture Domains
Domain 1: Local-First Data Architecture
Focus Areas:
-
IndexedDB Optimization: Cross-tab synchronization, offline-first design
-
Data Simplicity: Maintainable schemas for single-developer projects
-
Personal Data Backup: Local backup strategies and data recovery
-
Cross-Platform Sync: Browser ↔ Mobile data synchronization preparation
-
Performance: Responsive UI with local data processing
Domain 2: Personal Frontend Architecture (Vue.js/TypeScript)
Focus Areas:
-
Component Simplicity: Reusable components optimized for single developer
-
State Management: Pinia stores optimized for personal productivity apps
-
User Experience: Responsive design, smooth interactions, accessibility
-
Performance Optimization: Bundle size, lazy loading, memory efficiency
-
Cross-Browser Compatibility: Consistent experience across all browsers
Domain 3: Mobile Preparation & Cross-Platform
Focus Areas:
-
Capacitor Integration: Prepare browser app for mobile deployment
-
Responsive Design: Mobile-first UI/UX design patterns
-
Touch Interactions: Mobile gesture support and touch optimization
-
Performance: Battery efficiency and mobile performance optimization
-
Platform Integration: Native features (notifications, haptics, etc.)
Domain 4: Personal Development Workflow
Focus Areas:
-
Feature Flag Management: Development workflow for incremental features
-
Testing Strategy: Focused testing for personal app reliability
-
Checkpoint Strategy: Git-based checkpoint system for personal development
-
Quality Assurance: Personal standards for code quality and user experience
-
Documentation: Maintainable documentation for single-developer projects
Domain 5: User Experience & Productivity
Focus Areas:
-
Usability Testing: Ensure app enhances personal productivity
-
Accessibility: WCAG compliance for inclusive design
-
Performance Optimization: Fast load times and smooth interactions
-
Error Handling: Graceful degradation and user-friendly error messages
-
Feedback Integration: User feedback collection and implementation workflow
Personal App Orchestration Workflow
Phase 1: Personal App Analysis & Strategy
async analyzePersonalAppContext(): Promise<PersonalAppContext> { // 1. Extract current state const codeAnalysis = await this.delegateToSkill('comprehensive-system-analyzer', { paths: ['src/', 'tests/'], metrics: ['user-experience', 'maintainability', 'performance', 'mobile-readiness'] });
const architectureState = await this.analyzePersonalAppArchitecture({ analyzeDependencies: true, extractPersonalAppPatterns: true, identifyUserExperienceIssues: true });
// 2. Identify user experience gaps const uxGaps = this.identifyUserExperienceGaps(codeAnalysis, architectureState);
// 3. Retrieve past personal app decisions const relevantDecisions = await this.queryPersonalAppKnowledgeBase({ context: uxGaps, similarPersonalApps: true });
// 4. Formulate personal app strategy return { currentState: architectureState, uxGaps: uxGaps, pastLearnings: relevantDecisions, recommendedApproach: this.formulatePersonalAppStrategy(uxGaps, relevantDecisions) }; }
Phase 2: Personal App Decision Making
async makePersonalAppDecision( concern: PersonalAppConcern, context: PersonalAppContext ): Promise<PersonalAppDecision> {
// 1. Analyze options for personal app impact const options = await this.researchPersonalAppSolutions({ concern, constraints: context.constraints, qualityAttributes: ['user-experience', 'development-speed', 'maintainability', 'mobile-compatibility'] });
// 2. Evaluate personal app trade-offs const evaluation = await this.evaluatePersonalAppTradeoffs({ options, qualityAttributes: ['user-experience', 'development-speed', 'maintainability', 'mobile-readiness'], context });
// 3. Select optimal solution for personal app const decision = this.selectPersonalAppSolution(evaluation, context.userExperiencePriorities);
// 4. Document decision for personal development await this.createPersonalAppDecisionRecord({ decision, alternatives: options, rationale: evaluation, userExperienceImpact: decision.uxImpact });
// 5. Add to personal development knowledge base await this.updatePersonalAppKnowledgeBase(decision);
return decision; }
Phase 3: Personal Implementation Orchestration
async orchestratePersonalImplementation( decision: PersonalAppDecision, context: PersonalAppContext ): Promise<PersonalImplementationResult> {
// 1. Decompose into personal development tasks const tasks = this.decomposePersonalAppDecision(decision);
// 2. Build task dependency graph const taskGraph = this.buildPersonalTaskGraph(tasks, context);
// 3. Execute with user experience validation for (const taskBatch of taskGraph.executionBatches) { const results = await Promise.allSettled( taskBatch.map(task => this.delegateToPersonalAppSkill(task, context)) );
// 4. Handle failures with practical recovery
const failures = results.filter(r => r.status === 'rejected');
if (failures.length > 0) {
const recovered = await this.recoverFromPersonalAppFailures(failures, context);
if (!recovered) {
await this.createPersonalAppCheckpoint(context);
throw new PersonalAppImplementationFailure(failures);
}
}
// 5. Validate user experience impact
await this.validateUserExperienceImpact(taskBatch, context);
}
return { success: true, tasksCompleted: tasks.length, userExperienceImprovements: this.measureUserExperienceImpact(context), personalDevelopmentNotes: this.collectDevelopmentNotes(context) }; }
📝 Ideas Processing Module (NEW)
Ideas File Watching System
// File watching for automatic ideas processing interface IdeasFileWatcher { watcher: fs.FSWatcher | null; processTimeout: NodeJS.Timeout | null; isProcessing: boolean; lastProcessed: Date | null; }
const ideasFileWatcher: IdeasFileWatcher = { watcher: null, processTimeout: null, isProcessing: false, lastProcessed: null };
/**
- Start watching ideas-issues.md for changes
- Automatically processes new ideas and issues */ function watchIdeasFile(): void { if (ideasFileWatcher.watcher) { console.log('📝 Ideas file watcher already active'); return; }
const ideasFilePath = 'docs/planning/overview/ideas-issues.md';
try { ideasFileWatcher.watcher = fs.watch( ideasFilePath, { persistent: false }, (eventType: string) => { if (eventType === 'change' && !ideasFileWatcher.isProcessing) { console.log('📝 Ideas file changed, debouncing...');
// Debounce to avoid processing mid-edit
if (ideasFileWatcher.processTimeout) {
clearTimeout(ideasFileWatcher.processTimeout);
}
ideasFileWatcher.processTimeout = setTimeout(() => {
autoProcessIdeas();
}, 2000); // 2 second debounce
}
}
);
console.log('✅ Ideas file watcher started');
} catch (error) { console.error('❌ Failed to start ideas file watcher:', error); } }
/**
- Automatically process new ideas and issues
- Uses existing enhance/promote workflow */ async function autoProcessIdeas(): Promise<void> { if (ideasFileWatcher.isProcessing) { console.log('📝 Ideas processing already in progress, skipping...'); return; }
ideasFileWatcher.isProcessing = true;
try { // 1. Create backup before processing await createBackupBeforeProcessing();
// 2. Detect new items in "💭 Raw Ideas" section
const newItems = await detectNewIdeas();
if (newItems.length === 0) {
console.log('📝 No new ideas to process');
return;
}
console.log(`📝 Processing ${newItems.length} new ideas...`);
// 3. Process each item using existing workflow
for (const item of newItems) {
console.log(`📝 Processing: ${item.title}`);
// Use existing enhancement logic
const enhanced = await enhanceIdea(item);
// Validate confidence score
const confidence = calculateConfidenceScore(enhanced);
if (confidence < 80) {
console.log(`⚠️ Low confidence (${confidence}%) for "${item.title}" - marking for review`);
enhanced.requiresReview = true;
}
// Use existing promotion logic
await promoteToMasterPlan(enhanced);
// Archive to weekly folder
await archiveToWeeklyFolder(item.id);
console.log(`✅ Processed: ${item.title} (confidence: ${confidence}%)`);
}
ideasFileWatcher.lastProcessed = new Date();
console.log(`✅ Successfully processed ${newItems.length} ideas`);
} catch (error) { console.error('❌ Auto-processing failed:', error); // Attempt rollback if processing failed await rollbackFromBackup(); } finally { ideasFileWatcher.isProcessing = false; } }
/**
- Detect new ideas from ideas-issues.md
- Returns items without "Processed: YYYY-MM-DD" marker */ async function detectNewIdeas(): Promise<RawIdea[]> { const ideasFilePath = 'docs/planning/overview/ideas-issues.md';
try { const content = await fs.readFile(ideasFilePath, 'utf-8');
// Extract "💭 Raw Ideas" section
const rawIdeasSection = content.match(/## 💭 Raw Ideas.*?## /ms);
if (!rawIdeasSection) {
return [];
}
const items: RawIdea[] = [];
const ideaMatches = rawIdeasSection[0].match(/### (IDEA-\d+|ISSUE-\d+) \| (.+?)\n\*\*Captured\*\*: (.+?)\n\*\*Priority\*\*: (.+?)\n\*\*Tags\*\*: (.+?)\n\n(.+?)(?=\n---|\n##)/gs);
for (const match of ideaMatches) {
const [, id, title, captured, priority, tags, description] = match;
// Skip if already processed
if (content.includes(`${id} - **Processed:`)) {
continue;
}
items.push({
id: id.trim(),
title: title.trim(),
captured: new Date(captured.trim()),
priority: parsePriority(priority.trim()),
tags: tags.trim().split(' ').map(t => t.replace('#', '')),
description: description.trim(),
itemType: id.startsWith('IDEA-') ? 'idea' : 'issue'
});
}
return items;
} catch (error) { console.error('Error detecting new ideas:', error); return []; } }
/**
- Calculate confidence score for idea classification */ function calculateConfidenceScore(enhanced: EnhancedIdea): number { let score = 50; // Base score
// Add points for clear categorization if (enhanced.itemType === 'issue' && enhanced.priority === 'high') score += 30; if (enhanced.itemType === 'idea' && enhanced.tags.includes('feature')) score += 25;
// Add points for technical specificity if (enhanced.technicalSpecs?.implementationApproach) score += 15; if (enhanced.effortEstimate?.complexity) score += 10;
// Add points for clear requirements if (enhanced.description.length > 50) score += 10; if (enhanced.tags.length >= 2) score += 5;
return Math.min(100, score); }
/**
- Archive processed item to weekly folder */ async function archiveToWeeklyFolder(itemId: string): Promise<void> { const weekNumber = getWeekNumber(new Date()); const year = new Date().getFullYear();
const archiveFolder = docs/archives/ideas-issues/week-${weekNumber}-${year};
// Ensure archive folder exists await fs.mkdir(archiveFolder, { recursive: true });
// Move item from active file to archive await moveItemToArchive(itemId, archiveFolder);
console.log(📦 Archived ${itemId} to ${archiveFolder});
}
/**
- Stop watching ideas file */ function stopWatchingIdeasFile(): void { if (ideasFileWatcher.watcher) { ideasFileWatcher.watcher.close(); ideasFileWatcher.watcher = null; console.log('📝 Ideas file watcher stopped'); } }
/**
- Get week number for archive folder naming */ function getWeekNumber(date: Date): number { const firstDayOfYear = new Date(date.getFullYear(), 0, 1); const pastDaysOfYear = (date.getTime() - firstDayOfYear.getTime()) / 86400000; return Math.ceil((pastDaysOfYear + firstDayOfYear.getDay() + 1) / 7); }
/**
- Create backup before processing */ async function createBackupBeforeProcessing(): Promise<void> { const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
await fs.copyFile(
'docs/planning/overview/ideas-issues.md',
docs/planning/overview/ideas-issues.md.backup-${timestamp}
);
await fs.copyFile(
'docs/MASTER_PLAN.md',
docs/MASTER_PLAN.md.backup-${timestamp}
);
console.log(💾 Created backups with timestamp ${timestamp});
}
/**
- Rollback from backup if processing fails */ async function rollbackFromBackup(): Promise<void> { // Find latest backup const backups = await fs.readdir('docs/planning/overview/') .then(files => files.filter(f => f.includes('ideas-issues.md.backup-'))) .sort() .reverse();
if (backups.length === 0) { console.error('❌ No backups found for rollback'); return; }
const latestBackup = backups[0];
await fs.copyFile(
docs/planning/overview/${latestBackup},
'docs/planning/overview/ideas-issues.md'
);
console.log(🔄 Rolled back to ${latestBackup});
}
Personal App Skill Routing Logic
Local-First Data Architecture Routing
async routePersonalAppDataTask(task: PersonalAppDataTask, context: PersonalAppContext): Promise<SkillResult> { if (task.type === 'CROSS_TAB_SYNC') { return await this.delegateToSkill('dev-fix-task-sync', { task, context, syncStrategy: 'indexeddb-broadcast-channel', validation: 'data-consistency-check' }); } else if (task.type === 'LOCAL_BACKUP') { return await this.delegateToSkill('indexeddb-backup-debugger', { task, context, backupStrategy: 'incremental-local-backup' }); } else if (task.type === 'DATA_MIGRATION') { return await this.delegateToSkill('persistence-type-fixer', { task, context, migrationPlan: 'personal-app-data-migration' }); } }
Personal Frontend Architecture Routing
async routePersonalAppFrontendTask(task: PersonalAppFrontendTask, context: PersonalAppContext): Promise<SkillResult> { if (task.framework === 'vue') { if (task.concern === 'PERFORMANCE') { return await this.delegateToSkill('dev-optimize-performance', { task, context, optimizationTarget: 'personal-app-user-experience' }); } else if (task.concern === 'REACTIVITY') { return await this.delegateToSkill('dev-debugging', { task, context, focus: 'vue-reactivity-debugging' }); } else if (task.concern === 'COMPONENT_DESIGN') { return await this.delegateToSkill('dev-vue', { task, context, componentType: 'personal-app-component' }); } } }
Personal App Testing & QA Routing
async routePersonalAppTestingTask(task: PersonalAppTestingTask, context: PersonalAppContext): Promise<SkillResult> { if (task.type === 'USER_EXPERIENCE_VALIDATION') { return await this.delegateToSkill('qa-testing', { task, context, testingScope: 'personal-app-user-workflow', validationMethod: 'playwright-visual-testing' }); } else if (task.type === 'UI_CONSISTENCY') { return await this.delegateToSkill('qa-audit-ui-ux', { task, context, auditScope: 'personal-app-design-system' }); } else if (task.type === 'SYSTEM_HEALTH') { return await this.delegateToSkill('comprehensive-system-analyzer', { task, context, analysisScope: 'personal-app-health-check' }); } }
Personal App Knowledge Base & Learning
Personal Development Notes
-
Document architectural decisions with user experience rationale
-
Include alternatives considered and personal development trade-offs
-
Track decision outcomes and personal productivity impact
-
Maintain personal development journal for future reference
Personal App Pattern Recognition
-
Identify recurring patterns in personal productivity applications
-
Maintain library of proven personal app solutions
-
Adapt patterns to current user experience context
-
Build personal development knowledge for future projects
Continuous Personal Learning
-
Learn from every user experience implementation
-
Update personal app principles based on user feedback
-
Refine personal development decision frameworks
-
Improve personal app recommendations over time
-
Track mobile preparation and cross-platform learnings
Personal App Validation Gates
Personal App Decision Validation
-
Alignment with user experience goals
-
Personal development trade-off analysis complete
-
User workflow improvement verified
-
Documented in personal development notes
Local Data Validation
-
Zero data loss verified in cross-tab testing
-
Local backup procedures tested and working
-
IndexedDB performance acceptable (<100ms for typical operations)
-
Data recovery procedures validated
Frontend User Experience Validation
-
TypeScript compilation successful
-
Personal app user workflow tests passing
-
Bundle size optimized for personal apps (<2MB)
-
Lighthouse score maintained (>90 for personal productivity apps)
Cross-Platform Validation
-
Browser compatibility verified (Chrome, Firefox, Safari, Edge)
-
Mobile responsiveness validated for common phone sizes
-
Touch interactions working smoothly
-
Performance acceptable on mobile devices
Personal App Success Criteria
-
✅ User Experience Alignment: All decisions enhance personal productivity
-
✅ Personal Knowledge Growth: Personal development knowledge base improves with each decision
-
✅ Quality Metrics: User experience, performance, and reliability improve over time
-
✅ Development Experience: Clear guidance, reduced friction, faster personal development
-
✅ App Evolution: Architecture adapts to user feedback and changing requirements
-
✅ Personal Risk Management: Proactive identification and mitigation of technical debt that impacts personal development velocity
-
✅ User Productivity: App tangibly improves personal productivity and task management
Personal App Usage Examples
Example 1: Cross-Tab Synchronization Implementation
chief-architect implement-cross-tab-sync
--current-stack "indexeddb/localforage"
--sync-strategy "broadcast-channel"
--requirements "real-time-sync,offline-first,user-experience-priority"
--validation "playwright-cross-tab-testing"
Example 2: Personal App Performance Optimization
chief-architect optimize-personal-app-performance
--analyze "src/components src/stores"
--focus "user-experience,mobile-readiness,bundle-size"
--target-lighthouse-score ">90"
--validation-method "user-workflow-testing"
Example 3: Mobile Preparation Strategy
chief-architect prepare-mobile-version
--current-platform "browser-only"
--target-platform "browser + mobile (capacitor)"
--quality-attributes "touch-interactions,battery-efficiency,responsive-design"
--timeline "4-weeks"
Example 4: User Experience Enhancement Planning
chief-architect enhance-user-experience
--analyze-user-workflow "task-management,pomodoro-timer,cross-view-synchronization"
--focus "productivity-improvement,interface-consistency,error-handling"
--validation "user-testing,playwright-visual-validation"
Example 5: Start Automatic Ideas Processing (NEW)
chief-architect watch-ideas-file
--auto-process "true"
--confidence-threshold "80"
--archive-strategy "weekly-folders"
Example 6: Manual Ideas Processing (NEW)
chief-architect process-ideas
--source-file "docs/planning/overview/ideas-issues.md"
--target-file "docs/MASTER_PLAN.md"
--enhance-existing "true"
Example 7: Stop Ideas File Watching (NEW)
chief-architect stop-watching-ideas
--cleanup "backup-folders"
Personal App Implementation Protocol
- Personal App Context Gathering
-
Analyze current personal app state comprehensively
-
Extract user experience requirements and personal productivity goals
-
Identify technical risks that impact personal development velocity
-
Consider cross-platform and mobile preparation requirements
- Personal App Analysis Phase
-
Research multiple solutions optimized for single-developer projects
-
Evaluate personal app trade-offs (development speed vs. user experience)
-
Assess impact on user productivity and personal development workflow
-
Consider mobile readiness and cross-browser compatibility
- Personal App Decision Phase
-
Select optimal solution for personal app context
-
Document decision with user experience rationale
-
Create personal development notes and reasoning
-
Update personal app knowledge base
- Personal App Orchestration Phase
-
Decompose decision into manageable personal development tasks
-
Build execution plan optimized for single developer workflow
-
Delegate to appropriate personal app specialized skills
-
Monitor progress with user experience validation
- Personal App Validation Phase
-
Validate implementation enhances user productivity
-
Verify user experience quality metrics are maintained
-
Test cross-browser compatibility and mobile responsiveness
-
Document outcomes and personal development learnings
Personal App Architect Principles
-
User Experience First: Technical decisions enhance personal productivity
-
Evolutionary Design: Architecture evolves incrementally with user feedback
-
Quality Attributes: Balance user experience, performance, maintainability, mobile-readiness
-
Personal Developer Experience: Optimize for single-developer productivity and satisfaction
-
Cross-Platform Ready: Design for browser-to-mobile portability
-
User Feedback Driven: Decisions based on user experience impact and testing
-
Learn and Adapt: Continuously improve from user feedback and personal development experience
-
Local-First Mindset: Prioritize offline functionality and data persistence reliability
Systematic Planning Integration (Integrated from arch-planning)
Enhanced Project Planning Protocol
When to Use Planning Features:
The chief-architect now includes systematic project planning when:
-
User requests "plan this feature" or "break down this task"
-
Asks "how should I implement..." or "what's the approach for..."
-
Needs a roadmap, architecture plan, or implementation strategy
-
Mentions "complex feature", "large project", or "multi-step work"
-
Wants to understand dependencies and implementation order
Integrated Planning Process
Phase 1: Analysis & Discovery
// Systematic project analysis const analyzeProjectRequirements = (userRequest) => { return { // Codebase Context currentArchitecture: analyzeExistingStructure(), patterns: identifyExistingPatterns(), conventions: extractProjectGuidelines(),
// Requirements Analysis
explicitRequirements: extractRequirements(userRequest),
implicitRequirements: identifyImplicitNeeds(),
constraints: analyzeTechnicalConstraints(),
// Dependency Mapping
affectedFiles: mapImpactAreas(),
dataFlow: analyzeDataRequirements(),
integrationPoints: identifyConnections()
} }
Phase 2: Strategic Planning
// Create implementation roadmap const createImplementationPlan = (analysis) => { return { phases: breakIntoPhases(analysis), tasks: defineSpecificTasks(), dependencies: mapTaskDependencies(), timeline: estimateDevelopmentTime(), risks: identifyPotentialRisks(), validation: defineSuccessCriteria() } }
Planning Templates
Feature Implementation Template:
Implementation Plan: [Feature Name]
Phase 1: Foundation
- Setup core data structures
- Create basic UI components
- Implement primary functionality
Phase 2: Integration
- Connect to existing stores
- Integrate with routing
- Add error handling
Phase 3: Enhancement
- Add advanced features
- Implement accessibility
- Performance optimization
Dependencies:
- Requires: [existing features]
- Impacts: [other components]
- Timeline: [estimated duration]
Success Criteria:
- Feature works as specified
- No regressions in existing functionality
- Performance within acceptable limits
- User testing validates requirements
Personal App Meta-Architecture Pattern
This skill implements the Personal App Architect cognitive architecture:
-
Perception: Continuously monitors personal app state, user experience metrics, and development context
-
Reasoning: Analyzes user experience trade-offs, evaluates personal development options, makes decisions using systematic planning
-
Action: Delegates to personal app specialized skills, validates user experience outcomes
-
Learning: Updates personal development knowledge base, improves user experience recommendations
-
Memory: Maintains personal app history, user experience patterns, and development decisions
-
Attention: Prioritizes based on user productivity impact and personal development velocity
This creates a self-improving personal app architectural intelligence that becomes more effective over time by learning from every user experience decision, implementation, and personal development outcome.
MANDATORY USER VERIFICATION REQUIREMENT
Policy: No Fix Claims Without User Confirmation
CRITICAL: Before claiming ANY issue, bug, or problem is "fixed", "resolved", "working", or "complete", the following verification protocol is MANDATORY:
Step 1: Technical Verification
-
Run all relevant tests (build, type-check, unit tests)
-
Verify no console errors
-
Take screenshots/evidence of the fix
Step 2: User Verification Request
REQUIRED: Use the AskUserQuestion tool to explicitly ask the user to verify the fix:
"I've implemented [description of fix]. Before I mark this as complete, please verify:
- [Specific thing to check #1]
- [Specific thing to check #2]
- Does this fix the issue you were experiencing?
Please confirm the fix works as expected, or let me know what's still not working."
Step 3: Wait for User Confirmation
-
DO NOT proceed with claims of success until user responds
-
DO NOT mark tasks as "completed" without user confirmation
-
DO NOT use phrases like "fixed", "resolved", "working" without user verification
Step 4: Handle User Feedback
-
If user confirms: Document the fix and mark as complete
-
If user reports issues: Continue debugging, repeat verification cycle
Prohibited Actions (Without User Verification)
-
Claiming a bug is "fixed"
-
Stating functionality is "working"
-
Marking issues as "resolved"
-
Declaring features as "complete"
-
Any success claims about fixes
Required Evidence Before User Verification Request
-
Technical tests passing
-
Visual confirmation via Playwright/screenshots
-
Specific test scenarios executed
-
Clear description of what was changed
Remember: The user is the final authority on whether something is fixed. No exceptions.