claude-mpm 4.17.0__py3-none-any.whl → 4.17.1__py3-none-any.whl

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.

Potentially problematic release.


This version of claude-mpm might be problematic. Click here for more details.

Files changed (27) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/skills/bundled/api-documentation.md +393 -0
  3. claude_mpm/skills/bundled/async-testing.md +571 -0
  4. claude_mpm/skills/bundled/code-review.md +143 -0
  5. claude_mpm/skills/bundled/database-migration.md +199 -0
  6. claude_mpm/skills/bundled/docker-containerization.md +194 -0
  7. claude_mpm/skills/bundled/express-local-dev.md +1429 -0
  8. claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
  9. claude_mpm/skills/bundled/git-workflow.md +414 -0
  10. claude_mpm/skills/bundled/imagemagick.md +204 -0
  11. claude_mpm/skills/bundled/json-data-handling.md +223 -0
  12. claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
  13. claude_mpm/skills/bundled/pdf.md +141 -0
  14. claude_mpm/skills/bundled/performance-profiling.md +567 -0
  15. claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
  16. claude_mpm/skills/bundled/security-scanning.md +327 -0
  17. claude_mpm/skills/bundled/systematic-debugging.md +473 -0
  18. claude_mpm/skills/bundled/test-driven-development.md +378 -0
  19. claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
  20. claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
  21. claude_mpm/skills/bundled/xlsx.md +157 -0
  22. {claude_mpm-4.17.0.dist-info → claude_mpm-4.17.1.dist-info}/METADATA +1 -1
  23. {claude_mpm-4.17.0.dist-info → claude_mpm-4.17.1.dist-info}/RECORD +27 -7
  24. {claude_mpm-4.17.0.dist-info → claude_mpm-4.17.1.dist-info}/WHEEL +0 -0
  25. {claude_mpm-4.17.0.dist-info → claude_mpm-4.17.1.dist-info}/entry_points.txt +0 -0
  26. {claude_mpm-4.17.0.dist-info → claude_mpm-4.17.1.dist-info}/licenses/LICENSE +0 -0
  27. {claude_mpm-4.17.0.dist-info → claude_mpm-4.17.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,157 @@
1
+ ---
2
+ skill_id: xlsx
3
+ skill_version: 0.1.0
4
+ description: Working with Excel files programmatically.
5
+ updated_at: 2025-10-30T17:00:00Z
6
+ tags: [excel, xlsx, spreadsheet, data]
7
+ ---
8
+
9
+ # Excel/XLSX Manipulation
10
+
11
+ Working with Excel files programmatically.
12
+
13
+ ## Python (openpyxl)
14
+
15
+ ### Reading Excel
16
+ ```python
17
+ from openpyxl import load_workbook
18
+
19
+ wb = load_workbook('data.xlsx')
20
+ ws = wb.active # Get active sheet
21
+
22
+ # Read cell
23
+ value = ws['A1'].value
24
+
25
+ # Iterate rows
26
+ for row in ws.iter_rows(min_row=2, values_only=True):
27
+ print(row)
28
+ ```
29
+
30
+ ### Writing Excel
31
+ ```python
32
+ from openpyxl import Workbook
33
+
34
+ wb = Workbook()
35
+ ws = wb.active
36
+ ws.title = "Data"
37
+
38
+ # Write data
39
+ ws['A1'] = 'Name'
40
+ ws['B1'] = 'Age'
41
+ ws.append(['John', 30])
42
+ ws.append(['Jane', 25])
43
+
44
+ wb.save('output.xlsx')
45
+ ```
46
+
47
+ ### Formatting
48
+ ```python
49
+ from openpyxl.styles import Font, PatternFill
50
+
51
+ # Bold header
52
+ ws['A1'].font = Font(bold=True)
53
+
54
+ # Background color
55
+ ws['A1'].fill = PatternFill(start_color="FFFF00", fill_type="solid")
56
+
57
+ # Number format
58
+ ws['B2'].number_format = '0.00' # Two decimals
59
+ ```
60
+
61
+ ### Formulas
62
+ ```python
63
+ # Add formula
64
+ ws['C2'] = '=A2+B2'
65
+
66
+ # Sum column
67
+ ws['D10'] = '=SUM(D2:D9)'
68
+ ```
69
+
70
+ ## Python (pandas)
71
+
72
+ ### Reading Excel
73
+ ```python
74
+ import pandas as pd
75
+
76
+ # Read sheet
77
+ df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
78
+
79
+ # Read multiple sheets
80
+ dfs = pd.read_excel('data.xlsx', sheet_name=None)
81
+ ```
82
+
83
+ ### Writing Excel
84
+ ```python
85
+ # Write DataFrame
86
+ df.to_excel('output.xlsx', index=False)
87
+
88
+ # Multiple sheets
89
+ with pd.ExcelWriter('output.xlsx') as writer:
90
+ df1.to_excel(writer, sheet_name='Sheet1')
91
+ df2.to_excel(writer, sheet_name='Sheet2')
92
+ ```
93
+
94
+ ### Data Transformation
95
+ ```python
96
+ # Filter
97
+ filtered = df[df['Age'] > 25]
98
+
99
+ # Group by
100
+ grouped = df.groupby('Department')['Salary'].mean()
101
+
102
+ # Pivot
103
+ pivot = df.pivot_table(values='Sales', index='Region', columns='Product')
104
+ ```
105
+
106
+ ## JavaScript (xlsx)
107
+
108
+ ```javascript
109
+ import XLSX from 'xlsx';
110
+
111
+ // Read file
112
+ const workbook = XLSX.readFile('data.xlsx');
113
+ const sheetName = workbook.SheetNames[0];
114
+ const worksheet = workbook.Sheets[sheetName];
115
+
116
+ // Convert to JSON
117
+ const data = XLSX.utils.sheet_to_json(worksheet);
118
+
119
+ // Write file
120
+ const newWorksheet = XLSX.utils.json_to_sheet(data);
121
+ const newWorkbook = XLSX.utils.book_new();
122
+ XLSX.utils.book_append_sheet(newWorkbook, newWorksheet, 'Data');
123
+ XLSX.writeFile(newWorkbook, 'output.xlsx');
124
+ ```
125
+
126
+ ## Common Operations
127
+
128
+ ### CSV to Excel
129
+ ```python
130
+ import pandas as pd
131
+
132
+ df = pd.read_csv('data.csv')
133
+ df.to_excel('data.xlsx', index=False)
134
+ ```
135
+
136
+ ### Excel to CSV
137
+ ```python
138
+ df = pd.read_excel('data.xlsx')
139
+ df.to_csv('data.csv', index=False)
140
+ ```
141
+
142
+ ### Merging Excel Files
143
+ ```python
144
+ dfs = []
145
+ for file in ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']:
146
+ df = pd.read_excel(file)
147
+ dfs.append(df)
148
+
149
+ combined = pd.concat(dfs, ignore_index=True)
150
+ combined.to_excel('merged.xlsx', index=False)
151
+ ```
152
+
153
+ ## Remember
154
+ - Close workbooks after use
155
+ - Handle large files in chunks
156
+ - Validate data before writing
157
+ - Use pandas for data analysis, openpyxl for formatting
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.17.0
3
+ Version: 4.17.1
4
4
  Summary: Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking
5
5
  Author-email: Bob Matsuoka <bob@matsuoka.com>
6
6
  Maintainer: Claude MPM Team
@@ -1,5 +1,5 @@
1
1
  claude_mpm/BUILD_NUMBER,sha256=9JfxhnDtr-8l3kCP2U5TVXSErptHoga8m7XA8zqgGOc,4
2
- claude_mpm/VERSION,sha256=gcqSJiDcvkT2MvHps7QUQIB-YbkjM5C4D4UbMZrAlLI,7
2
+ claude_mpm/VERSION,sha256=RB2gUKMx5VBa3nbppW0YC1fQBvNMIBg7TEJB0kbNlyk,7
3
3
  claude_mpm/__init__.py,sha256=UCw6j9e_tZQ3kJtTqmdfNv7MHyw9nD1jkj80WurwM2g,2064
4
4
  claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
5
5
  claude_mpm/constants.py,sha256=sLjJF6Kw7H4V9WWeaEYltM-77TgXqzEMX5vx4ukM5-0,5977
@@ -830,6 +830,26 @@ claude_mpm/skills/__init__.py,sha256=Z_QNFaW2t_Um5q4icqs9xSgoNKhAPbs5Ny7rMKizBsM
830
830
  claude_mpm/skills/registry.py,sha256=P4CsN7FylbxIrxuMD8LKVjOv6SLrMJunwvDHPvYqS7U,10233
831
831
  claude_mpm/skills/skill_manager.py,sha256=6QaC0B3e8hVVj7FWV6fCr8-SGbnguoXmErUujnXGWCo,10445
832
832
  claude_mpm/skills/bundled/__init__.py,sha256=rGZR4FYam6sN_fCzP7l1OpEn4pIJI8UYI_89ErnwSRU,152
833
+ claude_mpm/skills/bundled/api-documentation.md,sha256=lPPvsgtyiPSIT8WeiJtm9g8TRaBtYu5Z9HX3caGi_ME,9492
834
+ claude_mpm/skills/bundled/async-testing.md,sha256=KOdBa6Pa1EPEIljmH1v2tukrsu9NW3c-RiXaee0rJfQ,13010
835
+ claude_mpm/skills/bundled/code-review.md,sha256=QFO0tzyLPDkhva1aLu4xh5Dsen0S4wVQTC9eFXkstTQ,2870
836
+ claude_mpm/skills/bundled/database-migration.md,sha256=oJ6F18Keax74gw5TINhQp127OrCuzB05w4hLX0REdRk,4149
837
+ claude_mpm/skills/bundled/docker-containerization.md,sha256=7jEcuakGM7YWNLUGZhPq09ot_sUqkS3k8sgCpwmx6WQ,3097
838
+ claude_mpm/skills/bundled/express-local-dev.md,sha256=GsMLgxNy4LQsqswsS5JMrjLgLIN50pc7xX6KH89a_rA,31300
839
+ claude_mpm/skills/bundled/fastapi-local-dev.md,sha256=RTU7AdNYPM_N1or1yq7H7p4OQknqMpxKZAE8-OytC-s,25453
840
+ claude_mpm/skills/bundled/git-workflow.md,sha256=M6KyCxykf6_B1d0HQ428MCBJiSkIW0nvTguoHho9lCg,7452
841
+ claude_mpm/skills/bundled/imagemagick.md,sha256=RBybqF7JUsJTCBE4gmJmdOe-fzXvmUlAdXXEZmOX3GA,4135
842
+ claude_mpm/skills/bundled/json-data-handling.md,sha256=_mmNaFakJswbCpaqGy-BHwLNkdPaFEGb93nRi5Ajzao,4550
843
+ claude_mpm/skills/bundled/nextjs-local-dev.md,sha256=a0QvHw7tokJDD4NudvOjR38vsMbSU5pQbOXihfjgWrQ,16468
844
+ claude_mpm/skills/bundled/pdf.md,sha256=xYDfklEGIzc7liMMAYVnkuwb6KEKHPd3YGMq9NCGWcg,2857
845
+ claude_mpm/skills/bundled/performance-profiling.md,sha256=n_ZcgY1YVwUnWioYkTnAU5X5F8gwG6B9r1BTj7Ai_oo,12264
846
+ claude_mpm/skills/bundled/refactoring-patterns.md,sha256=JSZDm7w0kpxP-GCpK9bevEMFxEKfTu4vl7QJNrhl0E0,3809
847
+ claude_mpm/skills/bundled/security-scanning.md,sha256=9j-AdA9IcpIxe-rThajBxk05OXL_uCxLjXPtlLZ7PzI,7577
848
+ claude_mpm/skills/bundled/systematic-debugging.md,sha256=-HeIPw3n13YmkF2Kr07CmA64HWbBFFhtkXxUw9vNM_c,11773
849
+ claude_mpm/skills/bundled/test-driven-development.md,sha256=UqZvDyGzyjsxHBuryI0J5gvbeAeP5itQOyV87sanJpU,8913
850
+ claude_mpm/skills/bundled/vite-local-dev.md,sha256=Ypc3RMAiUXTUzmrvTx4v5LERsz8BaYDyJUJXi3jzkq4,21063
851
+ claude_mpm/skills/bundled/web-performance-optimization.md,sha256=bG1sm1VxrZgetwuTAQjCZp-oT_2lMh6OUgyGvkFiPDw,52937
852
+ claude_mpm/skills/bundled/xlsx.md,sha256=OwcXT9ADlBtySqzO529HTPpEH_xn6Ue6caQbjYQ_GIc,2969
833
853
  claude_mpm/storage/__init__.py,sha256=DXnmee6iGqC6ctFLW7_Ty1cVCjYDFuCMkwO4EV0i25k,274
834
854
  claude_mpm/storage/state_storage.py,sha256=6jEZ4z35MjtAuTTUdqETTy4_dbMMK8EN_C2kVa62PjY,16811
835
855
  claude_mpm/tools/__init__.py,sha256=T3GuCYNAHtjVcKCeivY674PaDm48WX96AriQfTKUknY,347
@@ -863,9 +883,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
863
883
  claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
864
884
  claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
865
885
  claude_mpm/validation/frontmatter_validator.py,sha256=YpJlYNNYcV8u6hIOi3_jaRsDnzhbcQpjCBE6eyBKaFY,7076
866
- claude_mpm-4.17.0.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
867
- claude_mpm-4.17.0.dist-info/METADATA,sha256=EsV5rm9VJK_49wDIiq7QuZ4PCayhqI7rzc1yZZeFc6U,20218
868
- claude_mpm-4.17.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
869
- claude_mpm-4.17.0.dist-info/entry_points.txt,sha256=Vlw3GNi-OtTpKSrez04iNrPmxNxYDpIWxmJCxiZ5Tx8,526
870
- claude_mpm-4.17.0.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
871
- claude_mpm-4.17.0.dist-info/RECORD,,
886
+ claude_mpm-4.17.1.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
887
+ claude_mpm-4.17.1.dist-info/METADATA,sha256=6V6ppc5htwPwVyXbIR4_iMxieQN8v45c-n5LBHDGH4I,20218
888
+ claude_mpm-4.17.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
889
+ claude_mpm-4.17.1.dist-info/entry_points.txt,sha256=Vlw3GNi-OtTpKSrez04iNrPmxNxYDpIWxmJCxiZ5Tx8,526
890
+ claude_mpm-4.17.1.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
891
+ claude_mpm-4.17.1.dist-info/RECORD,,