@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,80 @@
|
|
|
1
|
+
# Radar / Spider
|
|
2
|
+
|
|
3
|
+
**Best for:** comparing 3–5 entities across 3–5 quantitative criteria on a single normalized 0–N scale. Capability matrices, product or backend evaluations, framework/team scorecards. Where a comparison table starts running out of horizontal room, radar makes the shape of each option legible at a glance.
|
|
4
|
+
|
|
5
|
+
## Layout conventions
|
|
6
|
+
|
|
7
|
+
- **N axes (3–5).** Equally spaced on a regular polygon-N. First axis at the top (`-90°`), going clockwise. **Above 5 → split or use a comparison table.**
|
|
8
|
+
- **Five concentric grid rings** at fractions `0.2 / 0.4 / 0.6 / 0.8 / 1.0` of the radius. Drawn as closed polygons connecting the axis vertices at that fraction. Inner four at `rule` 0.10 opacity, outer ring at `rule-solid` 0.20 (a hint stronger to anchor the chart).
|
|
9
|
+
- **Axis spokes** from center to each outer vertex. `rule-solid` 0.20 opacity. **No arrowheads.**
|
|
10
|
+
- **Axis labels:** one word per spoke (Jobs-minimal). Geist sans 11px weight 600. Place 16px outside the outer ring along the axis vector. Top/bottom = `text-anchor="middle"`; right side = `start`; left side = `end`.
|
|
11
|
+
- **Scale ticks** (e.g. `2 4 6 8 10`) only on the **first (top) axis** — putting numbers on every spoke clutters the chart fast. Geist Mono 8px, `muted`, anchored end at `cx − 6`.
|
|
12
|
+
- **Series polygon:** stroke 1.5px at the series color, fill the same color at `0.18` opacity (`0.22` in dark). Stroke 1.8px on the focal series — a subtle weight bump.
|
|
13
|
+
- **Vertex dots:** **only on the focal series**, `r=4` filled with the series color. Non-focal series are stroke-and-fill only. This is the load-bearing rule that keeps the chart readable at 4–5 series.
|
|
14
|
+
- **Drawing order:** dots-pattern bg → grid rings → axis spokes → axis labels → scale ticks → non-focal series (smallest area first) → focal series → focal vertex dots → legend.
|
|
15
|
+
- **Legend:** horizontal strip at the bottom (per the global rule). Swatch is a 16×8 rectangle (matches the polygon stroke+fill, not a circle), then the entity name. ~140px between entries. Optional italic tail on the right with the rationale (`"One coral. Position is the signal — color reserved for the recommended option."`).
|
|
16
|
+
|
|
17
|
+
## Math
|
|
18
|
+
|
|
19
|
+
For axis `i` (0-indexed) of `N`, value `v` on scale `S`, center `(cx, cy)`, outer radius `R`:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
angle = -π/2 + 2π · i / N
|
|
23
|
+
x = cx + (v / S) · R · cos(angle)
|
|
24
|
+
y = cy + (v / S) · R · sin(angle)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
A series with values `[v0, v1, ..., v(N-1)]` becomes a `<polygon>` with `points="x0,y0 x1,y1 ..."`.
|
|
28
|
+
|
|
29
|
+
### Pre-computed reference (N=5, cx=500, cy=240, R=160, S=10, integer-rounded)
|
|
30
|
+
|
|
31
|
+
| Fraction `f` | i=0 (top) | i=1 | i=2 | i=3 | i=4 |
|
|
32
|
+
|---|---|---|---|---|---|
|
|
33
|
+
| 0.2 | 500,208 | 530,230 | 519,266 | 481,266 | 470,230 |
|
|
34
|
+
| 0.4 | 500,176 | 561,220 | 538,292 | 462,292 | 439,220 |
|
|
35
|
+
| 0.6 | 500,144 | 591,211 | 556,317 | 444,317 | 409,211 |
|
|
36
|
+
| 0.8 | 500,112 | 622,201 | 575,343 | 425,343 | 378,201 |
|
|
37
|
+
| 1.0 | 500,80 | 652,191 | 594,369 | 406,369 | 348,191 |
|
|
38
|
+
|
|
39
|
+
For an arbitrary value `v` on axis `i`, take the unit offset from the row above for that axis (e.g. axis 1: offset `(152, -49)` from center) and scale by `v/S`. **Drop coords as integers — fractional pixels in SVG render fine, but integers keep the file scannable.**
|
|
40
|
+
|
|
41
|
+
### Worked example (N=5)
|
|
42
|
+
|
|
43
|
+
Series `[9, 8, 9, 9, 9]` on a 0–10 scale becomes:
|
|
44
|
+
|
|
45
|
+
```svg
|
|
46
|
+
<polygon points="500,96 622,201 585,356 415,356 363,196"
|
|
47
|
+
fill="rgba(235,108,54,0.18)" stroke="#eb6c36" stroke-width="1.8"/>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Each vertex: `center + (v/10) · (outer_i − center)`, rounded to the nearest pixel.
|
|
51
|
+
|
|
52
|
+
## Series palette
|
|
53
|
+
|
|
54
|
+
The skill's "1-focal" rule still holds: `accent` is reserved for the focal series, and a small editorial palette (`series-1` through `series-5`, defined in [`style-guide.md`](style-guide.md)) covers the non-focal series. Don't reach for free-form colors.
|
|
55
|
+
|
|
56
|
+
| Slot | Token | Light | Dark |
|
|
57
|
+
|---|---|---|---|
|
|
58
|
+
| Focal | `accent` | `#eb6c36` | `#f08a59` |
|
|
59
|
+
| 1 | `series-1` (sage) | `#7c8f6f` | `#9caf8f` |
|
|
60
|
+
| 2 | `series-2` (dusty-blue) | `#5e7a9b` | `#82a0c0` |
|
|
61
|
+
| 3 | `series-3` (mustard) | `#b8915a` | `#d3ad7a` |
|
|
62
|
+
| 4 | `series-4` (rust-brown) | `#9c6b50` | `#b88670` |
|
|
63
|
+
| 5 | `series-5` (slate) | `#6e6479` | `#8d8298` |
|
|
64
|
+
|
|
65
|
+
## Anti-patterns
|
|
66
|
+
|
|
67
|
+
- **More than 5 series** → mush. Split into two charts (e.g. "best by latency" + "best by ops") or switch to a comparison table.
|
|
68
|
+
- **Axes on inconsistent native scales** (one 0–100, another 0–1) without normalization. **Always normalize to 0–N first** — radar polygons compare *shapes*, not absolute values.
|
|
69
|
+
- **Zero-baseline tricks** — starting the inner ring at v=5 to amplify differences. The grid starts at 0; if differences look small, that's the truthful reading.
|
|
70
|
+
- **Dots on every series.** Only the focal carries dots. Adding them to all 4–5 series turns the chart into a bead curtain.
|
|
71
|
+
- **Radar with 2 series** — a comparison bar chart or a 2-row table is clearer.
|
|
72
|
+
- **Non-quantitative axes.** All axes must be measurable on the same normalized scale. "Speed" + "color" + "year" mixes don't belong on a radar.
|
|
73
|
+
- **Mono-font axis labels.** Names go in Geist sans (the global rule). Mono is for technical sublabels only.
|
|
74
|
+
- **Rainbow palette.** Even with the new `series-*` tokens, you don't need all 5 in one chart — use only as many as you have non-focal entities.
|
|
75
|
+
|
|
76
|
+
## Examples
|
|
77
|
+
|
|
78
|
+
- `assets/example-radar.html` — minimal light. 4 storage backends × 5 workload dimensions, MinIO focal.
|
|
79
|
+
- `assets/example-radar-dark.html` — minimal dark, same data.
|
|
80
|
+
- `assets/example-radar-full.html` — full editorial: container framing + 4 cards (one per backend) with varied widths + footer.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Scatter Plot
|
|
2
|
+
|
|
3
|
+
**Best for:** correlation and distribution — two continuous variables plotted against each other. Use when the relationship (or lack of one) between variables is the message, or when you need to identify clusters, outliers, and high/low performers.
|
|
4
|
+
|
|
5
|
+
## Layout conventions
|
|
6
|
+
|
|
7
|
+
- **Plot area margins:** left 80px, bottom 60px, top 40px, right 40px — inside `0 0 1000 500` viewBox.
|
|
8
|
+
- **Point count:** 5–30 points. Fewer → just describe the relationship in prose; more → bin into a density contour.
|
|
9
|
+
- **Axes:** X at y=420 (baseline), Y at x=80. Both use Geist Mono 8px gridline labels. Gridlines 4–6 per axis at equal intervals.
|
|
10
|
+
- **Point shape:** `<circle>` r=5 for standard points, r=6 for focal. Focal point in `accent` fill. Others in `muted @ 0.20` fill + `muted` stroke.
|
|
11
|
+
- **Labels on points (optional):** Geist Mono 8px next to a point. Use a paper-fill rect mask behind the label. Label at most 2–3 points; not all.
|
|
12
|
+
- **Trend line (optional):** `<line>` from lower-left to upper-right, stroke `rgba(45,49,66,0.25)` dashed 4,3. Never force a perfect fit — only add if the trend is visually obvious.
|
|
13
|
+
- **Quadrant dividers (optional):** light dashed lines at the median x and y to split into quadrants. Label each quadrant in Geist Mono 8px, muted.
|
|
14
|
+
|
|
15
|
+
### Point pattern
|
|
16
|
+
|
|
17
|
+
```svg
|
|
18
|
+
<!-- Non-focal point — paper mask + circle -->
|
|
19
|
+
<circle cx="X" cy="Y" r="5" fill="#f5f5f5"/>
|
|
20
|
+
<circle cx="X" cy="Y" r="5" fill="rgba(79,93,117,0.20)" stroke="#4f5d75" stroke-width="1"/>
|
|
21
|
+
|
|
22
|
+
<!-- Focal point -->
|
|
23
|
+
<circle cx="X" cy="Y" r="6" fill="#f5f5f5"/>
|
|
24
|
+
<circle cx="X" cy="Y" r="6" fill="rgba(235,108,54,0.15)" stroke="#eb6c36" stroke-width="1.2"/>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Anti-patterns
|
|
28
|
+
|
|
29
|
+
- More than 30 points without clustering (jitter/mush).
|
|
30
|
+
- Forced trend line when the data is genuinely scattered — dishonest.
|
|
31
|
+
- Point labels on every point (label the focal and 1–2 notable outliers only).
|
|
32
|
+
- Bubble size encoding (use a third axis label or color instead; bubble area perception is unreliable).
|
|
33
|
+
- Axes that don't include zero when the absolute position matters; axes that do include zero when the range is tiny and far from zero.
|
|
34
|
+
|
|
35
|
+
## Examples
|
|
36
|
+
|
|
37
|
+
- `assets/example-scatter.html` — minimal light
|
|
38
|
+
- `assets/example-scatter-dark.html` — minimal dark
|
|
39
|
+
- `assets/example-scatter-full.html` — full editorial
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Sequence
|
|
2
|
+
|
|
3
|
+
**Best for:** request/response flows, protocol exchanges, multi-actor interactions over time, API call traces, incident reconstructions.
|
|
4
|
+
|
|
5
|
+
## Layout conventions
|
|
6
|
+
- Actors as boxes in a horizontal row at the top.
|
|
7
|
+
- **Lifelines**: dashed vertical lines descending from each actor to the bottom.
|
|
8
|
+
- Messages: horizontal arrows between lifelines; time flows top→down.
|
|
9
|
+
- **Activation bar**: narrow rectangle (`w=8`, muted fill, 0.8 hairline stroke) on a lifeline spanning the interval that actor holds control. Stack for nested calls.
|
|
10
|
+
- Self-messages: short U-shaped loop returning to the same lifeline; label right of the loop.
|
|
11
|
+
- Return messages: dashed line in the same color as the originating call.
|
|
12
|
+
- Coral on the primary success response or headline message — one, maybe two.
|
|
13
|
+
|
|
14
|
+
## Anti-patterns
|
|
15
|
+
- Message arrow pointing *upward* (reverses time — never).
|
|
16
|
+
- Activation bars that never close.
|
|
17
|
+
- Labels sitting over another lifeline — shorten or shift y into a gap.
|
|
18
|
+
- Swimlane-style lanes instead of lifelines (different grammar).
|
|
19
|
+
|
|
20
|
+
## Lifeline primitive
|
|
21
|
+
```svg
|
|
22
|
+
<line x1="CX" y1="TOP" x2="CX" y2="BOTTOM"
|
|
23
|
+
stroke="rgba(45,49,66,0.20)" stroke-width="1" stroke-dasharray="3,3"/>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Activation bar primitive
|
|
27
|
+
```svg
|
|
28
|
+
<rect x="CX-4" y="TOP" width="8" height="H"
|
|
29
|
+
fill="rgba(45,49,66,0.06)" stroke="#4f5d75" stroke-width="0.8"/>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Examples
|
|
33
|
+
- `assets/example-sequence.html` — minimal light
|
|
34
|
+
- `assets/example-sequence-dark.html` — minimal dark
|
|
35
|
+
- `assets/example-sequence-full.html` — full editorial
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# State Machine
|
|
2
|
+
|
|
3
|
+
**Best for:** finite state logic — order status, auth state, connection lifecycle, form wizard, job queue status.
|
|
4
|
+
|
|
5
|
+
## Layout conventions
|
|
6
|
+
- States are rounded rectangles (`rx=8`), labeled in Geist.
|
|
7
|
+
- **Start**: filled ink dot (`r=6`). **End**: ringed dot (outer `r=8` outline, inner filled `r=5`).
|
|
8
|
+
- Transitions: curved arrows labeled in Geist Mono as `event [guard] / action` (omit sections you don't need).
|
|
9
|
+
- Self-loops curve above the state.
|
|
10
|
+
- Orient along the dominant flow direction (left→right or top→down); rearrange before crossing transitions.
|
|
11
|
+
- Coral on the state the reader should notice — typically the error state, or "happy completion".
|
|
12
|
+
|
|
13
|
+
## Anti-patterns
|
|
14
|
+
- More transitions than states × 2 → likely two state machines.
|
|
15
|
+
- "From any state" transitions drawn from every state — use a single annotation (`* → Error on timeout`) instead.
|
|
16
|
+
- Unlabeled transitions (the whole point is *what triggers this*).
|
|
17
|
+
|
|
18
|
+
## Examples
|
|
19
|
+
- `assets/example-state.html` — minimal light
|
|
20
|
+
- `assets/example-state-dark.html` — minimal dark
|
|
21
|
+
- `assets/example-state-full.html` — full editorial
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Swimlane
|
|
2
|
+
|
|
3
|
+
**Best for:** cross-functional processes, RACI-style flows, vendor handoffs, multi-team shipping workflows.
|
|
4
|
+
|
|
5
|
+
## Layout conventions
|
|
6
|
+
- Horizontal lanes (or vertical columns) — one per actor/team. Label each lane in the left margin (or top) with a Geist Mono eyebrow.
|
|
7
|
+
- Lane dividers: 1px hairlines.
|
|
8
|
+
- Process steps are rectangles placed inside the lane of the actor performing them; arrows show flow.
|
|
9
|
+
- Handoffs (arrows crossing lane boundaries) are the most important edges — consider coral on the handoff that introduces the most coupling or latency.
|
|
10
|
+
- Don't force equal step count per lane; a lane with one step is fine.
|
|
11
|
+
|
|
12
|
+
## Anti-patterns
|
|
13
|
+
- Lanes without labels.
|
|
14
|
+
- A step drawn across two lanes (pick one owner).
|
|
15
|
+
- Arrows that snake back and forth — reorder steps so the flow is mostly straight.
|
|
16
|
+
|
|
17
|
+
## Examples
|
|
18
|
+
- `assets/example-swimlane.html` — minimal light
|
|
19
|
+
- `assets/example-swimlane-dark.html` — minimal dark
|
|
20
|
+
- `assets/example-swimlane-full.html` — full editorial
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Timeline
|
|
2
|
+
|
|
3
|
+
**Best for:** release history, project milestones, incident timelines, roadmaps, changelog visualizations.
|
|
4
|
+
|
|
5
|
+
## Layout conventions
|
|
6
|
+
- Horizontal hairline baseline across the middle (`stroke-width=1`).
|
|
7
|
+
- Tick marks at time boundaries (quarters, months, sprints) with date labels below in Geist Mono.
|
|
8
|
+
- Events: small filled circles (`r=4`) on the baseline. Labels alternate above and below to prevent collision, connected to the circle with a 1px hairline drop.
|
|
9
|
+
- Major milestones: coral circle (`r=6`) + bold Geist label.
|
|
10
|
+
- Time scale must be honest: if intervals are non-equal, space the circles non-equally. Don't fake linear spacing for aesthetics. Break the axis visibly if a region is too dense.
|
|
11
|
+
|
|
12
|
+
## Anti-patterns
|
|
13
|
+
- Equal-spacing events that aren't equally spaced in time.
|
|
14
|
+
- Missing axis labels ("what unit is this?").
|
|
15
|
+
- Crowded labels without vertical offset — illegible.
|
|
16
|
+
|
|
17
|
+
## Examples
|
|
18
|
+
- `assets/example-timeline.html` — minimal light
|
|
19
|
+
- `assets/example-timeline-dark.html` — minimal dark
|
|
20
|
+
- `assets/example-timeline-full.html` — full editorial
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Tree / Hierarchy
|
|
2
|
+
|
|
3
|
+
**Best for:** org charts, dependency trees, taxonomy, file trees, decision breakdowns, skill trees.
|
|
4
|
+
|
|
5
|
+
## Layout conventions
|
|
6
|
+
- Root at top, children fan out below (or root at left, children to right).
|
|
7
|
+
- Nodes are small labeled rectangles (`rx=6`), Geist 12px 600 name + optional Geist Mono 9px sublabel. Width 120–180px, height 40–52px.
|
|
8
|
+
- **Connectors are orthogonal (elbow-style), never diagonal.** Parent drops a short vertical line, then a horizontal bus connects siblings, then each child has a short vertical drop into its top edge. 1px muted stroke.
|
|
9
|
+
- Leaf indicator: thinner stroke (0.8) or different fill — OR let terminal position do the work.
|
|
10
|
+
- Max depth: 4 (root + 3 tiers). Max breadth per level: 5.
|
|
11
|
+
- Coral on **one** node: root OR critical leaf. Not both.
|
|
12
|
+
- Draw connectors before nodes.
|
|
13
|
+
|
|
14
|
+
## Anti-patterns
|
|
15
|
+
- Tree 5+ levels deep on a single page (illegible — split).
|
|
16
|
+
- Nodes of wildly varying widths — pick 2 widths max.
|
|
17
|
+
- Diagonal connector lines.
|
|
18
|
+
- Skipped levels (parent connected to grandchild with no middle).
|
|
19
|
+
- Coral on root AND a leaf.
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
- `assets/example-tree.html` — minimal light
|
|
23
|
+
- `assets/example-tree-dark.html` — minimal dark
|
|
24
|
+
- `assets/example-tree-full.html` — full editorial
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Venn / Set Overlap
|
|
2
|
+
|
|
3
|
+
**Best for:** intersection of concepts/domains, shared attributes between categories, "where A meets B", ikigai-style frames (desirable × feasible × viable).
|
|
4
|
+
|
|
5
|
+
## Layout conventions
|
|
6
|
+
- **Prefer 2 or 3 circles.** Avoid 4+ (unreadable — use a matrix instead).
|
|
7
|
+
- Circle stroke: 1px hairline, color per-set (ink, muted, soft).
|
|
8
|
+
- Circle fill: very low-opacity tint — `rgba(45,49,66,0.04)` for ink set, `rgba(79,93,117,0.05)` for muted. Tints compound naturally in overlap regions.
|
|
9
|
+
- Radii: equal when sets are comparable in size; proportional when sets are meaningfully different. Don't fake equal sizes for aesthetics.
|
|
10
|
+
- **Set labels** placed outside the circle, NEVER crossing the stroke. Geist 12–14px 600 for the set name, optional Geist Mono 9px sublabel.
|
|
11
|
+
- **Intersection labels** placed inside the overlap region, Geist 12px 600, centered. For small overlaps, use a leader line to a label in clear space.
|
|
12
|
+
- **Coral accent** on the ONE focal intersection — the "sweet spot". Either coral label stroke OR clipPath-bounded coral fill tint (`rgba(235,108,54,0.10)`).
|
|
13
|
+
- Circle centers and radii divisible by 4.
|
|
14
|
+
|
|
15
|
+
## Anti-patterns
|
|
16
|
+
- Unlabeled regions — reader can't tell which set is which.
|
|
17
|
+
- Circles that don't overlap when overlap is the point.
|
|
18
|
+
- Equal-sized circles when sets are obviously different (dishonest).
|
|
19
|
+
- Coral on multiple overlap regions (focal signal dies).
|
|
20
|
+
- Labels sitting on top of circle strokes (illegible).
|
|
21
|
+
- 4+ circles where 2–3 would do.
|
|
22
|
+
|
|
23
|
+
## Examples
|
|
24
|
+
- `assets/example-venn.html` — minimal light
|
|
25
|
+
- `assets/example-venn-dark.html` — minimal dark
|
|
26
|
+
- `assets/example-venn-full.html` — full editorial
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: documentation
|
|
3
|
+
description: Create ADRs, design docs, runbooks, API docs, and operational knowledge that stays useful.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
---
|
|
6
|
+
# Purpose
|
|
7
|
+
Create ADRs, design docs, runbooks, API docs, and operational knowledge that stays useful. This skill guides an AI agent to act with senior backend judgment: clarify the outcome, identify constraints, choose the least complex safe path, and make production impact visible.
|
|
8
|
+
|
|
9
|
+
# When to Activate
|
|
10
|
+
Use this skill when the task involves ADRs, design documents, runbooks, API documentation, operational documentation, architecture diagrams, or knowledge transfer. It is also useful when a request is vague, risky, touches production behavior, changes contracts, changes data, or needs a reviewable engineering plan. Do not activate it for trivial text edits unless the edit changes engineering guidance.
|
|
11
|
+
|
|
12
|
+
# Principles
|
|
13
|
+
- Correctness and data integrity come before speed of implementation.
|
|
14
|
+
- Simplicity is a feature: fewer moving parts means fewer failure modes.
|
|
15
|
+
- Existing contracts must remain compatible unless a breaking change is approved.
|
|
16
|
+
- Every important decision should have a reason, an alternative considered, and an operational consequence.
|
|
17
|
+
- Work should be testable, observable, deployable, and reversible.
|
|
18
|
+
- Prefer explicit boundaries, clear names, and local reasoning over clever shared abstractions.
|
|
19
|
+
- Security and privacy are design inputs, not final review steps.
|
|
20
|
+
|
|
21
|
+
- ADRs record decisions, context, consequences, and alternatives.
|
|
22
|
+
- Design documents explain proposed behavior before expensive implementation.
|
|
23
|
+
- Runbooks explain how to operate, diagnose, mitigate, and escalate.
|
|
24
|
+
- API documentation must define contracts, errors, authorization, examples, limits, and compatibility.
|
|
25
|
+
- Architecture diagrams should show boundaries, data flow, ownership, and failure paths.
|
|
26
|
+
- Documentation should be close to the workflow where it is used.
|
|
27
|
+
|
|
28
|
+
# Workflow
|
|
29
|
+
1. Identify the audience and their primary use case for the document.
|
|
30
|
+
2. Choose the right document type: ADR, design doc, runbook, API reference, README.
|
|
31
|
+
3. Define the scope: what decisions, behavior, or procedures are covered.
|
|
32
|
+
4. Write the document starting with the summary for busy readers.
|
|
33
|
+
5. Include concrete examples, not just abstract descriptions.
|
|
34
|
+
6. Add failure modes and operational notes where relevant.
|
|
35
|
+
7. Cross-reference related documentation, code, and standards.
|
|
36
|
+
8. Place the document close to where it is used (same repo, same directory).
|
|
37
|
+
9. Review for accuracy with someone who was not involved in the writing.
|
|
38
|
+
|
|
39
|
+
# Rules
|
|
40
|
+
- Never assume hidden requirements, traffic scale, compliance needs, or data retention rules.
|
|
41
|
+
- Do not introduce new infrastructure unless the current requirement cannot be met safely without it.
|
|
42
|
+
- Do not hide breaking changes in refactors.
|
|
43
|
+
- Do not weaken authorization, validation, transaction safety, or error handling to make implementation easier.
|
|
44
|
+
- Keep public contracts, migrations, and operational changes explicit in the deliverable.
|
|
45
|
+
- Reference related standards: references/standards/documentation.md.
|
|
46
|
+
|
|
47
|
+
# Deliverables
|
|
48
|
+
- Document with clear audience, purpose, and type.
|
|
49
|
+
- Concrete examples reflecting real usage.
|
|
50
|
+
- Failure modes and operational notes where relevant.
|
|
51
|
+
- Cross-references to related code, standards, and docs.
|
|
52
|
+
- Ownership and update cadence defined.
|
|
53
|
+
|
|
54
|
+
# Common Mistakes
|
|
55
|
+
- Writing documents that repeat what the code already expresses without adding decision context.
|
|
56
|
+
- Creating documentation that is too long or too vague to be useful under time pressure.
|
|
57
|
+
- Letting documentation become stale because there is no ownership or review process.
|
|
58
|
+
- Writing for an imaginary audience instead of actual readers.
|
|
59
|
+
- Including implementation details that change frequently while omitting stable design decisions.
|
|
60
|
+
|
|
61
|
+
# Failure Modes
|
|
62
|
+
- A runbook is too long to read during an incident.
|
|
63
|
+
- An ADR describes what was decided but not why alternatives were rejected.
|
|
64
|
+
- Documentation lives in a separate wiki that no one updates after the initial write.
|
|
65
|
+
- Critical operational knowledge exists only in the head of one team member.
|
|
66
|
+
|
|
67
|
+
# Checklist
|
|
68
|
+
- [ ] The document has a clear audience and purpose.
|
|
69
|
+
- [ ] The document type matches the content (ADR, runbook, design doc, etc.).
|
|
70
|
+
- [ ] Examples are concrete and reflect real usage.
|
|
71
|
+
- [ ] Failure modes and operational notes are included where applicable.
|
|
72
|
+
- [ ] Cross-references to code, standards, or related docs are accurate.
|
|
73
|
+
- [ ] The document is reviewable by someone not involved in its creation.
|
|
74
|
+
- [ ] Ownership and update cadence are defined.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Documentation Examples
|
|
2
|
+
|
|
3
|
+
## Example 1: ADR for Cache Strategy
|
|
4
|
+
|
|
5
|
+
Write an ADR documenting the decision to add Redis caching for product catalog reads. Good agent behavior:
|
|
6
|
+
|
|
7
|
+
- State the context: product catalog reads are 500 req/s, each takes 50ms from PostgreSQL, and latency spikes during flash sales.
|
|
8
|
+
- List alternatives considered: in-memory cache (lost on restart, per-node inconsistency), read replicas (cost, replication lag), CDN (static data only).
|
|
9
|
+
- Describe the decision: Redis cache-aside with 5-minute TTL and immediate invalidation on price or stock changes.
|
|
10
|
+
- Record consequences: increased operational complexity (need Redis cluster, monitoring), cache hit ratio must be >90% to justify cost.
|
|
11
|
+
- Link to related ADRs for deployment topology and monitoring setup.
|
|
12
|
+
|
|
13
|
+
## Example 2: Runbook for Payment Failure
|
|
14
|
+
|
|
15
|
+
Write a runbook for diagnosing payment processing failures. Good agent behavior:
|
|
16
|
+
|
|
17
|
+
- Start with the alert trigger (e.g., >5% payment failures in 5 minutes) and the severity level.
|
|
18
|
+
- Provide step-by-step diagnosis: check the payment provider status page, then look at the circuit breaker state, then inspect dead-letter queue.
|
|
19
|
+
- List the dashboards and log queries needed (payment error rate by provider, latency p95, DLQ count).
|
|
20
|
+
- Include remediation steps: toggle the kill switch to fallback provider, reset circuit breaker after provider recovers, replay DLQ messages.
|
|
21
|
+
- End with escalation contacts and a post-mortem template link for the follow-up.
|
|
22
|
+
|
|
23
|
+
## Example 3: API Docs for Public Endpoint
|
|
24
|
+
|
|
25
|
+
Document a public POST /orders endpoint for external developers. Good agent behavior:
|
|
26
|
+
|
|
27
|
+
- Show a complete request example with all fields, including `Idempotency-Key` in the header and `X-Api-Version`.
|
|
28
|
+
- Show success (201), validation error (422), and conflict (409) response bodies with annotated fields.
|
|
29
|
+
- Document authentication: `Bearer` token in the `Authorization` header with required scopes.
|
|
30
|
+
- Note rate limits (100 req/min per token) and include `X-RateLimit-Remaining` in the response.
|
|
31
|
+
- List every error code with a human-readable message, a likely cause, and a recovery action.
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: find-skills
|
|
3
|
+
description: Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Find Skills
|
|
7
|
+
|
|
8
|
+
This skill helps you discover and install skills from the open agent skills ecosystem.
|
|
9
|
+
|
|
10
|
+
## When to Use This Skill
|
|
11
|
+
|
|
12
|
+
Use this skill when the user:
|
|
13
|
+
|
|
14
|
+
- Asks "how do I do X" where X might be a common task with an existing skill
|
|
15
|
+
- Says "find a skill for X" or "is there a skill for X"
|
|
16
|
+
- Asks "can you do X" where X is a specialized capability
|
|
17
|
+
- Expresses interest in extending agent capabilities
|
|
18
|
+
- Wants to search for tools, templates, or workflows
|
|
19
|
+
- Mentions they wish they had help with a specific domain (design, testing, deployment, etc.)
|
|
20
|
+
|
|
21
|
+
## What is the Skills CLI?
|
|
22
|
+
|
|
23
|
+
The Skills CLI (`npx skills`) is the package manager for the open agent skills ecosystem. Skills are modular packages that extend agent capabilities with specialized knowledge, workflows, and tools.
|
|
24
|
+
|
|
25
|
+
**Key commands:**
|
|
26
|
+
|
|
27
|
+
- `npx skills find [query] [--owner <owner>]` - Search for skills interactively or by keyword, optionally scoped to a GitHub owner
|
|
28
|
+
- `npx skills add <package>` - Install a skill from GitHub or other sources
|
|
29
|
+
- `npx skills update` - Update all installed skills
|
|
30
|
+
|
|
31
|
+
**Browse skills at:** https://skills.sh/
|
|
32
|
+
|
|
33
|
+
## How to Help Users Find Skills
|
|
34
|
+
|
|
35
|
+
### Step 1: Understand What They Need
|
|
36
|
+
|
|
37
|
+
When a user asks for help with something, identify:
|
|
38
|
+
|
|
39
|
+
1. The domain (e.g., React, testing, design, deployment)
|
|
40
|
+
2. The specific task (e.g., writing tests, creating animations, reviewing PRs)
|
|
41
|
+
3. Whether this is a common enough task that a skill likely exists
|
|
42
|
+
|
|
43
|
+
### Step 2: Check the Leaderboard First
|
|
44
|
+
|
|
45
|
+
Before running a CLI search, check the [skills.sh leaderboard](https://skills.sh/) to see if a well-known skill already exists for the domain. The leaderboard ranks skills by total installs, surfacing the most popular and battle-tested options.
|
|
46
|
+
|
|
47
|
+
For example, top skills for web development include:
|
|
48
|
+
- `vercel-labs/agent-skills` — React, Next.js, web design (100K+ installs each)
|
|
49
|
+
- `anthropics/skills` — Frontend design, document processing (100K+ installs)
|
|
50
|
+
|
|
51
|
+
### Step 3: Search for Skills
|
|
52
|
+
|
|
53
|
+
If the leaderboard doesn't cover the user's need, run the find command:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx skills find [query] [--owner <owner>]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
For example:
|
|
60
|
+
|
|
61
|
+
- User asks "how do I make my React app faster?" → `npx skills find react performance`
|
|
62
|
+
- User asks "can you help me with PR reviews?" → `npx skills find pr review`
|
|
63
|
+
- User asks "I need to create a changelog" → `npx skills find changelog`
|
|
64
|
+
|
|
65
|
+
### Step 4: Verify Quality Before Recommending
|
|
66
|
+
|
|
67
|
+
**Do not recommend a skill based solely on search results.** Always verify:
|
|
68
|
+
|
|
69
|
+
1. **Install count** — Prefer skills with 1K+ installs. Be cautious with anything under 100.
|
|
70
|
+
2. **Source reputation** — Official sources (`vercel-labs`, `anthropics`, `microsoft`) are more trustworthy than unknown authors.
|
|
71
|
+
3. **GitHub stars** — Check the source repository. A skill from a repo with <100 stars should be treated with skepticism.
|
|
72
|
+
|
|
73
|
+
### Step 5: Present Options to the User
|
|
74
|
+
|
|
75
|
+
When you find relevant skills, present them to the user with:
|
|
76
|
+
|
|
77
|
+
1. The skill name and what it does
|
|
78
|
+
2. The install count and source
|
|
79
|
+
3. The install command they can run
|
|
80
|
+
4. A link to learn more at skills.sh
|
|
81
|
+
|
|
82
|
+
Example response:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
I found a skill that might help! The "react-best-practices" skill provides
|
|
86
|
+
React and Next.js performance optimization guidelines from Vercel Engineering.
|
|
87
|
+
(185K installs)
|
|
88
|
+
|
|
89
|
+
To install it:
|
|
90
|
+
npx skills add vercel-labs/agent-skills@react-best-practices
|
|
91
|
+
|
|
92
|
+
Learn more: https://skills.sh/vercel-labs/agent-skills/react-best-practices
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Step 6: Offer to Install
|
|
96
|
+
|
|
97
|
+
If the user wants to proceed, you can install the skill for them:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
npx skills add <owner/repo@skill> -g -y
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
The `-g` flag installs globally (user-level) and `-y` skips confirmation prompts.
|
|
104
|
+
|
|
105
|
+
## Common Skill Categories
|
|
106
|
+
|
|
107
|
+
When searching, consider these common categories:
|
|
108
|
+
|
|
109
|
+
| Category | Example Queries |
|
|
110
|
+
| --------------- | ---------------------------------------- |
|
|
111
|
+
| Web Development | react, nextjs, typescript, css, tailwind |
|
|
112
|
+
| Testing | testing, jest, playwright, e2e |
|
|
113
|
+
| DevOps | deploy, docker, kubernetes, ci-cd |
|
|
114
|
+
| Documentation | docs, readme, changelog, api-docs |
|
|
115
|
+
| Code Quality | review, lint, refactor, best-practices |
|
|
116
|
+
| Design | ui, ux, design-system, accessibility |
|
|
117
|
+
| Productivity | workflow, automation, git |
|
|
118
|
+
|
|
119
|
+
## Tips for Effective Searches
|
|
120
|
+
|
|
121
|
+
1. **Use specific keywords**: "react testing" is better than just "testing"
|
|
122
|
+
2. **Try alternative terms**: If "deploy" doesn't work, try "deployment" or "ci-cd"
|
|
123
|
+
3. **Check popular sources**: Many skills come from `vercel-labs/agent-skills` or `ComposioHQ/awesome-claude-skills`
|
|
124
|
+
|
|
125
|
+
## When No Skills Are Found
|
|
126
|
+
|
|
127
|
+
If no relevant skills exist:
|
|
128
|
+
|
|
129
|
+
1. Acknowledge that no existing skill was found
|
|
130
|
+
2. Offer to help with the task directly using your general capabilities
|
|
131
|
+
3. Suggest the user could create their own skill with `npx skills init`
|
|
132
|
+
|
|
133
|
+
Example:
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
I searched for skills related to "xyz" but didn't find any matches.
|
|
137
|
+
I can still help you with this task directly! Would you like me to proceed?
|
|
138
|
+
|
|
139
|
+
If this is something you do often, you could create your own skill:
|
|
140
|
+
npx skills init my-xyz-skill
|
|
141
|
+
```
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Find Skills Examples
|
|
2
|
+
|
|
3
|
+
## Discover a React performance skill
|
|
4
|
+
|
|
5
|
+
User: "How can I make my React app faster?"
|
|
6
|
+
|
|
7
|
+
Good agent behavior:
|
|
8
|
+
|
|
9
|
+
- Recognize that the user may benefit from an existing performance skill.
|
|
10
|
+
- Check the skills.sh leaderboard for established React and performance skills.
|
|
11
|
+
- Search with `npx skills find react performance` if the leaderboard does not provide a clear match.
|
|
12
|
+
- Compare install counts and source reputation before recommending an option.
|
|
13
|
+
- Present the skill name, purpose, source, install command, and skills.sh link.
|
|
14
|
+
|
|
15
|
+
## Find a deployment workflow
|
|
16
|
+
|
|
17
|
+
User: "Is there a skill that can help me deploy a Docker app to Kubernetes?"
|
|
18
|
+
|
|
19
|
+
Good agent behavior:
|
|
20
|
+
|
|
21
|
+
- Identify the domain as DevOps and the task as Docker-to-Kubernetes deployment.
|
|
22
|
+
- Search with specific terms such as `npx skills find docker kubernetes deployment`.
|
|
23
|
+
- Verify that recommended skills are maintained and come from credible sources.
|
|
24
|
+
- Explain what each candidate covers and avoid presenting unverified search results as trusted guidance.
|
|
25
|
+
|
|
26
|
+
## No suitable skill exists
|
|
27
|
+
|
|
28
|
+
User: "Find a skill for our internal release process."
|
|
29
|
+
|
|
30
|
+
Good agent behavior:
|
|
31
|
+
|
|
32
|
+
- Search for relevant release and workflow skills using the user's terminology.
|
|
33
|
+
- State clearly when no suitable existing skill is found.
|
|
34
|
+
- Offer to help with the release process directly.
|
|
35
|
+
- Suggest `npx skills init internal-release` if the workflow is recurring and worth packaging as a skill.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gitlab-mcp
|
|
3
|
+
description: Use this skill when working with the GitLab MCP server tools for merge requests, issues, repositories, pipelines, work items, webhooks, search, and related GitLab workflows.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# gitlab-mcp
|
|
7
|
+
|
|
8
|
+
GitLab MCP server providing 173 tools: 171 tools across 16 toolsets, plus `execute_graphql` and the always-available `discover_tools` meta-tool.
|
|
9
|
+
|
|
10
|
+
## Toolsets
|
|
11
|
+
|
|
12
|
+
| Toolset | Default | Enable with |
|
|
13
|
+
|---------------------------|---------|------------------------------------------------------|
|
|
14
|
+
| merge_requests (41 tools) | yes | - |
|
|
15
|
+
| issues (23 tools) | yes | - |
|
|
16
|
+
| repositories (7 tools) | yes | - |
|
|
17
|
+
| branches (6 tools) | yes | - |
|
|
18
|
+
| projects (8 tools) | yes | - |
|
|
19
|
+
| labels (5 tools) | yes | - |
|
|
20
|
+
| ci (2 tools) | yes | - |
|
|
21
|
+
| users (5 tools) | yes | - |
|
|
22
|
+
| pipelines (19 tools) | no | `USE_PIPELINE=true` or `GITLAB_TOOLSETS=pipelines` |
|
|
23
|
+
| milestones (9 tools) | no | `USE_MILESTONE=true` or `GITLAB_TOOLSETS=milestones` |
|
|
24
|
+
| wiki (10 tools) | no | `USE_GITLAB_WIKI=true` or `GITLAB_TOOLSETS=wiki` |
|
|
25
|
+
| releases (7 tools) | no | `GITLAB_TOOLSETS=releases` |
|
|
26
|
+
| tags (5 tools) | no | `GITLAB_TOOLSETS=tags` |
|
|
27
|
+
| workitems (18 tools) | no | `GITLAB_TOOLSETS=workitems` |
|
|
28
|
+
| webhooks (3 tools) | no | `GITLAB_TOOLSETS=webhooks` |
|
|
29
|
+
| search (3 tools) | no | `GITLAB_TOOLSETS=search` |
|
|
30
|
+
|
|
31
|
+
Enable all: `GITLAB_TOOLSETS=all`. Use `GITLAB_TOOLS` to enable individual tools outside their toolset. `discover_tools` can activate opt-in categories for the current session.
|
|
32
|
+
|
|
33
|
+
## Key Workflows
|
|
34
|
+
|
|
35
|
+
### Code Review (see references/code-review.md)
|
|
36
|
+
|
|
37
|
+
1. `list_merge_request_changed_files` - get file paths only (no diffs)
|
|
38
|
+
2. `get_merge_request_file_diff` - get diffs for 3-5 files per call (batch)
|
|
39
|
+
3. `create_merge_request_thread` or `create_draft_note` - leave review comments
|
|
40
|
+
4. `bulk_publish_draft_notes` - publish all drafts at once
|
|
41
|
+
|
|
42
|
+
### MR Lifecycle (see references/merge-requests.md)
|
|
43
|
+
|
|
44
|
+
`create_merge_request` -> review -> `approve_merge_request` -> `merge_merge_request`
|
|
45
|
+
|
|
46
|
+
### Issue Management (see references/issues.md)
|
|
47
|
+
|
|
48
|
+
`create_issue` -> `create_issue_link` -> `create_issue_note` -> `update_issue`
|
|
49
|
+
|
|
50
|
+
### Work Items (see references/work-items.md)
|
|
51
|
+
|
|
52
|
+
`list_work_items` -> `get_work_item` -> `update_work_item` -> `create_work_item_note`
|
|
53
|
+
|
|
54
|
+
### Webhooks & Search
|
|
55
|
+
|
|
56
|
+
- Webhooks: see references/webhooks.md
|
|
57
|
+
- Code search: see references/search.md
|
|
58
|
+
|
|
59
|
+
### File Operations
|
|
60
|
+
|
|
61
|
+
- Read: `get_file_contents`, `get_repository_tree`
|
|
62
|
+
- Write: `create_or_update_file` (single file), `push_files` (multiple files in one commit)
|
|
63
|
+
|
|
64
|
+
## Parameter Hints
|
|
65
|
+
|
|
66
|
+
- **project_id**: numeric ID or URL-encoded path (`group/subgroup/project`)
|
|
67
|
+
- **MR lookup**: provide `mergeRequestIid` OR `branchName` (not both)
|
|
68
|
+
- **list_issues**: default scope = created by current user. Use `scope: "all"` for all issues
|
|
69
|
+
- **list_merge_requests**: without project_id returns user's MRs across all projects
|
|
70
|
+
- **emoji reactions**: merge request, issue, and work item reaction tools use GitLab emoji names like `thumbsup`, `rocket`, or `eyes`
|
|
71
|
+
- **work items**: status and custom fields require GitLab Premium/Ultimate features
|
|
72
|
+
- **execute_graphql**: escape double quotes in query strings
|
|
73
|
+
|
|
74
|
+
## Destructive Tools (require caution)
|
|
75
|
+
|
|
76
|
+
`delete_issue`, `delete_label`, `delete_wiki_page`, `delete_group_wiki_page`, `delete_milestone`, `delete_release`, `delete_tag`, `delete_merge_request_note`, `delete_merge_request_discussion_note`, `delete_draft_note`, `delete_issue_link`, `delete_merge_request_emoji_reaction`, `delete_merge_request_note_emoji_reaction`, `delete_issue_emoji_reaction`, `delete_issue_note_emoji_reaction`, `delete_work_item_emoji_reaction`, `delete_work_item_note_emoji_reaction`, `merge_merge_request`, `push_files`
|
|
77
|
+
|
|
78
|
+
## Advanced
|
|
79
|
+
|
|
80
|
+
- **Dynamic discovery**: `discover_tools` lists and activates opt-in toolsets at runtime
|
|
81
|
+
- **GraphQL**: `execute_graphql` for queries not covered by REST tools
|
|
82
|
+
- **Zoekt search**: `search_code`, `search_project_code`, `search_group_code` (requires advanced search enabled)
|
|
83
|
+
- **Work Items**: GraphQL-based alternative to issues (Premium/Ultimate features)
|