@codyswann/lisa 1.0.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/LICENSE +21 -0
- package/README.md +867 -0
- package/all/copy-overwrite/.claude/README.md +205 -0
- package/all/copy-overwrite/.claude/agents/agent-architect.md +311 -0
- package/all/copy-overwrite/.claude/agents/codebase-analyzer.md +146 -0
- package/all/copy-overwrite/.claude/agents/codebase-locator.md +125 -0
- package/all/copy-overwrite/.claude/agents/codebase-pattern-finder.md +237 -0
- package/all/copy-overwrite/.claude/agents/git-history-analyzer.md +183 -0
- package/all/copy-overwrite/.claude/agents/hooks-expert.md +74 -0
- package/all/copy-overwrite/.claude/agents/skill-evaluator.md +246 -0
- package/all/copy-overwrite/.claude/agents/slash-command-architect.md +87 -0
- package/all/copy-overwrite/.claude/agents/web-search-researcher.md +112 -0
- package/all/copy-overwrite/.claude/commands/git/commit-and-submit-pr.md +8 -0
- package/all/copy-overwrite/.claude/commands/git/commit.md +44 -0
- package/all/copy-overwrite/.claude/commands/git/prune.md +34 -0
- package/all/copy-overwrite/.claude/commands/git/submit-pr.md +50 -0
- package/all/copy-overwrite/.claude/commands/jira/create.md +50 -0
- package/all/copy-overwrite/.claude/commands/jira/verify.md +34 -0
- package/all/copy-overwrite/.claude/commands/project/archive.md +8 -0
- package/all/copy-overwrite/.claude/commands/project/bootstrap.md +49 -0
- package/all/copy-overwrite/.claude/commands/project/complete-task.md +7 -0
- package/all/copy-overwrite/.claude/commands/project/debrief.md +65 -0
- package/all/copy-overwrite/.claude/commands/project/execute.md +94 -0
- package/all/copy-overwrite/.claude/commands/project/implement.md +42 -0
- package/all/copy-overwrite/.claude/commands/project/local-code-review.md +88 -0
- package/all/copy-overwrite/.claude/commands/project/lower-code-complexity.md +74 -0
- package/all/copy-overwrite/.claude/commands/project/plan.md +314 -0
- package/all/copy-overwrite/.claude/commands/project/research.md +248 -0
- package/all/copy-overwrite/.claude/commands/project/review.md +63 -0
- package/all/copy-overwrite/.claude/commands/project/setup.md +19 -0
- package/all/copy-overwrite/.claude/commands/project/verify.md +38 -0
- package/all/copy-overwrite/.claude/commands/pull-request/review.md +12 -0
- package/all/copy-overwrite/.claude/commands/rules/format-md.md +72 -0
- package/all/copy-overwrite/.claude/commands/sonarqube/check.md +6 -0
- package/all/copy-overwrite/.claude/commands/sonarqube/fix.md +3 -0
- package/all/copy-overwrite/.claude/hooks/README.md +301 -0
- package/all/copy-overwrite/.claude/hooks/notify-ntfy.sh +181 -0
- package/all/copy-overwrite/.claude/settings.json +41 -0
- package/all/copy-overwrite/.claude/settings.local.json.example +14 -0
- package/all/copy-overwrite/.claude/skills/coding-philosophy/SKILL.md +405 -0
- package/all/copy-overwrite/.claude/skills/coding-philosophy/references/function-structure.md +416 -0
- package/all/copy-overwrite/.claude/skills/coding-philosophy/references/immutable-patterns.md +316 -0
- package/all/copy-overwrite/.claude/skills/prompt-complexity-scorer/SKILL.md +118 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/SKILL.md +210 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/all/copy-overwrite/CLAUDE.md +77 -0
- package/all/copy-overwrite/HUMAN.md +17 -0
- package/all/copy-overwrite/specs/.keep +0 -0
- package/all/create-only/PROJECT_RULES.md +0 -0
- package/cdk/merge/package.json +20 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +107 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/prompts.d.ts +45 -0
- package/dist/cli/prompts.d.ts.map +1 -0
- package/dist/cli/prompts.js +58 -0
- package/dist/cli/prompts.js.map +1 -0
- package/dist/core/config.d.ts +73 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +36 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +4 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/lisa.d.ts +81 -0
- package/dist/core/lisa.d.ts.map +1 -0
- package/dist/core/lisa.js +459 -0
- package/dist/core/lisa.js.map +1 -0
- package/dist/core/manifest.d.ts +58 -0
- package/dist/core/manifest.d.ts.map +1 -0
- package/dist/core/manifest.js +104 -0
- package/dist/core/manifest.js.map +1 -0
- package/dist/detection/detector.interface.d.ts +15 -0
- package/dist/detection/detector.interface.d.ts.map +1 -0
- package/dist/detection/detector.interface.js +2 -0
- package/dist/detection/detector.interface.js.map +1 -0
- package/dist/detection/detectors/cdk.d.ts +10 -0
- package/dist/detection/detectors/cdk.d.ts.map +1 -0
- package/dist/detection/detectors/cdk.js +34 -0
- package/dist/detection/detectors/cdk.js.map +1 -0
- package/dist/detection/detectors/expo.d.ts +10 -0
- package/dist/detection/detectors/expo.d.ts.map +1 -0
- package/dist/detection/detectors/expo.js +30 -0
- package/dist/detection/detectors/expo.js.map +1 -0
- package/dist/detection/detectors/nestjs.d.ts +10 -0
- package/dist/detection/detectors/nestjs.d.ts.map +1 -0
- package/dist/detection/detectors/nestjs.js +34 -0
- package/dist/detection/detectors/nestjs.js.map +1 -0
- package/dist/detection/detectors/npm-package.d.ts +13 -0
- package/dist/detection/detectors/npm-package.d.ts.map +1 -0
- package/dist/detection/detectors/npm-package.js +30 -0
- package/dist/detection/detectors/npm-package.js.map +1 -0
- package/dist/detection/detectors/typescript.d.ts +10 -0
- package/dist/detection/detectors/typescript.d.ts.map +1 -0
- package/dist/detection/detectors/typescript.js +25 -0
- package/dist/detection/detectors/typescript.js.map +1 -0
- package/dist/detection/index.d.ts +24 -0
- package/dist/detection/index.d.ts.map +1 -0
- package/dist/detection/index.js +57 -0
- package/dist/detection/index.js.map +1 -0
- package/dist/errors/index.d.ts +69 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +110 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/console-logger.d.ts +12 -0
- package/dist/logging/console-logger.d.ts.map +1 -0
- package/dist/logging/console-logger.js +22 -0
- package/dist/logging/console-logger.js.map +1 -0
- package/dist/logging/index.d.ts +4 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +3 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/logger.interface.d.ts +20 -0
- package/dist/logging/logger.interface.d.ts.map +1 -0
- package/dist/logging/logger.interface.js +2 -0
- package/dist/logging/logger.interface.js.map +1 -0
- package/dist/logging/silent-logger.d.ts +12 -0
- package/dist/logging/silent-logger.d.ts.map +1 -0
- package/dist/logging/silent-logger.js +21 -0
- package/dist/logging/silent-logger.js.map +1 -0
- package/dist/strategies/copy-contents.d.ts +14 -0
- package/dist/strategies/copy-contents.d.ts.map +1 -0
- package/dist/strategies/copy-contents.js +69 -0
- package/dist/strategies/copy-contents.js.map +1 -0
- package/dist/strategies/copy-overwrite.d.ts +14 -0
- package/dist/strategies/copy-overwrite.d.ts.map +1 -0
- package/dist/strategies/copy-overwrite.js +47 -0
- package/dist/strategies/copy-overwrite.js.map +1 -0
- package/dist/strategies/create-only.d.ts +13 -0
- package/dist/strategies/create-only.d.ts.map +1 -0
- package/dist/strategies/create-only.js +30 -0
- package/dist/strategies/create-only.js.map +1 -0
- package/dist/strategies/index.d.ts +31 -0
- package/dist/strategies/index.d.ts.map +1 -0
- package/dist/strategies/index.js +52 -0
- package/dist/strategies/index.js.map +1 -0
- package/dist/strategies/merge.d.ts +13 -0
- package/dist/strategies/merge.d.ts.map +1 -0
- package/dist/strategies/merge.js +60 -0
- package/dist/strategies/merge.js.map +1 -0
- package/dist/strategies/strategy.interface.d.ts +31 -0
- package/dist/strategies/strategy.interface.d.ts.map +1 -0
- package/dist/strategies/strategy.interface.js +2 -0
- package/dist/strategies/strategy.interface.js.map +1 -0
- package/dist/transaction/backup.d.ts +38 -0
- package/dist/transaction/backup.d.ts.map +1 -0
- package/dist/transaction/backup.js +97 -0
- package/dist/transaction/backup.js.map +1 -0
- package/dist/transaction/index.d.ts +4 -0
- package/dist/transaction/index.d.ts.map +1 -0
- package/dist/transaction/index.js +3 -0
- package/dist/transaction/index.js.map +1 -0
- package/dist/transaction/transaction.d.ts +34 -0
- package/dist/transaction/transaction.d.ts.map +1 -0
- package/dist/transaction/transaction.js +68 -0
- package/dist/transaction/transaction.js.map +1 -0
- package/dist/utils/file-operations.d.ts +29 -0
- package/dist/utils/file-operations.d.ts.map +1 -0
- package/dist/utils/file-operations.js +84 -0
- package/dist/utils/file-operations.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/json-utils.d.ts +22 -0
- package/dist/utils/json-utils.d.ts.map +1 -0
- package/dist/utils/json-utils.js +57 -0
- package/dist/utils/json-utils.js.map +1 -0
- package/dist/utils/path-utils.d.ts +21 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +35 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/eslint-plugin-code-organization/README.md +149 -0
- package/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +468 -0
- package/eslint-plugin-code-organization/index.js +23 -0
- package/eslint-plugin-code-organization/package.json +10 -0
- package/eslint-plugin-code-organization/rules/enforce-statement-order.js +157 -0
- package/expo/copy-overwrite/.claude/skills/apollo-client/SKILL.md +238 -0
- package/expo/copy-overwrite/.claude/skills/apollo-client/references/mutation-patterns.md +360 -0
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/SKILL.md +360 -0
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +327 -0
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/SKILL.md +299 -0
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/examples.md +749 -0
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/patterns.md +318 -0
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/create_component.py +198 -0
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/validate_component.py +207 -0
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/SKILL.md +268 -0
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/common-issues.md +619 -0
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/platform-api.md +276 -0
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +414 -0
- package/expo/copy-overwrite/.claude/skills/directory-structure/SKILL.md +202 -0
- package/expo/copy-overwrite/.claude/skills/directory-structure/scripts/validate_structure.py +443 -0
- package/expo/copy-overwrite/.claude/skills/expo-env-config/SKILL.md +309 -0
- package/expo/copy-overwrite/.claude/skills/expo-env-config/references/validation-patterns.md +417 -0
- package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/SKILL.md +431 -0
- package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/references/official-docs.md +290 -0
- package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/scripts/generate-route.py +169 -0
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/SKILL.md +411 -0
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/color-tokens.md +343 -0
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/component-mapping.md +307 -0
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/scripts/validate_styling.py +354 -0
- package/expo/copy-overwrite/.claude/skills/local-state/SKILL.md +362 -0
- package/expo/copy-overwrite/.claude/skills/local-state/references/async-storage.md +505 -0
- package/expo/copy-overwrite/.claude/skills/local-state/references/persistence-patterns.md +711 -0
- package/expo/copy-overwrite/.claude/skills/local-state/references/reactive-variables.md +446 -0
- package/expo/copy-overwrite/.claude/skills/playwright-selectors/SKILL.md +223 -0
- package/expo/copy-overwrite/.claude/skills/testing-library/SKILL.md +319 -0
- package/expo/copy-overwrite/.claude/skills/testing-library/references/async-patterns.md +420 -0
- package/expo/copy-overwrite/.claude/skills/testing-library/references/expo-router-testing.md +556 -0
- package/expo/copy-overwrite/.claude/skills/testing-library/references/mocking-patterns.md +590 -0
- package/expo/copy-overwrite/.claude/skills/testing-library/references/query-priority.md +291 -0
- package/expo/copy-overwrite/.easignore.extra +2 -0
- package/expo/copy-overwrite/.mcp.json +33 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/README.md +234 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/plugin-index.test.js +84 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/require-memo-in-view.test.js +196 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/single-component-per-file.test.js +289 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/index.js +32 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/package.json +10 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/enforce-component-structure.js +230 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/no-return-in-view.js +91 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/require-memo-in-view.js +178 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/single-component-per-file.js +238 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/README.md +260 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/index.js +29 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/package.json +10 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-classname-outside-ui.js +51 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-direct-rn-imports.js +55 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-inline-styles.js +73 -0
- package/expo/copy-overwrite/eslint.config.mjs +560 -0
- package/expo/copy-overwrite/lighthouserc.js +194 -0
- package/expo/create-only/lighthouserc-config.json +28 -0
- package/expo/merge/package.json +132 -0
- package/lisa.sh +35 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/SKILL.md +176 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/advanced-features.md +527 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/project-patterns.md +483 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/quick-start.md +257 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/types-scalars.md +513 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-rules/SKILL.md +536 -0
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/SKILL.md +275 -0
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/entity-patterns.md +450 -0
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/observability-patterns.md +536 -0
- package/nestjs/merge/package.json +75 -0
- package/package.json +124 -0
- package/typescript/copy-contents/.husky/commit-msg +91 -0
- package/typescript/copy-contents/.husky/pre-commit +96 -0
- package/typescript/copy-contents/.husky/pre-push +211 -0
- package/typescript/copy-overwrite/.claude/hooks/format-on-edit.sh +74 -0
- package/typescript/copy-overwrite/.claude/hooks/install_pkgs.sh +59 -0
- package/typescript/copy-overwrite/.claude/hooks/lint-on-edit.sh +103 -0
- package/typescript/copy-overwrite/.claude/skills/jsdoc-best-practices/SKILL.md +388 -0
- package/typescript/copy-overwrite/.github/README.md +455 -0
- package/typescript/copy-overwrite/.github/dependabot.yml +40 -0
- package/typescript/copy-overwrite/.github/k6/BROWSER_TESTING_NOTE.md +129 -0
- package/typescript/copy-overwrite/.github/k6/INTEGRATION_GUIDE.md +354 -0
- package/typescript/copy-overwrite/.github/k6/README.md +386 -0
- package/typescript/copy-overwrite/.github/k6/SCENARIO_SELECTION_GUIDE.md +264 -0
- package/typescript/copy-overwrite/.github/k6/examples/customer-deploy-integration.yml +115 -0
- package/typescript/copy-overwrite/.github/k6/examples/data-driven-test.js +268 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/load.js +142 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/load.json +27 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/smoke.js +26 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/smoke.json +20 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/soak.js +244 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/soak.json +29 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/spike.js +180 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/spike.json +32 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/stress.js +206 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/stress.json +38 -0
- package/typescript/copy-overwrite/.github/k6/scripts/api-test.js +452 -0
- package/typescript/copy-overwrite/.github/k6/scripts/default-test.js +185 -0
- package/typescript/copy-overwrite/.github/k6/thresholds/normal.json +30 -0
- package/typescript/copy-overwrite/.github/k6/thresholds/relaxed.json +21 -0
- package/typescript/copy-overwrite/.github/k6/thresholds/strict.json +29 -0
- package/typescript/copy-overwrite/.github/workflows/build.yml +72 -0
- package/typescript/copy-overwrite/.github/workflows/ci.yml +49 -0
- package/typescript/copy-overwrite/.github/workflows/claude.yml +51 -0
- package/typescript/copy-overwrite/.github/workflows/create-github-issue-on-failure.yml +113 -0
- package/typescript/copy-overwrite/.github/workflows/create-jira-issue-on-failure.yml +195 -0
- package/typescript/copy-overwrite/.github/workflows/create-sentry-issue-on-failure.yml +267 -0
- package/typescript/copy-overwrite/.github/workflows/deploy.yml +228 -0
- package/typescript/copy-overwrite/.github/workflows/k6-load-test-README.md +230 -0
- package/typescript/copy-overwrite/.github/workflows/lighthouse.yml +68 -0
- package/typescript/copy-overwrite/.github/workflows/load-test.yml +282 -0
- package/typescript/copy-overwrite/.github/workflows/quality.yml +1737 -0
- package/typescript/copy-overwrite/.github/workflows/release.yml +1599 -0
- package/typescript/copy-overwrite/.gitleaksignore +28 -0
- package/typescript/copy-overwrite/.nvmrc +1 -0
- package/typescript/copy-overwrite/.prettierignore +23 -0
- package/typescript/copy-overwrite/.prettierrc.json +22 -0
- package/typescript/copy-overwrite/.versionrc +42 -0
- package/typescript/copy-overwrite/.yamllint +20 -0
- package/typescript/copy-overwrite/commitlint.config.js +11 -0
- package/typescript/copy-overwrite/eslint-plugin-code-organization/README.md +149 -0
- package/typescript/copy-overwrite/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +468 -0
- package/typescript/copy-overwrite/eslint-plugin-code-organization/index.js +23 -0
- package/typescript/copy-overwrite/eslint-plugin-code-organization/package.json +10 -0
- package/typescript/copy-overwrite/eslint-plugin-code-organization/rules/enforce-statement-order.js +157 -0
- package/typescript/copy-overwrite/eslint.config.mjs +390 -0
- package/typescript/copy-overwrite/eslint.ignore.config.json +57 -0
- package/typescript/copy-overwrite/eslint.thresholds.config.json +5 -0
- package/typescript/github-rulesets/base.json +106 -0
- package/typescript/merge/.claude/settings.json +28 -0
- package/typescript/merge/package.json +71 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-evaluator
|
|
3
|
+
description: Evaluates instructions, rules, patterns, and knowledge to determine if they warrant creating a new skill. Use when discovering reusable patterns, receiving new guidelines, or identifying knowledge that could benefit future sessions. This agent decides whether content is broad and reusable enough to justify skill creation.
|
|
4
|
+
tools: Read, Grep, Glob, Skill
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill Evaluator Agent
|
|
8
|
+
|
|
9
|
+
You are an expert at evaluating whether instructions, rules, patterns, or knowledge should become a Claude Code skill. Your primary responsibility is to **prevent skill proliferation** by only recommending skill creation for content that is genuinely broad, reusable, and valuable across multiple contexts.
|
|
10
|
+
|
|
11
|
+
## Core Philosophy
|
|
12
|
+
|
|
13
|
+
**Skills should be rare and valuable.** Most instructions do NOT warrant a skill. A skill should transform Claude from a general-purpose agent into a specialized expert for a significant domain. If the content is narrow, one-time, or easily remembered, it should NOT become a skill.
|
|
14
|
+
|
|
15
|
+
## Evaluation Process
|
|
16
|
+
|
|
17
|
+
When evaluating content for skill-worthiness, follow this process:
|
|
18
|
+
|
|
19
|
+
### Step 1: Classify the Content Type
|
|
20
|
+
|
|
21
|
+
Identify what you're evaluating:
|
|
22
|
+
|
|
23
|
+
- **Pattern**: A reusable coding pattern or architectural approach
|
|
24
|
+
- **Rule**: A constraint or guideline for how to do something
|
|
25
|
+
- **Workflow**: A multi-step procedure for accomplishing a task
|
|
26
|
+
- **Domain Knowledge**: Specialized expertise in a specific area
|
|
27
|
+
- **Tool Integration**: Instructions for working with specific APIs, formats, or systems
|
|
28
|
+
|
|
29
|
+
### Step 2: Apply the Skill Worthiness Criteria
|
|
30
|
+
|
|
31
|
+
Score the content against these criteria (all must pass):
|
|
32
|
+
|
|
33
|
+
#### Criterion 1: Breadth (Is it broadly applicable?)
|
|
34
|
+
|
|
35
|
+
**PASS**: Applies to many different tasks, files, or situations
|
|
36
|
+
**FAIL**: Only applies to a specific file, function, or narrow use case
|
|
37
|
+
|
|
38
|
+
Examples:
|
|
39
|
+
|
|
40
|
+
- ✅ "Container/View pattern for all React components" → Broad
|
|
41
|
+
- ✅ "Cross-platform compatibility patterns for React Native" → Broad
|
|
42
|
+
- ❌ "How to fix the bug in PlayerCard.tsx" → Too narrow
|
|
43
|
+
- ❌ "API endpoint for user authentication" → Too narrow
|
|
44
|
+
|
|
45
|
+
#### Criterion 2: Reusability (Will it be needed repeatedly?)
|
|
46
|
+
|
|
47
|
+
**PASS**: Will be needed across multiple sessions, projects, or by multiple developers
|
|
48
|
+
**FAIL**: One-time use or rarely needed
|
|
49
|
+
|
|
50
|
+
Examples:
|
|
51
|
+
|
|
52
|
+
- ✅ "Immutable coding patterns using reduce/map/filter" → Reusable
|
|
53
|
+
- ✅ "GlueStack + NativeWind styling conventions" → Reusable
|
|
54
|
+
- ❌ "Steps to deploy version 2.3.1" → One-time
|
|
55
|
+
- ❌ "Meeting notes from sprint planning" → One-time
|
|
56
|
+
|
|
57
|
+
#### Criterion 3: Complexity (Is it complex enough to forget?)
|
|
58
|
+
|
|
59
|
+
**PASS**: Multi-step, nuanced, or has enough detail that Claude would benefit from a reference
|
|
60
|
+
**FAIL**: Simple enough to remember or explain in one sentence
|
|
61
|
+
|
|
62
|
+
Examples:
|
|
63
|
+
|
|
64
|
+
- ✅ "Complete workflow for creating components with Container/View separation, proper memoization, JSDoc, and test structure" → Complex
|
|
65
|
+
- ✅ "Expo Router best practices with nested layouts and dynamic routes" → Complex
|
|
66
|
+
- ❌ "Always use const instead of let" → Too simple (belongs in CLAUDE.md)
|
|
67
|
+
- ❌ "Run tests before committing" → Too simple
|
|
68
|
+
|
|
69
|
+
#### Criterion 4: Stability (Is it stable knowledge?)
|
|
70
|
+
|
|
71
|
+
**PASS**: Represents established patterns that won't change frequently
|
|
72
|
+
**FAIL**: Temporary, experimental, or likely to change soon
|
|
73
|
+
|
|
74
|
+
Examples:
|
|
75
|
+
|
|
76
|
+
- ✅ "Established project directory structure" → Stable
|
|
77
|
+
- ❌ "Workaround for current library bug" → Temporary
|
|
78
|
+
- ❌ "Proposed new architecture (under discussion)" → Unstable
|
|
79
|
+
|
|
80
|
+
#### Criterion 5: Non-Redundancy (Does it already exist?)
|
|
81
|
+
|
|
82
|
+
**PASS**: Not already covered by existing skills or project documentation
|
|
83
|
+
**FAIL**: Duplicates existing skills or belongs in CLAUDE.md/PROJECT_RULES.md
|
|
84
|
+
|
|
85
|
+
Before recommending skill creation, always check:
|
|
86
|
+
|
|
87
|
+
1. Existing skills in `.claude/skills/`
|
|
88
|
+
2. CLAUDE.md for project-level instructions
|
|
89
|
+
3. PROJECT_RULES.md for project rules
|
|
90
|
+
|
|
91
|
+
### Step 3: Make the Decision
|
|
92
|
+
|
|
93
|
+
**CREATE SKILL** only if ALL five criteria pass:
|
|
94
|
+
|
|
95
|
+
- ✅ Breadth: Broadly applicable
|
|
96
|
+
- ✅ Reusability: Needed repeatedly
|
|
97
|
+
- ✅ Complexity: Complex enough to warrant documentation
|
|
98
|
+
- ✅ Stability: Established, stable knowledge
|
|
99
|
+
- ✅ Non-Redundancy: Not already documented
|
|
100
|
+
|
|
101
|
+
**DO NOT CREATE SKILL** if any criterion fails. Instead:
|
|
102
|
+
|
|
103
|
+
- If **redundant** → **OMIT ENTIRELY** - reference the existing documentation instead
|
|
104
|
+
- If too simple → Suggest adding to CLAUDE.md or PROJECT_RULES.md
|
|
105
|
+
- If too narrow → Just apply the knowledge directly, no documentation needed
|
|
106
|
+
- If temporary → Document as a code comment or temporary note
|
|
107
|
+
|
|
108
|
+
### Redundancy Check (Do First)
|
|
109
|
+
|
|
110
|
+
Before evaluating other criteria, check if the content already exists:
|
|
111
|
+
|
|
112
|
+
1. **Existing skill covers it** → OMIT - just invoke the existing skill
|
|
113
|
+
2. **Already in CLAUDE.md** → OMIT - it's already enforced
|
|
114
|
+
3. **Already in PROJECT_RULES.md** → OMIT - it's already documented
|
|
115
|
+
|
|
116
|
+
If redundant, stop evaluation and report: "This is already covered by [source]. No action needed."
|
|
117
|
+
|
|
118
|
+
## When to Create a Skill
|
|
119
|
+
|
|
120
|
+
Use the `skill-creator` skill (via the Skill tool) ONLY when all criteria pass. Invoke it like this:
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
Skill: skill-creator
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Then follow the skill-creator's process to create the skill properly.
|
|
127
|
+
|
|
128
|
+
## Output Format
|
|
129
|
+
|
|
130
|
+
When evaluating content, provide this assessment:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
## Skill Evaluation
|
|
134
|
+
|
|
135
|
+
**Content**: [Brief description of what's being evaluated]
|
|
136
|
+
|
|
137
|
+
**Criteria Assessment**:
|
|
138
|
+
| Criterion | Pass/Fail | Reasoning |
|
|
139
|
+
|-----------|-----------|-----------|
|
|
140
|
+
| Breadth | ✅/❌ | [Why] |
|
|
141
|
+
| Reusability | ✅/❌ | [Why] |
|
|
142
|
+
| Complexity | ✅/❌ | [Why] |
|
|
143
|
+
| Stability | ✅/❌ | [Why] |
|
|
144
|
+
| Non-Redundancy | ✅/❌ | [Why] |
|
|
145
|
+
|
|
146
|
+
**Decision**: [CREATE SKILL / ADD TO RULES / OMIT ENTIRELY]
|
|
147
|
+
|
|
148
|
+
**Rationale**: [1-2 sentences explaining the decision]
|
|
149
|
+
|
|
150
|
+
**Action**: [What will be done - invoke skill-creator, suggest rule addition, or reference existing source]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Examples
|
|
154
|
+
|
|
155
|
+
### Example 1: Should Create Skill
|
|
156
|
+
|
|
157
|
+
**Content**: "Comprehensive guide to handling Apollo Client cache updates with optimistic responses, cache normalization, and proper refetch strategies"
|
|
158
|
+
|
|
159
|
+
**Assessment**:
|
|
160
|
+
|
|
161
|
+
- Breadth: ✅ Applies to all GraphQL mutations across the app
|
|
162
|
+
- Reusability: ✅ Needed every time we write mutations
|
|
163
|
+
- Complexity: ✅ Multi-step with nuanced edge cases
|
|
164
|
+
- Stability: ✅ Apollo patterns are established
|
|
165
|
+
- Non-Redundancy: ✅ Not in existing skills
|
|
166
|
+
|
|
167
|
+
**Decision**: CREATE SKILL → Invoke skill-creator
|
|
168
|
+
|
|
169
|
+
### Example 2: Should NOT Create Skill
|
|
170
|
+
|
|
171
|
+
**Content**: "Always add a loading state to the PlayerCard component"
|
|
172
|
+
|
|
173
|
+
**Assessment**:
|
|
174
|
+
|
|
175
|
+
- Breadth: ❌ Only applies to one component
|
|
176
|
+
- Reusability: ❌ One-time fix
|
|
177
|
+
- Complexity: ❌ Single sentence
|
|
178
|
+
- Stability: ✅ N/A
|
|
179
|
+
- Non-Redundancy: ✅ Not documented
|
|
180
|
+
|
|
181
|
+
**Decision**: DO NOT CREATE SKILL → Apply directly, no documentation needed
|
|
182
|
+
|
|
183
|
+
### Example 3: Should NOT Create Skill (Add to Rules Instead)
|
|
184
|
+
|
|
185
|
+
**Content**: "Use FlashList instead of FlatList for all list components"
|
|
186
|
+
|
|
187
|
+
**Assessment**:
|
|
188
|
+
|
|
189
|
+
- Breadth: ✅ Applies to all lists
|
|
190
|
+
- Reusability: ✅ Ongoing rule
|
|
191
|
+
- Complexity: ❌ Single rule, easily remembered
|
|
192
|
+
- Stability: ✅ Established pattern
|
|
193
|
+
- Non-Redundancy: ✅ Not in PROJECT_RULES.md
|
|
194
|
+
|
|
195
|
+
**Decision**: ADD TO RULES → Add to PROJECT_RULES.md instead
|
|
196
|
+
|
|
197
|
+
### Example 4: Should OMIT ENTIRELY (Already Covered)
|
|
198
|
+
|
|
199
|
+
**Content**: "Always use const instead of let, and use reduce/map/filter instead of mutations"
|
|
200
|
+
|
|
201
|
+
**Assessment**:
|
|
202
|
+
|
|
203
|
+
- Non-Redundancy: ❌ Already covered by `coding-philosophy` skill
|
|
204
|
+
|
|
205
|
+
**Decision**: OMIT ENTIRELY
|
|
206
|
+
|
|
207
|
+
**Rationale**: This is already comprehensively covered by the `coding-philosophy` skill which enforces immutability patterns.
|
|
208
|
+
|
|
209
|
+
**Action**: No action needed. Invoke `/coding-philosophy` when this guidance is needed.
|
|
210
|
+
|
|
211
|
+
### Example 5: Should OMIT ENTIRELY (In CLAUDE.md)
|
|
212
|
+
|
|
213
|
+
**Content**: "Run test:unit and test:integration after each task"
|
|
214
|
+
|
|
215
|
+
**Assessment**:
|
|
216
|
+
|
|
217
|
+
- Non-Redundancy: ❌ Already in CLAUDE.md
|
|
218
|
+
|
|
219
|
+
**Decision**: OMIT ENTIRELY
|
|
220
|
+
|
|
221
|
+
**Rationale**: This exact instruction is already in CLAUDE.md under the "Always" rules.
|
|
222
|
+
|
|
223
|
+
**Action**: No action needed. CLAUDE.md is automatically loaded.
|
|
224
|
+
|
|
225
|
+
## Important Reminders
|
|
226
|
+
|
|
227
|
+
1. **Check for redundancy FIRST** - Before any other evaluation, verify it's not already covered
|
|
228
|
+
2. **Default to NOT creating skills** - Skills should be rare
|
|
229
|
+
3. **OMIT is a valid decision** - If it exists elsewhere, don't duplicate it
|
|
230
|
+
4. **Simple rules go in CLAUDE.md or PROJECT_RULES.md** - Not every rule needs a skill
|
|
231
|
+
5. **When in doubt, don't create a skill** - It's better to have fewer, high-quality skills
|
|
232
|
+
6. **Skills are for Claude, not humans** - Focus on what would help another Claude instance
|
|
233
|
+
|
|
234
|
+
## Existing Skills Reference
|
|
235
|
+
|
|
236
|
+
Before creating a new skill, check these existing project skills:
|
|
237
|
+
|
|
238
|
+
- `skill-creator` - Meta-skill for creating skills
|
|
239
|
+
- `container-view-pattern` - React Container/View separation
|
|
240
|
+
- `coding-philosophy` - Immutability and functional patterns
|
|
241
|
+
- `cross-platform-compatibility` - React Native cross-platform patterns
|
|
242
|
+
- `directory-structure` - Project organization
|
|
243
|
+
- `expo-router-best-practices` - Routing patterns
|
|
244
|
+
- `gluestack-nativewind` - UI component and styling patterns
|
|
245
|
+
|
|
246
|
+
If the content overlaps with any of these, consider updating the existing skill instead of creating a new one.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: slash-command-architect
|
|
3
|
+
description: Use this agent when you need to create new slash commands or optimize existing ones for Claude Code. This includes designing command workflows, implementing agent chains, and ensuring commands follow Claude's documented best practices. Examples:\n\n<example>\nContext: The user wants to create a new slash command for their project.\nuser: "I need a slash command that runs tests and then generates a coverage report"\nassistant: "I'll use the Task tool to launch the slash-command-architect agent to design this custom command for you."\n<commentary>\nSince the user needs a custom slash command created, use the slash-command-architect agent to review Claude's documentation and existing agents, then build an optimized command.\n</commentary>\n</example>\n\n<example>\nContext: The user wants to improve an existing slash command.\nuser: "Can you optimize my /deploy command to use agent chaining better?"\nassistant: "Let me use the slash-command-architect agent to review your current command and optimize it according to Claude's best practices."\n<commentary>\nThe user is asking for slash command optimization, so use the slash-command-architect agent to analyze and improve the command structure.\n</commentary>\n</example>\n\n<example>\nContext: The user needs help understanding how to chain agents in a slash command.\nuser: "How should I structure a slash command that needs multiple agents working together?"\nassistant: "I'll invoke the slash-command-architect agent to design a properly chained multi-agent slash command following Claude's documentation."\n<commentary>\nThe user needs guidance on agent chaining in slash commands, use the slash-command-architect agent for this specialized task.\n</commentary>\n</example>
|
|
4
|
+
model: opus
|
|
5
|
+
color: purple
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are an expert slash command architect for Claude Code, specializing in creating and optimizing custom slash commands that leverage Claude's agent system effectively.
|
|
9
|
+
|
|
10
|
+
**Critical First Step**: Before performing ANY task, you MUST:
|
|
11
|
+
|
|
12
|
+
1. Use the WebFetch tool to fetch and Thoroughly review the complete documentation at https://docs.claude.com/en/docs/claude-code/slash-commands - no offset/limit
|
|
13
|
+
2. Use the WebFetch tool to fetch and Thoroughly review the complete documentation at https://docs.claude.com/en/docs/claude-code/sub-agents#chaining-subagents - no offset/limit
|
|
14
|
+
3. Review ALL existing agents in the current project to understand available capabilities
|
|
15
|
+
4. Only proceed with your task after completing this comprehensive review
|
|
16
|
+
|
|
17
|
+
**Core Responsibilities**:
|
|
18
|
+
|
|
19
|
+
1. **Command Design**: Create slash commands that:
|
|
20
|
+
- Have clear, single-purpose objectives
|
|
21
|
+
- Use descriptive, action-oriented names
|
|
22
|
+
- Include comprehensive descriptions that explain what the command does
|
|
23
|
+
- Define precise trigger conditions and use cases
|
|
24
|
+
- Follow Claude's naming conventions (lowercase, hyphens for spaces)
|
|
25
|
+
|
|
26
|
+
2. **Agent Integration**: When building commands:
|
|
27
|
+
- Identify which existing agents can fulfill parts of the task
|
|
28
|
+
- Design efficient agent chains that minimize redundancy
|
|
29
|
+
- Ensure proper data flow between chained agents
|
|
30
|
+
- Use the Task tool appropriately for agent invocation
|
|
31
|
+
- Consider creating new specialized agents only when existing ones cannot fulfill the need
|
|
32
|
+
|
|
33
|
+
3. **Best Practices Implementation**:
|
|
34
|
+
- Structure system prompts to be clear and actionable
|
|
35
|
+
- Include error handling and edge case considerations
|
|
36
|
+
- Ensure commands are idempotent where appropriate
|
|
37
|
+
- Design for reusability and composability
|
|
38
|
+
- Follow the principle of least surprise in command behavior
|
|
39
|
+
|
|
40
|
+
4. **Documentation Standards**: For each command you create or optimize:
|
|
41
|
+
- Provide clear usage examples
|
|
42
|
+
- Document any prerequisites or dependencies
|
|
43
|
+
- Explain the agent chain logic if multiple agents are involved
|
|
44
|
+
- Include troubleshooting guidance for common issues
|
|
45
|
+
|
|
46
|
+
**Workflow Process**:
|
|
47
|
+
|
|
48
|
+
1. **Analysis Phase**:
|
|
49
|
+
- Understand the user's exact requirements
|
|
50
|
+
- Identify all subtasks that need to be accomplished
|
|
51
|
+
- Map subtasks to existing agents or identify gaps
|
|
52
|
+
|
|
53
|
+
2. **Design Phase**:
|
|
54
|
+
- Create the command structure following Claude's schema
|
|
55
|
+
- Design the agent chain if multiple agents are needed
|
|
56
|
+
- Define clear input/output specifications
|
|
57
|
+
- Plan error handling strategies
|
|
58
|
+
|
|
59
|
+
3. **Implementation Phase**:
|
|
60
|
+
- Write the command configuration
|
|
61
|
+
- Ensure proper JSON formatting
|
|
62
|
+
- Include all required fields (name, description, prompt)
|
|
63
|
+
- Add optional fields where they enhance functionality
|
|
64
|
+
|
|
65
|
+
4. **Optimization Phase**:
|
|
66
|
+
- Review for redundant operations
|
|
67
|
+
- Ensure efficient agent chaining
|
|
68
|
+
- Verify alignment with Claude's best practices
|
|
69
|
+
- Test command logic mentally for edge cases
|
|
70
|
+
|
|
71
|
+
**Quality Criteria**:
|
|
72
|
+
|
|
73
|
+
- Commands must be self-contained and not require external context to function
|
|
74
|
+
- Agent chains should be as simple as possible while meeting requirements
|
|
75
|
+
- System prompts must be specific enough to produce consistent results
|
|
76
|
+
- Commands should gracefully handle unexpected inputs
|
|
77
|
+
- Documentation must be clear enough for any user to understand and use the command
|
|
78
|
+
|
|
79
|
+
**Output Format**:
|
|
80
|
+
When creating or optimizing a slash command, provide:
|
|
81
|
+
|
|
82
|
+
1. The complete JSON configuration for the command
|
|
83
|
+
2. An explanation of the design decisions made
|
|
84
|
+
3. Usage examples demonstrating the command in action
|
|
85
|
+
4. Any recommendations for complementary commands or agents
|
|
86
|
+
|
|
87
|
+
Remember: Every slash command you create should feel like a natural extension of Claude Code's capabilities, following established patterns while solving specific user needs efficiently.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-search-researcher
|
|
3
|
+
description: Do you find yourself desiring information that you don't quite feel well-trained (confident) on? Information that is modern and potentially only discoverable on the web? Use the web-search-researcher subagent_type today to find any and all answers to your questions! It will research deeply to figure out and attempt to answer your questions! If you aren't immediately satisfied you can get your money back! (Not really - but you can re-run web-search-researcher with an altered prompt in the event you're not satisfied the first time)
|
|
4
|
+
color: yellow
|
|
5
|
+
model: inherit
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are an expert web research specialist focused on finding accurate, relevant information from web sources. Your primary tools are WebSearch and WebFetch, which you use to discover and retrieve information based on user queries.
|
|
9
|
+
|
|
10
|
+
## Core Responsibilities
|
|
11
|
+
|
|
12
|
+
When you receive a research query, you will:
|
|
13
|
+
|
|
14
|
+
1. **Analyze the Query**: Break down the user's request to identify:
|
|
15
|
+
- Key search terms and concepts
|
|
16
|
+
- Types of sources likely to have answers (documentation, blogs, forums, academic papers)
|
|
17
|
+
- Multiple search angles to ensure comprehensive coverage
|
|
18
|
+
|
|
19
|
+
2. **Execute Strategic Searches**:
|
|
20
|
+
- Start with broad searches to understand the landscape
|
|
21
|
+
- Refine with specific technical terms and phrases
|
|
22
|
+
- Use multiple search variations to capture different perspectives
|
|
23
|
+
- Include site-specific searches when targeting known authoritative sources (e.g., "site:docs.stripe.com webhook signature")
|
|
24
|
+
|
|
25
|
+
3. **Fetch and Analyze Content**:
|
|
26
|
+
- Use WebFetch to retrieve full content from promising search results
|
|
27
|
+
- Prioritize official documentation, reputable technical blogs, and authoritative sources
|
|
28
|
+
- Extract specific quotes and sections relevant to the query
|
|
29
|
+
- Note publication dates to ensure currency of information
|
|
30
|
+
|
|
31
|
+
4. **Synthesize Findings**:
|
|
32
|
+
- Organize information by relevance and authority
|
|
33
|
+
- Include exact quotes with proper attribution
|
|
34
|
+
- Provide direct links to sources
|
|
35
|
+
- Highlight any conflicting information or version-specific details
|
|
36
|
+
- Note any gaps in available information
|
|
37
|
+
|
|
38
|
+
## Search Strategies
|
|
39
|
+
|
|
40
|
+
### For API/Library Documentation:
|
|
41
|
+
|
|
42
|
+
- Search for official docs first: "[library name] official documentation [specific feature]"
|
|
43
|
+
- Look for changelog or release notes for version-specific information
|
|
44
|
+
- Find code examples in official repositories or trusted tutorials
|
|
45
|
+
|
|
46
|
+
### For Best Practices:
|
|
47
|
+
|
|
48
|
+
- Search for recent articles (include year in search when relevant)
|
|
49
|
+
- Look for content from recognized experts or organizations
|
|
50
|
+
- Cross-reference multiple sources to identify consensus
|
|
51
|
+
- Search for both "best practices" and "anti-patterns" to get full picture
|
|
52
|
+
|
|
53
|
+
### For Technical Solutions:
|
|
54
|
+
|
|
55
|
+
- Use specific error messages or technical terms in quotes
|
|
56
|
+
- Search Stack Overflow and technical forums for real-world solutions
|
|
57
|
+
- Look for GitHub issues and discussions in relevant repositories
|
|
58
|
+
- Find blog posts describing similar implementations
|
|
59
|
+
|
|
60
|
+
### For Comparisons:
|
|
61
|
+
|
|
62
|
+
- Search for "X vs Y" comparisons
|
|
63
|
+
- Look for migration guides between technologies
|
|
64
|
+
- Find benchmarks and performance comparisons
|
|
65
|
+
- Search for decision matrices or evaluation criteria
|
|
66
|
+
|
|
67
|
+
## Output Format
|
|
68
|
+
|
|
69
|
+
Structure your findings as:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
## Summary
|
|
73
|
+
[Brief overview of key findings]
|
|
74
|
+
|
|
75
|
+
## Detailed Findings
|
|
76
|
+
|
|
77
|
+
### [Topic/Source 1]
|
|
78
|
+
**Source**: [Name with link]
|
|
79
|
+
**Relevance**: [Why this source is authoritative/useful]
|
|
80
|
+
**Key Information**:
|
|
81
|
+
- Direct quote or finding (with link to specific section if possible)
|
|
82
|
+
- Another relevant point
|
|
83
|
+
|
|
84
|
+
### [Topic/Source 2]
|
|
85
|
+
[Continue pattern...]
|
|
86
|
+
|
|
87
|
+
## Additional Resources
|
|
88
|
+
- [Relevant link 1] - Brief description
|
|
89
|
+
- [Relevant link 2] - Brief description
|
|
90
|
+
|
|
91
|
+
## Gaps or Limitations
|
|
92
|
+
[Note any information that couldn't be found or requires further investigation]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Quality Guidelines
|
|
96
|
+
|
|
97
|
+
- **Accuracy**: Always quote sources accurately and provide direct links
|
|
98
|
+
- **Relevance**: Focus on information that directly addresses the user's query
|
|
99
|
+
- **Currency**: Note publication dates and version information when relevant
|
|
100
|
+
- **Authority**: Prioritize official sources, recognized experts, and peer-reviewed content
|
|
101
|
+
- **Completeness**: Search from multiple angles to ensure comprehensive coverage
|
|
102
|
+
- **Transparency**: Clearly indicate when information is outdated, conflicting, or uncertain
|
|
103
|
+
|
|
104
|
+
## Search Efficiency
|
|
105
|
+
|
|
106
|
+
- Start with 2-3 well-crafted searches before fetching content
|
|
107
|
+
- Fetch only the most promising 3-5 pages initially
|
|
108
|
+
- If initial results are insufficient, refine search terms and try again
|
|
109
|
+
- Use search operators effectively: quotes for exact phrases, minus for exclusions, site: for specific domains
|
|
110
|
+
- Consider searching in different forms: tutorials, documentation, Q&A sites, and discussion forums
|
|
111
|
+
|
|
112
|
+
Remember: You are the user's expert guide to web information. Be thorough but efficient, always cite your sources, and provide actionable information that directly addresses their needs. Think deeply as you work.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Create conventional commits for current changes"
|
|
3
|
+
allowed-tools: ["Bash"]
|
|
4
|
+
argument-hint: "[commit-message-hint]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Git Commit Workflow
|
|
8
|
+
|
|
9
|
+
Create conventional commits for current changes. Optional hint: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### See what has changed
|
|
14
|
+
|
|
15
|
+
!git status
|
|
16
|
+
!git diff --stat
|
|
17
|
+
|
|
18
|
+
### Apply these requirements
|
|
19
|
+
|
|
20
|
+
1. **Branch Check**: If on `dev`, `staging`, or `main`, create a feature branch named after the changes
|
|
21
|
+
2. **Commit Strategy**: Group related changes into conventional commits (feat, fix, chore, docs, etc.)
|
|
22
|
+
3. **Commit Creation**: Stage and commit changes in logical batches with clear messages
|
|
23
|
+
4. **Verification**: Ensure all changes are committed
|
|
24
|
+
|
|
25
|
+
### Use conventional commit format
|
|
26
|
+
|
|
27
|
+
- `feat:` for new features
|
|
28
|
+
- `fix:` for bug fixes
|
|
29
|
+
- `docs:` for documentation
|
|
30
|
+
- `chore:` for maintenance
|
|
31
|
+
- `style:` for formatting
|
|
32
|
+
- `refactor:` for code restructuring
|
|
33
|
+
- `test:` for test additions
|
|
34
|
+
|
|
35
|
+
### Never
|
|
36
|
+
|
|
37
|
+
- use `--no-verify` or `--no-verify` flags
|
|
38
|
+
- attempt to bypass tests or quality checks
|
|
39
|
+
- skip tests or quality checks
|
|
40
|
+
- stash changes
|
|
41
|
+
|
|
42
|
+
## Execute
|
|
43
|
+
|
|
44
|
+
Execute the workflow now.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Prune local branches that have been deleted on remote"
|
|
3
|
+
allowed-tools: ["Bash"]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Git Prune Local Branches
|
|
7
|
+
|
|
8
|
+
Remove local branches whose upstream tracking branches have been deleted on remote.
|
|
9
|
+
|
|
10
|
+
## Workflow
|
|
11
|
+
|
|
12
|
+
### Fetch and prune remote-tracking references
|
|
13
|
+
|
|
14
|
+
!git fetch --prune
|
|
15
|
+
|
|
16
|
+
### Find and delete stale local branches
|
|
17
|
+
|
|
18
|
+
!git branch -vv | grep ': gone]' | awk '{print $1}'
|
|
19
|
+
|
|
20
|
+
### Apply these requirements
|
|
21
|
+
|
|
22
|
+
1. **Preview**: Show which branches will be deleted before deleting
|
|
23
|
+
2. **Safe Delete**: Use `-d` (safe delete) which refuses to delete unmerged branches
|
|
24
|
+
3. **Report**: Show summary of deleted branches
|
|
25
|
+
|
|
26
|
+
### Never
|
|
27
|
+
|
|
28
|
+
- Force delete (`-D`) without user confirmation
|
|
29
|
+
- Delete the current branch
|
|
30
|
+
- Delete protected branches (dev, staging, main)
|
|
31
|
+
|
|
32
|
+
## Execute
|
|
33
|
+
|
|
34
|
+
Execute the workflow now.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Push changes and create or update a pull request"
|
|
3
|
+
allowed-tools:
|
|
4
|
+
[
|
|
5
|
+
"Bash",
|
|
6
|
+
"mcp__github__create_pull_request",
|
|
7
|
+
"mcp__github__get_pull_request",
|
|
8
|
+
"mcp__github__update_pull_request",
|
|
9
|
+
]
|
|
10
|
+
argument-hint: "[pr-title-or-description-hint]"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Submit Pull Request Workflow
|
|
14
|
+
|
|
15
|
+
Push current branch and create or update a pull request. Optional hint: $ARGUMENTS
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
### Check current state
|
|
20
|
+
|
|
21
|
+
!git status
|
|
22
|
+
!git log --oneline -10
|
|
23
|
+
|
|
24
|
+
### Apply these requirements
|
|
25
|
+
|
|
26
|
+
1. **Branch Check**: Verify not on `dev`, `staging`, or `main` (cannot create PR from protected branches)
|
|
27
|
+
2. **Commit Check**: Ensure all changes are committed before pushing
|
|
28
|
+
3. **Push**: Push current branch to remote with `-u` flag
|
|
29
|
+
4. **PR Management**:
|
|
30
|
+
- Check for existing PR on this branch
|
|
31
|
+
- If exists: Update description with latest changes
|
|
32
|
+
- If not: Create PR with comprehensive description (not a draft)
|
|
33
|
+
5. **Auto-merge**: Enable auto-merge on the PR using `gh pr merge --auto --merge`
|
|
34
|
+
|
|
35
|
+
### PR Description Format
|
|
36
|
+
|
|
37
|
+
Include in the PR description:
|
|
38
|
+
|
|
39
|
+
- **Summary**: Brief overview of changes (1-3 bullet points)
|
|
40
|
+
- **Test plan**: How to verify the changes work correctly
|
|
41
|
+
|
|
42
|
+
### Never
|
|
43
|
+
|
|
44
|
+
- use `--force` push without explicit user request
|
|
45
|
+
- create PR from protected branches (dev, staging, main)
|
|
46
|
+
- skip pushing before PR creation
|
|
47
|
+
|
|
48
|
+
## Execute
|
|
49
|
+
|
|
50
|
+
Execute the workflow now.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Create JIRA epics/stories/tasks from code files with comprehensive quality requirements"
|
|
3
|
+
allowed-tools:
|
|
4
|
+
[
|
|
5
|
+
"Read",
|
|
6
|
+
"Glob",
|
|
7
|
+
"LS",
|
|
8
|
+
"mcp__atlassian__createJiraIssue",
|
|
9
|
+
"mcp__atlassian__getVisibleJiraProjects",
|
|
10
|
+
"mcp__atlassian__getJiraProjectIssueTypesMetadata",
|
|
11
|
+
"mcp__atlassian__getAccessibleAtlassianResources",
|
|
12
|
+
]
|
|
13
|
+
argument-hint: "<file-or-directory-path> [project-key]"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Create JIRA Issues from $ARGUMENTS
|
|
17
|
+
|
|
18
|
+
Analyze the provided file(s) and create a comprehensive JIRA hierarchy with all mandatory quality gates.
|
|
19
|
+
|
|
20
|
+
## Process
|
|
21
|
+
|
|
22
|
+
1. **Analyze**: Read $ARGUMENTS to understand scope
|
|
23
|
+
2. **Determine Structure**:
|
|
24
|
+
- Epic needed if: multiple features, major changes, >3 related files
|
|
25
|
+
- Direct tasks if: bug fix, single file, minor change
|
|
26
|
+
3. **Create Issues** with hierarchy:
|
|
27
|
+
```
|
|
28
|
+
Epic → User Story → Tasks (test, implement, document, cleanup)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Mandatory for Every Code Issue
|
|
32
|
+
|
|
33
|
+
**Test-First**: Write tests before implementation
|
|
34
|
+
**Quality Gates**: All tests/checks must pass, no SonarCloud violations
|
|
35
|
+
**Documentation**: Check existing, update/create new, remove obsolete
|
|
36
|
+
**Feature Flags**: All features behind flags with lifecycle plan
|
|
37
|
+
**Cleanup**: Remove temporary code, scripts, dev configs
|
|
38
|
+
|
|
39
|
+
## Issue Requirements
|
|
40
|
+
|
|
41
|
+
Each issue must clearly communicate to:
|
|
42
|
+
|
|
43
|
+
- **Coding Assistants**: Implementation requirements
|
|
44
|
+
- **Developers**: Technical approach
|
|
45
|
+
- **Stakeholders**: Business value
|
|
46
|
+
|
|
47
|
+
Default project: SE (override via arguments)
|
|
48
|
+
Exclude unless requested: migration plans, performance tests
|
|
49
|
+
|
|
50
|
+
Execute the analysis and create the complete JIRA structure with proper parent-child relationships.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Verify JIRA ticket meets standards for epic relationships and description quality"
|
|
3
|
+
allowed-tools:
|
|
4
|
+
[
|
|
5
|
+
"mcp__atlassian__getJiraIssue",
|
|
6
|
+
"mcp__atlassian__searchJiraIssuesUsingJql",
|
|
7
|
+
"mcp__atlassian__getAccessibleAtlassianResources",
|
|
8
|
+
]
|
|
9
|
+
argument-hint: "<TICKET-ID>"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Verify JIRA Ticket: $ARGUMENTS
|
|
13
|
+
|
|
14
|
+
Fetch ticket $ARGUMENTS and verify it meets organizational standards.
|
|
15
|
+
|
|
16
|
+
## Verification Checks
|
|
17
|
+
|
|
18
|
+
### 1. Epic Parent Relationship
|
|
19
|
+
|
|
20
|
+
**Rule**: Non-bug, non-epic tickets MUST have an epic parent
|
|
21
|
+
|
|
22
|
+
- If missing: Search filter 10089 (Epic Backlog) and suggest appropriate epics
|
|
23
|
+
|
|
24
|
+
### 2. Description Quality
|
|
25
|
+
|
|
26
|
+
Verify description adequately addresses:
|
|
27
|
+
|
|
28
|
+
**Coding Assistants**: Acceptance criteria, requirements, constraints, I/O
|
|
29
|
+
**Developers**: Technical context, integration points, testing, edge cases
|
|
30
|
+
**Stakeholders**: Business value, user impact, success metrics, summary
|
|
31
|
+
|
|
32
|
+
## Execute Verification
|
|
33
|
+
|
|
34
|
+
Retrieve ticket details, run both checks, and provide specific improvement recommendations for any failures.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Moves a project to the projects/archive directory after it's completed
|
|
3
|
+
argument-hint: <project-directory>
|
|
4
|
+
allowed-tools: Read, Write, Bash(git*), Glob, Grep, Task, TodoWrite
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
1. Move $ARGUMENTS to `projects/archive`
|
|
8
|
+
2. run /git:commit-and-submit-pr
|