@mohammadhprp/system-prompt 0.10.1
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/LICENSE +21 -0
- package/README.md +35 -0
- package/bin/system-prompt.js +8 -0
- package/framework/README.md +163 -0
- package/framework/agents/README.md +49 -0
- package/framework/agents/backend-architect.md +146 -0
- package/framework/agents/researcher.md +79 -0
- package/framework/agents/reviewer.md +183 -0
- package/framework/agents/security-auditor.md +131 -0
- package/framework/commands/README.md +43 -0
- package/framework/commands/changelog.md +44 -0
- package/framework/commands/commit.md +31 -0
- package/framework/commands/learn.md +24 -0
- package/framework/commands/mr.md +46 -0
- package/framework/commands/pr.md +39 -0
- package/framework/commands/release.md +34 -0
- package/framework/commands/review.md +24 -0
- package/framework/commands/summarize-changes.md +49 -0
- package/framework/mcps/README.md +78 -0
- package/framework/mcps/excalidraw/README.md +37 -0
- package/framework/mcps/excalidraw/capabilities.md +54 -0
- package/framework/mcps/excalidraw/configs/opencode.json +8 -0
- package/framework/mcps/excalidraw/install.md +92 -0
- package/framework/mcps/excalidraw/troubleshooting.md +67 -0
- package/framework/mcps/figma-mcp-go/README.md +51 -0
- package/framework/mcps/figma-mcp-go/capabilities.md +190 -0
- package/framework/mcps/figma-mcp-go/configs/opencode.json +9 -0
- package/framework/mcps/figma-mcp-go/install.md +74 -0
- package/framework/mcps/figma-mcp-go/troubleshooting.md +99 -0
- package/framework/mcps/github-mcp/README.md +51 -0
- package/framework/mcps/github-mcp/capabilities.md +83 -0
- package/framework/mcps/github-mcp/configs/.env.example +1 -0
- package/framework/mcps/github-mcp/configs/opencode.json +13 -0
- package/framework/mcps/github-mcp/install.md +60 -0
- package/framework/mcps/github-mcp/troubleshooting.md +79 -0
- package/framework/mcps/gitlab-mcp/README.md +54 -0
- package/framework/mcps/gitlab-mcp/capabilities.md +216 -0
- package/framework/mcps/gitlab-mcp/configs/.env.example +2 -0
- package/framework/mcps/gitlab-mcp/configs/opencode.json +13 -0
- package/framework/mcps/gitlab-mcp/install.md +99 -0
- package/framework/mcps/gitlab-mcp/troubleshooting.md +116 -0
- package/framework/mcps/jira-mcp/README.md +53 -0
- package/framework/mcps/jira-mcp/capabilities.md +79 -0
- package/framework/mcps/jira-mcp/configs/.env.example +2 -0
- package/framework/mcps/jira-mcp/configs/opencode.json +13 -0
- package/framework/mcps/jira-mcp/install.md +94 -0
- package/framework/mcps/jira-mcp/troubleshooting.md +113 -0
- package/framework/mcps/laravel-boost/README.md +53 -0
- package/framework/mcps/laravel-boost/capabilities.md +92 -0
- package/framework/mcps/laravel-boost/configs/opencode.json +9 -0
- package/framework/mcps/laravel-boost/install.md +106 -0
- package/framework/mcps/laravel-boost/troubleshooting.md +119 -0
- package/framework/mcps/notion-mcp/README.md +58 -0
- package/framework/mcps/notion-mcp/capabilities.md +118 -0
- package/framework/mcps/notion-mcp/configs/opencode.json +9 -0
- package/framework/mcps/notion-mcp/install.md +70 -0
- package/framework/mcps/notion-mcp/troubleshooting.md +95 -0
- package/framework/mcps/playwright-mcp/README.md +50 -0
- package/framework/mcps/playwright-mcp/capabilities.md +149 -0
- package/framework/mcps/playwright-mcp/configs/opencode.json +9 -0
- package/framework/mcps/playwright-mcp/install.md +136 -0
- package/framework/mcps/playwright-mcp/troubleshooting.md +154 -0
- package/framework/mcps/supabase-mcp/README.md +66 -0
- package/framework/mcps/supabase-mcp/capabilities.md +127 -0
- package/framework/mcps/supabase-mcp/configs/opencode.json +9 -0
- package/framework/mcps/supabase-mcp/install.md +85 -0
- package/framework/mcps/supabase-mcp/troubleshooting.md +113 -0
- package/framework/memory/README.md +17 -0
- package/framework/memory/codebase-insights.md +6 -0
- package/framework/memory/user-preferences.md +5 -0
- package/framework/modes/README.md +52 -0
- package/framework/modes/audit.md +88 -0
- package/framework/plugins/README.md +65 -0
- package/framework/plugins/opencode-goal-plugin/README.md +45 -0
- package/framework/plugins/opencode-goal-plugin/capabilities.md +127 -0
- package/framework/plugins/opencode-goal-plugin/install.md +71 -0
- package/framework/plugins/opencode-goal-plugin/troubleshooting.md +112 -0
- package/framework/plugins/ponytail/README.md +44 -0
- package/framework/plugins/ponytail/capabilities.md +112 -0
- package/framework/plugins/ponytail/install.md +77 -0
- package/framework/plugins/ponytail/troubleshooting.md +116 -0
- package/framework/references/standards/api.md +44 -0
- package/framework/references/standards/architecture.md +43 -0
- package/framework/references/standards/database.md +43 -0
- package/framework/references/standards/debugging.md +44 -0
- package/framework/references/standards/documentation.md +43 -0
- package/framework/references/standards/logging.md +43 -0
- package/framework/references/standards/naming.md +43 -0
- package/framework/references/standards/observability.md +43 -0
- package/framework/references/standards/performance.md +43 -0
- package/framework/references/standards/pull-requests.md +43 -0
- package/framework/references/standards/security.md +43 -0
- package/framework/references/standards/testing.md +43 -0
- package/framework/references/templates/adr.md +28 -0
- package/framework/references/templates/api-spec.md +56 -0
- package/framework/references/templates/design-document.md +39 -0
- package/framework/references/templates/incident-report.md +38 -0
- package/framework/references/templates/postmortem.md +41 -0
- package/framework/references/templates/pull-request.md +34 -0
- package/framework/references/templates/runbook.md +48 -0
- package/framework/references/templates/task.md +27 -0
- package/framework/skills/README.md +68 -0
- package/framework/skills/agent-browser/SKILL.md +51 -0
- package/framework/skills/backend-best-practices/SKILL.md +136 -0
- package/framework/skills/backend-best-practices/examples.md +31 -0
- package/framework/skills/backend-best-practices/references/api-design.md +79 -0
- package/framework/skills/backend-best-practices/references/architecture-review.md +77 -0
- package/framework/skills/backend-best-practices/references/database-design.md +78 -0
- package/framework/skills/backend-best-practices/references/debugging.md +76 -0
- package/framework/skills/backend-best-practices/references/observability.md +78 -0
- package/framework/skills/backend-best-practices/references/performance.md +78 -0
- package/framework/skills/backend-best-practices/references/refactoring.md +77 -0
- package/framework/skills/backend-best-practices/references/security.md +80 -0
- package/framework/skills/backend-best-practices/references/testing.md +77 -0
- package/framework/skills/backend-engineer/SKILL.md +76 -0
- package/framework/skills/backend-engineer/examples.md +31 -0
- package/framework/skills/brainstorming/SKILL.md +159 -0
- package/framework/skills/brainstorming/examples.md +49 -0
- package/framework/skills/brainstorming/scripts/frame-template.html +213 -0
- package/framework/skills/brainstorming/scripts/helper.js +167 -0
- package/framework/skills/brainstorming/scripts/server.cjs +723 -0
- package/framework/skills/brainstorming/scripts/start-server.sh +209 -0
- package/framework/skills/brainstorming/scripts/stop-server.sh +120 -0
- package/framework/skills/brainstorming/visual-companion.md +291 -0
- package/framework/skills/brand-guidelines/LICENSE.txt +202 -0
- package/framework/skills/brand-guidelines/SKILL.md +73 -0
- package/framework/skills/code-review/SKILL.md +72 -0
- package/framework/skills/code-review/examples.md +31 -0
- package/framework/skills/design/SKILL.md +399 -0
- package/framework/skills/design/examples.md +34 -0
- package/framework/skills/diagram-design/SKILL.md +485 -0
- package/framework/skills/diagram-design/assets/example-architecture-dark.html +180 -0
- package/framework/skills/diagram-design/assets/example-architecture-full.html +192 -0
- package/framework/skills/diagram-design/assets/example-architecture.html +181 -0
- package/framework/skills/diagram-design/assets/example-bar-dark.html +127 -0
- package/framework/skills/diagram-design/assets/example-bar-full.html +103 -0
- package/framework/skills/diagram-design/assets/example-bar.html +127 -0
- package/framework/skills/diagram-design/assets/example-data-flow-dark.html +143 -0
- package/framework/skills/diagram-design/assets/example-data-flow-full.html +185 -0
- package/framework/skills/diagram-design/assets/example-data-flow.html +143 -0
- package/framework/skills/diagram-design/assets/example-datalake-dark.html +241 -0
- package/framework/skills/diagram-design/assets/example-datalake-full.html +246 -0
- package/framework/skills/diagram-design/assets/example-datalake.html +267 -0
- package/framework/skills/diagram-design/assets/example-dp-integration-dark.html +78 -0
- package/framework/skills/diagram-design/assets/example-dp-integration-full.html +88 -0
- package/framework/skills/diagram-design/assets/example-dp-integration.html +78 -0
- package/framework/skills/diagram-design/assets/example-dp-security-matrix-dark.html +31 -0
- package/framework/skills/diagram-design/assets/example-dp-security-matrix-full.html +32 -0
- package/framework/skills/diagram-design/assets/example-dp-security-matrix.html +88 -0
- package/framework/skills/diagram-design/assets/example-er-dark.html +200 -0
- package/framework/skills/diagram-design/assets/example-er-full.html +203 -0
- package/framework/skills/diagram-design/assets/example-er.html +200 -0
- package/framework/skills/diagram-design/assets/example-flowchart-dark.html +154 -0
- package/framework/skills/diagram-design/assets/example-flowchart-full.html +157 -0
- package/framework/skills/diagram-design/assets/example-flowchart.html +154 -0
- package/framework/skills/diagram-design/assets/example-gantt-dark.html +135 -0
- package/framework/skills/diagram-design/assets/example-gantt-full.html +125 -0
- package/framework/skills/diagram-design/assets/example-gantt.html +135 -0
- package/framework/skills/diagram-design/assets/example-high-level-dark.html +249 -0
- package/framework/skills/diagram-design/assets/example-high-level-full.html +245 -0
- package/framework/skills/diagram-design/assets/example-high-level-vertical-dark.html +272 -0
- package/framework/skills/diagram-design/assets/example-high-level-vertical-full.html +250 -0
- package/framework/skills/diagram-design/assets/example-high-level-vertical.html +323 -0
- package/framework/skills/diagram-design/assets/example-high-level.html +299 -0
- package/framework/skills/diagram-design/assets/example-it-state-dark.html +90 -0
- package/framework/skills/diagram-design/assets/example-it-state-full.html +69 -0
- package/framework/skills/diagram-design/assets/example-it-state.html +128 -0
- package/framework/skills/diagram-design/assets/example-layers-dark.html +121 -0
- package/framework/skills/diagram-design/assets/example-layers-full.html +124 -0
- package/framework/skills/diagram-design/assets/example-layers.html +121 -0
- package/framework/skills/diagram-design/assets/example-line-dark.html +109 -0
- package/framework/skills/diagram-design/assets/example-line-full.html +103 -0
- package/framework/skills/diagram-design/assets/example-line.html +109 -0
- package/framework/skills/diagram-design/assets/example-loop-dark.html +100 -0
- package/framework/skills/diagram-design/assets/example-loop-full.html +137 -0
- package/framework/skills/diagram-design/assets/example-loop-terminal.html +347 -0
- package/framework/skills/diagram-design/assets/example-loop.html +100 -0
- package/framework/skills/diagram-design/assets/example-medallion-dark.html +159 -0
- package/framework/skills/diagram-design/assets/example-medallion-full.html +201 -0
- package/framework/skills/diagram-design/assets/example-medallion.html +159 -0
- package/framework/skills/diagram-design/assets/example-nested-dark.html +130 -0
- package/framework/skills/diagram-design/assets/example-nested-full.html +133 -0
- package/framework/skills/diagram-design/assets/example-nested.html +134 -0
- package/framework/skills/diagram-design/assets/example-org-chart-dark.html +45 -0
- package/framework/skills/diagram-design/assets/example-org-chart-full.html +45 -0
- package/framework/skills/diagram-design/assets/example-org-chart.html +45 -0
- package/framework/skills/diagram-design/assets/example-process-dark.html +62 -0
- package/framework/skills/diagram-design/assets/example-process-full.html +72 -0
- package/framework/skills/diagram-design/assets/example-process.html +62 -0
- package/framework/skills/diagram-design/assets/example-pyramid-dark.html +117 -0
- package/framework/skills/diagram-design/assets/example-pyramid-full.html +120 -0
- package/framework/skills/diagram-design/assets/example-pyramid.html +117 -0
- package/framework/skills/diagram-design/assets/example-quadrant-consultant.html +164 -0
- package/framework/skills/diagram-design/assets/example-quadrant-dark.html +133 -0
- package/framework/skills/diagram-design/assets/example-quadrant-full.html +136 -0
- package/framework/skills/diagram-design/assets/example-quadrant.html +133 -0
- package/framework/skills/diagram-design/assets/example-radar-dark.html +137 -0
- package/framework/skills/diagram-design/assets/example-radar-full.html +133 -0
- package/framework/skills/diagram-design/assets/example-radar.html +137 -0
- package/framework/skills/diagram-design/assets/example-scatter-dark.html +139 -0
- package/framework/skills/diagram-design/assets/example-scatter-full.html +114 -0
- package/framework/skills/diagram-design/assets/example-scatter.html +139 -0
- package/framework/skills/diagram-design/assets/example-sequence-dark.html +220 -0
- package/framework/skills/diagram-design/assets/example-sequence-full.html +386 -0
- package/framework/skills/diagram-design/assets/example-sequence.html +220 -0
- package/framework/skills/diagram-design/assets/example-state-dark.html +145 -0
- package/framework/skills/diagram-design/assets/example-state-full.html +148 -0
- package/framework/skills/diagram-design/assets/example-state.html +145 -0
- package/framework/skills/diagram-design/assets/example-swimlane-dark.html +170 -0
- package/framework/skills/diagram-design/assets/example-swimlane-full.html +173 -0
- package/framework/skills/diagram-design/assets/example-swimlane.html +170 -0
- package/framework/skills/diagram-design/assets/example-timeline-dark.html +133 -0
- package/framework/skills/diagram-design/assets/example-timeline-full.html +136 -0
- package/framework/skills/diagram-design/assets/example-timeline.html +133 -0
- package/framework/skills/diagram-design/assets/example-tree-dark.html +171 -0
- package/framework/skills/diagram-design/assets/example-tree-full.html +174 -0
- package/framework/skills/diagram-design/assets/example-tree.html +171 -0
- package/framework/skills/diagram-design/assets/example-venn-dark.html +130 -0
- package/framework/skills/diagram-design/assets/example-venn-full.html +133 -0
- package/framework/skills/diagram-design/assets/example-venn.html +108 -0
- package/framework/skills/diagram-design/assets/icons.html +230 -0
- package/framework/skills/diagram-design/assets/index.html +333 -0
- package/framework/skills/diagram-design/assets/template-dark.html +82 -0
- package/framework/skills/diagram-design/assets/template-full.html +410 -0
- package/framework/skills/diagram-design/assets/template-terminal.html +170 -0
- package/framework/skills/diagram-design/assets/template.html +83 -0
- package/framework/skills/diagram-design/references/export.md +107 -0
- package/framework/skills/diagram-design/references/onboarding.md +268 -0
- package/framework/skills/diagram-design/references/primitive-annotation.md +36 -0
- package/framework/skills/diagram-design/references/primitive-icons.md +821 -0
- package/framework/skills/diagram-design/references/primitive-sketchy.md +43 -0
- package/framework/skills/diagram-design/references/primitive-terminal.md +76 -0
- package/framework/skills/diagram-design/references/style-guide.md +139 -0
- package/framework/skills/diagram-design/references/type-architecture.md +78 -0
- package/framework/skills/diagram-design/references/type-bar.md +48 -0
- package/framework/skills/diagram-design/references/type-data-flow.md +374 -0
- package/framework/skills/diagram-design/references/type-dp-integration.md +410 -0
- package/framework/skills/diagram-design/references/type-dp-security-matrix.md +379 -0
- package/framework/skills/diagram-design/references/type-er.md +23 -0
- package/framework/skills/diagram-design/references/type-flowchart.md +23 -0
- package/framework/skills/diagram-design/references/type-gantt.md +45 -0
- package/framework/skills/diagram-design/references/type-high-level.md +458 -0
- package/framework/skills/diagram-design/references/type-it-state.md +470 -0
- package/framework/skills/diagram-design/references/type-layers.md +26 -0
- package/framework/skills/diagram-design/references/type-line.md +44 -0
- package/framework/skills/diagram-design/references/type-loop.md +223 -0
- package/framework/skills/diagram-design/references/type-medallion.md +356 -0
- package/framework/skills/diagram-design/references/type-nested.md +22 -0
- package/framework/skills/diagram-design/references/type-org-chart.md +44 -0
- package/framework/skills/diagram-design/references/type-process.md +495 -0
- package/framework/skills/diagram-design/references/type-pyramid.md +33 -0
- package/framework/skills/diagram-design/references/type-quadrant.md +81 -0
- package/framework/skills/diagram-design/references/type-radar.md +80 -0
- package/framework/skills/diagram-design/references/type-scatter.md +39 -0
- package/framework/skills/diagram-design/references/type-sequence.md +35 -0
- package/framework/skills/diagram-design/references/type-state.md +21 -0
- package/framework/skills/diagram-design/references/type-swimlane.md +20 -0
- package/framework/skills/diagram-design/references/type-timeline.md +20 -0
- package/framework/skills/diagram-design/references/type-tree.md +24 -0
- package/framework/skills/diagram-design/references/type-venn.md +26 -0
- package/framework/skills/documentation/SKILL.md +74 -0
- package/framework/skills/documentation/examples.md +31 -0
- package/framework/skills/find-skills/SKILL.md +141 -0
- package/framework/skills/find-skills/examples.md +35 -0
- package/framework/skills/gitlab-mcp/SKILL.md +83 -0
- package/framework/skills/gitlab-mcp/examples.md +31 -0
- package/framework/skills/gitlab-mcp/references/code-review.md +110 -0
- package/framework/skills/gitlab-mcp/references/issues.md +141 -0
- package/framework/skills/gitlab-mcp/references/merge-requests.md +120 -0
- package/framework/skills/gitlab-mcp/references/pipelines.md +67 -0
- package/framework/skills/gitlab-mcp/references/search.md +17 -0
- package/framework/skills/gitlab-mcp/references/webhooks.md +32 -0
- package/framework/skills/gitlab-mcp/references/work-items.md +50 -0
- package/framework/skills/jira-mcp/SKILL.md +57 -0
- package/framework/skills/jira-mcp/examples.md +31 -0
- package/framework/skills/jira-mcp/references/comments.md +27 -0
- package/framework/skills/jira-mcp/references/issues.md +97 -0
- package/framework/skills/jira-mcp/references/projects.md +39 -0
- package/framework/skills/laravel-best-practices/SKILL.md +229 -0
- package/framework/skills/laravel-best-practices/examples.md +31 -0
- package/framework/skills/laravel-best-practices/references/advanced-queries.md +106 -0
- package/framework/skills/laravel-best-practices/references/architecture.md +202 -0
- package/framework/skills/laravel-best-practices/references/blade-views.md +36 -0
- package/framework/skills/laravel-best-practices/references/caching.md +70 -0
- package/framework/skills/laravel-best-practices/references/collections.md +44 -0
- package/framework/skills/laravel-best-practices/references/config.md +73 -0
- package/framework/skills/laravel-best-practices/references/db-performance.md +192 -0
- package/framework/skills/laravel-best-practices/references/eloquent.md +148 -0
- package/framework/skills/laravel-best-practices/references/error-handling.md +72 -0
- package/framework/skills/laravel-best-practices/references/events-notifications.md +52 -0
- package/framework/skills/laravel-best-practices/references/http-client.md +160 -0
- package/framework/skills/laravel-best-practices/references/mail.md +27 -0
- package/framework/skills/laravel-best-practices/references/migrations.md +121 -0
- package/framework/skills/laravel-best-practices/references/passport.md +197 -0
- package/framework/skills/laravel-best-practices/references/pennant.md +61 -0
- package/framework/skills/laravel-best-practices/references/pest-testing.md +166 -0
- package/framework/skills/laravel-best-practices/references/pulse.md +196 -0
- package/framework/skills/laravel-best-practices/references/queue-jobs.md +144 -0
- package/framework/skills/laravel-best-practices/references/routing.md +99 -0
- package/framework/skills/laravel-best-practices/references/scheduling.md +39 -0
- package/framework/skills/laravel-best-practices/references/scout.md +176 -0
- package/framework/skills/laravel-best-practices/references/security.md +198 -0
- package/framework/skills/laravel-best-practices/references/spatie-laravel-backup.md +222 -0
- package/framework/skills/laravel-best-practices/references/spatie-laravel-permission.md +272 -0
- package/framework/skills/laravel-best-practices/references/spatie-medialibrary.md +672 -0
- package/framework/skills/laravel-best-practices/references/style.md +125 -0
- package/framework/skills/laravel-best-practices/references/tailwindcss.md +112 -0
- package/framework/skills/laravel-best-practices/references/testing.md +43 -0
- package/framework/skills/laravel-best-practices/references/validation.md +75 -0
- package/framework/skills/lavish/SKILL.md +67 -0
- package/framework/skills/lavish/examples.md +31 -0
- package/framework/skills/notion-mcp/SKILL.md +57 -0
- package/framework/skills/notion-mcp/examples.md +31 -0
- package/framework/skills/notion-mcp/references/comments.md +112 -0
- package/framework/skills/notion-mcp/references/databases.md +193 -0
- package/framework/skills/notion-mcp/references/pages.md +235 -0
- package/framework/skills/skill-creator/LICENSE.txt +202 -0
- package/framework/skills/skill-creator/SKILL.md +485 -0
- package/framework/skills/skill-creator/agents/analyzer.md +274 -0
- package/framework/skills/skill-creator/agents/comparator.md +202 -0
- package/framework/skills/skill-creator/agents/grader.md +223 -0
- package/framework/skills/skill-creator/assets/eval_review.html +146 -0
- package/framework/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/framework/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/framework/skills/skill-creator/examples.md +31 -0
- package/framework/skills/skill-creator/references/schemas.md +430 -0
- package/framework/skills/skill-creator/scripts/__init__.py +0 -0
- package/framework/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/framework/skills/skill-creator/scripts/generate_report.py +326 -0
- package/framework/skills/skill-creator/scripts/improve_description.py +247 -0
- package/framework/skills/skill-creator/scripts/package_skill.py +136 -0
- package/framework/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/framework/skills/skill-creator/scripts/run_eval.py +310 -0
- package/framework/skills/skill-creator/scripts/run_loop.py +328 -0
- package/framework/skills/skill-creator/scripts/utils.py +47 -0
- package/framework/styles/README.md +35 -0
- package/framework/styles/linear/DESIGN.md +478 -0
- package/framework/styles/linear/README.md +36 -0
- package/framework/styles/linear/assets/preview.jpg +0 -0
- package/framework/styles/raycast/DESIGN.md +495 -0
- package/framework/styles/raycast/README.md +35 -0
- package/framework/styles/raycast/assets/preview.jpg +0 -0
- package/package.json +33 -0
- package/src/agent-configs.js +96 -0
- package/src/catalog.js +145 -0
- package/src/cli.js +254 -0
- package/src/installer.js +303 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Conduct security audits for REST APIs and identify vulnerabilities. Use PROACTIVELY for authentication reviews, authorization checks, or security compliance validation.
|
|
3
|
+
mode: subagent
|
|
4
|
+
temperature: 0.1
|
|
5
|
+
permission:
|
|
6
|
+
bash: allow
|
|
7
|
+
read: allow
|
|
8
|
+
edit: deny
|
|
9
|
+
write: deny
|
|
10
|
+
patch: deny
|
|
11
|
+
grep: allow
|
|
12
|
+
glob: allow
|
|
13
|
+
list: allow
|
|
14
|
+
webfetch: allow
|
|
15
|
+
todoread: deny
|
|
16
|
+
todowrite: deny
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
You audit REST API security and identify vulnerabilities. You are authoritative, precise, and practical — you find real threats, not theoretical ones.
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
Focus on REST API security across these areas:
|
|
24
|
+
|
|
25
|
+
### 1. Authentication
|
|
26
|
+
- Is identity verified at every entry point (not just the main endpoint)?
|
|
27
|
+
- Token validation: signature, expiration (`exp`), issuer (`iss`), audience (`aud`) — all checked?
|
|
28
|
+
- Are short-lived access tokens (15-60 min) and refresh tokens used?
|
|
29
|
+
- Are password reset, MFA enrollment, and token refresh endpoints equally protected?
|
|
30
|
+
|
|
31
|
+
### 2. Authorization
|
|
32
|
+
- Are permission checks enforced at the service layer, not just the API gateway or UI?
|
|
33
|
+
- Is access checked against the specific resource (object-level), not assumed from the caller?
|
|
34
|
+
- Horizontal privilege escalation: can User A access User B's resources by changing an ID?
|
|
35
|
+
- Vertical privilege escalation: can a low-privilege user call admin-only endpoints?
|
|
36
|
+
|
|
37
|
+
### 3. Input Validation & Injection
|
|
38
|
+
- Are all inputs validated, sanitized, and type-checked at the API boundary?
|
|
39
|
+
- SQL injection: parameterized queries everywhere (no string concatenation)?
|
|
40
|
+
- NoSQL injection, command injection, LDAP injection, XML injection?
|
|
41
|
+
- Is there a size/type allowlist for file uploads? Are uploaded files stored outside the web root?
|
|
42
|
+
- SSRF: does the API fetch user-supplied URLs without allowlist validation?
|
|
43
|
+
|
|
44
|
+
### 4. Secrets & Credentials
|
|
45
|
+
- Any secrets in source code, config files, .env files, CI variables, or container images?
|
|
46
|
+
- Are API keys, tokens, and passwords in logs, error responses, or stack traces?
|
|
47
|
+
- Secrets manager (Vault, AWS Secrets Manager, etc.) used for production secrets?
|
|
48
|
+
- Are database connection strings, signing keys, and third-party tokens managed securely?
|
|
49
|
+
|
|
50
|
+
### 5. Data Protection
|
|
51
|
+
- TLS 1.2+ enforced for all API traffic? Is HTTP redirected to HTTPS?
|
|
52
|
+
- Sensitive data encrypted at rest (AES-256)?
|
|
53
|
+
- Are credit cards, PII, or credentials in API request/response bodies (including logs)?
|
|
54
|
+
- Is sensitive data exposed in URLs (e.g., `/api/user/email=foo@bar.com`)?
|
|
55
|
+
|
|
56
|
+
### 6. Rate Limiting & Abuse
|
|
57
|
+
- Are authentication, password reset, and expensive endpoints rate-limited?
|
|
58
|
+
- Are rate limits per-user or per-IP (and can IP-rotation bypass them)?
|
|
59
|
+
- Request size limits on POST/PUT bodies?
|
|
60
|
+
- Webhook endpoints protected (HMAC verification, IP allowlist)?
|
|
61
|
+
|
|
62
|
+
### 7. Security Headers
|
|
63
|
+
- `Content-Security-Policy`, `X-Content-Type-Options: nosniff`, `Strict-Transport-Security`, `X-Frame-Options: DENY`?
|
|
64
|
+
- CORS: is `Access-Control-Allow-Origin` too permissive (e.g., `*` with credentials)?
|
|
65
|
+
- Is `Access-Control-Allow-Credentials: true` only when needed and paired with a specific origin?
|
|
66
|
+
|
|
67
|
+
### 8. Logging & Monitoring
|
|
68
|
+
- Are authentication failures and authorization denials logged for audit?
|
|
69
|
+
- Are logs free of secrets, tokens, and PII?
|
|
70
|
+
- Is there an alert on brute-force patterns (N failures in M minutes)?
|
|
71
|
+
|
|
72
|
+
## Audit Process
|
|
73
|
+
|
|
74
|
+
### Step 1: Map the Attack Surface
|
|
75
|
+
Identify: entry points (all routes), data assets (what each endpoint handles), trust boundaries, authentication mechanisms, third-party integrations.
|
|
76
|
+
|
|
77
|
+
### Step 2: Review Code and Config
|
|
78
|
+
- Load [`skills/backend-best-practices/references/security.md`](../skills/backend-best-practices/references/security.md) and [`references/standards/security.md`](../references/standards/security.md).
|
|
79
|
+
- Read route definitions, middleware, auth guards, service-layer authorization, input validation logic.
|
|
80
|
+
- Read config files for CORS, rate limiting, TLS settings, secrets.
|
|
81
|
+
|
|
82
|
+
### Step 3: Test for Common Vulnerabilities
|
|
83
|
+
Run controlled tests where safe:
|
|
84
|
+
- Attempt IDOR by modifying IDs in requests
|
|
85
|
+
- Check for missing auth on non-obvious endpoints
|
|
86
|
+
- Verify rate limits on auth endpoints
|
|
87
|
+
- Check error responses for stack traces or internal details
|
|
88
|
+
|
|
89
|
+
### Step 4: Document Findings
|
|
90
|
+
For each finding include:
|
|
91
|
+
- **Severity**: Critical / High / Medium / Low
|
|
92
|
+
- **Location**: file:line or endpoint
|
|
93
|
+
- **Risk**: realistic scenario where exploited
|
|
94
|
+
- **Fix**: concrete remediation steps
|
|
95
|
+
|
|
96
|
+
## Output Format
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
## Summary
|
|
100
|
+
[Overall risk level and key finding count]
|
|
101
|
+
|
|
102
|
+
## Critical/High Findings
|
|
103
|
+
[Highest priority issues]
|
|
104
|
+
|
|
105
|
+
### [TITLE]
|
|
106
|
+
- **Severity**: Critical
|
|
107
|
+
- **Location**: path/file.php:line
|
|
108
|
+
- **Risk**: what an attacker could do
|
|
109
|
+
- **Fix**: specific remediation
|
|
110
|
+
|
|
111
|
+
[Repeat...]
|
|
112
|
+
|
|
113
|
+
## Medium/Low Findings
|
|
114
|
+
[Lower priority but still relevant]
|
|
115
|
+
|
|
116
|
+
## Security Posture
|
|
117
|
+
- What's done well
|
|
118
|
+
- What's missing
|
|
119
|
+
- Recommended priority actions
|
|
120
|
+
|
|
121
|
+
## Non-Findings (Notable)
|
|
122
|
+
Items explicitly checked and found secure — demonstrates thoroughness.
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Tone
|
|
126
|
+
|
|
127
|
+
- **Authoritative but practical** — flag real threats, not compliance checkbox items
|
|
128
|
+
- **Specific** — exact file:line, curl examples, concrete fixes
|
|
129
|
+
- **Risk-driven** — prioritize by exploitability and impact, not theoretical severity
|
|
130
|
+
|
|
131
|
+
Return findings in response. Do not modify any files.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Command Catalog
|
|
2
|
+
|
|
3
|
+
A catalog of slash commands for AI coding agents.
|
|
4
|
+
|
|
5
|
+
Commands define repeatable workflows that agents execute on demand, triggered by a slash command and optional arguments. Each command describes the process steps, references the relevant skill and standards, and produces a structured deliverable.
|
|
6
|
+
|
|
7
|
+
## Available Commands
|
|
8
|
+
|
|
9
|
+
| Command | Purpose | Loads |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| [`/changelog`](./changelog.md) | Create, add, or update CHANGELOG.md entries. | — |
|
|
12
|
+
| [`/commit`](./commit.md) | Create atomic git commits with conventional messages. | — |
|
|
13
|
+
| [`/learn`](./learn.md) | Distill a reusable skill from any source — directory, URL, workflow, or pasted notes. | skill-creator skill |
|
|
14
|
+
| [`/pr`](./pr.md) | Create a GitHub PR for the current branch. | pull-requests standard |
|
|
15
|
+
| [`/mr`](./mr.md) | Create a GitLab MR for the current branch. | pull-requests standard |
|
|
16
|
+
| [`/release`](./release.md) | Create a release by tagging, generating changelog, and bumping version. | — |
|
|
17
|
+
| [`/review`](./review.md) | Perform comprehensive code quality review. | code-review skill, naming/testing/security/performance standards |
|
|
18
|
+
| [`/summarize-changes`](./summarize-changes.md) | Summarize uncommitted changes and flag risky patterns. | — |
|
|
19
|
+
|
|
20
|
+
## Command Entry Structure
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
commands/<command-name>.md
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Each command file uses frontmatter with a `description` field, the command signature with `$ARGUMENTS` placeholder, and a `## Process` section with numbered steps.
|
|
27
|
+
|
|
28
|
+
## How to Contribute a New Command
|
|
29
|
+
|
|
30
|
+
1. Create `commands/<command-name>.md` following the existing format.
|
|
31
|
+
2. Write a clear `description` in the frontmatter.
|
|
32
|
+
3. Define the command signature with `$ARGUMENTS` for optional arguments.
|
|
33
|
+
4. Break the workflow into numbered steps under `## Process`.
|
|
34
|
+
5. Reference related skills and standards with relative links.
|
|
35
|
+
6. Add the command to the table in this README.
|
|
36
|
+
|
|
37
|
+
## Related Repository Areas
|
|
38
|
+
|
|
39
|
+
- [`skills/`](../skills/) contains skill definitions loaded by commands.
|
|
40
|
+
- [`mcps/`](../mcps/) contains the MCP server catalog.
|
|
41
|
+
- [`plugins/`](../plugins/) contains the OpenCode plugin catalog.
|
|
42
|
+
- [`references/standards/`](../references/standards/) contains canonical engineering rules.
|
|
43
|
+
- [`references/templates/`](../references/templates/) contains reusable engineering deliverables.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create, add, or update entries in CHANGELOG.md
|
|
3
|
+
agent: build
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Changelog $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Maintain CHANGELOG.md entries for my changes.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. **Review and categorize** - Review conversation history, read current `CHANGELOG.md`, determine if changes are `Added`, `Changed`, `Fixed`, `Removed`, `Deprecated`, or `Security`. Read the existing `## Unreleased` section.
|
|
13
|
+
|
|
14
|
+
2. **Group related changes** - Combine related changes into single bullet points. Use past tense ("Added...", "Fixed..."). Include file paths or component names in backticks when helpful. Match existing style and tone.
|
|
15
|
+
|
|
16
|
+
3. **Add entries** - Insert new bullet points under the correct heading within `## Unreleased`. Create the `## Unreleased` section with relevant headings if it does not exist. Preserve all existing entries.
|
|
17
|
+
|
|
18
|
+
4. **Verify** - Read the final `CHANGELOG.md` to confirm entries are in the right section, correctly formatted, and no existing entries were altered or removed.
|
|
19
|
+
|
|
20
|
+
## Entry Format
|
|
21
|
+
|
|
22
|
+
```markdown
|
|
23
|
+
## Unreleased
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
- New features, entries, additions.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Changes in existing functionality, refactors, renames.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
- Bug fixes, corrections.
|
|
33
|
+
|
|
34
|
+
### Removed
|
|
35
|
+
- Removed features, files, entries.
|
|
36
|
+
|
|
37
|
+
### Deprecated
|
|
38
|
+
- Soon-to-be-removed features.
|
|
39
|
+
|
|
40
|
+
### Security
|
|
41
|
+
- Vulnerabilities, security fixes.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Note:** Group entries by section. Order sections: Added, Changed, Fixed, Removed, Deprecated, Security. Within each section, entries are reverse-chronological (newest first). Keep descriptions concise but informative — include the file path or component name when it adds clarity.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create atomic git commits with conventional messages
|
|
3
|
+
agent: build
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Commit $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Create git commits for my changes.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. **Analyze and plan** - Review conversation history, run `git status -s` and `git diff`, determine if changes should be one or multiple logical commits, group related files, draft conventional commit messages (`type: description`) in imperative mood focusing on why
|
|
13
|
+
2. **Present plan** - List files for each commit, show commit messages with type prefix, ask: "I plan to create [N] commit(s) with these changes. Shall I proceed?"
|
|
14
|
+
3. **Execute upon confirmation** - Use `git add` with specific files (never `-A` or `.`), create commits with planned messages, show result with `git log --oneline -n [N]`
|
|
15
|
+
|
|
16
|
+
## Commit Message Format
|
|
17
|
+
|
|
18
|
+
Use conventional commit format: `type: description`
|
|
19
|
+
|
|
20
|
+
**Types:**
|
|
21
|
+
- `feat:` - New feature (user-facing)
|
|
22
|
+
- `fix:` - Bug fix (user-facing)
|
|
23
|
+
- `docs:` - Documentation only
|
|
24
|
+
- `chore:` - Maintenance, tooling, dependencies
|
|
25
|
+
- `refactor:` - Code restructuring without behavior change
|
|
26
|
+
- `test:` - Adding or updating tests
|
|
27
|
+
- `perf:` - Performance improvement
|
|
28
|
+
- `ci:` - CI/CD changes
|
|
29
|
+
|
|
30
|
+
**Note:** During release generation, `chore:`, `docs:`, and `ci:` commits are filtered from changelog. Only user-facing changes (`fix:`, `feat:`, etc.) are included.
|
|
31
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Distill a reusable skill from any source — directory, URL, workflow, or pasted notes
|
|
3
|
+
agent: build
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Learn $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Distill a reusable skill from anything the user describes. The agent gathers sources with its own tools, analyzes the pattern, and authors a SKILL.md with examples.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. **Understand the source** — If the user provides a directory path, explore its structure and read key files. If a URL, fetch and analyze its content. If "the workflow we just did", review conversation history for tools used, step sequence, and corrections. If pasted notes, analyze them for structure, rules, and intent. Load [`skills/skill-creator/SKILL.md`](../skills/skill-creator/SKILL.md) for skill writing guidance.
|
|
13
|
+
|
|
14
|
+
2. **Capture intent and confirm** — Determine: what should this skill enable? When should it trigger (what user phrases/contexts)? What's the expected output format? Should test cases be created? Ask the user to confirm before proceeding.
|
|
15
|
+
|
|
16
|
+
3. **Research and gather context** — Search for similar existing skills in the catalog. Check for relevant MCPs, standards, or references. Identify edge cases, input/output formats, and dependencies.
|
|
17
|
+
|
|
18
|
+
4. **Author the skill** — Create `skills/<name>/SKILL.md` with: frontmatter (name, description optimized for triggering), purpose, when to activate, step-by-step workflow, rules, deliverables, and checklist. Follow skill-creator principles: use imperative form, explain the *why*, keep under 500 lines, avoid over-constraining with MUSTs.
|
|
19
|
+
|
|
20
|
+
5. **Write examples** — Create `skills/<name>/examples.md` with 3+ realistic examples. Each should show the trigger context, input, and expected output or workflow.
|
|
21
|
+
|
|
22
|
+
6. **Register in catalog** — Add the skill to `skills/README.md` in the correct alphabetical position in the table.
|
|
23
|
+
|
|
24
|
+
7. **Present result** — Show the user what was created (path, structure, description). Offer to create test cases, iterate on the skill, or run the description optimizer.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a merge request from the current branch
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Create $ARGUMENTS merge request
|
|
6
|
+
|
|
7
|
+
Create a merge request for the current branch.
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
1. **Collect information**
|
|
12
|
+
- Get current branch name: `git branch --show-current`
|
|
13
|
+
- Read MR template from `.gitlab/merge_request_templates/default.md` of exsits
|
|
14
|
+
|
|
15
|
+
2. **Format MR title**
|
|
16
|
+
- Take the branch name, replace all `-` with spaces, capitalize first character
|
|
17
|
+
|
|
18
|
+
3. **Collect commits and build summary**
|
|
19
|
+
- List commits on the branch that are not on `dev`: `git log dev..HEAD --oneline`
|
|
20
|
+
- Read each commit message, convert to a bullet list summarizing user-facing changes
|
|
21
|
+
- Merge/squash related commits (e.g. multiple commits for the same change)
|
|
22
|
+
- Keep concise, one bullet per logical change
|
|
23
|
+
|
|
24
|
+
4. **Fill template**
|
|
25
|
+
- Set Summary to the bullet list from step 3
|
|
26
|
+
- Keep the Checklist section as-is
|
|
27
|
+
|
|
28
|
+
5. **Present plan and confirm** - Show:
|
|
29
|
+
- Source branch
|
|
30
|
+
- Target branch: `develop`
|
|
31
|
+
- Title
|
|
32
|
+
- Filled description
|
|
33
|
+
- Ask: "Shall I create this MR?"
|
|
34
|
+
- Push the changes if user says Yes
|
|
35
|
+
|
|
36
|
+
6. **Create upon confirmation** - Use `gitlab_create_merge_request`:
|
|
37
|
+
- `project_id`: `group/repo`
|
|
38
|
+
- `title`: Prepend "Draft: " to the formatted branch name
|
|
39
|
+
- `source_branch`: Current branch
|
|
40
|
+
- `target_branch`: `develop`
|
|
41
|
+
- `description`: Filled template content
|
|
42
|
+
- `assignee_ids`: `[1]`
|
|
43
|
+
- `squash`: `true`
|
|
44
|
+
- `remove_source_branch`: `true`
|
|
45
|
+
|
|
46
|
+
7. **Show the resulting URL.**
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a GitHub PR for the current branch
|
|
3
|
+
agent: build
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
PR $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Create or update a pull request for the current branch using `gh` cli.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. **Collect information**
|
|
13
|
+
- Get current branch name: `git branch --show-current`
|
|
14
|
+
- Read PR template from `.github/pull_request_template.md` of exsits
|
|
15
|
+
|
|
16
|
+
2. **Format PR title**
|
|
17
|
+
- Take the branch name, replace all `-` with spaces, capitalize first character
|
|
18
|
+
|
|
19
|
+
3. **Collect commits and build summary**
|
|
20
|
+
- List commits on the branch that are not on `dev`: `git log dev..HEAD --oneline`
|
|
21
|
+
- Read each commit message, convert to a bullet list summarizing user-facing changes
|
|
22
|
+
- Merge/squash related commits (e.g. multiple commits for the same change)
|
|
23
|
+
- Keep concise, one bullet per logical change
|
|
24
|
+
|
|
25
|
+
4. **Fill template**
|
|
26
|
+
- Set Summary to the bullet list from step 3
|
|
27
|
+
- Keep the Checklist section as-is
|
|
28
|
+
|
|
29
|
+
5. **Present plan and confirm** - Show:
|
|
30
|
+
- Source branch
|
|
31
|
+
- Target branch: `develop`
|
|
32
|
+
- Title
|
|
33
|
+
- Filled description
|
|
34
|
+
- Ask: "Shall I create this PR?"
|
|
35
|
+
- Push the changes if user says Yes
|
|
36
|
+
|
|
37
|
+
6. **Create upon confirmation** - Use `gh` cli:
|
|
38
|
+
- `gh pr create --title "<title>" --body "<body>" --base <target>`
|
|
39
|
+
- Show the resulting URL.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a release by tagging the current state, generating changelog, and bumping version
|
|
3
|
+
agent: build
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Release $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Create a release from the current branch state.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. **Review recent commits** - Run `git fetch --tags`, `git describe --tags --abbrev=0` to find the latest tag. Run `git log <latest-tag>..HEAD --oneline --format="%s"` to collect all conventional commits since the last release. Read any existing `CHANGELOG.md`.
|
|
13
|
+
|
|
14
|
+
2. **Categorize commits** - Group commits by conventional commit type:
|
|
15
|
+
- `feat!:` or `BREAKING CHANGE:` → breaking change
|
|
16
|
+
- `feat:` → minor feature
|
|
17
|
+
- `fix:` → patch fix
|
|
18
|
+
- `perf:`, `refactor:`, `test:` → patch (if no features)
|
|
19
|
+
- `chore:`, `docs:`, `ci:` → filtered from changelog
|
|
20
|
+
|
|
21
|
+
3. **Determine next version** - Based on the [`commit.md`](./commit.md) semver convention:
|
|
22
|
+
- Breaking changes → increment major version (e.g., `1.2.3` → `2.0.0`)
|
|
23
|
+
- New features → increment minor version (e.g., `1.2.3` → `1.3.0`)
|
|
24
|
+
- Only fixes/refactors → increment patch version (e.g., `1.2.3` → `1.3.4`)
|
|
25
|
+
- If no previous tag exists, propose `0.1.0`
|
|
26
|
+
|
|
27
|
+
4. **Present release plan** - Show: current version, new version, categorized changelog entries, and ask: "Shall I create this release (tag vX.Y.Z and update CHANGELOG.md)?"
|
|
28
|
+
|
|
29
|
+
5. **Execute on confirmation**:
|
|
30
|
+
- Update `CHANGELOG.md`: create a new `## [vX.Y.Z]` section under `## Unreleased`, move categorized entries (excluding chore/docs/ci) into it, add the release date, keep the `## Unreleased` section empty for future work
|
|
31
|
+
- Run `git add CHANGELOG.md && git commit -m "chore: release vX.Y.Z"`
|
|
32
|
+
- Run `git tag -a vX.Y.Z -m "vX.Y.Z"`
|
|
33
|
+
|
|
34
|
+
6. **Verify** - Run `git log --oneline -n 3` and `git tag --list --sort=-v:refname -n5` to confirm the release tag and commit are in place.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Perform comprehensive code quality review
|
|
3
|
+
agent: plan
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Review $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Perform comprehensive code quality review.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. **Review conversation and diff** - Read conversation history, run `git diff` for staged/unstaged changes, identify the problem being solved and the behavior being modified. Load [`skills/code-review/SKILL.md`](../skills/code-review/SKILL.md) and related standards: [`references/standards/naming.md`](../references/standards/naming.md), [`references/standards/testing.md`](../references/standards/testing.md), [`references/standards/security.md`](../references/standards/security.md), [`references/standards/performance.md`](../references/standards/performance.md).
|
|
13
|
+
|
|
14
|
+
2. **Check correctness** - Edge cases, concurrency, error handling, state transitions, backward compatibility. Read contracts and interfaces before implementation.
|
|
15
|
+
|
|
16
|
+
3. **Check maintainability** - Naming reflects business meaning, structure matches project conventions, comments explain why not what.
|
|
17
|
+
|
|
18
|
+
4. **Check testing** - Do tests prove the behavior change? Missing edge cases or failure paths? Tests should verify behavior, not mirror implementation.
|
|
19
|
+
|
|
20
|
+
5. **Check performance** - N+1 queries, unbounded loops, unnecessary allocations, caching opportunities.
|
|
21
|
+
|
|
22
|
+
6. **Check security** - Input validation, authentication enforcement, secrets exposure, least privilege.
|
|
23
|
+
|
|
24
|
+
7. **Present findings** - Distinguish blockers from suggestions, explain reasoning for each, summarize overall risk and production readiness.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.
|
|
3
|
+
agent: plan
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Summarize Changes $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Summarize uncommitted changes and flag risky patterns.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
1. **Inspect working tree** - Run `git status` (staged and unstaged), `git diff --stat`, `git diff` (and `git diff --cached` for staged). Count files changed, insertions, deletions.
|
|
13
|
+
|
|
14
|
+
2. **Categorize changes** - Group files by type of change:
|
|
15
|
+
- New files vs modifications vs deletions vs renames
|
|
16
|
+
- By layer: config, migrations, controllers, models, views, tests, infrastructure
|
|
17
|
+
|
|
18
|
+
3. **Analyze risk** - Scan diffs for specific risk signals:
|
|
19
|
+
- **Secrets**: API keys, tokens, passwords, connection strings in any file
|
|
20
|
+
- **TODOs/FIXMEs**: incomplete work left behind
|
|
21
|
+
- **Debug code**: `console.log`, `dd()`, `var_dump`, `print`, debug breakpoints
|
|
22
|
+
- **Large diffs**: files with >100 changed lines (hard to review)
|
|
23
|
+
- **Generated files**: lockfiles, compiled assets, build outputs in the diff
|
|
24
|
+
- **Migration changes**: database migrations without corresponding model changes (or vice versa)
|
|
25
|
+
- **Config changes**: environment config, .env, CI config changes
|
|
26
|
+
- **Comment-only changes**: files changed only in comments (suspicious)
|
|
27
|
+
- **Permission changes**: executable bit changes, ownership changes
|
|
28
|
+
|
|
29
|
+
4. **Summarize** - Present a clear summary: files changed, insertion/deletion counts, categorized by risk level.
|
|
30
|
+
|
|
31
|
+
## Output Format
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
## Summary
|
|
35
|
+
N files changed, +X/-Y lines
|
|
36
|
+
|
|
37
|
+
## Changes by Category
|
|
38
|
+
- **New**: file1, file2
|
|
39
|
+
- **Modified**: file3, file4
|
|
40
|
+
- **Deleted**: file5
|
|
41
|
+
|
|
42
|
+
## Risks
|
|
43
|
+
🔴 HIGH: [risk description] — file:line
|
|
44
|
+
🟡 MEDIUM: [risk description] — file:line
|
|
45
|
+
🔵 LOW: [risk description] — file:line
|
|
46
|
+
|
|
47
|
+
## Suggested Commit(s)
|
|
48
|
+
feat: description
|
|
49
|
+
```
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# MCP Catalog
|
|
2
|
+
|
|
3
|
+
A curated catalog of Model Context Protocol (MCP) servers for AI coding agents.
|
|
4
|
+
|
|
5
|
+
This catalog is framework-agnostic: each entry documents what the server does, when to use it, how to install it, how to configure it across common AI clients, and how to troubleshoot it.
|
|
6
|
+
|
|
7
|
+
## Available MCPs
|
|
8
|
+
|
|
9
|
+
| MCP | Purpose | Best fit |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| [Excalidraw MCP](./excalidraw/README.md) | Stream hand-drawn Excalidraw diagrams with interactive fullscreen editing — architecture diagrams, flowcharts, wireframes. | Any project that benefits from visual diagrams, architecture visualization, or design sketching. |
|
|
12
|
+
| [Figma MCP Go](./figma-mcp-go/README.md) | Full read/write access to Figma designs via plugin bridge — no API token or rate limits. | Any project that works with Figma designs. |
|
|
13
|
+
| [GitLab MCP](./gitlab-mcp/README.md) | Comprehensive GitLab integration — projects, MRs, issues, pipelines, wiki, milestones, and more. | Any project hosted on GitLab (SaaS or self-hosted). |
|
|
14
|
+
| [GitHub MCP](./github-mcp/README.md) | Connect AI tools to GitHub — browse repos, manage issues and PRs, monitor Actions workflows. | Any project hosted on GitHub. |
|
|
15
|
+
| [Jira MCP](./jira-mcp/README.md) | Interact with self-hosted Jira instances — issues, JQL search, comments, assignments, and projects. | Any project using self-hosted Jira for issue tracking. |
|
|
16
|
+
| [Laravel Boost](./laravel-boost/README.md) | Gives AI agents Laravel application context, Laravel ecosystem documentation search, and safe local inspection tools. | Laravel applications. |
|
|
17
|
+
| [Notion MCP](./notion-mcp/README.md) | Search, read, and write content in a Notion workspace — pages, databases, views, comments, and more via remote HTTP MCP. | Any project that uses Notion for documentation, tracking, or collaboration. |
|
|
18
|
+
| [Playwright MCP](./playwright-mcp/README.md) | Cross-browser automation via accessibility snapshots — navigate, click, type, screenshot, evaluate, network control, storage management. | Any project needing browser automation or end-to-end testing. |
|
|
19
|
+
| [Supabase MCP](./supabase-mcp/README.md) | Manage Supabase projects, query databases, design schema, run migrations, deploy Edge Functions, manage Auth/Storage/Realtime, and search docs. | Any project using Supabase as backend. |
|
|
20
|
+
|
|
21
|
+
## Why MCPs Are Useful
|
|
22
|
+
|
|
23
|
+
MCP servers give AI clients a standard way to connect to project-aware tools and data sources. For coding agents, this can improve:
|
|
24
|
+
|
|
25
|
+
- **Context accuracy**: agents can inspect real application state instead of relying only on static files.
|
|
26
|
+
- **Tool consistency**: one server can work across many clients that support MCP.
|
|
27
|
+
- **Operational safety**: capabilities and permissions are explicit in configuration.
|
|
28
|
+
- **Repeatability**: teams can document the same install and verification steps for every developer.
|
|
29
|
+
|
|
30
|
+
## How to Choose an MCP
|
|
31
|
+
|
|
32
|
+
Use an MCP when it provides concrete project context or a controlled tool that the AI client cannot reliably infer from source code alone.
|
|
33
|
+
|
|
34
|
+
Before installing one, check:
|
|
35
|
+
|
|
36
|
+
- **Scope**: Does it match the framework, platform, or workflow in the project?
|
|
37
|
+
- **Capabilities**: Does it expose tools that materially improve the agent's work?
|
|
38
|
+
- **Permissions**: Can it read or modify sensitive data, run commands, or query databases?
|
|
39
|
+
- **Client support**: Does your AI client support local stdio MCP servers or the server's required transport?
|
|
40
|
+
- **Maintenance**: Is the server actively maintained and documented by an authoritative source?
|
|
41
|
+
|
|
42
|
+
## Catalog Entry Structure
|
|
43
|
+
|
|
44
|
+
Every MCP entry must use this structure:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
mcps/<mcp-slug>/
|
|
48
|
+
├── README.md
|
|
49
|
+
├── install.md
|
|
50
|
+
├── capabilities.md
|
|
51
|
+
├── troubleshooting.md
|
|
52
|
+
└── configs/
|
|
53
|
+
├── opencode.json
|
|
54
|
+
└── .env.example
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Naming Conventions
|
|
58
|
+
|
|
59
|
+
- Use lowercase kebab-case directory names, for example `laravel-boost`.
|
|
60
|
+
- Use the upstream MCP name in page titles, for example `# Laravel Boost`.
|
|
61
|
+
- Use stable MCP server names in configuration examples, for example `laravel-boost`.
|
|
62
|
+
- Keep file names exactly as shown in the catalog structure.
|
|
63
|
+
|
|
64
|
+
## How to Contribute a New MCP
|
|
65
|
+
|
|
66
|
+
1. Create `mcps/<mcp-slug>/` using the standard structure.
|
|
67
|
+
2. Prefer official documentation for install commands, requirements, capabilities, and configuration.
|
|
68
|
+
3. Include client-specific config examples even when multiple clients share the same JSON schema.
|
|
69
|
+
4. Document where each config file belongs in the MCP's `install.md`.
|
|
70
|
+
5. Add limitations and permission notes in `capabilities.md`.
|
|
71
|
+
6. Add common startup, authentication, permission, and version issues in `troubleshooting.md`.
|
|
72
|
+
7. Add the MCP to the table in this README.
|
|
73
|
+
|
|
74
|
+
## Related Repository Areas
|
|
75
|
+
|
|
76
|
+
- [`skills/`](../skills/) contains task-specific procedures for AI coding agents.
|
|
77
|
+
- [`references/standards/`](../references/standards/) contains canonical engineering rules.
|
|
78
|
+
- [`references/templates/`](../references/templates/) contains reusable engineering deliverables.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Excalidraw MCP
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Excalidraw MCP lets coding agents stream hand-drawn Excalidraw diagrams with smooth viewport camera control and interactive fullscreen editing. It renders diagrams as interactive HTML interfaces directly in the chat (MCP Apps).
|
|
6
|
+
|
|
7
|
+
Official source:
|
|
8
|
+
|
|
9
|
+
- [GitHub: excalidraw/excalidraw-mcp](https://github.com/excalidraw/excalidraw-mcp)
|
|
10
|
+
- [Hosted server](https://mcp.excalidraw.com)
|
|
11
|
+
|
|
12
|
+
## Features
|
|
13
|
+
|
|
14
|
+
- **Hand-drawn diagrams**: Render architecture diagrams, flowcharts, wireframes, and illustrations in the signature Excalidraw hand-drawn style.
|
|
15
|
+
- **Interactive editing**: Fullscreen editing with zoom, pan, and element manipulation.
|
|
16
|
+
- **Smooth camera control**: Animated viewport transitions for diagram exploration.
|
|
17
|
+
- **Streaming output**: Diagrams stream incrementally as they're drawn.
|
|
18
|
+
- **No API key required**: The remote server requires no authentication.
|
|
19
|
+
|
|
20
|
+
## When to Use
|
|
21
|
+
|
|
22
|
+
Use Excalidraw MCP when you need to visualize:
|
|
23
|
+
|
|
24
|
+
- System architecture diagrams and component relationships
|
|
25
|
+
- Data flow diagrams showing how data moves through a system
|
|
26
|
+
- Wireframes and UI mockups
|
|
27
|
+
- Flowcharts and decision trees
|
|
28
|
+
- Entity relationship diagrams
|
|
29
|
+
- Any concept easier to understand visually than as text
|
|
30
|
+
|
|
31
|
+
## Tools
|
|
32
|
+
|
|
33
|
+
The server exposes a single tool — `draw` — which accepts a plain-text description of what to draw.
|
|
34
|
+
|
|
35
|
+
| Tool | Description |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| `draw` | Draw an Excalidraw diagram from a text description |
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Excalidraw MCP Capabilities
|
|
2
|
+
|
|
3
|
+
## What It Can Do
|
|
4
|
+
|
|
5
|
+
Excalidraw MCP renders hand-drawn style diagrams from text descriptions. It has a single tool — `draw` — that accepts natural language descriptions of what to draw.
|
|
6
|
+
|
|
7
|
+
### The `draw` Tool
|
|
8
|
+
|
|
9
|
+
| Aspect | Description |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Input | Plain-text description of the diagram (e.g., "a user connecting to a server which talks to a database") |
|
|
12
|
+
| Output | Interactive Excalidraw HTML interface in the chat |
|
|
13
|
+
| Style | Hand-drawn (sketch-like) rendering |
|
|
14
|
+
|
|
15
|
+
### What You Can Draw
|
|
16
|
+
|
|
17
|
+
- **Architecture diagrams**: system components, services, databases, external integrations
|
|
18
|
+
- **Flowcharts**: decision trees, process flows, state transitions
|
|
19
|
+
- **Entity relationship diagrams**: tables, relationships, cardinality
|
|
20
|
+
- **Wireframes**: UI layouts, screen mockups, component placement
|
|
21
|
+
- **Network topology**: servers, clients, load balancers, network paths
|
|
22
|
+
- **Concept maps**: relationships between ideas, hierarchies
|
|
23
|
+
- **Sequence diagrams**: interaction flows between components
|
|
24
|
+
|
|
25
|
+
## What It Cannot Do
|
|
26
|
+
|
|
27
|
+
- It cannot modify existing diagrams (each `draw` call creates a new diagram).
|
|
28
|
+
- It cannot export diagrams to image formats programmatically — use the interactive viewer's built-in export.
|
|
29
|
+
- It cannot save diagrams to a file system — diagrams exist in the chat session.
|
|
30
|
+
- It cannot render without an MCP Apps-compatible client.
|
|
31
|
+
- It does not support authentication or access control — the remote server is public.
|
|
32
|
+
- It cannot read or edit existing Excalidraw files (.excalidraw format).
|
|
33
|
+
|
|
34
|
+
## Best Practices
|
|
35
|
+
|
|
36
|
+
- Be specific in descriptions: include component names, relationships, and directional flow.
|
|
37
|
+
- Request diagrams that clarify architectural concepts rather than trivial visual decoration.
|
|
38
|
+
- Use the interactive viewer to zoom, pan, and adjust elements after rendering.
|
|
39
|
+
- The diagram is best for conceptual understanding — use architecture diagrams, not pixel-perfect UI mockups.
|
|
40
|
+
|
|
41
|
+
## Common Workflows
|
|
42
|
+
|
|
43
|
+
### Architecture documentation
|
|
44
|
+
|
|
45
|
+
1. Describe the system architecture (services, databases, clients, external APIs).
|
|
46
|
+
2. Ask Excalidraw to render it as an architecture diagram.
|
|
47
|
+
3. Use the interactive viewer to explore and adjust.
|
|
48
|
+
4. Reference the diagram in design docs or ADRs.
|
|
49
|
+
|
|
50
|
+
### Explaining design decisions
|
|
51
|
+
|
|
52
|
+
1. Describe the current and proposed architecture.
|
|
53
|
+
2. Ask Excalidraw to draw both for visual comparison.
|
|
54
|
+
3. Annotate differences and tradeoffs on the rendered diagrams.
|