@tgoodington/intuition 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +329 -0
- package/agents/architect.md +426 -0
- package/agents/code-reviewer.md +186 -0
- package/agents/code-writer.md +140 -0
- package/agents/documentation.md +164 -0
- package/agents/research.md +179 -0
- package/agents/security-expert.md +238 -0
- package/agents/test-runner.md +168 -0
- package/agents/waldo.md +457 -0
- package/bin/intuition.js +216 -0
- package/package.json +36 -0
- package/scripts/install-skills.js +127 -0
- package/scripts/uninstall-skills.js +78 -0
- package/skills/intuition-execute/SKILL.md +181 -0
- package/skills/intuition-execute/references/architect_core.md +419 -0
- package/skills/intuition-execute/references/sub_agents.md +285 -0
- package/skills/intuition-execute/references/templates/execution_report.md +323 -0
- package/skills/intuition-execute/references/templates/parallel_execution.md +371 -0
- package/skills/intuition-execute/references/templates/task_delegation.md +327 -0
- package/skills/intuition-initialize/SKILL.md +960 -0
- package/skills/intuition-initialize/references/bugs_template.md +41 -0
- package/skills/intuition-initialize/references/decisions_template.md +92 -0
- package/skills/intuition-initialize/references/issues_template.md +76 -0
- package/skills/intuition-initialize/references/key_facts_template.md +158 -0
- package/skills/intuition-initialize/references/project_plan_template.md +151 -0
- package/skills/intuition-initialize/references/state_template.json +26 -0
- package/skills/intuition-plan/SKILL.md +109 -0
- package/skills/intuition-plan/references/sub_agents.md +98 -0
- package/skills/intuition-plan/references/templates/confidence_scoring.md +199 -0
- package/skills/intuition-plan/references/templates/plan_format.md +110 -0
- package/skills/intuition-plan/references/templates/planning_process.md +219 -0
- package/skills/intuition-plan/references/waldo_core.md +446 -0
- package/skills/intuition-start/SKILL.md +159 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Bug Log Template
|
|
2
|
+
|
|
3
|
+
This file demonstrates the format for logging bugs and their solutions. Keep entries brief and chronological.
|
|
4
|
+
|
|
5
|
+
## Format
|
|
6
|
+
|
|
7
|
+
Each bug entry should include:
|
|
8
|
+
- Date (YYYY-MM-DD)
|
|
9
|
+
- Brief description of the bug/issue
|
|
10
|
+
- Solution or fix applied
|
|
11
|
+
- Any prevention notes (optional)
|
|
12
|
+
|
|
13
|
+
Use bullet lists for simplicity. Older entries can be manually removed when they become irrelevant.
|
|
14
|
+
|
|
15
|
+
## Example Entries
|
|
16
|
+
|
|
17
|
+
### 2025-01-15 - Docker Architecture Mismatch
|
|
18
|
+
- **Issue**: Container failing to start with "exec format error"
|
|
19
|
+
- **Root Cause**: Built on ARM64 Mac but deploying to AMD64 Cloud Run
|
|
20
|
+
- **Solution**: Added `--platform linux/amd64` to docker build command
|
|
21
|
+
- **Prevention**: Always specify platform in Dockerfile and build scripts
|
|
22
|
+
|
|
23
|
+
### 2025-01-20 - Cloud Scheduler HTTPS Requirement
|
|
24
|
+
- **Issue**: Cloud Scheduler jobs failing with "URL must use HTTPS"
|
|
25
|
+
- **Root Cause**: Forgot Cloud Run URLs require HTTPS by default
|
|
26
|
+
- **Solution**: Updated all scheduler job URLs from http:// to https://
|
|
27
|
+
- **Prevention**: Remember GCP services enforce HTTPS; check URLs in infrastructure code
|
|
28
|
+
|
|
29
|
+
### 2025-01-22 - Database Connection Pool Exhaustion
|
|
30
|
+
- **Issue**: API returning 500 errors under load
|
|
31
|
+
- **Root Cause**: Connection pool size too small (default 5)
|
|
32
|
+
- **Solution**: Increased pool_size to 20 and max_overflow to 10 in SQLAlchemy config
|
|
33
|
+
- **Prevention**: Load test APIs before production deployment
|
|
34
|
+
|
|
35
|
+
## Tips
|
|
36
|
+
|
|
37
|
+
- Keep descriptions under 2-3 lines
|
|
38
|
+
- Focus on what was learned, not exhaustive details
|
|
39
|
+
- Include enough context for future reference
|
|
40
|
+
- Date entries so you know how recent the issue is
|
|
41
|
+
- Periodically clean out very old entries (6+ months)
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Architectural Decisions Template
|
|
2
|
+
|
|
3
|
+
This file demonstrates the format for logging architectural decisions (ADRs). Use bullet lists for clarity.
|
|
4
|
+
|
|
5
|
+
## Format
|
|
6
|
+
|
|
7
|
+
Each decision should include:
|
|
8
|
+
- Date and ADR number
|
|
9
|
+
- Context (why the decision was needed)
|
|
10
|
+
- Decision (what was chosen)
|
|
11
|
+
- Alternatives considered
|
|
12
|
+
- Consequences (trade-offs, implications)
|
|
13
|
+
|
|
14
|
+
## Example Entries
|
|
15
|
+
|
|
16
|
+
### ADR-001: Use Workload Identity Federation for GitHub Actions (2025-01-10)
|
|
17
|
+
|
|
18
|
+
**Context:**
|
|
19
|
+
- Need secure authentication from GitHub Actions to GCP
|
|
20
|
+
- Service account keys are deprecated and considered insecure
|
|
21
|
+
- Want to avoid managing long-lived credentials
|
|
22
|
+
|
|
23
|
+
**Decision:**
|
|
24
|
+
- Use Workload Identity Federation (WIF) for GitHub Actions authentication
|
|
25
|
+
- Configure via `WIF_PROVIDER` and `WIF_SERVICE_ACCOUNT` secrets
|
|
26
|
+
|
|
27
|
+
**Alternatives Considered:**
|
|
28
|
+
- Service account JSON keys → Rejected: security risk, manual rotation required
|
|
29
|
+
- Environment-specific credentials → Rejected: harder to manage across repos
|
|
30
|
+
|
|
31
|
+
**Consequences:**
|
|
32
|
+
- ✅ More secure (no long-lived credentials)
|
|
33
|
+
- ✅ Automatic credential rotation
|
|
34
|
+
- ✅ Better audit trail
|
|
35
|
+
- ❌ Slightly more complex initial setup
|
|
36
|
+
- ❌ Requires GitHub OIDC support
|
|
37
|
+
|
|
38
|
+
### ADR-002: Use Alembic for Database Migrations (2025-01-12)
|
|
39
|
+
|
|
40
|
+
**Context:**
|
|
41
|
+
- Need version control for database schema changes
|
|
42
|
+
- Multiple developers working on database schema
|
|
43
|
+
- Want to avoid manual SQL scripts and migration conflicts
|
|
44
|
+
|
|
45
|
+
**Decision:**
|
|
46
|
+
- Use Alembic as the database migration tool
|
|
47
|
+
- Store migrations in `alembic/versions/` directory
|
|
48
|
+
- Use auto-generate feature for model changes
|
|
49
|
+
|
|
50
|
+
**Alternatives Considered:**
|
|
51
|
+
- Raw SQL scripts → Rejected: no versioning, error-prone
|
|
52
|
+
- Flask-Migrate → Rejected: too tied to Flask framework
|
|
53
|
+
- Django migrations → Rejected: using FastAPI, not Django
|
|
54
|
+
|
|
55
|
+
**Consequences:**
|
|
56
|
+
- ✅ Version-controlled schema changes
|
|
57
|
+
- ✅ Automatic migration generation from models
|
|
58
|
+
- ✅ Easy rollback capability
|
|
59
|
+
- ❌ Learning curve for team
|
|
60
|
+
- ❌ Must remember to generate migrations after model changes
|
|
61
|
+
|
|
62
|
+
### ADR-003: Use AlloyDB Instead of Cloud SQL (2025-01-15)
|
|
63
|
+
|
|
64
|
+
**Context:**
|
|
65
|
+
- Need PostgreSQL-compatible database in GCP
|
|
66
|
+
- Require high availability and automatic backups
|
|
67
|
+
- Performance-critical application with complex queries
|
|
68
|
+
|
|
69
|
+
**Decision:**
|
|
70
|
+
- Use AlloyDB for PostgreSQL instead of Cloud SQL
|
|
71
|
+
- Configure with automated backups and point-in-time recovery
|
|
72
|
+
|
|
73
|
+
**Alternatives Considered:**
|
|
74
|
+
- Cloud SQL PostgreSQL → Rejected: slower query performance
|
|
75
|
+
- Self-managed PostgreSQL on GCE → Rejected: high operational overhead
|
|
76
|
+
- Firestore → Rejected: need relational data model and SQL
|
|
77
|
+
|
|
78
|
+
**Consequences:**
|
|
79
|
+
- ✅ Better query performance (2-4x faster than Cloud SQL)
|
|
80
|
+
- ✅ PostgreSQL compatibility
|
|
81
|
+
- ✅ Managed service (automated backups, HA)
|
|
82
|
+
- ❌ Higher cost than Cloud SQL
|
|
83
|
+
- ❌ Newer service, less community documentation
|
|
84
|
+
|
|
85
|
+
## Tips
|
|
86
|
+
|
|
87
|
+
- Number decisions sequentially (ADR-001, ADR-002, etc.)
|
|
88
|
+
- Always include date for context
|
|
89
|
+
- Be honest about trade-offs (use ✅ and ❌)
|
|
90
|
+
- Keep alternatives brief but clear
|
|
91
|
+
- Update decisions if they're revisited/changed
|
|
92
|
+
- Focus on "why" not "how" (implementation details go elsewhere)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Issues/Work Log Template
|
|
2
|
+
|
|
3
|
+
This file demonstrates the format for logging work completed on tickets. Keep it simple - just enough to remember what was done. Full details live in Jira/GitHub.
|
|
4
|
+
|
|
5
|
+
## Format
|
|
6
|
+
|
|
7
|
+
Each entry should include:
|
|
8
|
+
- Date (YYYY-MM-DD)
|
|
9
|
+
- Ticket ID
|
|
10
|
+
- Brief description (1-2 lines)
|
|
11
|
+
- URL to ticket (if available)
|
|
12
|
+
- Status (optional: completed, in-progress, blocked)
|
|
13
|
+
|
|
14
|
+
Use bullet lists for simplicity. This is NOT a replacement for your ticket system - it's a quick reference log.
|
|
15
|
+
|
|
16
|
+
## Example Entries
|
|
17
|
+
|
|
18
|
+
### 2025-01-15 - PROJ-123: Implement Contact API
|
|
19
|
+
- **Status**: Completed
|
|
20
|
+
- **Description**: Created FastAPI endpoints for contact CRUD operations with validation
|
|
21
|
+
- **URL**: https://jira.company.com/browse/PROJ-123
|
|
22
|
+
- **Notes**: Added unit tests, coverage at 85%
|
|
23
|
+
|
|
24
|
+
### 2025-01-16 - PROJ-124: Fix Docker Build Issues
|
|
25
|
+
- **Status**: Completed
|
|
26
|
+
- **Description**: Fixed architecture mismatch for Cloud Run deployment
|
|
27
|
+
- **URL**: https://jira.company.com/browse/PROJ-124
|
|
28
|
+
- **Notes**: See bugs.md for details on the fix
|
|
29
|
+
|
|
30
|
+
### 2025-01-18 - PROJ-125: Database Migration to AlloyDB
|
|
31
|
+
- **Status**: Completed
|
|
32
|
+
- **Description**: Migrated from Cloud SQL to AlloyDB with Pulumi infrastructure code
|
|
33
|
+
- **URL**: https://jira.company.com/browse/PROJ-125
|
|
34
|
+
- **Notes**: Multi-phase migration completed over 3 days
|
|
35
|
+
|
|
36
|
+
### 2025-01-20 - GH-45: Add OAuth2 Authentication
|
|
37
|
+
- **Status**: In Progress
|
|
38
|
+
- **Description**: Implementing OAuth2 flow with Google provider
|
|
39
|
+
- **URL**: https://github.com/company/repo/issues/45
|
|
40
|
+
- **Notes**: Backend complete, frontend integration pending
|
|
41
|
+
|
|
42
|
+
### 2025-01-22 - PROJ-130: Performance Optimization
|
|
43
|
+
- **Status**: Blocked
|
|
44
|
+
- **Description**: Optimize slow queries in contact search endpoint
|
|
45
|
+
- **URL**: https://jira.company.com/browse/PROJ-130
|
|
46
|
+
- **Notes**: Waiting for DBA review of proposed indexes
|
|
47
|
+
|
|
48
|
+
## Alternative Format (Grouped by Week)
|
|
49
|
+
|
|
50
|
+
### Week of 2025-01-15
|
|
51
|
+
|
|
52
|
+
**Completed:**
|
|
53
|
+
- PROJ-123: Contact API implementation → https://jira.company.com/browse/PROJ-123
|
|
54
|
+
- PROJ-124: Docker build fix → https://jira.company.com/browse/PROJ-124
|
|
55
|
+
|
|
56
|
+
**In Progress:**
|
|
57
|
+
- PROJ-125: AlloyDB migration (phase 2 of 3)
|
|
58
|
+
|
|
59
|
+
### Week of 2025-01-22
|
|
60
|
+
|
|
61
|
+
**Completed:**
|
|
62
|
+
- PROJ-125: AlloyDB migration completed → https://jira.company.com/browse/PROJ-125
|
|
63
|
+
- GH-45: OAuth2 backend done → https://github.com/company/repo/issues/45
|
|
64
|
+
|
|
65
|
+
**Blocked:**
|
|
66
|
+
- PROJ-130: Query optimization (waiting on DBA) → https://jira.company.com/browse/PROJ-130
|
|
67
|
+
|
|
68
|
+
## Tips
|
|
69
|
+
|
|
70
|
+
- Keep descriptions brief (1-2 lines max)
|
|
71
|
+
- Always include ticket URL for easy reference
|
|
72
|
+
- Update status if work gets blocked or resumed
|
|
73
|
+
- Optional: Group by week or sprint for better organization
|
|
74
|
+
- Don't duplicate ticket details - link to source of truth
|
|
75
|
+
- Clean out very old entries periodically (3+ months)
|
|
76
|
+
- Include both Jira and GitHub tickets as appropriate
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# Key Facts Template
|
|
2
|
+
|
|
3
|
+
This file demonstrates the format for storing project constants, configuration, and frequently-needed **non-sensitive** information. Organize by category using bullet lists.
|
|
4
|
+
|
|
5
|
+
## ⚠️ SECURITY WARNING: What NOT to Store Here
|
|
6
|
+
|
|
7
|
+
**NEVER store passwords, API keys, or sensitive credentials in this file.** This file is typically committed to version control and should only contain non-sensitive reference information.
|
|
8
|
+
|
|
9
|
+
**❌ NEVER store:**
|
|
10
|
+
- Passwords or passphrases
|
|
11
|
+
- API keys or authentication tokens
|
|
12
|
+
- Service account JSON keys or credentials
|
|
13
|
+
- Database passwords
|
|
14
|
+
- OAuth client secrets
|
|
15
|
+
- Private keys or certificates
|
|
16
|
+
- Session tokens
|
|
17
|
+
- Any secret values from environment variables
|
|
18
|
+
|
|
19
|
+
**✅ SAFE to store:**
|
|
20
|
+
- Database hostnames, ports, and cluster names
|
|
21
|
+
- Client names and project identifiers
|
|
22
|
+
- JIRA project keys and Confluence space names
|
|
23
|
+
- AWS/GCP account names and profile names
|
|
24
|
+
- API endpoint URLs (public URLs only)
|
|
25
|
+
- Service account email addresses (not the keys!)
|
|
26
|
+
- GCP project IDs and region names
|
|
27
|
+
- Docker registry names
|
|
28
|
+
- Environment names and deployment targets
|
|
29
|
+
|
|
30
|
+
**Where to store secrets:**
|
|
31
|
+
- `.env` files (excluded via `.gitignore`)
|
|
32
|
+
- Password managers (1Password, LastPass, Bitwarden)
|
|
33
|
+
- Secrets managers (AWS Secrets Manager, GCP Secret Manager, HashiCorp Vault)
|
|
34
|
+
- CI/CD environment variables (GitHub Secrets, GitLab Variables)
|
|
35
|
+
- Platform credential stores (Kubernetes Secrets, Cloud Run)
|
|
36
|
+
|
|
37
|
+
## Format
|
|
38
|
+
|
|
39
|
+
Organize information into logical categories:
|
|
40
|
+
- GCP/Cloud configuration
|
|
41
|
+
- Database connection details (hostnames, ports, cluster names)
|
|
42
|
+
- API endpoints (URLs only, not credentials)
|
|
43
|
+
- Local development setup (ports, service names)
|
|
44
|
+
- Important URLs
|
|
45
|
+
- Service accounts and permissions (emails and roles, not keys)
|
|
46
|
+
|
|
47
|
+
Use bullet lists for simplicity and easy scanning.
|
|
48
|
+
|
|
49
|
+
## Example Structure
|
|
50
|
+
|
|
51
|
+
### GCP Project Information
|
|
52
|
+
|
|
53
|
+
**Current Project:**
|
|
54
|
+
- Project ID: `my-company-prod`
|
|
55
|
+
- Project Number: `123456789012`
|
|
56
|
+
- Region: `us-central1`
|
|
57
|
+
- Zone: `us-central1-a`
|
|
58
|
+
|
|
59
|
+
**Old Project (Deprecated):**
|
|
60
|
+
- Project ID: `my-company-dev-old`
|
|
61
|
+
- Migration Date: 2025-01-10
|
|
62
|
+
- Status: Archived, do not use
|
|
63
|
+
|
|
64
|
+
### Database Configuration
|
|
65
|
+
|
|
66
|
+
**AlloyDB Cluster:**
|
|
67
|
+
- Cluster Name: `prod-cluster`
|
|
68
|
+
- Instance Name: `prod-primary`
|
|
69
|
+
- Region: `us-central1`
|
|
70
|
+
- Private IP: `10.0.0.5`
|
|
71
|
+
- Port: `5432`
|
|
72
|
+
- Database Name: `contacts`
|
|
73
|
+
|
|
74
|
+
**Connection:**
|
|
75
|
+
- Use AlloyDB Auth Proxy for local development
|
|
76
|
+
- Proxy command: `./alloydb-auth-proxy "projects/my-company-prod/locations/us-central1/clusters/prod-cluster/instances/prod-primary"`
|
|
77
|
+
- Local port: `5432`
|
|
78
|
+
|
|
79
|
+
**Authentication:**
|
|
80
|
+
- Service Account (email only): `alloydb-client@my-company-prod.iam.gserviceaccount.com`
|
|
81
|
+
- Service Account Key: Stored in `.env` as `GOOGLE_APPLICATION_CREDENTIALS` (not in git!)
|
|
82
|
+
- Connection String Template: `postgresql://user:${DB_PASSWORD}@localhost:5432/contacts`
|
|
83
|
+
- Password Location: Stored in `.env` file (excluded via `.gitignore`)
|
|
84
|
+
|
|
85
|
+
### API Configuration
|
|
86
|
+
|
|
87
|
+
**Backend API:**
|
|
88
|
+
- Production URL: `https://api.mycompany.com`
|
|
89
|
+
- Staging URL: `https://api-staging.mycompany.com`
|
|
90
|
+
- Local Development: `http://localhost:8000`
|
|
91
|
+
|
|
92
|
+
**Authentication:**
|
|
93
|
+
- OAuth Client ID (public): `123456789-abcdefg.apps.googleusercontent.com`
|
|
94
|
+
- OAuth Client Secret: Stored in GCP Secret Manager as `oauth-client-secret` (not in git!)
|
|
95
|
+
- Local Development Secret: Stored in `.env` as `OAUTH_CLIENT_SECRET` (not in git!)
|
|
96
|
+
- Scopes: `openid email profile`
|
|
97
|
+
|
|
98
|
+
### Local Development Ports
|
|
99
|
+
|
|
100
|
+
**Services:**
|
|
101
|
+
- Backend API: `8000`
|
|
102
|
+
- Frontend: `3000`
|
|
103
|
+
- AlloyDB Proxy: `5432`
|
|
104
|
+
- Redis: `6379`
|
|
105
|
+
- Prometheus: `9090`
|
|
106
|
+
|
|
107
|
+
### Service Accounts
|
|
108
|
+
|
|
109
|
+
**GitHub Actions:**
|
|
110
|
+
- Service Account: `github-actions@my-company-prod.iam.gserviceaccount.com`
|
|
111
|
+
- Roles: `roles/run.admin`, `roles/secretmanager.secretAccessor`
|
|
112
|
+
- WIF Pool: `projects/123456789012/locations/global/workloadIdentityPools/github-pool`
|
|
113
|
+
|
|
114
|
+
**Cloud Run Service:**
|
|
115
|
+
- Service Account: `cloud-run-sa@my-company-prod.iam.gserviceaccount.com`
|
|
116
|
+
- Roles: `roles/alloydb.client`, `roles/secretmanager.secretAccessor`
|
|
117
|
+
|
|
118
|
+
### Important URLs
|
|
119
|
+
|
|
120
|
+
**Documentation:**
|
|
121
|
+
- API Docs: `https://docs.mycompany.com/api`
|
|
122
|
+
- Internal Wiki: `https://wiki.mycompany.com`
|
|
123
|
+
- Runbook: `https://wiki.mycompany.com/runbook`
|
|
124
|
+
|
|
125
|
+
**Monitoring:**
|
|
126
|
+
- Cloud Console: `https://console.cloud.google.com/home/dashboard?project=my-company-prod`
|
|
127
|
+
- Logs: `https://console.cloud.google.com/logs?project=my-company-prod`
|
|
128
|
+
- Monitoring: `https://console.cloud.google.com/monitoring?project=my-company-prod`
|
|
129
|
+
|
|
130
|
+
**Deployment:**
|
|
131
|
+
- Cloud Run Service: `https://console.cloud.google.com/run?project=my-company-prod`
|
|
132
|
+
- Cloud Build: `https://console.cloud.google.com/cloud-build?project=my-company-prod`
|
|
133
|
+
- Artifact Registry: `https://console.cloud.google.com/artifacts?project=my-company-prod`
|
|
134
|
+
|
|
135
|
+
### Infrastructure as Code
|
|
136
|
+
|
|
137
|
+
**Pulumi:**
|
|
138
|
+
- Stack: `prod`
|
|
139
|
+
- Backend: `gs://my-company-pulumi-state`
|
|
140
|
+
- Config Passphrase: Stored in team password manager (1Password vault: "Infrastructure")
|
|
141
|
+
- State: Stored in GCS bucket with versioning enabled
|
|
142
|
+
- Note: Never commit `Pulumi.prod.yaml` with unencrypted secrets
|
|
143
|
+
|
|
144
|
+
**Configuration:**
|
|
145
|
+
- Cloud Run Image: `us-central1-docker.pkg.dev/my-company-prod/app/backend:latest`
|
|
146
|
+
- VPC Connector: `prod-vpc-connector`
|
|
147
|
+
- Max Instances: `10`
|
|
148
|
+
- Min Instances: `1`
|
|
149
|
+
|
|
150
|
+
## Tips
|
|
151
|
+
|
|
152
|
+
- Keep entries current (update when things change)
|
|
153
|
+
- Remove deprecated information after migration is complete
|
|
154
|
+
- Include both production and development details
|
|
155
|
+
- Add URLs to make navigation easier
|
|
156
|
+
- Use consistent formatting (same structure for similar items)
|
|
157
|
+
- Group related information together
|
|
158
|
+
- Mark deprecated items clearly with dates
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Project Plan Template
|
|
2
|
+
|
|
3
|
+
This file demonstrates the format for creating a comprehensive project plan. Use this template during first-time activation to collaboratively build a shared understanding of the project with the user.
|
|
4
|
+
|
|
5
|
+
## Format
|
|
6
|
+
|
|
7
|
+
A project plan should include:
|
|
8
|
+
- Metadata (creation date, current status)
|
|
9
|
+
- Project overview (brief description of what you're building)
|
|
10
|
+
- Goals (primary objectives)
|
|
11
|
+
- Current phase (where you are in the development lifecycle)
|
|
12
|
+
- Architecture overview (high-level technical approach)
|
|
13
|
+
- Completed milestones (what's been done)
|
|
14
|
+
- Next steps (actionable items)
|
|
15
|
+
- Open questions (unresolved decisions)
|
|
16
|
+
- Notes (additional context)
|
|
17
|
+
|
|
18
|
+
## Example Structure
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Project Plan: [Project Name]
|
|
23
|
+
|
|
24
|
+
**Created:** 2025-01-15
|
|
25
|
+
**Last Updated:** 2025-01-20
|
|
26
|
+
**Status:** Planning / In Implementation / Complete
|
|
27
|
+
|
|
28
|
+
## Project Overview
|
|
29
|
+
|
|
30
|
+
[2-3 sentence description of what you're building and why]
|
|
31
|
+
|
|
32
|
+
**Example:**
|
|
33
|
+
Building a contact management API using FastAPI and AlloyDB on GCP. The API will provide CRUD operations for contacts with authentication and will be deployed to Cloud Run with CI/CD via GitHub Actions.
|
|
34
|
+
|
|
35
|
+
## Goals
|
|
36
|
+
|
|
37
|
+
[Primary objectives for this project - what success looks like]
|
|
38
|
+
|
|
39
|
+
**Example:**
|
|
40
|
+
- Create a production-ready REST API for contact management
|
|
41
|
+
- Implement secure authentication and authorization
|
|
42
|
+
- Deploy to GCP Cloud Run with automated CI/CD
|
|
43
|
+
- Achieve <100ms response time for read operations
|
|
44
|
+
- Support 1000+ concurrent users
|
|
45
|
+
|
|
46
|
+
## Current Phase
|
|
47
|
+
|
|
48
|
+
[Where you are in the development lifecycle]
|
|
49
|
+
|
|
50
|
+
**Possible phases:**
|
|
51
|
+
- Discovery / Planning
|
|
52
|
+
- Initial Setup / Scaffolding
|
|
53
|
+
- MVP Development
|
|
54
|
+
- Feature Enhancement
|
|
55
|
+
- Testing & Refinement
|
|
56
|
+
- Production Deployment
|
|
57
|
+
- Maintenance & Support
|
|
58
|
+
|
|
59
|
+
**Example:**
|
|
60
|
+
MVP Development - Core CRUD operations implemented, working on authentication integration.
|
|
61
|
+
|
|
62
|
+
## Architecture Overview
|
|
63
|
+
|
|
64
|
+
[High-level technical approach - key technologies and how they fit together]
|
|
65
|
+
|
|
66
|
+
**Example:**
|
|
67
|
+
- **Backend:** FastAPI (Python 3.11) with Pydantic validation
|
|
68
|
+
- **Database:** AlloyDB for PostgreSQL with Alembic migrations
|
|
69
|
+
- **Authentication:** OAuth 2.0 with Google Sign-In
|
|
70
|
+
- **Deployment:** Cloud Run (containerized with Docker)
|
|
71
|
+
- **CI/CD:** GitHub Actions with Workload Identity Federation
|
|
72
|
+
- **Infrastructure:** Pulumi for IaC
|
|
73
|
+
- **Monitoring:** Cloud Logging and Cloud Monitoring
|
|
74
|
+
|
|
75
|
+
## Completed Milestones
|
|
76
|
+
|
|
77
|
+
[What's been accomplished so far - include dates for context]
|
|
78
|
+
|
|
79
|
+
**Example:**
|
|
80
|
+
- **2025-01-10:** Initial project setup and repository creation
|
|
81
|
+
- Created FastAPI project structure
|
|
82
|
+
- Set up development environment with Poetry
|
|
83
|
+
- Configured pre-commit hooks and linting
|
|
84
|
+
|
|
85
|
+
- **2025-01-12:** Database setup completed
|
|
86
|
+
- Provisioned AlloyDB cluster in GCP
|
|
87
|
+
- Implemented Alembic migrations
|
|
88
|
+
- Created Contact model with SQLAlchemy
|
|
89
|
+
|
|
90
|
+
- **2025-01-15:** Core CRUD operations implemented
|
|
91
|
+
- Added POST /contacts endpoint
|
|
92
|
+
- Added GET /contacts and GET /contacts/{id} endpoints
|
|
93
|
+
- Added PUT and DELETE endpoints
|
|
94
|
+
- Implemented input validation with Pydantic
|
|
95
|
+
|
|
96
|
+
## Next Steps
|
|
97
|
+
|
|
98
|
+
[Actionable checklist items - what needs to be done next]
|
|
99
|
+
|
|
100
|
+
**Example:**
|
|
101
|
+
- [ ] Implement OAuth 2.0 authentication
|
|
102
|
+
- [ ] Set up Google OAuth client credentials
|
|
103
|
+
- [ ] Add authentication middleware to FastAPI
|
|
104
|
+
- [ ] Protect endpoints with auth decorators
|
|
105
|
+
- [ ] Write unit tests for CRUD operations
|
|
106
|
+
- [ ] Set up pytest with coverage
|
|
107
|
+
- [ ] Test happy paths and error cases
|
|
108
|
+
- [ ] Achieve 80%+ code coverage
|
|
109
|
+
- [ ] Create Dockerfile and container image
|
|
110
|
+
- [ ] Write optimized multi-stage Dockerfile
|
|
111
|
+
- [ ] Test local container build
|
|
112
|
+
- [ ] Push to Artifact Registry
|
|
113
|
+
- [ ] Set up CI/CD pipeline
|
|
114
|
+
- [ ] Configure GitHub Actions workflow
|
|
115
|
+
- [ ] Set up Workload Identity Federation
|
|
116
|
+
- [ ] Automate deployments to Cloud Run
|
|
117
|
+
|
|
118
|
+
## Open Questions
|
|
119
|
+
|
|
120
|
+
[Unresolved items that need decisions or clarification]
|
|
121
|
+
|
|
122
|
+
**Example:**
|
|
123
|
+
- How should we handle rate limiting? (per-user vs. global)
|
|
124
|
+
- Do we need pagination for GET /contacts? What page size?
|
|
125
|
+
- Should we implement soft deletes or hard deletes?
|
|
126
|
+
- What monitoring alerts do we need to set up?
|
|
127
|
+
- Do we need a staging environment or just dev/prod?
|
|
128
|
+
|
|
129
|
+
## Notes
|
|
130
|
+
|
|
131
|
+
[Additional context, constraints, or important information]
|
|
132
|
+
|
|
133
|
+
**Example:**
|
|
134
|
+
- AlloyDB cluster is in `us-central1` - all other resources should use same region
|
|
135
|
+
- OAuth client ID is approved for company domain only
|
|
136
|
+
- Cloud Run quotas: max 10 instances to control costs
|
|
137
|
+
- Database backup retention: 7 days (configured in AlloyDB)
|
|
138
|
+
- Team timezone: PST - schedule deployments accordingly
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Tips
|
|
143
|
+
|
|
144
|
+
- Update the plan regularly as the project evolves
|
|
145
|
+
- Move completed next steps to the milestones section with dates
|
|
146
|
+
- Keep the overview concise - details go in other memory files
|
|
147
|
+
- Use open questions to track decisions that need to be made
|
|
148
|
+
- Reference architectural decisions by ADR number (e.g., "See ADR-003")
|
|
149
|
+
- Mark deprecated goals or cancelled features clearly
|
|
150
|
+
- Keep next steps actionable and specific
|
|
151
|
+
- Break large tasks into smaller checklist items
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "State template for project-memory skill personalization tracking",
|
|
3
|
+
"_description": "This file tracks the state of project interactions and personalization features",
|
|
4
|
+
|
|
5
|
+
"initialized": true,
|
|
6
|
+
"_initialized_description": "Boolean indicating whether project-memory personalization has been initialized for this project",
|
|
7
|
+
|
|
8
|
+
"version": "1.0",
|
|
9
|
+
"_version_description": "Schema version for this state file format",
|
|
10
|
+
|
|
11
|
+
"personalization": {
|
|
12
|
+
"_comment": "Tracks personalization features and user interaction states",
|
|
13
|
+
|
|
14
|
+
"waldo_greeted": false,
|
|
15
|
+
"_waldo_greeted_description": "Boolean flag indicating whether Waldo has greeted the user in this project (first-time setup)",
|
|
16
|
+
|
|
17
|
+
"plan_created": false,
|
|
18
|
+
"_plan_created_description": "Boolean flag indicating whether a project plan has been created",
|
|
19
|
+
|
|
20
|
+
"plan_status": "none",
|
|
21
|
+
"_plan_status_description": "Current status of the project plan. Valid values: 'none' (no plan yet), 'planned' (plan created, not started), 'implementing' (actively working on plan tasks), 'complete' (plan completed)",
|
|
22
|
+
|
|
23
|
+
"plan_file": "docs/project_notes/project_plan.md",
|
|
24
|
+
"_plan_file_description": "Relative path to the project plan document (relative to project root)"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: intuition-plan
|
|
3
|
+
description: Thought partner for planning. Develop structured plans through collaborative dialogue.
|
|
4
|
+
model: haiku
|
|
5
|
+
tools: Read, Write, Glob, Grep, Task, AskUserQuestion
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Waldo - Planning Thought Partner
|
|
9
|
+
|
|
10
|
+
Welcome! I'm Waldo, your planning thought partner. I help you think through features, architecture, and complex tasks through collaborative dialogue, rigorous self-reflection, and strategic planning.
|
|
11
|
+
|
|
12
|
+
## What I Do
|
|
13
|
+
|
|
14
|
+
I'm a dedicated planning agent - I don't execute changes myself. Instead, I work directly with you to:
|
|
15
|
+
|
|
16
|
+
- **Explore your ideas** through clarifying questions and dialogue
|
|
17
|
+
- **Research the codebase** to understand constraints and patterns
|
|
18
|
+
- **Create structured plans** with clear tasks, dependencies, and risk assessments
|
|
19
|
+
- **Reflect and refine** plans before finalizing them
|
|
20
|
+
- **Hand off to The Architect** for coordinated execution
|
|
21
|
+
|
|
22
|
+
## How to Use This Skill
|
|
23
|
+
|
|
24
|
+
Ask Waldo to help you plan by describing what you want to accomplish:
|
|
25
|
+
|
|
26
|
+
- **"Plan a new feature for..."** - I'll ask clarifying questions and develop a detailed plan
|
|
27
|
+
- **"Help me think through the architecture for..."** - I'll explore options and help you decide
|
|
28
|
+
- **"What's the best approach to..."** - I'll research patterns and propose a structured approach
|
|
29
|
+
- **"Refine this plan..."** - I'll critique an existing plan and suggest improvements
|
|
30
|
+
|
|
31
|
+
## Key Capabilities
|
|
32
|
+
|
|
33
|
+
- **Collaborative Planning**: Direct dialogue with you to refine ideas and assumptions
|
|
34
|
+
- **Codebase Exploration**: Research and analysis to understand your project structure
|
|
35
|
+
- **Structured Plans**: Clear, actionable plans with tasks, dependencies, and confidence scores
|
|
36
|
+
- **Reflection & Refinement**: Self-critique to identify gaps and improve plan quality
|
|
37
|
+
- **Sub-Agent Delegation**: Parallel research and analysis while you focus on planning
|
|
38
|
+
- **Project Memory Integration**: Context-aware planning based on your project history
|
|
39
|
+
|
|
40
|
+
## Planning Process
|
|
41
|
+
|
|
42
|
+
I follow a structured approach to planning:
|
|
43
|
+
|
|
44
|
+
1. **Understand** - Ask clarifying questions about your goal and constraints
|
|
45
|
+
2. **Explore** - Research the codebase and gather information
|
|
46
|
+
3. **Draft** - Create an initial plan with tasks and dependencies
|
|
47
|
+
4. **Reflect** - Critique the plan for completeness and feasibility
|
|
48
|
+
5. **Refine** - Address gaps and improve before finalizing
|
|
49
|
+
6. **Present** - Submit for your approval and iteration
|
|
50
|
+
|
|
51
|
+
## Plan Output
|
|
52
|
+
|
|
53
|
+
When ready, I provide plans in this structure:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
# Plan: [Title]
|
|
57
|
+
|
|
58
|
+
## Objective
|
|
59
|
+
[What will be accomplished]
|
|
60
|
+
|
|
61
|
+
## Assumptions
|
|
62
|
+
[Explicit assumptions with confidence scores]
|
|
63
|
+
|
|
64
|
+
## Context
|
|
65
|
+
[Relevant background from research]
|
|
66
|
+
|
|
67
|
+
## Approach
|
|
68
|
+
[High-level strategy]
|
|
69
|
+
|
|
70
|
+
## Tasks
|
|
71
|
+
[Numbered, decomposed tasks with acceptance criteria]
|
|
72
|
+
|
|
73
|
+
## Dependencies
|
|
74
|
+
[Task ordering and constraints]
|
|
75
|
+
|
|
76
|
+
## Risks & Mitigations
|
|
77
|
+
[Key risks identified during planning]
|
|
78
|
+
|
|
79
|
+
## Open Questions
|
|
80
|
+
[Any items needing your input]
|
|
81
|
+
|
|
82
|
+
## Self-Reflection Notes
|
|
83
|
+
[Key refinements during planning process]
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Understanding Project Memory
|
|
87
|
+
|
|
88
|
+
If your project has a memory system (`docs/project_notes/`), I integrate with it for:
|
|
89
|
+
|
|
90
|
+
- **Context awareness** - Understanding your project's architecture and patterns
|
|
91
|
+
- **Decision consistency** - Checking existing decisions before proposing changes
|
|
92
|
+
- **Progress tracking** - Updating plan status as work progresses
|
|
93
|
+
- **Status awareness** - Recognizing whether you're starting fresh or continuing work
|
|
94
|
+
|
|
95
|
+
On first activation with project memory, I'll greet you warmly and offer to create a project plan that tracks your priorities and progress.
|
|
96
|
+
|
|
97
|
+
## Important Notes
|
|
98
|
+
|
|
99
|
+
- **Planning only** - I don't execute changes; I prepare plans and documentation for The Architect
|
|
100
|
+
- **Reflection matters** - I spend time refining plans before presenting them
|
|
101
|
+
- **Your input is essential** - Planning is collaborative; I ask questions and iterate based on your feedback
|
|
102
|
+
- **Confidence scoring** - I flag assumptions and tasks with low confidence so you know where uncertainty exists
|
|
103
|
+
- **Specification details** - For comprehensive methodology, see `references/waldo_core.md`
|
|
104
|
+
|
|
105
|
+
## Ready to Plan?
|
|
106
|
+
|
|
107
|
+
Describe what you'd like to plan, and let's get started. I'll ask clarifying questions, research your codebase as needed, and develop a clear plan for you to review.
|
|
108
|
+
|
|
109
|
+
Sound good?
|