shmakk 1.1.0 → 1.2.0

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.
Files changed (450) hide show
  1. package/README.md +16 -1
  2. package/package.json +6 -3
  3. package/scripts/import-skills.js +536 -0
  4. package/scripts/install-skills.js +64 -0
  5. package/skills/ai-elements.md +482 -0
  6. package/skills/architecture.md +151 -0
  7. package/skills/backend-adapter-aws-lambda.md +204 -0
  8. package/skills/backend-adapter-express.md +177 -0
  9. package/skills/backend-adapter-fastify.md +222 -0
  10. package/skills/backend-adapter-fetch.md +200 -0
  11. package/skills/backend-api-docs.md +22 -0
  12. package/skills/backend-aspire.md +232 -0
  13. package/skills/backend-aspnet-core.md +62 -0
  14. package/skills/backend-build-chatgpt-app.md +321 -0
  15. package/skills/backend-build-mcp-app.md +393 -0
  16. package/skills/backend-build-mcp-server.md +222 -0
  17. package/skills/backend-build-mcpb.md +200 -0
  18. package/skills/backend-building-ai-agent-on-cloudflare.md +401 -0
  19. package/skills/backend-caching.md +206 -0
  20. package/skills/backend-chatgpt-app-submission.md +157 -0
  21. package/skills/backend-chatgpt-apps.md +321 -0
  22. package/skills/backend-client-setup.md +318 -0
  23. package/skills/backend-containerize-aspnet-framework.md +455 -0
  24. package/skills/backend-create-spring-boot-java-project.md +164 -0
  25. package/skills/backend-create-spring-boot-kotlin-project.md +148 -0
  26. package/skills/backend-csharp-async.md +50 -0
  27. package/skills/backend-csharp-docs.md +63 -0
  28. package/skills/backend-csharp-mcp-server-generator.md +60 -0
  29. package/skills/backend-dotenv.md +201 -0
  30. package/skills/backend-dotenvx.md +119 -0
  31. package/skills/backend-env-vars.md +259 -0
  32. package/skills/backend-error-handling.md +254 -0
  33. package/skills/backend-fastapi.md +437 -0
  34. package/skills/backend-go-mcp-server-generator.md +335 -0
  35. package/skills/backend-java-mcp-server-generator.md +757 -0
  36. package/skills/backend-kotlin-mcp-server-generator.md +450 -0
  37. package/skills/backend-middlewares.md +243 -0
  38. package/skills/backend-multi-stage-dockerfile.md +47 -0
  39. package/skills/backend-nestjs.md +192 -0
  40. package/skills/backend-next-forge.md +375 -0
  41. package/skills/backend-nextjs.md +746 -0
  42. package/skills/backend-openapi-to-application-code.md +113 -0
  43. package/skills/backend-php-mcp-server-generator.md +523 -0
  44. package/skills/backend-python-mcp-server-generator.md +106 -0
  45. package/skills/backend-routing-middleware.md +251 -0
  46. package/skills/backend-ruby-mcp-server-generator.md +661 -0
  47. package/skills/backend-rust-mcp-server-generator.md +578 -0
  48. package/skills/backend-semantic-kernel.md +57 -0
  49. package/skills/backend-server-setup.md +379 -0
  50. package/skills/backend-server-side-calls.md +250 -0
  51. package/skills/backend-subscriptions.md +407 -0
  52. package/skills/backend-swift-mcp-server-generator.md +670 -0
  53. package/skills/backend-trpc-router.md +152 -0
  54. package/skills/backend-typescript-mcp-server-generator.md +91 -0
  55. package/skills/backend-validators.md +229 -0
  56. package/skills/backend.md +76 -0
  57. package/skills/backup.md +165 -0
  58. package/skills/budget.md +140 -0
  59. package/skills/business-gtm-0-to-1-launch.md +322 -0
  60. package/skills/business-gtm-operating-cadence.md +421 -0
  61. package/skills/business-gtm-positioning-strategy.md +439 -0
  62. package/skills/business-gtm-product-led-growth.md +340 -0
  63. package/skills/calendar.md +95 -0
  64. package/skills/code-review.md +130 -0
  65. package/skills/compliance.md +168 -0
  66. package/skills/contracts.md +130 -0
  67. package/skills/daily-job-run.md +46 -0
  68. package/skills/daily-webdesign.md +187 -0
  69. package/skills/database-bigquery-pipeline-audit.md +130 -0
  70. package/skills/database-cosmosdb-datamodeling.md +1046 -0
  71. package/skills/database-durable-objects.md +187 -0
  72. package/skills/database-ef-core.md +76 -0
  73. package/skills/database-fabric-lakehouse.md +107 -0
  74. package/skills/database-neon-postgres-egress-optimizer.md +213 -0
  75. package/skills/database-neon-postgres.md +218 -0
  76. package/skills/database-postgresql-code-review.md +213 -0
  77. package/skills/database-postgresql-optimization.md +405 -0
  78. package/skills/database-sql-code-review.md +302 -0
  79. package/skills/database-sql-optimization.md +297 -0
  80. package/skills/dependency-audit.md +165 -0
  81. package/skills/design-kami-landing.md +234 -0
  82. package/skills/design.md +221 -0
  83. package/skills/dev-acquire-codebase-knowledge.md +175 -0
  84. package/skills/dev-add-educational-comments.md +129 -0
  85. package/skills/dev-add-model-descriptions.md +74 -0
  86. package/skills/dev-adr-review.md +56 -0
  87. package/skills/dev-boost-prompt.md +26 -0
  88. package/skills/dev-build-run-debug.md +130 -0
  89. package/skills/dev-chunk.md +49 -0
  90. package/skills/dev-claude-md-improver.md +180 -0
  91. package/skills/dev-code-exemplars-blueprint-generator.md +127 -0
  92. package/skills/dev-code-tour.md +434 -0
  93. package/skills/dev-comment-code-generate-a-tutorial.md +27 -0
  94. package/skills/dev-commit.md +81 -0
  95. package/skills/dev-context-map.md +53 -0
  96. package/skills/dev-conventional-commit.md +73 -0
  97. package/skills/dev-create-architectural-decision-record.md +98 -0
  98. package/skills/dev-create-draft-pr.md +17 -0
  99. package/skills/dev-create-pr.md +17 -0
  100. package/skills/dev-create-readme.md +22 -0
  101. package/skills/dev-csharp-mstest.md +479 -0
  102. package/skills/dev-csharp-nunit.md +72 -0
  103. package/skills/dev-csharp-tunit.md +101 -0
  104. package/skills/dev-csharp-xunit.md +69 -0
  105. package/skills/dev-debug-failing-test.md +90 -0
  106. package/skills/dev-diff-analyze.md +32 -0
  107. package/skills/dev-diffs.md +24 -0
  108. package/skills/dev-dotnet-best-practices.md +86 -0
  109. package/skills/dev-dotnet-design-pattern-review.md +43 -0
  110. package/skills/dev-dotnet-timezone.md +110 -0
  111. package/skills/dev-dotnet-upgrade.md +117 -0
  112. package/skills/dev-doublecheck.md +278 -0
  113. package/skills/dev-explain-error.md +15 -0
  114. package/skills/dev-finding-discovery.md +164 -0
  115. package/skills/dev-fix-finding.md +111 -0
  116. package/skills/dev-full-file-edit.md +25 -0
  117. package/skills/dev-git-commit.md +125 -0
  118. package/skills/dev-git-flow-branch-creator.md +293 -0
  119. package/skills/dev-git-workflow.md +46 -0
  120. package/skills/dev-github-automation.md +64 -0
  121. package/skills/dev-github-code-review.md +1140 -0
  122. package/skills/dev-github-issues.md +202 -0
  123. package/skills/dev-gpt-5-4-prompting.md +55 -0
  124. package/skills/dev-investigation-mode.md +277 -0
  125. package/skills/dev-java-add-graalvm-native-image-support.md +450 -0
  126. package/skills/dev-java-docs.md +24 -0
  127. package/skills/dev-java-refactoring-extract-method.md +105 -0
  128. package/skills/dev-java-refactoring-remove-parameter.md +85 -0
  129. package/skills/dev-merge.md +73 -0
  130. package/skills/dev-migrate-create.md +36 -0
  131. package/skills/dev-migrate-validate.md +36 -0
  132. package/skills/dev-my-issues.md +9 -0
  133. package/skills/dev-my-pull-requests.md +15 -0
  134. package/skills/dev-planning-oracle-to-postgres-migration-integration-testing.md +45 -0
  135. package/skills/dev-playwright-generate-test.md +18 -0
  136. package/skills/dev-playwright.md +148 -0
  137. package/skills/dev-prompt-builder.md +142 -0
  138. package/skills/dev-pytest-coverage.md +29 -0
  139. package/skills/dev-python-manager-discovery.md +330 -0
  140. package/skills/dev-python-pypi-package-builder.md +445 -0
  141. package/skills/dev-readme-blueprint-generator.md +79 -0
  142. package/skills/dev-refactor-method-complexity-reduce.md +99 -0
  143. package/skills/dev-refactor-plan.md +66 -0
  144. package/skills/dev-refactor.md +646 -0
  145. package/skills/dev-review-and-refactor.md +16 -0
  146. package/skills/dev-reviewing-oracle-to-postgres-migration.md +68 -0
  147. package/skills/dev-ruff-recursive-fix.md +201 -0
  148. package/skills/dev-run-e2e-tests.md +126 -0
  149. package/skills/dev-run-pre-commit-checks.md +133 -0
  150. package/skills/dev-run-smoke-tests.md +127 -0
  151. package/skills/dev-scaffolding-oracle-to-postgres-migration-test-project.md +55 -0
  152. package/skills/dev-spring-boot-testing.md +190 -0
  153. package/skills/dev-sync-upstream.md +32 -0
  154. package/skills/dev-sync.md +74 -0
  155. package/skills/dev-tdd-workflow.md +23 -0
  156. package/skills/dev-terraform-azurerm-set-diff-analyzer.md +49 -0
  157. package/skills/dev-test-driven-development.md +372 -0
  158. package/skills/dev-test-gaps.md +18 -0
  159. package/skills/dev-test-triage.md +55 -0
  160. package/skills/dev-typer.md +267 -0
  161. package/skills/dev-typescript-setup.md +25 -0
  162. package/skills/dev-unified-diff-edit.md +16 -0
  163. package/skills/dev-unit-test-vue-pinia.md +198 -0
  164. package/skills/dev-using-git-worktrees.md +216 -0
  165. package/skills/dev-validation.md +99 -0
  166. package/skills/dev-verification.md +168 -0
  167. package/skills/dev-webapp-testing.md +134 -0
  168. package/skills/dev-write-coding-standards-from-file.md +317 -0
  169. package/skills/dev-write-tests.md +16 -0
  170. package/skills/devops-appinsights-instrumentation.md +49 -0
  171. package/skills/devops-az-cost-optimize.md +306 -0
  172. package/skills/devops-chronicle.md +154 -0
  173. package/skills/devops-deployments-cicd.md +331 -0
  174. package/skills/devops-devops-rollout-plan.md +118 -0
  175. package/skills/devops-geistdocs.md +276 -0
  176. package/skills/devops-observability.md +774 -0
  177. package/skills/devops-observe-metrics.md +35 -0
  178. package/skills/devops-observe-trace.md +30 -0
  179. package/skills/devops-phoenix-cli.md +163 -0
  180. package/skills/devops-phoenix-tracing.md +140 -0
  181. package/skills/devops-publish-to-pages.md +108 -0
  182. package/skills/devops-telemetry.md +87 -0
  183. package/skills/devops-update-avm-modules-in-bicep.md +61 -0
  184. package/skills/devops.md +81 -0
  185. package/skills/diagrams-canvas.md +204 -0
  186. package/skills/diagrams-draw-io-diagram-generator.md +463 -0
  187. package/skills/diagrams-excalidraw-diagram-generator.md +614 -0
  188. package/skills/diagrams-graphify.md +1277 -0
  189. package/skills/docs-bear-notes.md +108 -0
  190. package/skills/docs-create-llms.md +211 -0
  191. package/skills/docs-doc-gen.md +20 -0
  192. package/skills/docs-documentation-writer.md +46 -0
  193. package/skills/docs-llm-config.md +33 -0
  194. package/skills/docs-mkdocs-translations.md +109 -0
  195. package/skills/docs-obsidian-vault-maintainer.md +14 -0
  196. package/skills/docs-obsidian.md +82 -0
  197. package/skills/docs-prose.md +324 -0
  198. package/skills/docs-update-llms.md +217 -0
  199. package/skills/docs-update-markdown-file-index.md +77 -0
  200. package/skills/docs-wiki-maintainer.md +20 -0
  201. package/skills/documents.md +120 -0
  202. package/skills/email.md +113 -0
  203. package/skills/expenses.md +140 -0
  204. package/skills/file-ops.md +149 -0
  205. package/skills/files-convert-plaintext-to-md.md +363 -0
  206. package/skills/files-doc.md +81 -0
  207. package/skills/files-docx.md +594 -0
  208. package/skills/files-markdown-to-html.md +917 -0
  209. package/skills/files-nano-pdf.md +39 -0
  210. package/skills/files-pdf.md +315 -0
  211. package/skills/files-pdftk-server.md +163 -0
  212. package/skills/files-pptx-html-fidelity-audit.md +255 -0
  213. package/skills/files-pptx.md +231 -0
  214. package/skills/files-xlsx.md +301 -0
  215. package/skills/find-jobs.md +78 -0
  216. package/skills/format-conversion.md +157 -0
  217. package/skills/frontend-ai-elements.md +483 -0
  218. package/skills/frontend-ai-gateway.md +563 -0
  219. package/skills/frontend-ai-generation-persistence.md +242 -0
  220. package/skills/frontend-ai-sdk.md +799 -0
  221. package/skills/frontend-ai-visibility.md +127 -0
  222. package/skills/frontend-angular-developer.md +130 -0
  223. package/skills/frontend-aspnet-minimal-api-openapi.md +42 -0
  224. package/skills/frontend-bencium-innovative-ux-designer.md +719 -0
  225. package/skills/frontend-chat-sdk.md +666 -0
  226. package/skills/frontend-chrome-devtools.md +98 -0
  227. package/skills/frontend-frontend-app-builder.md +186 -0
  228. package/skills/frontend-frontend-design.md +43 -0
  229. package/skills/frontend-frontend-testing-debugging.md +143 -0
  230. package/skills/frontend-gsap-framer-scroll-animation.md +152 -0
  231. package/skills/frontend-internal-linking.md +109 -0
  232. package/skills/frontend-json-render.md +335 -0
  233. package/skills/frontend-keyword-clustering.md +118 -0
  234. package/skills/frontend-next-intl-add-language.md +20 -0
  235. package/skills/frontend-on-page-seo.md +112 -0
  236. package/skills/frontend-premium-frontend-ui.md +114 -0
  237. package/skills/frontend-react-best-practices.md +143 -0
  238. package/skills/frontend-schema-markup.md +160 -0
  239. package/skills/frontend-seo-audit.md +110 -0
  240. package/skills/frontend-swr.md +215 -0
  241. package/skills/frontend-technical-seo.md +162 -0
  242. package/skills/frontend-use-dom.md +418 -0
  243. package/skills/frontend-web-coder.md +564 -0
  244. package/skills/frontend-web-design-reviewer.md +369 -0
  245. package/skills/frontend-web-perf.md +202 -0
  246. package/skills/frontend.md +125 -0
  247. package/skills/general-adapter-standalone.md +199 -0
  248. package/skills/general-auth.md +356 -0
  249. package/skills/general-containerize-aspnetcore.md +393 -0
  250. package/skills/general-create-technical-spike.md +231 -0
  251. package/skills/general-cron-jobs.md +72 -0
  252. package/skills/general-ddd-aggregate.md +52 -0
  253. package/skills/general-ddd-context.md +46 -0
  254. package/skills/general-ddd-validate.md +51 -0
  255. package/skills/general-dependency-check.md +26 -0
  256. package/skills/general-email-marketing.md +86 -0
  257. package/skills/general-healthcheck.md +246 -0
  258. package/skills/general-import-infrastructure-as-code.md +368 -0
  259. package/skills/general-init.md +49 -0
  260. package/skills/general-java-junit.md +64 -0
  261. package/skills/general-java-springboot.md +66 -0
  262. package/skills/general-javascript-typescript-jest.md +45 -0
  263. package/skills/general-kotlin-springboot.md +71 -0
  264. package/skills/general-make-repo-contribution.md +91 -0
  265. package/skills/general-market-research.md +78 -0
  266. package/skills/general-marketplace.md +468 -0
  267. package/skills/general-model-recommendation.md +673 -0
  268. package/skills/general-payments.md +352 -0
  269. package/skills/general-quality-playbook.md +480 -0
  270. package/skills/general-run-integration-tests.md +113 -0
  271. package/skills/general-superjson.md +274 -0
  272. package/skills/general-swiftpm-macos.md +51 -0
  273. package/skills/general-threat-model.md +61 -0
  274. package/skills/invoices.md +167 -0
  275. package/skills/licenses.md +159 -0
  276. package/skills/logs.md +156 -0
  277. package/skills/marketing.md +139 -0
  278. package/skills/media-image-manipulation-image-magick.md +253 -0
  279. package/skills/media-imagegen.md +357 -0
  280. package/skills/media-openai-whisper-api.md +63 -0
  281. package/skills/media-openai-whisper.md +39 -0
  282. package/skills/media-peekaboo.md +191 -0
  283. package/skills/media-screenshot.md +268 -0
  284. package/skills/media-speech.md +145 -0
  285. package/skills/media-transcribe.md +82 -0
  286. package/skills/media-video-frames.md +47 -0
  287. package/skills/mobile-android-emulator-qa.md +81 -0
  288. package/skills/mobile-android-performance.md +280 -0
  289. package/skills/mobile-building-mcp-server-on-cloudflare.md +267 -0
  290. package/skills/mobile-building-native-ui.md +322 -0
  291. package/skills/mobile-expo-api-routes.md +369 -0
  292. package/skills/mobile-expo-cicd-workflows.md +92 -0
  293. package/skills/mobile-expo-deployment.md +191 -0
  294. package/skills/mobile-expo-dev-client.md +165 -0
  295. package/skills/mobile-expo-module.md +177 -0
  296. package/skills/mobile-expo-tailwind-setup.md +481 -0
  297. package/skills/mobile-expo-ui-jetpack-compose.md +41 -0
  298. package/skills/mobile-expo-ui-swift-ui.md +40 -0
  299. package/skills/mobile-ios-app-intents.md +78 -0
  300. package/skills/mobile-ios-debugger-agent.md +52 -0
  301. package/skills/mobile-ios-ettrace-performance.md +198 -0
  302. package/skills/mobile-ios-memgraph-leaks.md +77 -0
  303. package/skills/mobile-native-data-fetching.md +508 -0
  304. package/skills/mobile-packaging-notarization.md +48 -0
  305. package/skills/mobile-react-native-architecture.md +672 -0
  306. package/skills/mobile-react-native-mobile-design.md +438 -0
  307. package/skills/mobile-signing-entitlements.md +59 -0
  308. package/skills/mobile-swiftui-liquid-glass.md +91 -0
  309. package/skills/mobile-swiftui-patterns.md +210 -0
  310. package/skills/mobile-swiftui-performance-audit.md +108 -0
  311. package/skills/mobile-swiftui-ui-patterns.md +97 -0
  312. package/skills/mobile-swiftui-view-refactor.md +204 -0
  313. package/skills/mobile-upgrading-expo.md +134 -0
  314. package/skills/mobile.md +183 -0
  315. package/skills/notes.md +106 -0
  316. package/skills/planning-adr-create.md +62 -0
  317. package/skills/planning-adr-index.md +67 -0
  318. package/skills/planning-architecture-blueprint-generator.md +323 -0
  319. package/skills/planning-brainstorming.md +165 -0
  320. package/skills/planning-breakdown-epic-arch.md +67 -0
  321. package/skills/planning-breakdown-epic-pm.md +59 -0
  322. package/skills/planning-breakdown-feature-implementation.md +129 -0
  323. package/skills/planning-breakdown-feature-prd.md +62 -0
  324. package/skills/planning-breakdown-plan.md +510 -0
  325. package/skills/planning-breakdown-test.md +366 -0
  326. package/skills/planning-cloud-design-patterns.md +63 -0
  327. package/skills/planning-content-brief.md +128 -0
  328. package/skills/planning-content-strategy.md +138 -0
  329. package/skills/planning-content-translation.md +143 -0
  330. package/skills/planning-create-github-action-workflow-specification.md +277 -0
  331. package/skills/planning-create-github-issues-feature-from-implementation-plan.md +29 -0
  332. package/skills/planning-create-github-issues-for-unmet-specification-requirements.md +36 -0
  333. package/skills/planning-create-github-pull-request-from-specification.md +25 -0
  334. package/skills/planning-create-implementation-plan.md +158 -0
  335. package/skills/planning-create-specification.md +128 -0
  336. package/skills/planning-first-ask.md +31 -0
  337. package/skills/planning-folder-structure-blueprint-generator.md +406 -0
  338. package/skills/planning-gen-specs-as-issues.md +166 -0
  339. package/skills/planning-generate-snapshot.md +144 -0
  340. package/skills/planning-generate-status-report.md +336 -0
  341. package/skills/planning-metric-pack-designer.md +27 -0
  342. package/skills/planning-pm-spec.md +53 -0
  343. package/skills/planning-prd.md +144 -0
  344. package/skills/planning-project-assessment.md +182 -0
  345. package/skills/planning-project-setup-info-local.md +128 -0
  346. package/skills/planning-project-workflow-analysis-blueprint-generator.md +294 -0
  347. package/skills/planning-service-oriented-architecture.md +248 -0
  348. package/skills/planning-spec-to-backlog.md +544 -0
  349. package/skills/planning-technology-stack-blueprint-generator.md +243 -0
  350. package/skills/planning-update-implementation-plan.md +158 -0
  351. package/skills/planning-update-specification.md +128 -0
  352. package/skills/planning-what-context-needed.md +40 -0
  353. package/skills/planning-writing-plans.md +153 -0
  354. package/skills/prepare-application.md +81 -0
  355. package/skills/productivity-apple-notes.md +78 -0
  356. package/skills/productivity-apple-reminders.md +119 -0
  357. package/skills/productivity-capture-tasks-from-meeting-notes.md +680 -0
  358. package/skills/productivity-daily-prep.md +156 -0
  359. package/skills/productivity-email-drafter.md +101 -0
  360. package/skills/productivity-hr-onboarding.md +53 -0
  361. package/skills/productivity-things-mac.md +87 -0
  362. package/skills/productivity-update.md +169 -0
  363. package/skills/reminders.md +109 -0
  364. package/skills/research-dossier-collect.md +71 -0
  365. package/skills/research-kg-extract.md +37 -0
  366. package/skills/research-openai-docs.md +89 -0
  367. package/skills/research-research-add-items.md +31 -0
  368. package/skills/research-research-report.md +94 -0
  369. package/skills/research-research-synthesize.md +63 -0
  370. package/skills/research-summarize.md +88 -0
  371. package/skills/research-transformers-js.md +635 -0
  372. package/skills/research.md +119 -0
  373. package/skills/security-ai-prompt-engineering-safety-review.md +231 -0
  374. package/skills/security-attack-path-analysis.md +182 -0
  375. package/skills/security-gdpr-compliant.md +284 -0
  376. package/skills/security-mcp-security-audit.md +279 -0
  377. package/skills/security-pii-detect.md +31 -0
  378. package/skills/security-secret-scanning.md +243 -0
  379. package/skills/security-security-best-practices.md +87 -0
  380. package/skills/security-security-ownership-map.md +207 -0
  381. package/skills/security-security-review.md +169 -0
  382. package/skills/security-security-scan.md +138 -0
  383. package/skills/security-security-threat-model.md +82 -0
  384. package/skills/security-threat-model-analyst.md +76 -0
  385. package/skills/sysmon.md +181 -0
  386. package/skills/system-arch-linux-triage.md +32 -0
  387. package/skills/system-centos-linux-triage.md +32 -0
  388. package/skills/system-debian-linux-triage.md +32 -0
  389. package/skills/system-fedora-linux-triage.md +32 -0
  390. package/skills/system-geofeed-tuner.md +865 -0
  391. package/skills/system-iot-anomalies.md +15 -0
  392. package/skills/system-iot-firmware.md +16 -0
  393. package/skills/system-iot-fleet.md +14 -0
  394. package/skills/system-iot-register.md +19 -0
  395. package/skills/system-iot-witness-verify.md +15 -0
  396. package/skills/system-tmux.md +171 -0
  397. package/skills/system-window-management.md +228 -0
  398. package/skills/task-management.md +90 -0
  399. package/skills/tasks.md +102 -0
  400. package/skills/test-coverage.md +188 -0
  401. package/skills/ux-ui.md +128 -0
  402. package/skills/web.md +186 -0
  403. package/skills/workflow-act-on-feedback.md +15 -0
  404. package/skills/workflow-automate-this.md +245 -0
  405. package/skills/workflow-autoresearch.md +276 -0
  406. package/skills/workflow-coding-agent.md +317 -0
  407. package/skills/workflow-deep-research.md +44 -0
  408. package/skills/workflow-dispatching-parallel-agents.md +183 -0
  409. package/skills/workflow-eval-driven-dev.md +148 -0
  410. package/skills/workflow-executing-plans.md +71 -0
  411. package/skills/workflow-mentoring-juniors.md +311 -0
  412. package/skills/workflow-receiving-code-review.md +214 -0
  413. package/skills/workflow-repo-story-time.md +155 -0
  414. package/skills/workflow-requesting-code-review.md +104 -0
  415. package/skills/workflow-session-report.md +43 -0
  416. package/skills/workflow-structured-autonomy-generate.md +126 -0
  417. package/skills/workflow-subagent-driven-development.md +280 -0
  418. package/skills/writing.md +106 -0
  419. package/src/agent.js +0 -0
  420. package/src/browser.js +297 -0
  421. package/src/cli.js +25 -4
  422. package/src/code-reviewer.js +119 -0
  423. package/src/completions.js +1 -1
  424. package/src/control.js +222 -30
  425. package/src/coordinator.js +303 -0
  426. package/src/correction.js +29 -8
  427. package/src/edit-tracker.js +21 -0
  428. package/src/edit-viewer.js +414 -0
  429. package/src/endpoints.js +64 -15
  430. package/src/index.js +45 -11
  431. package/src/llm.js +86 -2
  432. package/src/mcp-client.js +416 -0
  433. package/src/memory.js +182 -0
  434. package/src/planner.js +216 -0
  435. package/src/rules.js +90 -0
  436. package/src/self-commands.js +757 -0
  437. package/src/services/voice.js +10 -7
  438. package/src/session-search.js +427 -0
  439. package/src/session.js +487 -99
  440. package/src/shmakk-server.js +91 -0
  441. package/src/skills.js +410 -3
  442. package/src/subagent.js +4 -1
  443. package/src/system-prompt.js +13 -5
  444. package/src/task-file.js +114 -0
  445. package/src/taskClassifier.js +246 -0
  446. package/src/team.js +752 -0
  447. package/src/tools.js +142 -21
  448. package/src/web.js +35 -5
  449. package/src/workflows.js +261 -0
  450. package/src/workspace-index.js +25 -6
