@xonovex/skills 0.1.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.
- package/.claude-plugin/plugin.json +21 -0
- package/commands/code-align.md +108 -0
- package/commands/code-harden.md +74 -0
- package/commands/code-simplify.md +145 -0
- package/commands/git-commit.md +146 -0
- package/commands/insights-extract.md +109 -0
- package/commands/insights-integrate.md +100 -0
- package/commands/plan-continue.md +167 -0
- package/commands/plan-create.md +107 -0
- package/commands/plan-research.md +113 -0
- package/commands/plan-subplans-create.md +111 -0
- package/commands/plan-tdd-create.md +128 -0
- package/commands/plan-update.md +99 -0
- package/commands/plan-validate.md +100 -0
- package/commands/plan-worktree-abandon.md +104 -0
- package/commands/plan-worktree-create.md +92 -0
- package/commands/plan-worktree-merge.md +132 -0
- package/package.json +44 -0
- package/skills/astro-guidelines/SKILL.md +23 -0
- package/skills/astro-guidelines/reference/accessibility.md +31 -0
- package/skills/astro-guidelines/reference/components.md +42 -0
- package/skills/astro-guidelines/reference/content-collections.md +32 -0
- package/skills/astro-guidelines/reference/islands-architecture.md +26 -0
- package/skills/astro-guidelines/reference/project-structure.md +32 -0
- package/skills/c99-game-opinionated-guidelines/SKILL.md +43 -0
- package/skills/c99-game-opinionated-guidelines/reference/builder-pattern.md +29 -0
- package/skills/c99-game-opinionated-guidelines/reference/coordinate-system.md +27 -0
- package/skills/c99-game-opinionated-guidelines/reference/geometry-pipeline.md +29 -0
- package/skills/c99-game-opinionated-guidelines/reference/math-types.md +31 -0
- package/skills/c99-game-opinionated-guidelines/reference/mesh-types.md +32 -0
- package/skills/c99-game-opinionated-guidelines/reference/physics-patterns.md +28 -0
- package/skills/c99-game-opinionated-guidelines/reference/spatial-structures.md +26 -0
- package/skills/c99-game-opinionated-guidelines/reference/tagged-unions.md +40 -0
- package/skills/c99-game-opinionated-guidelines/reference/vertex-packing.md +38 -0
- package/skills/c99-guidelines/SKILL.md +29 -0
- package/skills/c99-guidelines/reference/compound-literals.md +33 -0
- package/skills/c99-guidelines/reference/const-correctness.md +32 -0
- package/skills/c99-guidelines/reference/designated-initializers.md +32 -0
- package/skills/c99-guidelines/reference/error-handling.md +49 -0
- package/skills/c99-guidelines/reference/inline-functions.md +37 -0
- package/skills/c99-guidelines/reference/memory-management.md +35 -0
- package/skills/c99-opinionated-guidelines/SKILL.md +44 -0
- package/skills/c99-opinionated-guidelines/reference/alignment.md +50 -0
- package/skills/c99-opinionated-guidelines/reference/caller-owns-memory.md +38 -0
- package/skills/c99-opinionated-guidelines/reference/compound-literals.md +33 -0
- package/skills/c99-opinionated-guidelines/reference/const-correctness.md +32 -0
- package/skills/c99-opinionated-guidelines/reference/data-oriented-design.md +42 -0
- package/skills/c99-opinionated-guidelines/reference/designated-initializers.md +32 -0
- package/skills/c99-opinionated-guidelines/reference/error-handling.md +49 -0
- package/skills/c99-opinionated-guidelines/reference/file-naming.md +33 -0
- package/skills/c99-opinionated-guidelines/reference/implementation-variants.md +35 -0
- package/skills/c99-opinionated-guidelines/reference/inline-functions.md +37 -0
- package/skills/c99-opinionated-guidelines/reference/memory-management.md +35 -0
- package/skills/c99-opinionated-guidelines/reference/safety-validations.md +32 -0
- package/skills/c99-opinionated-guidelines/reference/testing-patterns.md +39 -0
- package/skills/cmake-guidelines/SKILL.md +31 -0
- package/skills/cmake-guidelines/reference/compile-options.md +34 -0
- package/skills/cmake-guidelines/reference/fetchcontent.md +32 -0
- package/skills/cmake-guidelines/reference/find-package.md +29 -0
- package/skills/cmake-guidelines/reference/generator-expressions.md +34 -0
- package/skills/cmake-guidelines/reference/installation.md +38 -0
- package/skills/cmake-guidelines/reference/project-structure.md +40 -0
- package/skills/cmake-guidelines/reference/target-types.md +37 -0
- package/skills/cmake-guidelines/reference/testing.md +30 -0
- package/skills/cmake-guidelines/reference/visibility-specifiers.md +32 -0
- package/skills/content-guidelines/SKILL.md +36 -0
- package/skills/content-guidelines/reference/humanize.md +30 -0
- package/skills/content-guidelines/reference/news.md +28 -0
- package/skills/content-guidelines/reference/travelguide.md +31 -0
- package/skills/docker-guidelines/SKILL.md +23 -0
- package/skills/docker-guidelines/reference/docker-compose.md +40 -0
- package/skills/docker-guidelines/reference/layer-caching.md +25 -0
- package/skills/docker-guidelines/reference/multi-stage-builds.md +37 -0
- package/skills/docker-guidelines/reference/production-config.md +32 -0
- package/skills/docker-guidelines/reference/security.md +27 -0
- package/skills/express.js-guidelines/SKILL.md +32 -0
- package/skills/express.js-guidelines/reference/app-setup.md +39 -0
- package/skills/express.js-guidelines/reference/authentication.md +39 -0
- package/skills/express.js-guidelines/reference/controllers.md +49 -0
- package/skills/express.js-guidelines/reference/error-handling.md +54 -0
- package/skills/express.js-guidelines/reference/project-structure.md +29 -0
- package/skills/express.js-guidelines/reference/responses.md +30 -0
- package/skills/express.js-guidelines/reference/routes.md +29 -0
- package/skills/express.js-guidelines/reference/testing.md +39 -0
- package/skills/express.js-guidelines/reference/validation.md +41 -0
- package/skills/general-fp-guidelines/SKILL.md +28 -0
- package/skills/general-oop-guidelines/SKILL.md +28 -0
- package/skills/git-guidelines/SKILL.md +46 -0
- package/skills/git-guidelines/reference/commit.md +32 -0
- package/skills/git-guidelines/reference/merge-resolve.md +38 -0
- package/skills/git-guidelines/reference/worktree-abandon.md +48 -0
- package/skills/git-guidelines/reference/worktree-cleanup.md +40 -0
- package/skills/git-guidelines/reference/worktree-commit.md +46 -0
- package/skills/git-guidelines/reference/worktree-create.md +42 -0
- package/skills/git-guidelines/reference/worktree-merge.md +45 -0
- package/skills/git-guidelines/reference/worktree-validate.md +44 -0
- package/skills/hono-guidelines/SKILL.md +49 -0
- package/skills/hono-guidelines/reference/application-structure.md +53 -0
- package/skills/hono-guidelines/reference/context-storage.md +46 -0
- package/skills/hono-guidelines/reference/cookie-handling.md +63 -0
- package/skills/hono-guidelines/reference/error-handling.md +69 -0
- package/skills/hono-guidelines/reference/middleware-combine.md +47 -0
- package/skills/hono-guidelines/reference/middleware-patterns.md +58 -0
- package/skills/hono-guidelines/reference/platform-runtime.md +41 -0
- package/skills/hono-guidelines/reference/security-middleware.md +60 -0
- package/skills/hono-guidelines/reference/validation-type-safety.md +43 -0
- package/skills/hono-guidelines/reference/websocket-support.md +59 -0
- package/skills/hono-opinionated-guidelines/SKILL.md +49 -0
- package/skills/hono-opinionated-guidelines/reference/application-structure.md +53 -0
- package/skills/hono-opinionated-guidelines/reference/body-limit.md +57 -0
- package/skills/hono-opinionated-guidelines/reference/context-storage.md +46 -0
- package/skills/hono-opinionated-guidelines/reference/controllers.md +38 -0
- package/skills/hono-opinionated-guidelines/reference/cookie-handling.md +63 -0
- package/skills/hono-opinionated-guidelines/reference/error-handling.md +69 -0
- package/skills/hono-opinionated-guidelines/reference/middleware-combine.md +47 -0
- package/skills/hono-opinionated-guidelines/reference/middleware-patterns.md +58 -0
- package/skills/hono-opinionated-guidelines/reference/openapi-explicit-status-codes.md +61 -0
- package/skills/hono-opinionated-guidelines/reference/openapi-inline-handlers.md +56 -0
- package/skills/hono-opinionated-guidelines/reference/openapi-router-hierarchy.md +64 -0
- package/skills/hono-opinionated-guidelines/reference/openapi-spec-generation.md +57 -0
- package/skills/hono-opinionated-guidelines/reference/platform-runtime.md +41 -0
- package/skills/hono-opinionated-guidelines/reference/router-selection.md +34 -0
- package/skills/hono-opinionated-guidelines/reference/security-middleware.md +60 -0
- package/skills/hono-opinionated-guidelines/reference/validation-type-safety.md +43 -0
- package/skills/hono-opinionated-guidelines/reference/websocket-support.md +59 -0
- package/skills/insights-guidelines/SKILL.md +28 -0
- package/skills/insights-guidelines/reference/insights-extract.md +31 -0
- package/skills/insights-guidelines/reference/insights-integrate.md +35 -0
- package/skills/instruction-guidelines/SKILL.md +26 -0
- package/skills/instruction-guidelines/reference/assimilate.md +38 -0
- package/skills/instruction-guidelines/reference/simplify.md +46 -0
- package/skills/instruction-guidelines/reference/sync.md +41 -0
- package/skills/kubernetes-guidelines/SKILL.md +28 -0
- package/skills/kubernetes-guidelines/reference/configmaps-secrets.md +34 -0
- package/skills/kubernetes-guidelines/reference/deployments.md +55 -0
- package/skills/kubernetes-guidelines/reference/kustomize.md +41 -0
- package/skills/kubernetes-guidelines/reference/network-policies.md +53 -0
- package/skills/kubernetes-guidelines/reference/services.md +36 -0
- package/skills/kubernetes-guidelines/reference/validation.md +32 -0
- package/skills/lua-guidelines/SKILL.md +29 -0
- package/skills/lua-guidelines/reference/coroutines.md +66 -0
- package/skills/lua-guidelines/reference/error-handling.md +41 -0
- package/skills/lua-guidelines/reference/idiomatic-patterns.md +40 -0
- package/skills/lua-guidelines/reference/input-validation.md +42 -0
- package/skills/lua-guidelines/reference/local-variables.md +33 -0
- package/skills/lua-guidelines/reference/metatables.md +52 -0
- package/skills/lua-guidelines/reference/module-pattern.md +37 -0
- package/skills/lua-guidelines/reference/string-concatenation.md +31 -0
- package/skills/lua-opinionated-guidelines/SKILL.md +32 -0
- package/skills/lua-opinionated-guidelines/reference/cache-lookups.md +43 -0
- package/skills/lua-opinionated-guidelines/reference/coroutines.md +66 -0
- package/skills/lua-opinionated-guidelines/reference/error-handling.md +41 -0
- package/skills/lua-opinionated-guidelines/reference/idiomatic-patterns.md +40 -0
- package/skills/lua-opinionated-guidelines/reference/input-validation.md +42 -0
- package/skills/lua-opinionated-guidelines/reference/jit-friendly-tables.md +57 -0
- package/skills/lua-opinionated-guidelines/reference/local-variables.md +33 -0
- package/skills/lua-opinionated-guidelines/reference/metatables.md +52 -0
- package/skills/lua-opinionated-guidelines/reference/module-pattern.md +37 -0
- package/skills/lua-opinionated-guidelines/reference/string-concatenation.md +31 -0
- package/skills/moon-guidelines/SKILL.md +30 -0
- package/skills/moon-guidelines/reference/docker-multistage.md +42 -0
- package/skills/moon-guidelines/reference/project-constraints.md +25 -0
- package/skills/moon-guidelines/reference/query-language.md +27 -0
- package/skills/moon-guidelines/reference/tag-based-filtering.md +28 -0
- package/skills/moon-guidelines/reference/task-configuration.md +38 -0
- package/skills/moon-guidelines/reference/task-inheritance.md +30 -0
- package/skills/motion-react-guidelines/SKILL.md +66 -0
- package/skills/motion-react-guidelines/reference/3d-effects.md +35 -0
- package/skills/motion-react-guidelines/reference/entrance.md +36 -0
- package/skills/motion-react-guidelines/reference/exit.md +35 -0
- package/skills/motion-react-guidelines/reference/gestures.md +23 -0
- package/skills/motion-react-guidelines/reference/layout.md +39 -0
- package/skills/motion-react-guidelines/reference/motion-values.md +33 -0
- package/skills/motion-react-guidelines/reference/performance.md +32 -0
- package/skills/motion-react-guidelines/reference/scroll.md +38 -0
- package/skills/motion-react-guidelines/reference/spring-physics.md +40 -0
- package/skills/motion-react-guidelines/reference/stagger.md +34 -0
- package/skills/motion-react-guidelines/reference/svg-path.md +33 -0
- package/skills/motion-react-guidelines/reference/text-effects.md +39 -0
- package/skills/plan-guidelines/SKILL.md +56 -0
- package/skills/plan-guidelines/reference/code-align.md +23 -0
- package/skills/plan-guidelines/reference/code-barrels-remove.md +24 -0
- package/skills/plan-guidelines/reference/code-comments-remove.md +28 -0
- package/skills/plan-guidelines/reference/code-harden.md +30 -0
- package/skills/plan-guidelines/reference/code-shared-extract.md +25 -0
- package/skills/plan-guidelines/reference/code-simplify.md +33 -0
- package/skills/plan-guidelines/reference/code-template-extract.md +34 -0
- package/skills/plan-guidelines/reference/code-template-scaffold.md +36 -0
- package/skills/plan-guidelines/reference/general-research.md +35 -0
- package/skills/plan-guidelines/reference/plan-create.md +37 -0
- package/skills/plan-guidelines/reference/plan-tdd-create.md +44 -0
- package/skills/plan-guidelines/reference/todos.md +39 -0
- package/skills/presentation-guidelines/SKILL.md +25 -0
- package/skills/presentation-guidelines/reference/presentation-create.md +41 -0
- package/skills/presentation-guidelines/reference/presentation-motion-scaffold.md +38 -0
- package/skills/python-guidelines/SKILL.md +32 -0
- package/skills/python-guidelines/reference/async-await-patterns.md +62 -0
- package/skills/python-guidelines/reference/caching-functions.md +47 -0
- package/skills/python-guidelines/reference/dataclasses-type-hints.md +63 -0
- package/skills/python-guidelines/reference/exception-handling.md +72 -0
- package/skills/python-guidelines/reference/generators-comprehensions.md +54 -0
- package/skills/python-guidelines/reference/pathlib-file-ops.md +60 -0
- package/skills/python-guidelines/reference/resource-management.md +58 -0
- package/skills/python-guidelines/reference/string-formatting.md +41 -0
- package/skills/python-guidelines/reference/type-checking.md +47 -0
- package/skills/react-guidelines/SKILL.md +105 -0
- package/skills/react-guidelines/reference/accessibility.md +31 -0
- package/skills/react-guidelines/reference/activity-effect-event.md +42 -0
- package/skills/react-guidelines/reference/component-design.md +57 -0
- package/skills/react-guidelines/reference/hooks.md +39 -0
- package/skills/react-guidelines/reference/migration-anti-patterns.md +33 -0
- package/skills/react-guidelines/reference/migration-deprecations.md +109 -0
- package/skills/react-guidelines/reference/migration-paradigm-shifts.md +33 -0
- package/skills/react-guidelines/reference/migration-typescript.md +95 -0
- package/skills/react-guidelines/reference/new-hooks.md +94 -0
- package/skills/react-guidelines/reference/performance-optimization.md +41 -0
- package/skills/react-guidelines/reference/react-compiler.md +34 -0
- package/skills/react-guidelines/reference/server-components.md +99 -0
- package/skills/react-guidelines/reference/state-management.md +72 -0
- package/skills/react-guidelines/reference/suspense-streaming.md +36 -0
- package/skills/remotion-guidelines/SKILL.md +67 -0
- package/skills/remotion-guidelines/reference/animations.md +121 -0
- package/skills/remotion-guidelines/reference/assets.md +21 -0
- package/skills/remotion-guidelines/reference/captions.md +33 -0
- package/skills/remotion-guidelines/reference/charts.md +35 -0
- package/skills/remotion-guidelines/reference/compositions.md +40 -0
- package/skills/remotion-guidelines/reference/dom-measurement.md +82 -0
- package/skills/remotion-guidelines/reference/gifs.md +33 -0
- package/skills/remotion-guidelines/reference/lottie.md +41 -0
- package/skills/remotion-guidelines/reference/maps.md +26 -0
- package/skills/remotion-guidelines/reference/media.md +39 -0
- package/skills/remotion-guidelines/reference/mediabunny.md +28 -0
- package/skills/remotion-guidelines/reference/sequencing.md +44 -0
- package/skills/remotion-guidelines/reference/text.md +24 -0
- package/skills/remotion-guidelines/reference/three-d.md +33 -0
- package/skills/remotion-guidelines/reference/timing.md +22 -0
- package/skills/remotion-guidelines/reference/transitions.md +52 -0
- package/skills/shell-scripting-guidelines/SKILL.md +31 -0
- package/skills/shell-scripting-guidelines/reference/argument-parsing.md +67 -0
- package/skills/shell-scripting-guidelines/reference/common-patterns.md +46 -0
- package/skills/shell-scripting-guidelines/reference/error-handling.md +62 -0
- package/skills/shell-scripting-guidelines/reference/functions.md +66 -0
- package/skills/shell-scripting-guidelines/reference/idempotency.md +57 -0
- package/skills/shell-scripting-guidelines/reference/parameter-expansion.md +38 -0
- package/skills/shell-scripting-guidelines/reference/posix-compatibility.md +53 -0
- package/skills/shell-scripting-guidelines/reference/quoting.md +42 -0
- package/skills/shell-scripting-guidelines/reference/script-template.md +70 -0
- package/skills/shell-scripting-guidelines/reference/strict-mode.md +41 -0
- package/skills/shell-scripting-guidelines/reference/validation.md +30 -0
- package/skills/skill-guidelines/SKILL.md +33 -0
- package/skills/skill-guidelines/reference/assimilate.md +51 -0
- package/skills/skill-guidelines/reference/create.md +48 -0
- package/skills/skill-guidelines/reference/extract.md +48 -0
- package/skills/skill-guidelines/reference/simplify.md +56 -0
- package/skills/sql-postgresql-guidelines/SKILL.md +31 -0
- package/skills/sql-postgresql-guidelines/reference/constraints.md +47 -0
- package/skills/sql-postgresql-guidelines/reference/cte-patterns.md +42 -0
- package/skills/sql-postgresql-guidelines/reference/data-types.md +46 -0
- package/skills/sql-postgresql-guidelines/reference/indexing.md +45 -0
- package/skills/sql-postgresql-guidelines/reference/jsonb.md +54 -0
- package/skills/sql-postgresql-guidelines/reference/performance.md +46 -0
- package/skills/sql-postgresql-guidelines/reference/role-based-access.md +47 -0
- package/skills/sql-postgresql-guidelines/reference/row-level-security.md +66 -0
- package/skills/strudel-guidelines/SKILL.md +52 -0
- package/skills/strudel-guidelines/reference/arrangement.md +24 -0
- package/skills/strudel-guidelines/reference/conditionals.md +22 -0
- package/skills/strudel-guidelines/reference/effects.md +22 -0
- package/skills/strudel-guidelines/reference/genre-ambient.md +26 -0
- package/skills/strudel-guidelines/reference/genre-harsh.md +21 -0
- package/skills/strudel-guidelines/reference/genre-trance.md +23 -0
- package/skills/strudel-guidelines/reference/layering.md +22 -0
- package/skills/strudel-guidelines/reference/mini-notation.md +74 -0
- package/skills/strudel-guidelines/reference/modulation.md +22 -0
- package/skills/strudel-guidelines/reference/scales-harmony.md +20 -0
- package/skills/strudel-guidelines/reference/sounds.md +89 -0
- package/skills/strudel-guidelines/reference/tempo-timing.md +23 -0
- package/skills/terraform-guidelines/SKILL.md +28 -0
- package/skills/terraform-guidelines/reference/advanced-patterns.md +88 -0
- package/skills/terraform-guidelines/reference/locals.md +53 -0
- package/skills/terraform-guidelines/reference/module-definition.md +81 -0
- package/skills/terraform-guidelines/reference/module-structure.md +51 -0
- package/skills/terraform-guidelines/reference/remote-state.md +38 -0
- package/skills/terraform-guidelines/reference/root-module.md +71 -0
- package/skills/terraform-guidelines/reference/typed-variables.md +90 -0
- package/skills/threejs-guidelines/SKILL.md +38 -0
- package/skills/threejs-guidelines/reference/animation.md +26 -0
- package/skills/threejs-guidelines/reference/cameras-controls.md +26 -0
- package/skills/threejs-guidelines/reference/geometry.md +22 -0
- package/skills/threejs-guidelines/reference/interaction.md +25 -0
- package/skills/threejs-guidelines/reference/lighting-shadows.md +31 -0
- package/skills/threejs-guidelines/reference/loaders.md +29 -0
- package/skills/threejs-guidelines/reference/materials.md +25 -0
- package/skills/threejs-guidelines/reference/math.md +27 -0
- package/skills/threejs-guidelines/reference/node-materials.md +32 -0
- package/skills/threejs-guidelines/reference/patterns.md +29 -0
- package/skills/threejs-guidelines/reference/performance.md +24 -0
- package/skills/threejs-guidelines/reference/physics-vr.md +36 -0
- package/skills/threejs-guidelines/reference/postprocessing.md +26 -0
- package/skills/threejs-guidelines/reference/scene-fundamentals.md +26 -0
- package/skills/threejs-guidelines/reference/shaders.md +28 -0
- package/skills/threejs-guidelines/reference/textures.md +21 -0
- package/skills/threejs-guidelines/reference/webgpu.md +34 -0
- package/skills/typescript-guidelines/SKILL.md +37 -0
- package/skills/typescript-guidelines/reference/async-without-await.md +32 -0
- package/skills/typescript-guidelines/reference/avoid-barrel-exports.md +25 -0
- package/skills/typescript-guidelines/reference/avoid-eslint-disable.md +28 -0
- package/skills/typescript-guidelines/reference/avoid-reexports.md +26 -0
- package/skills/typescript-guidelines/reference/env-access-bracket-notation.md +29 -0
- package/skills/typescript-guidelines/reference/numeric-separator-enforcement.md +30 -0
- package/skills/typescript-guidelines/reference/template-literals-require-string-conversion.md +26 -0
- package/skills/typescript-guidelines/reference/unbound-method-references.md +32 -0
- package/skills/typescript-guidelines/reference/unnecessary-async-keywords.md +37 -0
- package/skills/typescript-to-lua-guidelines/SKILL.md +33 -0
- package/skills/typescript-to-lua-guidelines/reference/avoiding-heavy-features.md +41 -0
- package/skills/typescript-to-lua-guidelines/reference/coroutine-patterns.md +49 -0
- package/skills/typescript-to-lua-guidelines/reference/function-patterns.md +59 -0
- package/skills/typescript-to-lua-guidelines/reference/lua-interop.md +49 -0
- package/skills/typescript-to-lua-guidelines/reference/module-organization.md +42 -0
- package/skills/typescript-to-lua-guidelines/reference/multi-return-functions.md +47 -0
- package/skills/typescript-to-lua-guidelines/reference/namespaces-vs-classes.md +52 -0
- package/skills/typescript-to-lua-guidelines/reference/performance-tips.md +68 -0
- package/skills/typescript-to-lua-guidelines/reference/stable-tables.md +60 -0
- package/skills/typescript-to-lua-guidelines/reference/tsconfig.md +46 -0
- package/skills/typescript-to-lua-guidelines/reference/tstl-decorators.md +61 -0
- package/skills/typescript-to-lua-guidelines/reference/type-safety.md +79 -0
- package/skills/vitest-guidelines/SKILL.md +32 -0
- package/skills/vitest-guidelines/reference/cors-preflight-status-code.md +34 -0
- package/skills/vitest-guidelines/reference/http-testing.md +57 -0
- package/skills/vitest-guidelines/reference/json-response-type-safety.md +40 -0
- package/skills/vitest-guidelines/reference/mock-patterns.md +53 -0
- package/skills/vitest-guidelines/reference/project-references-path-resolution.md +36 -0
- package/skills/vitest-guidelines/reference/test-organization.md +25 -0
- package/skills/vitest-guidelines/reference/timestamp-testing.md +55 -0
- package/skills/vitest-guidelines/reference/type-safety.md +55 -0
- package/skills/vitest-guidelines/reference/typescript-config.md +43 -0
- package/skills/zod-guidelines/SKILL.md +33 -0
- package/skills/zod-guidelines/reference/default-values-output-type.md +63 -0
- package/skills/zod-guidelines/reference/migration-string-validators.md +38 -0
- package/skills/zod-guidelines/reference/migration-v4.md +46 -0
- package/skills/zod-guidelines/reference/schema-organization.md +73 -0
- package/skills/zod-guidelines/reference/validation-patterns.md +37 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Update a plan document with the latest implementation status and test results
|
|
3
|
+
allowed-tools:
|
|
4
|
+
- Read
|
|
5
|
+
- Edit
|
|
6
|
+
- Bash
|
|
7
|
+
- Glob
|
|
8
|
+
- TaskUpdate
|
|
9
|
+
- TaskList
|
|
10
|
+
argument-hint: "[document-path] [--dry-run]"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# /plan-update – Update Plan Progress
|
|
14
|
+
|
|
15
|
+
Updates a plan document with the latest implementation status, test results, and progress.
|
|
16
|
+
|
|
17
|
+
## Goal
|
|
18
|
+
|
|
19
|
+
1. **Identifies** the target plan document (auto-detect from git config or argument)
|
|
20
|
+
2. **Updates the plan** with validation results and current progress
|
|
21
|
+
3. **Checks child plan status** (if target has child plans)
|
|
22
|
+
4. **Auto-updates parent** (if target has a parent plan)
|
|
23
|
+
5. **Updates frontmatter** (`status`, `phase`, `updated` date)
|
|
24
|
+
6. **Timestamps** the update for progress tracking
|
|
25
|
+
|
|
26
|
+
## Arguments
|
|
27
|
+
|
|
28
|
+
`/plan-update [document-path] [--dry-run]`
|
|
29
|
+
|
|
30
|
+
- `document-path` (optional): Path to plan document (auto-detects from git config if omitted)
|
|
31
|
+
- `--dry-run` (optional): Preview changes without modifying files
|
|
32
|
+
|
|
33
|
+
## Core Workflow
|
|
34
|
+
|
|
35
|
+
1. **Identify Plan**: Auto-detect from git config or use provided path
|
|
36
|
+
2. **Check Type**: Determine if has parent plan or child plans
|
|
37
|
+
3. **Update Status**: Run validation, update frontmatter and status section
|
|
38
|
+
4. **Update Parent**: If has parent plan, auto-update parent
|
|
39
|
+
|
|
40
|
+
## Updates
|
|
41
|
+
|
|
42
|
+
**Frontmatter**: `updated`, `status` (in_progress/complete/blocked), `phase`, `completed_date` (if complete)
|
|
43
|
+
|
|
44
|
+
**Status Section**: Timestamped update with phase, summary, files modified, validation, next steps
|
|
45
|
+
|
|
46
|
+
## Status Logic
|
|
47
|
+
|
|
48
|
+
**Child plans** (`type: "plan"`, has `parent_plan`):
|
|
49
|
+
|
|
50
|
+
- Run validation tests -> update status (complete/in_progress/blocked)
|
|
51
|
+
- Auto-update parent: Read `parent_plan` -> check all siblings -> update parent status
|
|
52
|
+
|
|
53
|
+
**Parent plans** (`type: "plan"`, `has_subplans: true`):
|
|
54
|
+
|
|
55
|
+
- If has child plans: All complete -> `complete` | Any blocked -> `blocked` | Else -> `in_progress`
|
|
56
|
+
- If no child plans: Run validation -> update based on results
|
|
57
|
+
|
|
58
|
+
## Output
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
Updated plan: plans/auth.md
|
|
62
|
+
|
|
63
|
+
Status: in_progress -> complete
|
|
64
|
+
Phase: Implementation -> Complete
|
|
65
|
+
Validation: PASS (all tests passing)
|
|
66
|
+
|
|
67
|
+
Parent plan updates: None (this is a parent plan)
|
|
68
|
+
Files modified: 5 files updated
|
|
69
|
+
|
|
70
|
+
Next Steps:
|
|
71
|
+
1. Check status: Review updated plan status and validation results
|
|
72
|
+
2. If child plans remain: /plan-continue plans/<plan>.md - Continue with next pending child plan
|
|
73
|
+
3. If all child plans complete: /plan-worktree-validate - Run pre-merge validation
|
|
74
|
+
4. If blocked: Fix identified issues, then /plan-validate to verify
|
|
75
|
+
5. Track progress: /plan-status plans/<plan>.md - Monitor overall completion
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Error Handling
|
|
79
|
+
|
|
80
|
+
- Error if plan file not found
|
|
81
|
+
- Error if plan format invalid (missing frontmatter)
|
|
82
|
+
- Warning if no changes detected
|
|
83
|
+
- Error if parent plan not found (for child plans)
|
|
84
|
+
|
|
85
|
+
## Examples
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# Auto-detect from git config (in feature worktree)
|
|
89
|
+
/plan-update
|
|
90
|
+
|
|
91
|
+
# Explicit path
|
|
92
|
+
/plan-update plans/auth.md
|
|
93
|
+
|
|
94
|
+
# Update child plan (auto-updates parent)
|
|
95
|
+
/plan-update plans/auth/02-implementation.md
|
|
96
|
+
|
|
97
|
+
# Preview changes
|
|
98
|
+
/plan-update plans/auth.md --dry-run
|
|
99
|
+
```
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Verify that a plan or current work has been fully achieved
|
|
3
|
+
allowed-tools:
|
|
4
|
+
- Bash
|
|
5
|
+
- Read
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
- Task
|
|
9
|
+
- TaskCreate
|
|
10
|
+
- TaskUpdate
|
|
11
|
+
- TaskList
|
|
12
|
+
argument-hint: "[plan-file] [--detailed]"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# /plan-validate – Validate Plan Achievement
|
|
16
|
+
|
|
17
|
+
Verify that a plan document's objectives have been fully achieved, or validate that the most recently stated goal in the current conversation has been completed with evidence-based validation.
|
|
18
|
+
|
|
19
|
+
## Goal
|
|
20
|
+
|
|
21
|
+
- Validate plan completion with objective tests
|
|
22
|
+
- Check subplan status (if applicable)
|
|
23
|
+
- Report clear pass/fail with evidence
|
|
24
|
+
- Never modify files (read-only)
|
|
25
|
+
|
|
26
|
+
## Arguments
|
|
27
|
+
|
|
28
|
+
`/plan-validate [plan-file] [--detailed]`
|
|
29
|
+
|
|
30
|
+
- `plan-file` (optional): Path to plan document (if omitted, validates current conversation goal)
|
|
31
|
+
- `--detailed` (optional): Comprehensive analysis with full evidence trail
|
|
32
|
+
|
|
33
|
+
## Core Workflow
|
|
34
|
+
|
|
35
|
+
### With Plan Document
|
|
36
|
+
|
|
37
|
+
1. **Load Plan** - Read plan document, extract success criteria from phases
|
|
38
|
+
2. **Parse Metadata** - Extract status, phase, dependencies from frontmatter
|
|
39
|
+
3. **Check Subplans** - If subplans exist, read and report their status
|
|
40
|
+
4. **Design Tests** - Create validation tests for each phase criterion
|
|
41
|
+
5. **Execute Validation Checks** - Run ALL four mandatory checks in order:
|
|
42
|
+
- Type check: `npx tsc --noEmit` (0 errors)
|
|
43
|
+
- Linting: `npm run lint` (0 errors, 0 warnings)
|
|
44
|
+
- Build: `npm run build` (succeeds)
|
|
45
|
+
- Tests: `npm test` (all pass)
|
|
46
|
+
6. **Report** - Clear pass/fail result with evidence per phase and recommendations
|
|
47
|
+
|
|
48
|
+
**IMPORTANT**: This command is read-only and never modifies plan files. Use `/plan-update` to update status.
|
|
49
|
+
|
|
50
|
+
### Without Plan Document (Current Work)
|
|
51
|
+
|
|
52
|
+
1. **Identify Goal** - Review conversation to extract objective and success criteria
|
|
53
|
+
2. **Design Tests** - Create validation tests for each criterion
|
|
54
|
+
3. **Execute** - Run tests, collect evidence
|
|
55
|
+
4. **Report** - Clear pass/fail result with evidence and recommendations
|
|
56
|
+
|
|
57
|
+
## Success Criteria
|
|
58
|
+
|
|
59
|
+
- All phase requirements validated
|
|
60
|
+
- All subplans complete (if subplans exist)
|
|
61
|
+
- All tests pass (typecheck, lint, build, tests)
|
|
62
|
+
- Implementation matches specification
|
|
63
|
+
|
|
64
|
+
## Output
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
Validation Report
|
|
68
|
+
|
|
69
|
+
Phase 1: Setup PASS
|
|
70
|
+
Phase 2: Implementation IN PROGRESS
|
|
71
|
+
FAIL Error handling incomplete (src/core.ts:45)
|
|
72
|
+
|
|
73
|
+
Files: PASS typecheck | FAIL lint (2 errors) | PASS test
|
|
74
|
+
|
|
75
|
+
Result: NOT COMPLETE
|
|
76
|
+
|
|
77
|
+
Next Steps:
|
|
78
|
+
1. If PASS: /plan-update - Update plan status to reflect completion
|
|
79
|
+
2. If FAIL: Fix identified issues (error handling, lint errors), then re-run validation
|
|
80
|
+
3. Check subplans: /plan-status plans/<plan>.md - See which subplans need work
|
|
81
|
+
4. Continue work: /plan-continue plans/<plan>.md - Resume implementation for incomplete items
|
|
82
|
+
5. Track progress: Monitor validation results in plan status section
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Error Handling
|
|
86
|
+
|
|
87
|
+
- Error if plan file not found or invalid format
|
|
88
|
+
- Warning if plan already marked complete
|
|
89
|
+
- Info if all tests pass (recommend `/plan-update`)
|
|
90
|
+
|
|
91
|
+
## Examples
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Validate current conversation goal
|
|
95
|
+
/plan-validate
|
|
96
|
+
|
|
97
|
+
# Validate specific plan
|
|
98
|
+
/plan-validate plans/auth.md
|
|
99
|
+
/plan-validate plans/auth.md --detailed
|
|
100
|
+
```
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Document and abandon a feature with reason and learnings
|
|
3
|
+
model: haiku
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash
|
|
6
|
+
- Read
|
|
7
|
+
- Edit
|
|
8
|
+
- Write
|
|
9
|
+
argument-hint: "[reason] [--remove-worktree] [--no-plan] [--commit] [--dry-run]"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# /plan-worktree-abandon – Abandon Feature with Documentation
|
|
13
|
+
|
|
14
|
+
Abandon feature by updating plan status, documenting reason, and optionally cleaning up worktree.
|
|
15
|
+
|
|
16
|
+
## Goal
|
|
17
|
+
|
|
18
|
+
- Update plan status to "abandoned" with reason and learnings
|
|
19
|
+
- Optionally commit current state and remove worktree
|
|
20
|
+
- Keep worktree by default for later insights extraction
|
|
21
|
+
|
|
22
|
+
## Arguments
|
|
23
|
+
|
|
24
|
+
- `reason` (optional): Concise reason for abandonment (prompted if not provided)
|
|
25
|
+
- `--remove-worktree` (optional): Remove feature worktree after documenting
|
|
26
|
+
- `--no-plan` (optional): Skip plan update (for features without plans)
|
|
27
|
+
- `--commit` (optional): Commit current state before abandoning
|
|
28
|
+
- `--dry-run` (optional): Preview changes without modifying files
|
|
29
|
+
|
|
30
|
+
## Core Workflow
|
|
31
|
+
|
|
32
|
+
1. Verify in feature worktree (basename matches `*-feature-*`)
|
|
33
|
+
2. Get reason from argument or prompt user
|
|
34
|
+
3. Detect plan via `git config branch.<branch>.plan`
|
|
35
|
+
4. Optionally commit: `git add . && git commit -m "wip: abandoned work on <feature>"` (skipped if --dry-run)
|
|
36
|
+
5. Update plan frontmatter and add "Abandonment Notes" section (or preview if --dry-run)
|
|
37
|
+
6. Keep worktree by default (or remove if `--remove-worktree`, skipped if --dry-run)
|
|
38
|
+
|
|
39
|
+
## Implementation Steps
|
|
40
|
+
|
|
41
|
+
1. Verify feature worktree and get current branch
|
|
42
|
+
2. Read plan path from git config
|
|
43
|
+
3. Get abandonment reason (arg or prompt)
|
|
44
|
+
4. Optionally commit (if `--commit` and uncommitted changes)
|
|
45
|
+
5. Update plan (unless `--no-plan`):
|
|
46
|
+
- Frontmatter: `status: "abandoned"`, `abandoned_reason`, `abandoned_date`
|
|
47
|
+
- Content: Add "Abandonment Notes" with detailed explanation and learnings
|
|
48
|
+
6. Optionally remove worktree: `git worktree remove <path>`
|
|
49
|
+
|
|
50
|
+
## Plan Updates
|
|
51
|
+
|
|
52
|
+
**Frontmatter**:
|
|
53
|
+
|
|
54
|
+
```yaml
|
|
55
|
+
status: "abandoned"
|
|
56
|
+
abandoned_reason: "Superseded by OAuth 2.0"
|
|
57
|
+
abandoned_date: "2025-11-08"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Content**:
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
## Abandonment Notes
|
|
64
|
+
|
|
65
|
+
**Date**: 2025-11-08
|
|
66
|
+
**Reason**: Superseded by OAuth 2.0
|
|
67
|
+
|
|
68
|
+
[Detailed explanation and learnings]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Output
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Abandoning feature: auth-custom-jwt
|
|
75
|
+
|
|
76
|
+
Reason: Superseded by OAuth 2.0
|
|
77
|
+
Plan: Updated (status: abandoned)
|
|
78
|
+
State: Committed as "wip: abandoned work on auth-custom-jwt" (commit b4c5d6e)
|
|
79
|
+
Worktree: Kept (cleanup with /plan-worktree-cleanup)
|
|
80
|
+
|
|
81
|
+
Next Steps:
|
|
82
|
+
1. Extract insights: /insights-extract abandoned - Capture learnings from abandoned work
|
|
83
|
+
2. Review plan: Check plan's "Abandonment Notes" section for documented reason
|
|
84
|
+
3. Clean up worktree: /plan-worktree-cleanup - Remove abandoned worktree (if kept)
|
|
85
|
+
4. Alternative approach: Create new plan/feature if different approach needed
|
|
86
|
+
5. Share learnings: Document insights in team knowledge base if applicable
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Error Handling
|
|
90
|
+
|
|
91
|
+
- Error: not in feature worktree, no reason, plan doesn't exist, worktree removal fails
|
|
92
|
+
- Warning: no plan associated (unless `--no-plan`), uncommitted changes (suggest `--commit`)
|
|
93
|
+
|
|
94
|
+
## Examples
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
/plan-worktree-abandon "Superseded by better approach"
|
|
98
|
+
/plan-worktree-abandon "Requirements changed" --commit --remove-worktree
|
|
99
|
+
/plan-worktree-abandon "Quick experiment" --no-plan
|
|
100
|
+
/plan-worktree-abandon "Blocked by dependency" --commit
|
|
101
|
+
|
|
102
|
+
# Preview changes without modifying files
|
|
103
|
+
/plan-worktree-abandon "Superseded by OAuth 2.0" --dry-run
|
|
104
|
+
```
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new git worktree for a feature branch
|
|
3
|
+
model: haiku
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash
|
|
6
|
+
- Glob
|
|
7
|
+
- Read
|
|
8
|
+
argument-hint: "[feature-name] [--from <branch>]"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /plan-worktree-create – Create Feature Worktree
|
|
12
|
+
|
|
13
|
+
Creates a new git worktree directory with a feature branch, allowing isolated development without affecting the current worktree.
|
|
14
|
+
|
|
15
|
+
## Goal
|
|
16
|
+
|
|
17
|
+
- Detect current worktree name from directory path
|
|
18
|
+
- Create a new sibling worktree directory with a feature branch
|
|
19
|
+
- Follow naming pattern: `<worktree>-feature-<name>` directory with `<worktree>/feature/<name>` branch
|
|
20
|
+
- Store source branch association in git config
|
|
21
|
+
|
|
22
|
+
## Arguments
|
|
23
|
+
|
|
24
|
+
`/plan-worktree-create [feature-name] [--from <branch>]`
|
|
25
|
+
|
|
26
|
+
- `feature-name`: Name of the feature (required) - used in directory and branch names
|
|
27
|
+
- `--from <branch>`: Create feature from specific branch instead of current branch
|
|
28
|
+
|
|
29
|
+
## Core Workflow
|
|
30
|
+
|
|
31
|
+
1. **Detect Worktree**: Extract worktree name from current directory path
|
|
32
|
+
2. **Get Source Branch**: Use `--from` argument or current branch via `git branch --show-current`
|
|
33
|
+
3. **Create Worktree**: Use `git worktree add` to create new directory with feature branch
|
|
34
|
+
4. **Store Association**: Save source branch in git config
|
|
35
|
+
|
|
36
|
+
## Naming Convention
|
|
37
|
+
|
|
38
|
+
- Worktree directory: `<worktree>-feature-<feature-name>`
|
|
39
|
+
- Branch name: `<worktree>/feature/<feature-name>`
|
|
40
|
+
|
|
41
|
+
Examples:
|
|
42
|
+
|
|
43
|
+
- In `services` worktree with feature `auth-fix`:
|
|
44
|
+
- Directory: `services-feature-auth-fix`
|
|
45
|
+
- Branch: `services/feature/auth-fix`
|
|
46
|
+
- In `api` worktree with feature `new-endpoint`:
|
|
47
|
+
- Directory: `api-feature-new-endpoint`
|
|
48
|
+
- Branch: `api/feature/new-endpoint`
|
|
49
|
+
|
|
50
|
+
## Implementation Steps
|
|
51
|
+
|
|
52
|
+
1. **Validate**: Ensure feature name is provided
|
|
53
|
+
2. **Get current directory**: Use `pwd` to get full path
|
|
54
|
+
3. **Extract worktree name**: Parse basename from path (e.g., `/path/to/services` -> `services`)
|
|
55
|
+
4. **Get source branch**: Use `--from` argument or `git branch --show-current`
|
|
56
|
+
5. **Sanitize feature name**: Convert to kebab-case, remove special chars
|
|
57
|
+
6. **Construct names**:
|
|
58
|
+
- Worktree dir: `../<worktree>-feature-<sanitized-name>`
|
|
59
|
+
- Branch name: `<worktree>/feature/<sanitized-name>`
|
|
60
|
+
7. **Create worktree**: `git worktree add <worktree-dir> -b <branch-name> <source-branch>`
|
|
61
|
+
8. **Store association**:
|
|
62
|
+
- `cd <worktree-dir>`
|
|
63
|
+
- `git config branch.<branch-name>.mergeBackTo <source-branch>`
|
|
64
|
+
|
|
65
|
+
## Output
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
Created feature worktree: services-feature-auth-fix
|
|
69
|
+
|
|
70
|
+
Detected worktree: services
|
|
71
|
+
Source branch: master
|
|
72
|
+
|
|
73
|
+
Created worktree: /home/user/projects/services-feature-auth-fix
|
|
74
|
+
Created branch: services/feature/auth-fix
|
|
75
|
+
|
|
76
|
+
Stored associations:
|
|
77
|
+
- Source branch: master
|
|
78
|
+
|
|
79
|
+
Next Steps:
|
|
80
|
+
1. Navigate: cd ../services-feature-auth-fix
|
|
81
|
+
2. Associate plan: /plan-worktree-set-plan <plan-dir>/<plan>.md (if working with a plan)
|
|
82
|
+
3. Start work: /plan-continue (after associating plan)
|
|
83
|
+
4. Make commits: /plan-worktree-commit
|
|
84
|
+
5. Validate: /plan-worktree-validate
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Error Handling
|
|
88
|
+
|
|
89
|
+
- Error if feature name not provided
|
|
90
|
+
- Error if worktree directory already exists
|
|
91
|
+
- Error if branch already exists
|
|
92
|
+
- Error if source branch doesn't exist (when using `--from`)
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Merge feature worktree back to source worktree
|
|
3
|
+
model: haiku
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash
|
|
6
|
+
argument-hint: "[--squash] [--remove-worktree] [--delete-remote] [--dry-run]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /plan-worktree-merge – Merge Feature Worktree Back to Source
|
|
10
|
+
|
|
11
|
+
Merges a feature branch from a feature worktree back to its source worktree.
|
|
12
|
+
|
|
13
|
+
## Goal
|
|
14
|
+
|
|
15
|
+
- Detect current feature worktree directory
|
|
16
|
+
- Find the source worktree directory
|
|
17
|
+
- Retrieve source branch from git config (stored during creation)
|
|
18
|
+
- Merge feature branch into source branch in source worktree
|
|
19
|
+
- Support both regular merge and squash merge
|
|
20
|
+
- Optionally remove feature worktree after merge
|
|
21
|
+
|
|
22
|
+
## Arguments
|
|
23
|
+
|
|
24
|
+
`/plan-worktree-merge [--squash] [--remove-worktree] [--delete-remote] [--dry-run]`
|
|
25
|
+
|
|
26
|
+
- `--squash`: Squash all feature commits into a single commit
|
|
27
|
+
- `--remove-worktree`: Remove feature worktree directory after merge (default: keep)
|
|
28
|
+
- `--delete-remote`: Also delete remote feature branch (requires remote exists)
|
|
29
|
+
- `--dry-run` (optional): Preview changes without modifying files
|
|
30
|
+
|
|
31
|
+
## Core Workflow
|
|
32
|
+
|
|
33
|
+
1. **Validate Feature Worktree**: Verify we're in a `<worktree>-feature-*` directory
|
|
34
|
+
2. **Detect Worktree Names**: Extract base worktree name and feature name from directory
|
|
35
|
+
3. **Retrieve Source Branch**: Get from `git config branch.<feature-branch>.mergeBackTo`
|
|
36
|
+
4. **Navigate to Source**: Find and cd to source worktree directory
|
|
37
|
+
5. **Merge Feature**: Regular (`git merge`) or squash (`git merge --squash` + commit), or preview if --dry-run
|
|
38
|
+
6. **Clean Up**: Optionally remove feature worktree if `--remove-worktree` (skipped if --dry-run)
|
|
39
|
+
|
|
40
|
+
## Worktree Detection
|
|
41
|
+
|
|
42
|
+
The command automatically detects:
|
|
43
|
+
|
|
44
|
+
- Current directory name to identify feature worktree (e.g., `services-feature-hono-openapi`)
|
|
45
|
+
- Base worktree name (e.g., `services`)
|
|
46
|
+
- Source worktree directory (sibling directory, e.g., `../services`)
|
|
47
|
+
- Feature branch from `git branch --show-current`
|
|
48
|
+
- Source branch from `git config branch.<feature-branch>.mergeBackTo`
|
|
49
|
+
|
|
50
|
+
## Implementation Steps
|
|
51
|
+
|
|
52
|
+
1. **Get current directory**: `pwd` to get full path, then `basename` to get directory name
|
|
53
|
+
2. **Validate feature worktree**: Ensure directory name matches `*-feature-*` pattern
|
|
54
|
+
3. **Extract names**:
|
|
55
|
+
- Parse directory name to get base worktree and feature name
|
|
56
|
+
- Example: `services-feature-hono-openapi` -> worktree: `services`, feature: `hono-openapi`
|
|
57
|
+
4. **Get current branch**: `git branch --show-current`
|
|
58
|
+
5. **Validate feature branch**: Ensure format is `<worktree>/feature/*`
|
|
59
|
+
6. **Get source branch**: `git config branch.<current-branch>.mergeBackTo` or error
|
|
60
|
+
7. **Find source worktree**: Check for `../<base-worktree>` directory
|
|
61
|
+
8. **Verify source exists**: `git -C <source-worktree> rev-parse --verify <source-branch>`
|
|
62
|
+
9. **Check for uncommitted changes**: In current feature worktree, error if uncommitted changes exist
|
|
63
|
+
10. **Navigate to source**: `cd <source-worktree>`
|
|
64
|
+
11. **Checkout source branch**: `git checkout <source-branch>`
|
|
65
|
+
12. **Merge feature**:
|
|
66
|
+
- Regular: `git merge <feature-branch>`
|
|
67
|
+
- Squash: `git merge --squash <feature-branch>` then `git commit -m "<message>"`
|
|
68
|
+
13. **Remove worktree**: `git worktree remove <feature-worktree-path>` (only if `--remove-worktree`)
|
|
69
|
+
14. **Delete remote branch**: `git push origin --delete <feature-branch>` (if `--delete-remote`)
|
|
70
|
+
|
|
71
|
+
## Squash Commit Message
|
|
72
|
+
|
|
73
|
+
When using `--squash`, generate commit message in format:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
<type>: <feature-name-as-description>
|
|
77
|
+
|
|
78
|
+
Squashed commits from <worktree>/feature/<feature-name>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Example: `feat: introduce hono openapi\n\nSquashed commits from services/feature/hono-openapi`
|
|
82
|
+
|
|
83
|
+
## Output
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Merging feature: services-feature-auth-fix
|
|
87
|
+
|
|
88
|
+
Detected feature worktree: services-feature-auth-fix
|
|
89
|
+
Base worktree: services
|
|
90
|
+
Feature branch: services/feature/auth-fix
|
|
91
|
+
Source worktree: /home/user/projects/services
|
|
92
|
+
Source branch: master (from git config)
|
|
93
|
+
|
|
94
|
+
Merge type: Regular merge
|
|
95
|
+
Merge status: Success (no conflicts)
|
|
96
|
+
Worktree cleanup: Kept (use --remove-worktree to clean up)
|
|
97
|
+
|
|
98
|
+
Next Steps:
|
|
99
|
+
1. Verify merge: Check that changes are properly merged in source worktree
|
|
100
|
+
2. Clean up worktree: /plan-worktree-cleanup - Remove merged feature worktree (if not already removed)
|
|
101
|
+
3. Push changes: Commit and push from source worktree if needed
|
|
102
|
+
4. Delete remote: Use --delete-remote flag if you want to clean up remote branch
|
|
103
|
+
5. If conflicts: Resolve conflicts manually, complete merge, then re-run validation
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Examples
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Merge feature branch back to source
|
|
110
|
+
/plan-worktree-merge
|
|
111
|
+
|
|
112
|
+
# Squash and merge
|
|
113
|
+
/plan-worktree-merge --squash
|
|
114
|
+
|
|
115
|
+
# Merge and clean up worktree
|
|
116
|
+
/plan-worktree-merge --remove-worktree --delete-remote
|
|
117
|
+
|
|
118
|
+
# Preview merge without making changes
|
|
119
|
+
/plan-worktree-merge --dry-run
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Error Handling
|
|
123
|
+
|
|
124
|
+
- Error if not in a feature worktree directory (`*-feature-*` pattern)
|
|
125
|
+
- Error if not on a feature branch (`<worktree>/feature/*`)
|
|
126
|
+
- Error if source branch not stored in git config
|
|
127
|
+
- Error if source worktree directory doesn't exist
|
|
128
|
+
- Error if source branch doesn't exist in source worktree
|
|
129
|
+
- Error if uncommitted changes exist in feature worktree
|
|
130
|
+
- Error if merge conflicts occur - show conflicted files and guidance
|
|
131
|
+
- Error if trying to delete remote branch that doesn't exist
|
|
132
|
+
- Do NOT proceed with worktree removal if merge fails
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xonovex/skills",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Xonovex coding guidelines and workflow skills for Claude Code",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Xonovex",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/xonovex/platform.git",
|
|
10
|
+
"directory": "packages/plugins/skills"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/xonovex/platform/issues"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://github.com/xonovex/platform/tree/main/packages/plugins/skills#readme",
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public",
|
|
18
|
+
"registry": "https://registry.npmjs.org/"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
".claude-plugin/plugin.json",
|
|
22
|
+
"skills",
|
|
23
|
+
"commands"
|
|
24
|
+
],
|
|
25
|
+
"keywords": [
|
|
26
|
+
"claude-code",
|
|
27
|
+
"claude-code-plugin",
|
|
28
|
+
"skills",
|
|
29
|
+
"guidelines",
|
|
30
|
+
"typescript",
|
|
31
|
+
"react",
|
|
32
|
+
"docker",
|
|
33
|
+
"kubernetes",
|
|
34
|
+
"terraform"
|
|
35
|
+
],
|
|
36
|
+
"scripts": {
|
|
37
|
+
"build": "echo 'No build needed for plugin package'",
|
|
38
|
+
"lint": "echo 'No linting needed for plugin package'",
|
|
39
|
+
"fmt": "prettier --write .",
|
|
40
|
+
"fmt:check": "prettier --check .",
|
|
41
|
+
"typecheck": "echo 'No typechecking needed for plugin package'",
|
|
42
|
+
"test": "echo 'No tests for plugin package'"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: astro-guidelines
|
|
3
|
+
description: >-
|
|
4
|
+
Trigger on `.astro` files. Use when building Astro static sites with islands architecture. Apply for content collections, component hydration, or accessibility implementation. Keywords: Astro, islands, static HTML, content collections, `astro:content`, schema validation.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Astro Coding Guidelines
|
|
8
|
+
|
|
9
|
+
## Essentials
|
|
10
|
+
|
|
11
|
+
- **Islands architecture** - Default to static HTML, hydrate only where needed, see [reference/islands-architecture.md](reference/islands-architecture.md)
|
|
12
|
+
- **Project structure** - Use `src/pages`, `src/components`, `src/layouts`, `src/content`, see [reference/project-structure.md](reference/project-structure.md)
|
|
13
|
+
- **Content collections** - Use `astro:content` with schema-validated frontmatter, see [reference/content-collections.md](reference/content-collections.md)
|
|
14
|
+
- **Framework components** - Integrate React, Vue, or other frameworks, see [reference/components.md](reference/components.md)
|
|
15
|
+
- **Accessibility** - Use semantic HTML, alt text, ARIA as needed, see [reference/accessibility.md](reference/accessibility.md)
|
|
16
|
+
|
|
17
|
+
## Progressive disclosure
|
|
18
|
+
|
|
19
|
+
- Read [reference/islands-architecture.md](reference/islands-architecture.md) - When deciding which components need client-side JavaScript
|
|
20
|
+
- Read [reference/project-structure.md](reference/project-structure.md) - When organizing files and directories
|
|
21
|
+
- Read [reference/content-collections.md](reference/content-collections.md) - When managing blog posts, docs, or structured content
|
|
22
|
+
- Read [reference/components.md](reference/components.md) - When integrating React, Vue, or other framework components
|
|
23
|
+
- Read [reference/accessibility.md](reference/accessibility.md) - When adding keyboard navigation or screen reader support
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# accessibility: Accessibility Best Practices
|
|
2
|
+
|
|
3
|
+
**Guideline:** Use semantic HTML, descriptive alt text, and ARIA attributes for accessibility.
|
|
4
|
+
|
|
5
|
+
**Rationale:** Static-first approach enables accessible sites by default; semantic HTML ensures assistive tech compatibility and improves SEO.
|
|
6
|
+
|
|
7
|
+
**Example:**
|
|
8
|
+
|
|
9
|
+
```astro
|
|
10
|
+
<header>
|
|
11
|
+
<nav aria-label="Main navigation">
|
|
12
|
+
<ul><li><a href="/">Home</a></li></ul>
|
|
13
|
+
</nav>
|
|
14
|
+
</header>
|
|
15
|
+
|
|
16
|
+
<main>
|
|
17
|
+
<article>
|
|
18
|
+
<h1>Title</h1>
|
|
19
|
+
<Image src={image} alt="Descriptive text" />
|
|
20
|
+
<section><h2>Section</h2></section>
|
|
21
|
+
</article>
|
|
22
|
+
<aside aria-label="Related">...</aside>
|
|
23
|
+
</main>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Techniques:**
|
|
27
|
+
- Semantic elements: Use `<header>`, `<nav>`, `<main>`, `<article>`, `<aside>` for structure
|
|
28
|
+
- Alt text: Provide descriptive alt attributes for all images
|
|
29
|
+
- Heading hierarchy: Maintain h1 → h2 → h3 logical ordering
|
|
30
|
+
- ARIA labels: Add `aria-label` to navigation and complex regions
|
|
31
|
+
- Navigation region: Use `<nav aria-label>` for clear landmark structure
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# components: Component Development and Composition
|
|
2
|
+
|
|
3
|
+
**Guideline:** Build reusable Astro components with props and slots; use framework components only for interactivity.
|
|
4
|
+
|
|
5
|
+
**Rationale:** Astro components for static content, framework components (React, Vue, Svelte) for interactive features; minimizes JavaScript.
|
|
6
|
+
|
|
7
|
+
**Example:**
|
|
8
|
+
|
|
9
|
+
```astro
|
|
10
|
+
---
|
|
11
|
+
// Card.astro
|
|
12
|
+
interface Props {
|
|
13
|
+
title: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
href?: string;
|
|
16
|
+
variant?: "default" | "featured";
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const { title, description, href, variant = "default" } = Astro.props;
|
|
20
|
+
---
|
|
21
|
+
<div class={`card card--${variant}`}>
|
|
22
|
+
<h3>{title}</h3>
|
|
23
|
+
{description && <p>{description}</p>}
|
|
24
|
+
<div class="card__content"><slot /></div>
|
|
25
|
+
<div class="card__footer">
|
|
26
|
+
<slot name="footer">
|
|
27
|
+
{href && <a href={href}>Learn more →</a>}
|
|
28
|
+
</slot>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<style>
|
|
32
|
+
.card { border: 1px solid #ddd; padding: 1rem; border-radius: 8px; }
|
|
33
|
+
.card--featured { border-color: #0066cc; background: #f0f8ff; }
|
|
34
|
+
</style>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Techniques:**
|
|
38
|
+
- Astro components: Create `.astro` components for static presentational UI
|
|
39
|
+
- Props typing: Use TypeScript interfaces for type-safe component props
|
|
40
|
+
- Slots composition: Leverage slots for flexible component composition
|
|
41
|
+
- Framework separation: Import framework components only for interactivity
|
|
42
|
+
- Scoped styles: Use `<style>` blocks for component-scoped CSS
|