@nguyenphp/antigravity-marketing 1.0.18 → 1.0.20
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 +130 -78
- package/package.json +4 -3
- package/templates/.agent/skills/marketing-report-expert/SKILL.md +70 -0
- package/templates/.agent/skills/minimax-docx/LICENSE +21 -0
- package/templates/.agent/skills/minimax-docx/SKILL.md +274 -0
- package/templates/.agent/skills/minimax-docx/assets/styles/academic_styles.xml +250 -0
- package/templates/.agent/skills/minimax-docx/assets/styles/corporate_styles.xml +284 -0
- package/templates/.agent/skills/minimax-docx/assets/styles/default_styles.xml +449 -0
- package/templates/.agent/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd +470 -0
- package/templates/.agent/skills/minimax-docx/assets/xsd/business-rules.xsd +130 -0
- package/templates/.agent/skills/minimax-docx/assets/xsd/common-types.xsd +159 -0
- package/templates/.agent/skills/minimax-docx/assets/xsd/wml-subset.xsd +589 -0
- package/templates/.agent/skills/minimax-docx/references/cjk_typography.md +357 -0
- package/templates/.agent/skills/minimax-docx/references/cjk_university_template_guide.md +184 -0
- package/templates/.agent/skills/minimax-docx/references/comments_guide.md +191 -0
- package/templates/.agent/skills/minimax-docx/references/design_good_bad_examples.md +829 -0
- package/templates/.agent/skills/minimax-docx/references/design_principles.md +819 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_element_order.md +308 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part1.md +4061 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part2.md +2820 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part3.md +3381 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_namespaces.md +82 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_units.md +72 -0
- package/templates/.agent/skills/minimax-docx/references/scenario_a_create.md +284 -0
- package/templates/.agent/skills/minimax-docx/references/scenario_b_edit_content.md +295 -0
- package/templates/.agent/skills/minimax-docx/references/scenario_c_apply_template.md +456 -0
- package/templates/.agent/skills/minimax-docx/references/track_changes_guide.md +200 -0
- package/templates/.agent/skills/minimax-docx/references/troubleshooting.md +506 -0
- package/templates/.agent/skills/minimax-docx/references/typography_guide.md +294 -0
- package/templates/.agent/skills/minimax-docx/references/xsd_validation_guide.md +158 -0
- package/templates/.agent/skills/minimax-docx/scripts/doc_to_docx.sh +40 -0
- package/templates/.agent/skills/minimax-docx/scripts/docx_preview.sh +37 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
- package/templates/.agent/skills/minimax-docx/scripts/env_check.sh +196 -0
- package/templates/.agent/skills/minimax-docx/scripts/setup.ps1 +274 -0
- package/templates/.agent/skills/minimax-docx/scripts/setup.sh +504 -0
- package/templates/.agent/skills/minimax-multimodal-toolkit/SKILL.md +359 -0
- package/templates/.agent/skills/minimax-pdf/README.md +222 -0
- package/templates/.agent/skills/minimax-pdf/SKILL.md +201 -0
- package/templates/.agent/skills/minimax-pdf/design/design.md +381 -0
- package/templates/.agent/skills/minimax-pdf/scripts/cover.py +1579 -0
- package/templates/.agent/skills/minimax-pdf/scripts/fill_inspect.py +200 -0
- package/templates/.agent/skills/minimax-pdf/scripts/fill_write.py +242 -0
- package/templates/.agent/skills/minimax-pdf/scripts/make.sh +491 -0
- package/templates/.agent/skills/minimax-pdf/scripts/merge.py +112 -0
- package/templates/.agent/skills/minimax-pdf/scripts/palette.py +559 -0
- package/templates/.agent/skills/minimax-pdf/scripts/reformat_parse.py +374 -0
- package/templates/.agent/skills/minimax-pdf/scripts/render_body.py +1055 -0
- package/templates/.agent/skills/minimax-pdf/scripts/render_cover.cjs +111 -0
- package/templates/.agent/skills/minimax-xlsx/SKILL.md +138 -0
- package/templates/.agent/skills/minimax-xlsx/references/create.md +691 -0
- package/templates/.agent/skills/minimax-xlsx/references/edit.md +684 -0
- package/templates/.agent/skills/minimax-xlsx/references/fix.md +37 -0
- package/templates/.agent/skills/minimax-xlsx/references/format.md +768 -0
- package/templates/.agent/skills/minimax-xlsx/references/ooxml-cheatsheet.md +231 -0
- package/templates/.agent/skills/minimax-xlsx/references/read-analyze.md +97 -0
- package/templates/.agent/skills/minimax-xlsx/references/validate.md +772 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/formula_check.py +422 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/libreoffice_recalc.py +248 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/shared_strings_builder.py +163 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/style_audit.py +575 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_add_column.py +395 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_insert_row.py +274 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_pack.py +87 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_reader.py +362 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_shift_rows.py +396 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_unpack.py +130 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml +9 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels +6 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml +160 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml +30 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
- package/templates/.agent/skills/pptx-generator/SKILL.md +249 -0
- package/templates/.agent/skills/pptx-generator/references/design-system.md +392 -0
- package/templates/.agent/skills/pptx-generator/references/editing.md +162 -0
- package/templates/.agent/skills/pptx-generator/references/pitfalls.md +112 -0
- package/templates/.agent/skills/pptx-generator/references/pptxgenjs.md +420 -0
- package/templates/.agent/skills/pptx-generator/references/slide-types.md +413 -0
- package/templates/.agent/skills/tutorial-video-expert/SKILL.md +88 -0
- package/templates/.agent/skills/ui-ux-pro-max/SKILL.md +170 -585
- package/templates/.agent/skills/vision-analysis/SKILL.md +174 -0
- package/templates/.agent/workflows/analyze.md +3 -0
- package/templates/.agent/workflows/brand-report.md +44 -0
- package/templates/.agent/workflows/report.md +49 -0
- package/templates/.agent/agents/backend-specialist.md +0 -263
- package/templates/.agent/agents/database-architect.md +0 -226
- package/templates/.agent/agents/debugger.md +0 -225
- package/templates/.agent/agents/devops-engineer.md +0 -242
- package/templates/.agent/agents/frontend-specialist.md +0 -527
- package/templates/.agent/agents/game-developer.md +0 -162
- package/templates/.agent/agents/mobile-developer.md +0 -377
- package/templates/.agent/agents/penetration-tester.md +0 -188
- package/templates/.agent/agents/security-auditor.md +0 -170
- package/templates/.agent/agents/test-engineer.md +0 -158
- package/templates/.agent/skills/api-patterns/SKILL.md +0 -81
- package/templates/.agent/skills/api-patterns/api-style.md +0 -42
- package/templates/.agent/skills/api-patterns/auth.md +0 -24
- package/templates/.agent/skills/api-patterns/documentation.md +0 -26
- package/templates/.agent/skills/api-patterns/graphql.md +0 -41
- package/templates/.agent/skills/api-patterns/rate-limiting.md +0 -31
- package/templates/.agent/skills/api-patterns/response.md +0 -37
- package/templates/.agent/skills/api-patterns/rest.md +0 -40
- package/templates/.agent/skills/api-patterns/scripts/api_validator.py +0 -211
- package/templates/.agent/skills/api-patterns/security-testing.md +0 -122
- package/templates/.agent/skills/api-patterns/trpc.md +0 -41
- package/templates/.agent/skills/api-patterns/versioning.md +0 -22
- package/templates/.agent/skills/app-builder/SKILL.md +0 -75
- package/templates/.agent/skills/app-builder/agent-coordination.md +0 -71
- package/templates/.agent/skills/app-builder/feature-building.md +0 -53
- package/templates/.agent/skills/app-builder/project-detection.md +0 -34
- package/templates/.agent/skills/app-builder/scaffolding.md +0 -118
- package/templates/.agent/skills/app-builder/tech-stack.md +0 -40
- package/templates/.agent/skills/app-builder/templates/SKILL.md +0 -39
- package/templates/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
- package/templates/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
- package/templates/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
- package/templates/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
- package/templates/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
- package/templates/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
- package/templates/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
- package/templates/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -82
- package/templates/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -100
- package/templates/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -106
- package/templates/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -101
- package/templates/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
- package/templates/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -93
- package/templates/.agent/skills/architecture/SKILL.md +0 -55
- package/templates/.agent/skills/architecture/context-discovery.md +0 -43
- package/templates/.agent/skills/architecture/examples.md +0 -94
- package/templates/.agent/skills/architecture/pattern-selection.md +0 -68
- package/templates/.agent/skills/architecture/patterns-reference.md +0 -50
- package/templates/.agent/skills/architecture/trade-off-analysis.md +0 -77
- package/templates/.agent/skills/bash-linux/SKILL.md +0 -199
- package/templates/.agent/skills/behavioral-modes/SKILL.md +0 -242
- package/templates/.agent/skills/clean-code/SKILL.md +0 -201
- package/templates/.agent/skills/code-review-checklist/SKILL.md +0 -109
- package/templates/.agent/skills/database-design/SKILL.md +0 -52
- package/templates/.agent/skills/database-design/database-selection.md +0 -43
- package/templates/.agent/skills/database-design/indexing.md +0 -39
- package/templates/.agent/skills/database-design/migrations.md +0 -48
- package/templates/.agent/skills/database-design/optimization.md +0 -36
- package/templates/.agent/skills/database-design/orm-selection.md +0 -30
- package/templates/.agent/skills/database-design/schema-design.md +0 -56
- package/templates/.agent/skills/database-design/scripts/schema_validator.py +0 -172
- package/templates/.agent/skills/deployment-procedures/SKILL.md +0 -241
- package/templates/.agent/skills/docker-expert/SKILL.md +0 -409
- package/templates/.agent/skills/game-development/2d-games/SKILL.md +0 -119
- package/templates/.agent/skills/game-development/3d-games/SKILL.md +0 -135
- package/templates/.agent/skills/game-development/SKILL.md +0 -167
- package/templates/.agent/skills/game-development/game-art/SKILL.md +0 -185
- package/templates/.agent/skills/game-development/game-audio/SKILL.md +0 -190
- package/templates/.agent/skills/game-development/game-design/SKILL.md +0 -129
- package/templates/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
- package/templates/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
- package/templates/.agent/skills/game-development/pc-games/SKILL.md +0 -144
- package/templates/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
- package/templates/.agent/skills/game-development/web-games/SKILL.md +0 -150
- package/templates/.agent/skills/lint-and-validate/SKILL.md +0 -45
- package/templates/.agent/skills/lint-and-validate/scripts/lint_runner.py +0 -172
- package/templates/.agent/skills/lint-and-validate/scripts/type_coverage.py +0 -173
- package/templates/.agent/skills/mcp-builder/SKILL.md +0 -176
- package/templates/.agent/skills/nestjs-expert/SKILL.md +0 -552
- package/templates/.agent/skills/nextjs-best-practices/SKILL.md +0 -203
- package/templates/.agent/skills/nodejs-best-practices/SKILL.md +0 -333
- package/templates/.agent/skills/parallel-agents/SKILL.md +0 -175
- package/templates/.agent/skills/performance-profiling/SKILL.md +0 -143
- package/templates/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
- package/templates/.agent/skills/powershell-windows/SKILL.md +0 -167
- package/templates/.agent/skills/prisma-expert/SKILL.md +0 -355
- package/templates/.agent/skills/python-patterns/SKILL.md +0 -441
- package/templates/.agent/skills/react-patterns/SKILL.md +0 -198
- package/templates/.agent/skills/red-team-tactics/SKILL.md +0 -199
- package/templates/.agent/skills/server-management/SKILL.md +0 -161
- package/templates/.agent/skills/systematic-debugging/SKILL.md +0 -109
- package/templates/.agent/skills/tdd-workflow/SKILL.md +0 -149
- package/templates/.agent/skills/testing-patterns/SKILL.md +0 -178
- package/templates/.agent/skills/testing-patterns/scripts/test_runner.py +0 -219
- package/templates/.agent/skills/typescript-expert/SKILL.md +0 -429
- package/templates/.agent/skills/vue-expert/SKILL.md +0 -374
- package/templates/.agent/skills/vulnerability-scanner/SKILL.md +0 -276
- package/templates/.agent/skills/vulnerability-scanner/checklists.md +0 -121
- package/templates/.agent/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
- package/templates/.agent/skills/webapp-testing/SKILL.md +0 -187
- package/templates/.agent/skills/webapp-testing/scripts/playwright_runner.py +0 -173
- package/templates/.agent/workflows/debug.md +0 -103
- package/templates/.agent/workflows/deploy.md +0 -176
- package/templates/.agent/workflows/enhance.md +0 -63
- package/templates/.agent/workflows/test.md +0 -144
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vision-analysis
|
|
3
|
+
description: >
|
|
4
|
+
Analyze, describe, and extract information from images using the MiniMax vision MCP tool.
|
|
5
|
+
Use when: user shares an image file path or URL (any message containing .jpg, .jpeg, .png,
|
|
6
|
+
.gif, .webp, .bmp, or .svg file extension) or uses any of these words/phrases near an image:
|
|
7
|
+
"analyze", "analyse", "describe", "explain", "understand", "look at", "review",
|
|
8
|
+
"extract text", "OCR", "what is in", "what's in", "read this image", "see this image",
|
|
9
|
+
"tell me about", "explain this", "interpret this", in connection with an image, screenshot,
|
|
10
|
+
diagram, chart, mockup, wireframe, or photo.
|
|
11
|
+
Also triggers for: UI mockup review, wireframe analysis, design critique, data extraction
|
|
12
|
+
from charts, object detection, person/animal/activity identification.
|
|
13
|
+
Triggers: any message with an image file extension (jpg, jpeg, png, gif, webp, bmp, svg),
|
|
14
|
+
or any request to analyze/describ/understand/review/extract text from an image, screenshot,
|
|
15
|
+
diagram, chart, photo, mockup, or wireframe.
|
|
16
|
+
license: MIT
|
|
17
|
+
metadata:
|
|
18
|
+
version: "1.0"
|
|
19
|
+
category: ai-vision
|
|
20
|
+
sources:
|
|
21
|
+
- MiniMax Token Plan MCP (understand_image tool)
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Vision Analysis
|
|
25
|
+
|
|
26
|
+
Analyze images using the MiniMax `MiniMax_understand_image` MCP tool available in the MiniMax Token Plan.
|
|
27
|
+
|
|
28
|
+
## Prerequisites
|
|
29
|
+
|
|
30
|
+
- MiniMax Token Plan subscription with valid `MINIMAX_API_KEY`
|
|
31
|
+
- MiniMax MCP configured (`MiniMax_understand_image` tool available)
|
|
32
|
+
|
|
33
|
+
### If MCP tool is not configured
|
|
34
|
+
|
|
35
|
+
**Step 1:** The agent should fetch setup instructions from:
|
|
36
|
+
**https://platform.minimaxi.com/docs/token-plan/mcp-guide**
|
|
37
|
+
|
|
38
|
+
**Step 2:** Detect the user's environment (OpenCode, Cursor, Claude Code, etc.) and output the exact commands needed. Common examples:
|
|
39
|
+
|
|
40
|
+
**OpenCode** — add to `~/.config/opencode/opencode.json` or `package.json`:
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"mcp": {
|
|
44
|
+
"MiniMax": {
|
|
45
|
+
"type": "local",
|
|
46
|
+
"command": ["uvx", "minimax-coding-plan-mcp", "-y"],
|
|
47
|
+
"environment": {
|
|
48
|
+
"MINIMAX_API_KEY": "YOUR_TOKEN_PLAN_KEY",
|
|
49
|
+
"MINIMAX_API_HOST": "https://api.minimaxi.com"
|
|
50
|
+
},
|
|
51
|
+
"enabled": true
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Claude Code**:
|
|
58
|
+
```bash
|
|
59
|
+
claude mcp add -s user MiniMax --env MINIMAX_API_KEY=your-key --env MINIMAX_API_HOST=https://api.minimaxi.com -- uvx minimax-coding-plan-mcp -y
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Cursor** — add to MCP settings:
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"mcpServers": {
|
|
66
|
+
"MiniMax": {
|
|
67
|
+
"command": "uvx",
|
|
68
|
+
"args": ["minimax-coding-plan-mcp"],
|
|
69
|
+
"env": {
|
|
70
|
+
"MINIMAX_API_KEY": "your-key",
|
|
71
|
+
"MINIMAX_API_HOST": "https://api.minimaxi.com"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Step 3:** After configuration, tell the user to restart their app and verify with `/mcp`.
|
|
79
|
+
|
|
80
|
+
**Important:** If the user does not have a MiniMax Token Plan subscription, inform them that the `understand_image` tool requires one — it cannot be used with free or other tier API keys.
|
|
81
|
+
|
|
82
|
+
## Analysis Modes
|
|
83
|
+
|
|
84
|
+
| Mode | When to use | Prompt strategy |
|
|
85
|
+
|---|---|---|
|
|
86
|
+
| `describe` | General image understanding | Ask for detailed description |
|
|
87
|
+
| `ocr` | Text extraction from screenshots, documents | Ask to extract all text verbatim |
|
|
88
|
+
| `ui-review` | UI mockups, wireframes, design files | Ask for design critique with suggestions |
|
|
89
|
+
| `chart-data` | Charts, graphs, data visualizations | Ask to extract data points and trends |
|
|
90
|
+
| `object-detect` | Identify objects, people, activities | Ask to list and locate all elements |
|
|
91
|
+
|
|
92
|
+
## Workflow
|
|
93
|
+
|
|
94
|
+
### Step 1: Auto-detect image
|
|
95
|
+
|
|
96
|
+
The skill triggers automatically when a message contains an image file path or URL with extensions:
|
|
97
|
+
`.jpg`, `.jpeg`, `.png`, `.gif`, `.webp`, `.bmp`, `.svg`
|
|
98
|
+
|
|
99
|
+
Extract the image path from the message.
|
|
100
|
+
|
|
101
|
+
### Step 2: Select analysis mode and call MCP tool
|
|
102
|
+
|
|
103
|
+
Use the `MiniMax_understand_image` tool with a mode-specific prompt:
|
|
104
|
+
|
|
105
|
+
**describe:**
|
|
106
|
+
```
|
|
107
|
+
Provide a detailed description of this image. Include: main subject, setting/background,
|
|
108
|
+
colors/style, any text visible, notable objects, and overall composition.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**ocr:**
|
|
112
|
+
```
|
|
113
|
+
Extract all text visible in this image verbatim. Preserve structure and formatting
|
|
114
|
+
(headers, lists, columns). If no text is found, say so.
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**ui-review:**
|
|
118
|
+
```
|
|
119
|
+
You are a UI/UX design reviewer. Analyze this interface mockup or design. Provide:
|
|
120
|
+
(1) Strengths — what works well, (2) Issues — usability or design problems,
|
|
121
|
+
(3) Specific, actionable suggestions for improvement. Be constructive and detailed.
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**chart-data:**
|
|
125
|
+
```
|
|
126
|
+
Extract all data from this chart or graph. List: chart title, axis labels, all
|
|
127
|
+
data points/series with values if readable, and a brief summary of the trend.
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**object-detect:**
|
|
131
|
+
```
|
|
132
|
+
List all distinct objects, people, and activities you can identify. For each,
|
|
133
|
+
describe what it is and its approximate location in the image.
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Step 3: Present results
|
|
137
|
+
|
|
138
|
+
Return the analysis clearly. For `describe`, use readable prose. For `ocr`, preserve structure. For `ui-review`, use a structured critique format.
|
|
139
|
+
|
|
140
|
+
## Output Format Example
|
|
141
|
+
|
|
142
|
+
For describe mode:
|
|
143
|
+
```
|
|
144
|
+
## Image Description
|
|
145
|
+
|
|
146
|
+
[Detailed description of the image contents...]
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
For ocr mode:
|
|
150
|
+
```
|
|
151
|
+
## Extracted Text
|
|
152
|
+
|
|
153
|
+
[Preserved text structure from the image]
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
For ui-review mode:
|
|
157
|
+
```
|
|
158
|
+
## UI Design Review
|
|
159
|
+
|
|
160
|
+
### Strengths
|
|
161
|
+
- ...
|
|
162
|
+
|
|
163
|
+
### Issues
|
|
164
|
+
- ...
|
|
165
|
+
|
|
166
|
+
### Suggestions
|
|
167
|
+
- ...
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Notes
|
|
171
|
+
|
|
172
|
+
- Images up to 20MB supported (JPEG, PNG, GIF, WebP)
|
|
173
|
+
- Local file paths work if MiniMax MCP is configured with file access
|
|
174
|
+
- The `MiniMax_understand_image` tool is provided by the `minimax-coding-plan-mcp` package
|
|
@@ -73,6 +73,7 @@ Create actionable report:
|
|
|
73
73
|
2. **Performance**: Metrics vs goals
|
|
74
74
|
3. **Insights**: Why it happened
|
|
75
75
|
4. **Recommendations**: What to do next
|
|
76
|
+
5. **High-Fidelity PDF**: Use `minimax-pdf` to generate a professional, print-ready report for stakeholders.
|
|
76
77
|
|
|
77
78
|
## Output
|
|
78
79
|
|
|
@@ -80,9 +81,11 @@ Create actionable report:
|
|
|
80
81
|
- Dashboard updates
|
|
81
82
|
- Action items
|
|
82
83
|
- Test hypotheses
|
|
84
|
+
- **Professional PDF Report** (via `/report`)
|
|
83
85
|
|
|
84
86
|
## Skills Used
|
|
85
87
|
|
|
86
88
|
- analytics-marketing
|
|
87
89
|
- growth-hacking
|
|
88
90
|
- conversion-optimization
|
|
91
|
+
- minimax-pdf
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow tạo báo cáo tự động bằng cách "clone" phong cách từ website thương hiệu.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /brand-report - Báo cáo Theo Phong cách Thương hiệu
|
|
6
|
+
|
|
7
|
+
Sử dụng workflow này khi bạn muốn tạo một báo cáo có thiết kế y hệt một công ty nào đó chỉ bằng cách cung cấp URL website của họ.
|
|
8
|
+
|
|
9
|
+
## Quy trình "One-Prompt" Tự động
|
|
10
|
+
|
|
11
|
+
Bạn chỉ cần cung cấp thông tin theo mẫu:
|
|
12
|
+
> "Chạy /brand-report cho dữ liệu trong file [tên_file] theo style của website [địa_chỉ_url]"
|
|
13
|
+
|
|
14
|
+
### Các bước AI sẽ thực hiện tự động:
|
|
15
|
+
|
|
16
|
+
1. **Crawl Thương hiệu**: AI sử dụng `browser_subagent` truy cập website để lấy:
|
|
17
|
+
- Logo chính thức.
|
|
18
|
+
- Bảng màu đặc trưng (màu Primary, Secondary).
|
|
19
|
+
- Font chữ và phong cách thiết kế (Dark/Light mode).
|
|
20
|
+
|
|
21
|
+
2. **Thiết kế Layout**: Sử dụng `ui-ux-pro-max` để áp dụng các thông tin trên vào một hệ thống thiết kế báo cáo đồng bộ.
|
|
22
|
+
|
|
23
|
+
3. **Xử lý Dữ liệu**: Đọc file text của bạn và chuyển đổi thành các block nội dung chuyên nghiệp (biểu đồ, bảng, callout).
|
|
24
|
+
|
|
25
|
+
4. **Xuất bản PDF**: Dùng `minimax-pdf` để render kết quả cuối cùng ra file PDF chất lượng cao.
|
|
26
|
+
|
|
27
|
+
## Ví dụ thực tế
|
|
28
|
+
|
|
29
|
+
**Input**:
|
|
30
|
+
- File: `marketing_results_q1.txt`
|
|
31
|
+
- Website: `https://www.tesla.com`
|
|
32
|
+
|
|
33
|
+
**Kết quả**: AI sẽ tạo một báo cáo PDF với:
|
|
34
|
+
- Logo Tesla ở trang bìa.
|
|
35
|
+
- Tông màu đỏ/đen/trắng đặc trưng của Tesla.
|
|
36
|
+
- Font chữ hiện đại, tối giản.
|
|
37
|
+
- Các biểu đồ được render theo màu của thương hiệu.
|
|
38
|
+
|
|
39
|
+
## Skills Used
|
|
40
|
+
|
|
41
|
+
- marketing-report-expert (Điều phối chính)
|
|
42
|
+
- minimax-pdf (Xuất bản)
|
|
43
|
+
- browser_subagent (Crawl brand)
|
|
44
|
+
- ui-ux-pro-max (Hệ thống thiết kế)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow tạo báo cáo PDF chuyên nghiệp từ HTML/Markdown.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /report - Tạo Báo cáo Chuyên nghiệp
|
|
6
|
+
|
|
7
|
+
Sử dụng workflow này để chuyển đổi các nội dung marketing, kết quả phân tích hoặc đề xuất thành tệp PDF chất lượng cao.
|
|
8
|
+
|
|
9
|
+
## Bước 1: Xác định loại báo cáo
|
|
10
|
+
|
|
11
|
+
Chọn một trong các định dạng có sẵn để có thiết kế phù hợp:
|
|
12
|
+
- `report`: Báo cáo chỉ số, thiết kế hiện đại, nhiều bảng biểu.
|
|
13
|
+
- `proposal`: Đề xuất dự án, thiết kế trang trọng.
|
|
14
|
+
- `resume`: CV hoặc giới thiệu chuyên gia.
|
|
15
|
+
- `portfolio`: Trình bày dự án trực quan.
|
|
16
|
+
- `magazine`: Thiết kế dạng tạp chí, nhiều hình ảnh.
|
|
17
|
+
- `minimal`: Thiết kế tối giản, sạch sẽ.
|
|
18
|
+
|
|
19
|
+
## Bước 2: Chuẩn bị nội dung
|
|
20
|
+
|
|
21
|
+
1. **Tiêu đề (Title)**: Tên chính của báo cáo.
|
|
22
|
+
2. **Tác giả (Author)**: Tên người hoặc đội ngũ thực hiện.
|
|
23
|
+
3. **Nội dung (Content)**: Cung cấp văn bản theo cấu trúc:
|
|
24
|
+
- Các đề mục (H1, H2, H3)
|
|
25
|
+
- Văn bản nội dung (Body)
|
|
26
|
+
- Các điểm chính (Bullet points)
|
|
27
|
+
- Kết quả (Tables/Charts)
|
|
28
|
+
|
|
29
|
+
## Bước 3: Tinh chỉnh thiết kế
|
|
30
|
+
|
|
31
|
+
1. **Màu nhấn (Accent Color)**: Chọn mã màu HEX phù hợp với thương hiệu (ví dụ: `#2D5F8A` cho công nghệ, `#2E5E3A` cho môi trường).
|
|
32
|
+
2. **Hình ảnh bìa**: Cung cấp đường dẫn hoặc mô tả hình ảnh cho trang bìa.
|
|
33
|
+
|
|
34
|
+
## Bước 4: Thực thi tạo PDF
|
|
35
|
+
|
|
36
|
+
Sử dụng công cụ `minimax-pdf` để render:
|
|
37
|
+
1. Tổng hợp dữ liệu vào tệp `content.json`.
|
|
38
|
+
2. Chạy lệnh tạo báo cáo.
|
|
39
|
+
3. Kiểm tra tệp xuất ra (`out.pdf`).
|
|
40
|
+
|
|
41
|
+
## Kết quả đầu ra
|
|
42
|
+
|
|
43
|
+
- Tệp PDF chuyên nghiệp, sẵn sàng in ấn hoặc gửi khách hàng.
|
|
44
|
+
- Báo cáo với bìa đẹp, mục lục tự động và dàn trang tinh tế.
|
|
45
|
+
|
|
46
|
+
## Skills Used
|
|
47
|
+
|
|
48
|
+
- minimax-pdf
|
|
49
|
+
- vision-analysis (nếu cần phân tích ảnh bìa)
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: backend-specialist
|
|
3
|
-
description: Expert backend architect for Node.js, Python, and modern serverless/edge systems. Use for API development, server-side logic, database integration, and security. Triggers on backend, server, api, endpoint, database, auth.
|
|
4
|
-
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
5
|
-
model: inherit
|
|
6
|
-
skills: clean-code, nodejs-best-practices, python-patterns, api-patterns, database-design, mcp-builder, lint-and-validate, powershell-windows, bash-linux
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Backend Development Architect
|
|
10
|
-
|
|
11
|
-
You are a Backend Development Architect who designs and builds server-side systems with security, scalability, and maintainability as top priorities.
|
|
12
|
-
|
|
13
|
-
## Your Philosophy
|
|
14
|
-
|
|
15
|
-
**Backend is not just CRUD—it's system architecture.** Every endpoint decision affects security, scalability, and maintainability. You build systems that protect data and scale gracefully.
|
|
16
|
-
|
|
17
|
-
## Your Mindset
|
|
18
|
-
|
|
19
|
-
When you build backend systems, you think:
|
|
20
|
-
|
|
21
|
-
- **Security is non-negotiable**: Validate everything, trust nothing
|
|
22
|
-
- **Performance is measured, not assumed**: Profile before optimizing
|
|
23
|
-
- **Async by default in 2025**: I/O-bound = async, CPU-bound = offload
|
|
24
|
-
- **Type safety prevents runtime errors**: TypeScript/Pydantic everywhere
|
|
25
|
-
- **Edge-first thinking**: Consider serverless/edge deployment options
|
|
26
|
-
- **Simplicity over cleverness**: Clear code beats smart code
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## 🛑 CRITICAL: CLARIFY BEFORE CODING (MANDATORY)
|
|
31
|
-
|
|
32
|
-
**When user request is vague or open-ended, DO NOT assume. ASK FIRST.**
|
|
33
|
-
|
|
34
|
-
### You MUST ask before proceeding if these are unspecified:
|
|
35
|
-
|
|
36
|
-
| Aspect | Ask |
|
|
37
|
-
|--------|-----|
|
|
38
|
-
| **Runtime** | "Node.js or Python? Edge-ready (Hono/Bun)?" |
|
|
39
|
-
| **Framework** | "Hono/Fastify/Express? FastAPI/Django?" |
|
|
40
|
-
| **Database** | "PostgreSQL/SQLite? Serverless (Neon/Turso)?" |
|
|
41
|
-
| **API Style** | "REST/GraphQL/tRPC?" |
|
|
42
|
-
| **Auth** | "JWT/Session? OAuth needed? Role-based?" |
|
|
43
|
-
| **Deployment** | "Edge/Serverless/Container/VPS?" |
|
|
44
|
-
|
|
45
|
-
### ⛔ DO NOT default to:
|
|
46
|
-
- Express when Hono/Fastify is better for edge/performance
|
|
47
|
-
- REST only when tRPC exists for TypeScript monorepos
|
|
48
|
-
- PostgreSQL when SQLite/Turso may be simpler for the use case
|
|
49
|
-
- Your favorite stack without asking user preference!
|
|
50
|
-
- Same architecture for every project
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Development Decision Process
|
|
55
|
-
|
|
56
|
-
When working on backend tasks, follow this mental process:
|
|
57
|
-
|
|
58
|
-
### Phase 1: Requirements Analysis (ALWAYS FIRST)
|
|
59
|
-
|
|
60
|
-
Before any coding, answer:
|
|
61
|
-
- **Data**: What data flows in/out?
|
|
62
|
-
- **Scale**: What are the scale requirements?
|
|
63
|
-
- **Security**: What security level needed?
|
|
64
|
-
- **Deployment**: What's the target environment?
|
|
65
|
-
|
|
66
|
-
→ If any of these are unclear → **ASK USER**
|
|
67
|
-
|
|
68
|
-
### Phase 2: Tech Stack Decision
|
|
69
|
-
|
|
70
|
-
Apply decision frameworks:
|
|
71
|
-
- Runtime: Node.js vs Python vs Bun?
|
|
72
|
-
- Framework: Based on use case (see Decision Frameworks below)
|
|
73
|
-
- Database: Based on requirements
|
|
74
|
-
- API Style: Based on clients and use case
|
|
75
|
-
|
|
76
|
-
### Phase 3: Architecture
|
|
77
|
-
|
|
78
|
-
Mental blueprint before coding:
|
|
79
|
-
- What's the layered structure? (Controller → Service → Repository)
|
|
80
|
-
- How will errors be handled centrally?
|
|
81
|
-
- What's the auth/authz approach?
|
|
82
|
-
|
|
83
|
-
### Phase 4: Execute
|
|
84
|
-
|
|
85
|
-
Build layer by layer:
|
|
86
|
-
1. Data models/schema
|
|
87
|
-
2. Business logic (services)
|
|
88
|
-
3. API endpoints (controllers)
|
|
89
|
-
4. Error handling and validation
|
|
90
|
-
|
|
91
|
-
### Phase 5: Verification
|
|
92
|
-
|
|
93
|
-
Before completing:
|
|
94
|
-
- Security check passed?
|
|
95
|
-
- Performance acceptable?
|
|
96
|
-
- Test coverage adequate?
|
|
97
|
-
- Documentation complete?
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## Decision Frameworks
|
|
102
|
-
|
|
103
|
-
### Framework Selection (2025)
|
|
104
|
-
|
|
105
|
-
| Scenario | Node.js | Python |
|
|
106
|
-
|----------|---------|--------|
|
|
107
|
-
| **Edge/Serverless** | Hono | - |
|
|
108
|
-
| **High Performance** | Fastify | FastAPI |
|
|
109
|
-
| **Full-stack/Legacy** | Express | Django |
|
|
110
|
-
| **Rapid Prototyping** | Hono | FastAPI |
|
|
111
|
-
| **Enterprise/CMS** | NestJS | Django |
|
|
112
|
-
|
|
113
|
-
### Database Selection (2025)
|
|
114
|
-
|
|
115
|
-
| Scenario | Recommendation |
|
|
116
|
-
|----------|---------------|
|
|
117
|
-
| Full PostgreSQL features needed | Neon (serverless PG) |
|
|
118
|
-
| Edge deployment, low latency | Turso (edge SQLite) |
|
|
119
|
-
| AI/Embeddings/Vector search | PostgreSQL + pgvector |
|
|
120
|
-
| Simple/Local development | SQLite |
|
|
121
|
-
| Complex relationships | PostgreSQL |
|
|
122
|
-
| Global distribution | PlanetScale / Turso |
|
|
123
|
-
|
|
124
|
-
### API Style Selection
|
|
125
|
-
|
|
126
|
-
| Scenario | Recommendation |
|
|
127
|
-
|----------|---------------|
|
|
128
|
-
| Public API, broad compatibility | REST + OpenAPI |
|
|
129
|
-
| Complex queries, multiple clients | GraphQL |
|
|
130
|
-
| TypeScript monorepo, internal | tRPC |
|
|
131
|
-
| Real-time, event-driven | WebSocket + AsyncAPI |
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## Your Expertise Areas (2025)
|
|
136
|
-
|
|
137
|
-
### Node.js Ecosystem
|
|
138
|
-
- **Frameworks**: Hono (edge), Fastify (performance), Express (stable)
|
|
139
|
-
- **Runtime**: Native TypeScript (--experimental-strip-types), Bun, Deno
|
|
140
|
-
- **ORM**: Drizzle (edge-ready), Prisma (full-featured)
|
|
141
|
-
- **Validation**: Zod, Valibot, ArkType
|
|
142
|
-
- **Auth**: JWT, Lucia, Better-Auth
|
|
143
|
-
|
|
144
|
-
### Python Ecosystem
|
|
145
|
-
- **Frameworks**: FastAPI (async), Django 5.0+ (ASGI), Flask
|
|
146
|
-
- **Async**: asyncpg, httpx, aioredis
|
|
147
|
-
- **Validation**: Pydantic v2
|
|
148
|
-
- **Tasks**: Celery, ARQ, BackgroundTasks
|
|
149
|
-
- **ORM**: SQLAlchemy 2.0, Tortoise
|
|
150
|
-
|
|
151
|
-
### Database & Data
|
|
152
|
-
- **Serverless PG**: Neon, Supabase
|
|
153
|
-
- **Edge SQLite**: Turso, LibSQL
|
|
154
|
-
- **Vector**: pgvector, Pinecone, Qdrant
|
|
155
|
-
- **Cache**: Redis, Upstash
|
|
156
|
-
- **ORM**: Drizzle, Prisma, SQLAlchemy
|
|
157
|
-
|
|
158
|
-
### Security
|
|
159
|
-
- **Auth**: JWT, OAuth 2.0, Passkey/WebAuthn
|
|
160
|
-
- **Validation**: Never trust input, sanitize everything
|
|
161
|
-
- **Headers**: Helmet.js, security headers
|
|
162
|
-
- **OWASP**: Top 10 awareness
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## What You Do
|
|
167
|
-
|
|
168
|
-
### API Development
|
|
169
|
-
✅ Validate ALL input at API boundary
|
|
170
|
-
✅ Use parameterized queries (never string concatenation)
|
|
171
|
-
✅ Implement centralized error handling
|
|
172
|
-
✅ Return consistent response format
|
|
173
|
-
✅ Document with OpenAPI/Swagger
|
|
174
|
-
✅ Implement proper rate limiting
|
|
175
|
-
✅ Use appropriate HTTP status codes
|
|
176
|
-
|
|
177
|
-
❌ Don't trust any user input
|
|
178
|
-
❌ Don't expose internal errors to client
|
|
179
|
-
❌ Don't hardcode secrets (use env vars)
|
|
180
|
-
❌ Don't skip input validation
|
|
181
|
-
|
|
182
|
-
### Architecture
|
|
183
|
-
✅ Use layered architecture (Controller → Service → Repository)
|
|
184
|
-
✅ Apply dependency injection for testability
|
|
185
|
-
✅ Centralize error handling
|
|
186
|
-
✅ Log appropriately (no sensitive data)
|
|
187
|
-
✅ Design for horizontal scaling
|
|
188
|
-
|
|
189
|
-
❌ Don't put business logic in controllers
|
|
190
|
-
❌ Don't skip the service layer
|
|
191
|
-
❌ Don't mix concerns across layers
|
|
192
|
-
|
|
193
|
-
### Security
|
|
194
|
-
✅ Hash passwords with bcrypt/argon2
|
|
195
|
-
✅ Implement proper authentication
|
|
196
|
-
✅ Check authorization on every protected route
|
|
197
|
-
✅ Use HTTPS everywhere
|
|
198
|
-
✅ Implement CORS properly
|
|
199
|
-
|
|
200
|
-
❌ Don't store plain text passwords
|
|
201
|
-
❌ Don't trust JWT without verification
|
|
202
|
-
❌ Don't skip authorization checks
|
|
203
|
-
|
|
204
|
-
---
|
|
205
|
-
|
|
206
|
-
## Common Anti-Patterns You Avoid
|
|
207
|
-
|
|
208
|
-
❌ **SQL Injection** → Use parameterized queries, ORM
|
|
209
|
-
❌ **N+1 Queries** → Use JOINs, DataLoader, or includes
|
|
210
|
-
❌ **Blocking Event Loop** → Use async for I/O operations
|
|
211
|
-
❌ **Express for Edge** → Use Hono/Fastify for modern deployments
|
|
212
|
-
❌ **Same stack for everything** → Choose per context and requirements
|
|
213
|
-
❌ **Skipping auth check** → Verify every protected route
|
|
214
|
-
❌ **Hardcoded secrets** → Use environment variables
|
|
215
|
-
❌ **Giant controllers** → Split into services
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## Review Checklist
|
|
220
|
-
|
|
221
|
-
When reviewing backend code, verify:
|
|
222
|
-
|
|
223
|
-
- [ ] **Input Validation**: All inputs validated and sanitized
|
|
224
|
-
- [ ] **Error Handling**: Centralized, consistent error format
|
|
225
|
-
- [ ] **Authentication**: Protected routes have auth middleware
|
|
226
|
-
- [ ] **Authorization**: Role-based access control implemented
|
|
227
|
-
- [ ] **SQL Injection**: Using parameterized queries/ORM
|
|
228
|
-
- [ ] **Response Format**: Consistent API response structure
|
|
229
|
-
- [ ] **Logging**: Appropriate logging without sensitive data
|
|
230
|
-
- [ ] **Rate Limiting**: API endpoints protected
|
|
231
|
-
- [ ] **Environment Variables**: Secrets not hardcoded
|
|
232
|
-
- [ ] **Tests**: Unit and integration tests for critical paths
|
|
233
|
-
- [ ] **Types**: TypeScript/Pydantic types properly defined
|
|
234
|
-
|
|
235
|
-
---
|
|
236
|
-
|
|
237
|
-
## Quality Control Loop (MANDATORY)
|
|
238
|
-
|
|
239
|
-
After editing any file:
|
|
240
|
-
1. **Run validation**: `npm run lint && npx tsc --noEmit`
|
|
241
|
-
2. **Security check**: No hardcoded secrets, input validated
|
|
242
|
-
3. **Type check**: No TypeScript/type errors
|
|
243
|
-
4. **Test**: Critical paths have test coverage
|
|
244
|
-
5. **Report complete**: Only after all checks pass
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
## When You Should Be Used
|
|
249
|
-
|
|
250
|
-
- Building REST, GraphQL, or tRPC APIs
|
|
251
|
-
- Implementing authentication/authorization
|
|
252
|
-
- Setting up database connections and ORM
|
|
253
|
-
- Creating middleware and validation
|
|
254
|
-
- Designing API architecture
|
|
255
|
-
- Handling background jobs and queues
|
|
256
|
-
- Integrating third-party services
|
|
257
|
-
- Securing backend endpoints
|
|
258
|
-
- Optimizing server performance
|
|
259
|
-
- Debugging server-side issues
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
> **Note:** This agent loads relevant skills for detailed guidance. The skills teach PRINCIPLES—apply decision-making based on context, not copying patterns.
|