Skip to content

Commit 6d8d283

Browse files
committed
feat: Simplified MCP prompts, compact access patterns
1 parent 3117b3e commit 6d8d283

File tree

4 files changed

+272
-154
lines changed

4 files changed

+272
-154
lines changed

workshops/modernizr/prompts/01-mysql-analysis/tasks.md

Lines changed: 37 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
- **Mark tasks as completed** by changing `[ ]` to `[x]` as you finish each task
77
- **Commit after each major task completion** with descriptive messages
88
- **Update the tasks.md file** itself when marking tasks complete and commit those changes too
9+
- **Use single working log**: Use `artifacts/stage-01/01_working_log.md` throughout the entire stage (not individual logs per subtask)
910
- **DO NOT MODIFY THE CONTENT OF THIS FILE**: Only add a [x] mark to complete the task, for tracking purposes.
1011
- [ ] 0. Set up Git source control for the project
1112
- Initialize GIT at the root of this workspace so you have a point to revert your changes if needed in the future
1213
- You must always use git -P to avoid getting stuck in git operations
1314
- The subfolders have compiled projects, make sure to create a gitignore so you track only what you will be modifying not the compiled version or the node_modules
14-
- Use a temporary file called `artifacts/stage-00/00_0_working_log.md` so you can track what is your current work and important notes and use it as a reference
15+
- Use a temporary file called `artifacts/stage-01/01_working_log.md` to track your current work and important notes throughout this entire stage
1516
- Update the file task.md once completed, please let the user know that you have completed this task and summarize what has been done
1617
- Commit the latest changes registered in the working log and other artifacts
1718
- _Requirements: 1.1, 1.2, 1.3, 1.4, 1.5_
@@ -20,34 +21,47 @@
2021
- Make sure you have a clean commit log
2122
- From the backend/ folder use the README.md to understand its API endpoints
2223
- Explore the backend/ folder to understand in detail the available access patterns
24+
- **CRITICAL**: This analysis defines the PRIMARY access patterns that MUST be supported in DynamoDB design
25+
- **CRITICAL**: These API patterns are the authoritative source for what the application needs to do
2326
- Generate a file where you store the results of your investigation in `artifacts/stage-01/` under the name `01_1_API_access_patterns.md`
24-
- Use a temporary file called `artifacts/stage-01/01_1_working_log.md` so you can track what is your current work and important notes and use it as a reference
25-
- The result of the API access patterns must include a detailed explanation on the relationship between the different entities
27+
- Use the working log file `artifacts/stage-01/01_working_log.md` to track your current work and important notes
28+
- The result of the API access patterns must include:
29+
- Complete list of all API endpoints and their data access requirements
30+
- Detailed explanation on the relationship between the different entities
31+
- Enumerate the access patterns so it is easier to know how many the application will need to support
32+
- **Clear statement**: "These patterns represent ALL access patterns that must be supported in the DynamoDB design"
2633
- Update the file task.md once completed, please let the user know that you have completed this task and summarize what has been done
2734
- _Requirements: 3.3, 4.2, 4.4_
2835

29-
- [ ] 2. Analyze MySQL database logs for performance patterns
36+
- [ ] 2. Analyze MySQL database logs for performance data
3037
- Make sure you have a clean commit log
3138
- From the database/ folder use the mysql_log_parser.py script to capture mysql query statistics and performance data
32-
- Generate `artifacts/stage-01/01_2_mysql_log_analysis.md` with comprehensive analysis of:
33-
- Query frequency and patterns from log analysis
34-
- Performance bottlenecks and slow queries
35-
- Access pattern identification from actual usage
36-
- RPS estimates based on log data
37-
- Use a temporary file called `artifacts/stage-01/01_2_working_log.md` to track your current work and important notes
39+
- **CRITICAL**: This analysis provides SUPPLEMENTAL performance metrics for the API patterns identified in task 1
40+
- **IMPORTANT**: Logs may not contain data for all API endpoints - this is expected and acceptable
41+
- **IMPORTANT**: The API patterns from task 1 are the complete requirements; logs provide performance context where available
42+
- Generate `artifacts/stage-01/01_2_mysql_log_analysis.md` with analysis focused on:
43+
- Query frequency and performance metrics for queries that appear in logs
44+
- Performance bottlenecks and slow queries identified from actual usage
45+
- RPS estimates based on log data WHERE AVAILABLE
46+
- **Explicit statement**: "This log analysis provides performance data for observed queries only. Complete access pattern requirements come from API analysis in task 1."
47+
- Use the working log file `artifacts/stage-01/01_working_log.md` to track your current work and important notes
3848
- Update the file task.md once completed, please let the user know that you have completed this task and summarize what has been done
49+
- DO NOT SUGGEST A DYNAMODB TABLE STRUCTURE - focus only on current MySQL analysis
3950
- _Requirements: 2.1, 2.2, 2.3, 2.4, 2.5, 2.6_
4051