@@ -0,0 +1,434 @@
1
+ ---
2
+ name: code-tour
3
+ description: >
4
+ Use this skill to create CodeTour .tour files — persona-targeted, step-by-step walkthroughs
5
+ that link to real files and line numbers. Trigger for: "create a tour", "make a code tour",
6
+ "generate a tour", "onboarding tour", "tour for this PR", "tour for this bug", "RCA tour",
7
+ "architecture tour", "explain how X works", "vibe check", "PR review tour",
8
+ "contributor guide", "help someone ramp up", or any request for a structured walkthrough
9
+ through code. Supports 20 developer personas (new joiner, bug fixer, architect, PR reviewer,
10
+ vibecoder, security reviewer, and more), all CodeTour step types (file/line, selection,
11
+ pattern, uri, commands, view), and tour-level fields (ref, isPrimary, nextTour).
12
+ Works with any repository in any language.
13
+ category: dev
14
+ ---
15
+
16
+ # Code Tour Skill
17
+
18
+ You are creating a **CodeTour** — a persona-targeted, step-by-step walkthrough of a codebase
19
+ that links directly to files and line numbers. CodeTour files live in `.tours/` and work with
20
+ the [VS Code CodeTour extension](https://github.com/microsoft/codetour).
21
+
22
+ Two scripts are bundled in `scripts/`:
23
+
24
+ - **`scripts/validate_tour.py`** — run after writing any tour. Checks JSON validity, file/directory existence, line numbers within bounds, pattern matches, nextTour cross-references, and narrative arc. Run it: `python ~/.agents/skills/code-tour/scripts/validate_tour.py .tours/<name>.tour --repo-root .`
25
+ - **`scripts/generate_from_docs.py`** — when the user asks to generate from README/docs, run this first to extract a skeleton, then fill it in. Run it: `python ~/.agents/skills/code-tour/scripts/generate_from_docs.py --persona new-joiner --output .tours/skeleton.tour`
26
+
27
+ Two reference files are bundled:
28
+
29
+ - **`references/codetour-schema.json`** — the authoritative JSON schema. Read it to verify any field name or type. Every field you use must conform to it.
30
+ - **`references/examples.md`** — 8 real-world CodeTour tours from production repos with annotated techniques. Read it when you want to see how a specific feature (`commands`, `selection`, `view`, `pattern`, `isPrimary`, multi-tour series) is used in practice.
31
+
32
+ ### Real-world `.tour` files on GitHub
33
+
34
+ These are confirmed production `.tour` files. Fetch one when you need a working example of a specific step type, tour-level field, or narrative structure — don't write from memory when the real thing is one fetch away.
35
+
36
+ Find more with the GitHub code search: https://github.com/search?q=path%3A**%2F*.tour+&type=code
37
+
38
+ #### By step type / technique demonstrated
39
+
40
+ | What to study | File URL |
41
+ |---|---|
42
+ | `directory` + `file+line` (contributor onboarding) | https://github.com/coder/code-server/blob/main/.tours/contributing.tour |
43
+ | `selection` + `file+line` + intro content step (accessibility project) | https://github.com/a11yproject/a11yproject.com/blob/main/.tours/code-tour.tour |
44
+ | Minimal tutorial — tight `file+line` narration for interactive learning | https://github.com/lostintangent/rock-paper-scissors/blob/master/main.tour |
45
+ | Multi-tour repo with `nextTour` chaining (cloud native OCI walkthroughs) | https://github.com/lucasjellema/cloudnative-on-oci-2021/blob/main/.tours/introduction.tour |
46
+ | `isPrimary: true` (marks the onboarding entry point) | https://github.com/nickvdyck/webbundlr/blob/main/.tours/getting-started.tour |
47
+ | `pattern` instead of `line` (regex-anchored steps) | https://github.com/nickvdyck/webbundlr/blob/main/.tours/architecture.tour |
48
+
49
+ **Raw content tip:** Prefix `raw.githubusercontent.com` and drop `/blob/` for raw JSON access.
50
+
51
+ A great tour is not just annotated files. It is a **narrative** — a story told to a specific
52
+ person about what matters, why it matters, and what to do next. Your goal is to write the tour
53
+ that the right person would wish existed when they first opened this repo.
54
+
55
+ **CRITICAL: Only create `.tour` JSON files. Never create, modify, or scaffold any other files.**
56
+
57
+ ---
58
+
59
+ ## Step 1: Discover the repo
60
+
61
+ Before asking the user anything, explore the codebase:
62
+
63
+ - List the root directory, read the README, and check key config files
64
+ (package.json, pyproject.toml, go.mod, Cargo.toml, composer.json, etc.)
65
+ - Identify the language(s), framework(s), and what the project does
66
+ - Map the folder structure 1–2 levels deep
67
+ - Find entry points: main files, index files, app bootstrapping
68
+ - **Note which files actually exist** — every path you write in the tour must be real
69
+
70
+ If the repo is sparse or empty, say so and work with what exists.
71
+
72
+ **If the user says "generate from README" or "use the docs":** run the skeleton generator first, then fill in every `[TODO: ...]` by reading the actual files:
73
+
74
+ ```bash
75
+ python skills/code-tour/scripts/generate_from_docs.py \
76
+ --persona new-joiner \
77
+ --output .tours/skeleton.tour
78
+ ```
79
+
80
+ ### Entry points by language/framework
81
+
82
+ Don't read everything — start here, then follow imports.
83
+
84
+ | Stack | Entry points to read first |
85
+ |-------|---------------------------|
86
+ | **Node.js / TS** | `index.js/ts`, `server.js`, `app.js`, `src/main.ts`, `package.json` (scripts) |
87
+ | **Python** | `main.py`, `app.py`, `__main__.py`, `manage.py` (Django), `app/__init__.py` (Flask/FastAPI) |
88
+ | **Go** | `main.go`, `cmd/<name>/main.go`, `internal/` |
89
+ | **Rust** | `src/main.rs`, `src/lib.rs`, `Cargo.toml` |
90
+ | **Java / Kotlin** | `*Application.java`, `src/main/java/.../Main.java`, `build.gradle` |
91
+ | **Ruby** | `config/application.rb`, `config/routes.rb`, `app/controllers/application_controller.rb` |
92
+ | **PHP** | `index.php`, `public/index.php`, `bootstrap/app.php` (Laravel) |
93
+
94
+ ### Repo type variants — adjust focus accordingly
95
+
96
+ The same persona asks for different things depending on what kind of repo this is:
97
+
98
+ | Repo type | What to emphasize | Typical anchor files |
99
+ |-----------|-------------------|----------------------|
100
+ | **Service / API** | Request lifecycle, auth, error contracts | router, middleware, handler, schema |
101
+ | **Library / SDK** | Public API surface, extension points, versioning | index/exports, types, changelog |
102
+ | **CLI tool** | Command parsing, config loading, output formatting | main, commands/, config |
103
+ | **Monorepo** | Package boundaries, shared contracts, build graph | root package.json/pnpm-workspace, shared/, packages/ |
104
+ | **Framework** | Plugin system, lifecycle hooks, escape hatches | core/, plugins/, lifecycle |
105
+ | **Data pipeline** | Source → transform → sink, schema ownership | ingest/, transform/, schema/, dbt models |
106
+ | **Frontend app** | Component hierarchy, state management, routing | pages/, store/, router, api/ |
107
+
108
+ For **monorepos**: identify the 2–3 packages most relevant to the persona's goal. Don't try to tour everything — open the tour with a step that explains how to navigate the workspace, then stay focused.
109
+
110
+ ### Large repo strategy
111
+
112
+ For repos with 100+ files: don't try to read everything.
113
+
114
+ 1. Read entry points and the README first
115
+ 2. Build a mental model of the top 5–7 modules
116
+ 3. For the requested persona, identify the **2–3 modules that matter most** and read those deeply
117
+ 4. For modules you're not covering, mention them in the intro step as "out of scope for this tour"
118
+ 5. Use `directory` steps for areas you mapped but didn't read — they orient without requiring full knowledge
119
+
120
+ A focused 10-step tour of the right files beats a scattered 25-step tour of everything.
121
+
122
+ ---
123
+
124
+ ## Step 2: Read the intent — infer everything you can, ask only what you can't
125
+
126
+ **One message from the user should be enough.** Read their request and infer persona,
127
+ depth, and focus before asking anything.
128
+
129
+ ### Intent map
130
+
131
+ | User says | → Persona | → Depth | → Action |
132
+ |-----------|-----------|---------|----------|
133
+ | "tour for this PR" / "PR review" / "#123" | pr-reviewer | standard | Add `uri` step for the PR; use `ref` for the branch |
134
+ | "why did X break" / "RCA" / "incident" | rca-investigator | standard | Trace the failure causality chain |
135
+ | "debug X" / "bug tour" / "find the bug" | bug-fixer | standard | Entry → fault points → tests |
136
+ | "onboarding" / "new joiner" / "ramp up" | new-joiner | standard | Directories, setup, business context |
137
+ | "quick tour" / "vibe check" / "just the gist" | vibecoder | quick | 5–8 steps, fast path only |
138
+ | "explain how X works" / "feature tour" | feature-explainer | standard | UI → API → backend → storage |
139
+ | "architecture" / "tech lead" / "system design" | architect | deep | Boundaries, decisions, tradeoffs |
140
+ | "security" / "auth review" / "trust boundaries" | security-reviewer | standard | Auth flow, validation, sensitive sinks |
141
+ | "refactor" / "safe to extract?" | refactorer | standard | Seams, hidden deps, extraction order |
142
+ | "performance" / "bottlenecks" / "slow path" | performance-optimizer | standard | Hot path, N+1, I/O, caches |
143
+ | "contributor" / "open source onboarding" | external-contributor | quick | Safe areas, conventions, landmines |
144
+ | "concept" / "explain pattern X" | concept-learner | standard | Concept → implementation → rationale |
145
+ | "test coverage" / "where to add tests" | test-writer | standard | Contracts, seams, coverage gaps |
146
+ | "how do I call the API" | api-consumer | standard | Public surface, auth, error semantics |
147
+
148
+ **Infer silently:** persona, depth, focus area, whether to add `uri`/`ref`, `isPrimary`.
149
+
150
+ **Ask only if you genuinely can't infer:**
151
+ - "bug tour" but no bug described → ask for the bug description
152
+ - "feature tour" but no feature named → ask which feature
153
+ - "specific files" explicitly requested → honor them as required stops
154
+
155
+ Never ask about `nextTour`, `commands`, `when`, or `stepMarker` unless the user mentioned them.
156
+
157
+ ### PR tour recipe
158
+
159
+ For PR tours: set `"ref"` to the branch, open with a `uri` step for the PR, cover changed files first, then unchanged-but-critical files, close with a reviewer checklist.
160
+
161
+ ### User-provided customization — always honor these
162
+
163
+ | User says | What to do |
164
+ |-----------|-----------|
165
+ | "cover `src/auth.ts` and `config/db.yml`" | Those files are required stops |
166
+ | "pin to the `v2.3.0` tag" / "this commit: abc123" | Set `"ref": "v2.3.0"` |
167
+ | "link to PR #456" / pastes a URL | Add a `uri` step at the right narrative moment |
168
+ | "lead into the security tour when done" | Set `"nextTour": "Security Review"` |
169
+ | "make this the main onboarding tour" | Set `"isPrimary": true` |
170
+ | "open a terminal at this step" | Add `"commands": ["workbench.action.terminal.focus"]` |
171
+ | "deep" / "thorough" / "5 steps" / "quick" | Override depth accordingly |
172
+
173
+ ---
174
+
175
+ ## Step 3: Read the actual files — no exceptions
176
+
177
+ **Every file path and line number in the tour must be verified by reading the file.**
178
+ A tour pointing to the wrong file or a non-existent line is worse than no tour.
179
+
180
+ For every planned step:
181
+ 1. Read the file
182
+ 2. Find the exact line of the code you want to highlight
183
+ 3. Understand it well enough to explain it to the target persona
184
+
185
+ If a user-requested file doesn't exist, say so — don't silently substitute another.
186
+
187
+ ---
188
+
189
+ ## Step 4: Write the tour
190
+
191
+ Save to `.tours/<persona>-<focus>.tour`. Read `references/codetour-schema.json` for the
192
+ authoritative field list. Every field you use must appear in that schema.
193
+
194
+ ### Tour root
195
+
196
+ ```json
197
+ {
198
+ "$schema": "https://aka.ms/codetour-schema",
199
+ "title": "Descriptive Title — Persona / Goal",
200
+ "description": "One sentence: who this is for and what they'll understand after.",
201
+ "ref": "main",
202
+ "isPrimary": false,
203
+ "nextTour": "Title of follow-up tour",
204
+ "steps": []
205
+ }
206
+ ```
207
+
208
+ Omit any field that doesn't apply to this tour.
209
+
210
+ **`when`** — conditional display. A JavaScript expression evaluated at runtime. Only show this tour
211
+ if the condition is true. Useful for persona-specific auto-launching, or hiding advanced tours
212
+ until a simpler one is complete.
213
+ ```json
214
+ { "when": "workspaceFolders[0].name === 'api'" }
215
+ ```
216
+
217
+ **`stepMarker`** — embed step anchors directly in source code comments. When set, CodeTour
218
+ looks for `// <stepMarker>` comments in files and uses them as step positions instead of
219
+ (or alongside) line numbers. Useful for tours on actively changing code where line numbers
220
+ shift constantly. Example: set `"stepMarker": "CT"` and put `// CT` in the source file.
221
+ Don't suggest this unless the user asks — it requires editing source files, which is unusual.
222
+
223
+ ---
224
+
225
+ ### Step types — full reference
226
+
227
+ All step types: **content** (intro/closing, max 2), **directory**, **file+line** (workhorse), **selection** (code block), **pattern** (regex match), **uri** (external link), **view** (focus VS Code panel), **commands** (run VS Code commands).
228
+
229
+ > **Path rule:** `"file"` and `"directory"` must be relative to repo root. No absolute paths, no leading `./`.
230
+
231
+ ---
232
+
233
+ ### When to use each step type
234
+
235
+ | Situation | Step type |
236
+ |-----------|-----------|
237
+ | Tour intro or closing | content |
238
+ | "Here's what lives in this folder" | directory |
239
+ | One line tells the whole story | file + line |
240
+ | A function/class body is the point | selection |
241
+ | Line numbers shift, file is volatile | pattern |
242
+ | PR / issue / doc gives the "why" | uri |
243
+ | Reader should open terminal or explorer | view or commands |
244
+
245
+ ---
246
+
247
+ ### Step count calibration
248
+
249
+ Match steps to depth and persona. These are targets, not hard limits.
250
+
251
+ | Depth | Total steps | Core path steps | Notes |
252
+ |-------|-------------|-----------------|-------|
253
+ | Quick | 5–8 | 3–5 | Vibecoder, fast explorer — cut ruthlessly |
254
+ | Standard | 9–13 | 6–9 | Most personas — breadth + enough detail |
255
+ | Deep | 14–18 | 10–13 | Architect, RCA — every tradeoff surfaced |
256
+
257
+ Scale with repo size too. A 3-file CLI doesn't get 15 steps. A 200-file monolith shouldn't be squeezed into 5.
258
+
259
+ | Repo size | Recommended standard depth |
260
+ |-----------|---------------------------|
261
+ | Tiny (< 20 files) | 5–8 steps |
262
+ | Small (20–80 files) | 8–11 steps |
263
+ | Medium (80–300 files) | 10–13 steps |
264
+ | Large (300+ files) | 12–15 steps (scoped to relevant subsystem) |
265
+
266
+ ---
267
+
268
+ ### Writing excellent descriptions — the SMIG formula
269
+
270
+ Every description should answer four questions in order. You don't need four paragraphs — but every description needs all four elements, even briefly.
271
+
272
+ **S — Situation**: What is the reader looking at? One sentence grounding them in context.
273
+ **M — Mechanism**: How does this code work? What pattern, rule, or design is in play?
274
+ **I — Implication**: Why does this matter for *this persona's goal specifically*?
275
+ **G — Gotcha**: What would a smart person get wrong here? What's non-obvious, fragile, or surprising?
276
+
277
+ Descriptions should tell the reader something they couldn't learn by reading the file themselves. Name the pattern, explain the design decision, flag failure modes, and cross-reference related context.
278
+
279
+ ---
280
+
281
+ ## Narrative arc — every tour, every persona
282
+
283
+ 1. **Orientation** — **must be a `file` or `directory` step, never content-only.**
284
+ Use `"file": "README.md", "line": 1` or `"directory": "src"` and put your welcome text in the description.
285
+ A content-only first step (no `file`, `directory`, or `uri`) renders as a blank page in VS Code CodeTour — this is a known VS Code extension behaviour, not configurable.
286
+
287
+ 2. **High-level map** (1–3 directory or uri steps) — major modules and how they relate.
288
+ Not every folder — just what this persona needs to know.
289
+
290
+ 3. **Core path** (file/line, selection, pattern, uri steps) — the specific code that matters.
291
+ This is the heart of the tour. Read and narrate. Don't skim.
292
+
293
+ 4. **Closing** (content) — what the reader now understands, what they can do next,
294
+ 2–3 suggested follow-up tours. If `nextTour` is set, reference it by name here.
295
+
296
+ ### Closing steps
297
+
298
+ Don't summarize — the reader just read it. Instead, tell them what they can now *do*, what to avoid, and suggest 2-3 follow-up tours.
299
+
300
+ ---
301
+
302
+ ## The 20 personas
303
+
304
+ | Persona | Goal | Must cover | Avoid |
305
+ |---------|------|------------|-------|
306
+ | **Vibecoder** | Get the vibe fast | Entry point, request flow, main modules. Max 8 steps. | Deep dives, edge cases |
307
+ | **New joiner** | Structured ramp-up | Directories, setup, business context, service boundaries. | Advanced internals |
308
+ | **Bug fixer** | Root cause fast | User action → trigger → fault points. Repro hints + test locations. | Architecture tours |
309
+ | **RCA investigator** | Why did it fail | Causality chain, side effects, race conditions, observability. | Happy path |
310
+ | **Feature explainer** | One feature end-to-end | UI → API → backend → storage. Feature flags, edge cases. | Unrelated features |
311
+ | **PR reviewer** | Review the change correctly | Change story, invariants, risky areas, reviewer checklist. URI step for PR. | Unrelated context |
312
+ | **Security reviewer** | Trust boundaries | Auth flow, input validation, secret handling, sensitive sinks. | Unrelated business logic |
313
+ | **Refactorer** | Safe restructuring | Seams, hidden deps, coupling hotspots, safe extraction order. | Feature explanations |
314
+ | **External contributor** | Contribute without breaking | Safe areas, code style, architecture landmines. | Deep internals |
315
+ | **Tech lead / architect** | Shape and rationale | Module boundaries, design tradeoffs, risk hotspots. | Line-by-line walkthroughs |
316
+
317
+ ---
318
+
319
+ ## Designing a tour series
320
+
321
+ When a codebase is complex enough that one tour can't cover it well, design a series.
322
+ The `nextTour` field chains them: when the reader finishes one tour, VS Code offers to
323
+ launch the next automatically.
324
+
325
+ **Plan the series before writing any tour.** A good series has:
326
+ - A clear escalation path (broad → narrow, orientation → deep-dive)
327
+ - No duplicate steps between tours
328
+ - Each tour standalone enough to be useful on its own
329
+
330
+ Set `nextTour` in each tour to the `title` of the next one (must match exactly). Each tour should be standalone enough to be useful on its own.
331
+
332
+ ---
333
+
334
+ ## What CodeTour cannot do
335
+
336
+ If asked for any of these, say clearly that it's not supported — do not suggest a workaround that doesn't exist:
337
+
338
+ | Request | Reality |
339
+ |---|---|
340
+ | **Auto-advance to next step after X seconds** | Not supported. Navigation is always manual — the reader clicks Next. There is no timer, delay, or autoplay step mechanic in CodeTour. |
341
+ | **Embed a video or GIF in a step** | Not supported. Descriptions are Markdown text only. |
342
+ | **Run arbitrary shell commands** | Not supported. `commands` only executes VS Code commands (e.g. `workbench.action.terminal.focus`), not shell commands. |
343
+ | **Branch / conditional next step** | Not supported. Tours are linear. `when` controls whether a tour is shown, not which step follows which. |
344
+ | **Show a step without opening a file** | Partially — content-only steps work, but step 1 must have a `file` or `directory` anchor or VS Code shows a blank page. |
345
+
346
+ ---
347
+
348
+ ## Anti-patterns
349
+
350
+ | Anti-pattern | Fix |
351
+ |---|---|
352
+ | **File listing** — visiting files with "this file contains..." | Tell a story; each step should depend on the previous one |
353
+ | **Generic descriptions** | Name the specific pattern/gotcha unique to *this* codebase |
354
+ | **Line number guessing** | Never write a line number you didn't verify by reading the file |
355
+ | **Ignoring the persona** | Cut every step that doesn't serve their specific goal |
356
+ | **Hallucinated files** | If a file doesn't exist, skip the step |
357
+
358
+ ---
359
+
360
+ ## Quality checklist — verify before writing the file
361
+
362
+ - [ ] Every `file` path is **relative to the repo root** (no leading `/` or `./`)
363
+ - [ ] Every `file` path read and confirmed to exist
364
+ - [ ] Every `line` number verified by reading the file (not guessed)
365
+ - [ ] Every `directory` is **relative to the repo root** and confirmed to exist
366
+ - [ ] Every `pattern` regex would match a real line in the file
367
+ - [ ] Every `uri` is a complete, real URL (https://...)
368
+ - [ ] `ref` is a real branch/tag/commit if set
369
+ - [ ] `nextTour` exactly matches the `title` of another `.tour` file if set
370
+ - [ ] Only `.tour` JSON files created — no source code touched
371
+ - [ ] First step has a `file` or `directory` anchor (content-only first step = blank page in VS Code)
372
+ - [ ] Tour ends with a closing content step that tells the reader what they can *do* next
373
+ - [ ] Every description answers SMIG — Situation, Mechanism, Implication, Gotcha
374
+ - [ ] Persona's priorities drive step selection (cut everything that doesn't serve their goal)
375
+ - [ ] Step count matches requested depth and repo size (see calibration table)
376
+ - [ ] At most 2 content-only steps (intro + closing)
377
+ - [ ] All fields conform to `references/codetour-schema.json`
378
+
379
+ ---
380
+
381
+ ## Step 5: Validate the tour
382
+
383
+ **Always run the validator immediately after writing the tour file. Do not skip this step.**
384
+
385
+ ```bash
386
+ python ~/.agents/skills/code-tour/scripts/validate_tour.py .tours/<name>.tour --repo-root .
387
+ ```
388
+
389
+ The validator checks:
390
+ - JSON validity
391
+ - Every `file` path exists and every `line` is within file bounds
392
+ - Every `directory` exists
393
+ - Every `pattern` regex compiles and matches at least one line in the file
394
+ - Every `uri` starts with `https://`
395
+ - `nextTour` matches an existing tour title in `.tours/`
396
+ - Content-only step count (warns if > 2)
397
+ - Narrative arc (warns if no orientation or closing step)
398
+
399
+ **Fix every error before proceeding.** Re-run until the validator reports ✓ or only warnings. Warnings are advisory — use your judgment. Do not show the user the tour until validation passes.
400
+
401
+ **Common VS Code issues:** Content-only first step renders blank (anchor to file/directory instead). Absolute or `./`-prefixed paths silently fail. Out-of-bounds line numbers scroll nowhere.
402
+
403
+ If you can't run scripts, manually verify: step 1 has `file`/`directory`, all paths exist, all line numbers are in bounds, `nextTour` matches exactly.
404
+
405
+ **Autoplay:** `isPrimary: true` + `.vscode/settings.json` with `{ "codetour.promptForPrimaryTour": true }` prompts on repo open. Omit `ref` for tours that should appear on any branch.
406
+
407
+ **Share:** For public repos, users can open tours at `https://vscode.dev/github.com/<owner>/<repo>` with no install.
408
+
409
+ ---
410
+
411
+ ## Step 6: Summarize
412
+
413
+ After writing the tour, tell the user:
414
+ - File path (`.tours/<name>.tour`)
415
+ - One-paragraph summary of what the tour covers and who it's for
416
+ - The `vscode.dev` URL if the repo is public (so they can share it immediately)
417
+ - 2–3 suggested follow-up tours (or the next tour in the series if one was planned)
418
+ - Any user-requested files that didn't exist (be explicit — don't quietly substitute)
419
+
420
+ ---
421
+
422
+ ## File naming
423
+
424
+ `<persona>-<focus>.tour` — kebab-case, communicates both:
425
+ ```
426
+ onboarding-new-joiner.tour
427
+ bug-fixer-payment-flow.tour
428
+ architect-overview.tour
429
+ vibecoder-quickstart.tour
430
+ pr-review-auth-refactor.tour
431
+ security-auth-boundaries.tour
432
+ concept-dependency-injection.tour
433
+ rca-login-outage.tour
434
+ ```
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: comment-code-generate-a-tutorial
3
+ description: 'Transform this Python script into a polished, beginner-friendly project by refactoring the code, adding clear instructional comments, and generating a complete markdown tutorial.'
4
+ category: dev
5
+ ---
6
+
7
+ Transform this Python script into a polished, beginner-friendly project by refactoring the code, adding clear instructional comments, and generating a complete markdown tutorial.
8
+
9
+ 1. **Refactor the code**
10
+ - Apply standard Python best practices
11
+ - Ensure code follows the PEP 8 style guide
12
+ - Rename unclear variables and functions if needed for clarity
13
+
14
+ 1. **Add comments throughout the code**
15
+ - Use a beginner-friendly, instructional tone
16
+ - Explain what each part of the code is doing and why it's important
17
+ - Focus on the logic and reasoning, not just syntax
18
+ - Avoid redundant or superficial comments
19
+
20
+ 1. **Generate a tutorial as a `README.md` file**
21
+ Include the following sections:
22
+ - **Project Overview:** What the script does and why it's useful
23
+ - **Setup Instructions:** Prerequisites, dependencies, and how to run the script
24
+ - **How It Works:** A breakdown of the code logic based on the comments
25
+ - **Example Usage:** A code snippet showing how to use it
26
+ - **Sample Output:** (Optional) Include if the script returns visible results
27
+ - Use clear, readable Markdown formatting
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: commit
3
+ description: Commit staged or unstaged changes with an AI-generated commit message that matches the repository's existing commit style. Use when the user asks to 'commit', 'commit changes', 'create a commit', 'save my work', or 'check in code'.
4
+ category: dev
5
+ ---
6
+ <!-- Customize this skill and select save to override its behavior. Delete that copy to restore the built-in behavior. -->
7
+
8
+ # Commit Changes
9
+
10
+ Help the user commit code changes with a well-crafted commit message derived from the diff, following the conventions already established in the repository.
11
+
12
+ ## Guidelines
13
+
14
+ - **Never amend existing commits** without asking.
15
+ - **Never force-push or push** without explicit user approval.
16
+ - **Never skip pre-commit hooks** (do not use `--no-verify`).
17
+ - **Never skip signing commits** (do not use `--no-gpg-sign`).
18
+ - **Never revert, reset, or discard user changes** unless the user explicitly asked for that.
19
+ - Check for obvious secrets or generated artifacts that should not be committed. If something looks risky - ask the user.
20
+ - When in doubt about staging, convention, or message content — ask the user.
21
+
22
+ ## Workflow
23
+
24
+ ### 1. Discover the repository's commit convention
25
+
26
+ Run the following to sample recent commits and the user's own commits:
27
+
28
+ ```
29
+ # Recent repo commits (for overall style)
30
+ git log --oneline -20
31
+
32
+ # User's recent commits (for personal style)
33
+ git log --oneline --author="$(git config user.name)" -10
34
+ ```
35
+
36
+ Analyse the output to determine the commit message convention used in the repository (e.g. Conventional Commits, Gitmoji, ticket-prefixed, free-form). All generated messages **must** follow the detected convention.
37
+
38
+ ### 2. Check repository status
39
+
40
+ ```
41
+ git status --short
42
+ ```
43
+
44
+ - If there are **no changes** (working tree clean, nothing staged), inform the user and stop.
45
+ - If there are **staged changes**, proceed with those and do not stage any unstaged changes.
46
+ - If there are **only unstaged changes**, stage everything (`git add -A`), and proceed with those.
47
+
48
+ ### 3. Generate the commit message
49
+
50
+ Obtain the full diff of what will be committed:
51
+
52
+ ```bash
53
+ git diff --cached --stat
54
+ git diff --cached
55
+ ```
56
+
57
+ Using the diff and the commit convention detected in step 1, draft a commit message with:
58
+
59
+ - A **subject line** (≤ 72 characters) that summarises the change, following the repository's convention.
60
+ - An optional **body** that explains *why* the change was made, only when the diff is non-trivial.
61
+ - Reference issue/ticket numbers when they appear in branch names or related context.
62
+ - Focus on the intent of the change, not a file-by-file inventory.
63
+
64
+ ### 4. Commit
65
+
66
+ Construct the `git commit` command with the generated message.
67
+
68
+ Execute the commit:
69
+
70
+ ```
71
+ git commit -m "<subject>" -m "<body>"
72
+ ```
73
+
74
+ ### 5. Confirm
75
+
76
+ After the commit:
77
+
78
+ - Run `git status --short` to confirm the commit completed.
79
+ - Run `git log --oneline -1` to show the new commit.
80
+ - If pre-commit hooks changed files or blocked the commit, summarize exactly what happened.
81
+ - If hooks rewrote files after the commit attempt, do not amend automatically. Tell the user what changed and ask whether they want you to stage and commit those follow-up edits.
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: context-map
3
+ description: 'Generate a map of all files relevant to a task before making changes'
4
+ category: dev
5
+ ---
6
+
7
+ # Context Map
8
+
9
+ Before implementing any changes, analyze the codebase and create a context map.
10
+
11
+ ## Task
12
+
13
+ {{task_description}}
14
+
15
+ ## Instructions
16
+
17
+ 1. Search the codebase for files related to this task
18
+ 2. Identify direct dependencies (imports/exports)
19
+ 3. Find related tests
20
+ 4. Look for similar patterns in existing code
21
+
22
+ ## Output Format
23
+
24
+ ```markdown
25
+ ## Context Map
26
+
27
+ ### Files to Modify
28
+ | File | Purpose | Changes Needed |
29
+ |------|---------|----------------|
30
+ | path/to/file | description | what changes |
31
+
32
+ ### Dependencies (may need updates)
33
+ | File | Relationship |
34
+ |------|--------------|
35
+ | path/to/dep | imports X from modified file |
36
+
37
+ ### Test Files
38
+ | Test | Coverage |
39
+ |------|----------|
40
+ | path/to/test | tests affected functionality |
41
+
42
+ ### Reference Patterns
43
+ | File | Pattern |
44
+ |------|---------|
45
+ | path/to/similar | example to follow |
46
+
47
+ ### Risk Assessment
48
+ - [ ] Breaking changes to public API
49
+ - [ ] Database migrations needed
50
+ - [ ] Configuration changes required
51
+ ```
52
+
53
+ Do not proceed with implementation until this map is reviewed.
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: conventional-commit
3
+ description: 'Prompt and workflow for generating conventional commit messages using a structured XML format. Guides users to create standardized, descriptive commit messages in line with the Conventional Commits specification, including instructions, examples, and validation.'
4
+ category: dev
5
+ ---
6
+
7
+ ### Instructions
8
+
9
+ ```xml
10
+ <description>This file contains a prompt template for generating conventional commit messages. It provides instructions, examples, and formatting guidelines to help users write standardized, descriptive commit messages in accordance with the Conventional Commits specification.</description>
11
+ ```
12
+
13
+ ### Workflow
14
+
15
+ **Follow these steps:**
16
+
17
+ 1. Run `git status` to review changed files.
18
+ 2. Run `git diff` or `git diff --cached` to inspect changes.
19
+ 3. Stage your changes with `git add <file>`.
20
+ 4. Construct your commit message using the following XML structure.
21
+ 5. After generating your commit message, Copilot will automatically run the following command in your integrated terminal (no confirmation needed):
22
+
23
+ ```bash
24
+ git commit -m "type(scope): description"
25
+ ```
26
+
27
+ 6. Just execute this prompt and Copilot will handle the commit for you in the terminal.
28
+
29
+ ### Commit Message Structure
30
+
31
+ ```xml
32
+ <commit-message>
33
+ <type>feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert</type>
34
+ <scope>()</scope>
35
+ <description>A short, imperative summary of the change</description>
36
+ <body>(optional: more detailed explanation)</body>
37
+ <footer>(optional: e.g. BREAKING CHANGE: details, or issue references)</footer>
38
+ </commit-message>
39
+ ```
40
+
41
+ ### Examples
42
+
43
+ ```xml
44
+ <examples>
45
+ <example>feat(parser): add ability to parse arrays</example>
46
+ <example>fix(ui): correct button alignment</example>
47
+ <example>docs: update README with usage instructions</example>
48
+ <example>refactor: improve performance of data processing</example>
49
+ <example>chore: update dependencies</example>
50
+ <example>feat!: send email on registration (BREAKING CHANGE: email service required)</example>
51
+ </examples>
52
+ ```
53
+
54
+ ### Validation
55
+
56
+ ```xml
57
+ <validation>
58
+ <type>Must be one of the allowed types. See <reference>https://www.conventionalcommits.org/en/v1.0.0/#specification</reference></type>
59
+ <scope>Optional, but recommended for clarity.</scope>
60
+ <description>Required. Use the imperative mood (e.g., "add", not "added").</description>
61
+ <body>Optional. Use for additional context.</body>
62
+ <footer>Use for breaking changes or issue references.</footer>
63
+ </validation>
64
+ ```
65
+
66
+ ### Final Step
67
+
68
+ ```xml
69
+ <final-step>
70
+ <cmd>git commit -m "type(scope): description"</cmd>
71
+ <note>Replace with your constructed message. Include body and footer if needed.</note>
72
+ </final-step>
73
+ ```