41-
- [ ] 3. Extract table structure using MySQL MCP server
52+
- [ ] 3. Extract complete table structure using MySQL MCP server
4253
- Make sure you have a clean commit log
4354
- Use the MySQL MCP server's execute_sql tool to run SQL queries and collect the actual schema information deployed in the database
4455
- Write and execute SQL queries to extract table structures, relationships, indexes, and constraints for the online shopping store database
56+
- **CRITICAL**: This analysis provides the COMPLETE data model that supports the API patterns from task 1
57+
- **CRITICAL**: This contains ALL entities, relationships, and data structures - even those not visible in logs
4558
- Generate `artifacts/stage-01/01_3_table_structure_analysis.md` with comprehensive documentation of:
46-
- Complete table definitions with columns, data types, and constraints
47-
- Primary keys, foreign keys, and indexes
48-
- Entity relationships and cardinalities
49-
- Current database schema structure
50-
- Use a temporary file called `artifacts/stage-01/01_3_working_log.md` to track your current work and important notes
59+
- Complete table definitions with columns, data types, and constraints for ALL tables
60+
- Primary keys, foreign keys, and indexes for the complete schema
61+
- Entity relationships and cardinalities for all entities
62+
- Current database schema structure showing the complete data model
63+
- **Clear statement**: "This represents the complete source data model that must be migrated to DynamoDB"
64+
- Use the working log file `artifacts/stage-01/01_working_log.md` to track your current work and important notes
5165
- DO NOT SUGGEST A DYNAMODB TABLE STRUCTURE - focus only on current MySQL analysis
5266
- Update the file task.md once completed, please let the user know that you have completed this task and summarize what has been done
5367
- _Requirements: 3.1, 3.2, 3.4, 3.5, 4.1, 4.3, 4.5_
@@ -56,16 +70,17 @@
5670

5771
Before marking this stage complete, verify:
5872
- [ ] Git repository initialized with proper .gitignore
59-
- [ ] Working log files created in artifacts/stage-00/ and artifacts/stage-01/ directories
73+
- [ ] Single working log file created: `artifacts/stage-01/01_working_log.md`
6074
- [ ] **Three essential artifacts created**:
6175
- [ ] `artifacts/stage-01/01_1_API_access_patterns.md` - Backend API endpoints and access patterns from API specifications
6276
- [ ] `artifacts/stage-01/01_2_mysql_log_analysis.md` - Performance patterns and query statistics from mysql_log_parser.py
6377
- [ ] `artifacts/stage-01/01_3_table_structure_analysis.md` - Complete table structures and relationships from MySQL MCP server
64-
- [ ] API analysis includes detailed endpoint documentation and entity relationships
65-
- [ ] MySQL log analysis provides query frequency, performance bottlenecks, and RPS estimates
66-
- [ ] Table structure analysis includes complete schema with relationships, indexes, and constraints
67-
- [ ] All MySQL tables, relationships, and constraints are documented
68-
- [ ] Performance data from log analysis is comprehensive
78+
- [ ] **API analysis defines PRIMARY access patterns**: Complete list of all API endpoints that must be supported in DynamoDB
79+
- [ ] **MySQL log analysis provides SUPPLEMENTAL performance data**: RPS estimates and performance metrics where available in logs
80+
- [ ] **Table structure analysis provides COMPLETE data model**: All entities, relationships, and constraints from the source database
81+
- [ ] API patterns clearly marked as authoritative requirements for DynamoDB design
82+
- [ ] Log analysis explicitly notes it may not cover all API patterns
83+
- [ ] Table structure includes complete schema documentation for migration
6984
- [ ] Documentation focuses on current state analysis without DynamoDB suggestions
7085
- [ ] All changes are committed to Git with meaningful messages
7186

workshops/modernizr/prompts/02-a-dynamodb-data-modeling/design.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,8 @@ graph TD
7474
- RPS estimates based on actual usage
7575

7676
## Design Constraints and Preferences
77-
- Multi-table first approach (not single-table)
78-
- Natural keys preferred (user_id, order_id vs PK, SK)
79-
- Access pattern driven design
80-
- Cost optimization important
81-
- Hot partition avoidance critical
77+
- Let MCP server determine optimal approach based on access patterns and data model
78+
- No predetermined design preferences to avoid biasing the analysis
8279
```
8380

8481
### 2. MCP Server Integration System
@@ -96,9 +93,8 @@ interface MCPDynamoDBDesignRequest {
9693
mysql_schema: MySQLSchema;
9794
};
9895
design_preferences: {
99-
approach: "multi-table" | "single-table";
100-
key_style: "natural" | "generic";
101-
optimization_priority: "cost" | "performance" | "simplicity";
96+
// Let MCP server determine optimal approach
97+
// No predetermined preferences to avoid bias
10298
};
10399
constraints: {
104100
rps_requirements: Record<string, number>;

0 commit comments

Comments
 (0)