aigroup-workflow 1.3.0 → 2.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/.claude/agents/architect.md +211 -0
- package/.claude/agents/build-error-resolver.md +114 -0
- package/.claude/agents/code-reviewer.md +237 -0
- package/.claude/agents/doc-updater.md +107 -0
- package/.claude/agents/e2e-runner.md +107 -0
- package/.claude/agents/init-architect.md +185 -128
- package/.claude/agents/planner.md +212 -0
- package/.claude/agents/refactor-cleaner.md +85 -0
- package/.claude/agents/rust-reviewer.md +94 -0
- package/.claude/agents/security-reviewer.md +108 -0
- package/.claude/agents/tdd-guide.md +91 -0
- package/.claude/commands/fix-build.md +32 -0
- package/.claude/commands/git-commit.md +1 -1
- package/.claude/commands/init-project.md +66 -50
- package/.claude/commands/plan.md +32 -0
- package/.claude/commands/review.md +29 -0
- package/.claude/commands/tdd.md +32 -0
- package/.claude/commands/workflow-start.md +87 -0
- package/.claude/hooks.json +3 -3
- package/.claude-plugin/plugin.json +20 -0
- package/.codex/AGENTS.md +107 -0
- package/.codex/agents/docs-researcher.toml +14 -0
- package/.codex/agents/explorer.toml +14 -0
- package/.codex/agents/reviewer.toml +16 -0
- package/.codex/config.toml +93 -0
- package/.codex-plugin/plugin.json +33 -0
- package/AGENTS.md +76 -0
- package/CLAUDE.md +18 -83
- package/README.md +220 -317
- package/cli/commands/check.mjs +11 -19
- package/cli/commands/init.mjs +133 -49
- package/cli/commands/status.mjs +42 -39
- package/cli/commands/update.mjs +10 -12
- package/cli/utils/scaffold.mjs +297 -126
- package/docs/README.md +46 -29
- package/docs/red-flags.md +29 -24
- package/docs/rules/README.md +51 -0
- package/docs/rules/agents.md +50 -0
- package/docs/rules/coding-style.md +79 -0
- package/docs/rules/cpp/coding-style.md +44 -0
- package/docs/rules/cpp/hooks.md +39 -0
- package/docs/rules/cpp/patterns.md +51 -0
- package/docs/rules/cpp/security.md +51 -0
- package/docs/rules/cpp/testing.md +44 -0
- package/docs/rules/csharp/coding-style.md +72 -0
- package/docs/rules/csharp/hooks.md +25 -0
- package/docs/rules/csharp/patterns.md +50 -0
- package/docs/rules/csharp/security.md +58 -0
- package/docs/rules/csharp/testing.md +46 -0
- package/docs/rules/dart/coding-style.md +159 -0
- package/docs/rules/dart/hooks.md +66 -0
- package/docs/rules/dart/patterns.md +261 -0
- package/docs/rules/dart/security.md +135 -0
- package/docs/rules/dart/testing.md +215 -0
- package/docs/rules/git-workflow.md +53 -0
- package/docs/rules/golang/coding-style.md +32 -0
- package/docs/rules/golang/hooks.md +17 -0
- package/docs/rules/golang/patterns.md +45 -0
- package/docs/rules/golang/security.md +34 -0
- package/docs/rules/golang/testing.md +31 -0
- package/docs/rules/hooks.md +61 -0
- package/docs/rules/java/coding-style.md +114 -0
- package/docs/rules/java/hooks.md +18 -0
- package/docs/rules/java/patterns.md +146 -0
- package/docs/rules/java/security.md +100 -0
- package/docs/rules/java/testing.md +131 -0
- package/docs/rules/kotlin/coding-style.md +86 -0
- package/docs/rules/kotlin/hooks.md +17 -0
- package/docs/rules/kotlin/patterns.md +146 -0
- package/docs/rules/kotlin/security.md +82 -0
- package/docs/rules/kotlin/testing.md +128 -0
- package/docs/rules/performance.md +30 -0
- package/docs/rules/perl/coding-style.md +46 -0
- package/docs/rules/perl/hooks.md +22 -0
- package/docs/rules/perl/patterns.md +76 -0
- package/docs/rules/perl/security.md +69 -0
- package/docs/rules/perl/testing.md +54 -0
- package/docs/rules/php/coding-style.md +40 -0
- package/docs/rules/php/hooks.md +24 -0
- package/docs/rules/php/patterns.md +33 -0
- package/docs/rules/php/security.md +37 -0
- package/docs/rules/php/testing.md +39 -0
- package/docs/rules/python/coding-style.md +42 -0
- package/docs/rules/python/hooks.md +19 -0
- package/docs/rules/python/patterns.md +39 -0
- package/docs/rules/python/security.md +30 -0
- package/docs/rules/python/testing.md +38 -0
- package/docs/rules/rust/coding-style.md +151 -0
- package/docs/rules/rust/hooks.md +16 -0
- package/docs/rules/rust/patterns.md +168 -0
- package/docs/rules/rust/security.md +141 -0
- package/docs/rules/rust/testing.md +154 -0
- package/docs/rules/security.md +73 -0
- package/docs/rules/swift/coding-style.md +47 -0
- package/docs/rules/swift/hooks.md +20 -0
- package/docs/rules/swift/patterns.md +66 -0
- package/docs/rules/swift/security.md +33 -0
- package/docs/rules/swift/testing.md +45 -0
- package/docs/rules/testing.md +77 -0
- package/docs/rules/typescript/coding-style.md +199 -0
- package/docs/rules/typescript/hooks.md +22 -0
- package/docs/rules/typescript/patterns.md +52 -0
- package/docs/rules/typescript/security.md +28 -0
- package/docs/rules/typescript/testing.md +18 -0
- package/docs/rules/web/coding-style.md +96 -0
- package/docs/rules/web/design-quality.md +63 -0
- package/docs/rules/web/hooks.md +120 -0
- package/docs/rules/web/patterns.md +79 -0
- package/docs/rules/web/performance.md +64 -0
- package/docs/rules/web/security.md +57 -0
- package/docs/rules/web/testing.md +55 -0
- package/docs/templates/code-review.md +1 -1
- package/docs/templates/implementation-plan.md +82 -82
- package/docs/workflow-pipeline.md +55 -127
- package/manifests/install-modules.json +294 -0
- package/package.json +7 -2
- package/scripts/harness/log-event.sh +11 -21
- package/scripts/harness/logs-query.sh +3 -8
- package/scripts/harness/tests/test-log-event.sh +16 -31
- package/scripts/harness/tests/test-logs-query.sh +4 -4
- package/scripts/hooks/README.md +49 -0
- package/scripts/hooks/checks/claude-md-size.cjs +21 -0
- package/scripts/hooks/checks/delegation-antipatterns.cjs +66 -0
- package/scripts/hooks/checks/empty-docs.cjs +32 -0
- package/scripts/hooks/checks/orchestration-artifacts.cjs +65 -0
- package/scripts/hooks/checks/structure.cjs +23 -0
- package/scripts/hooks/checks/workflow-state.cjs +56 -0
- package/scripts/hooks/dispatcher.cjs +64 -0
- package/scripts/hooks/lib/runner.cjs +81 -0
- package/scripts/orchestration/lib/orchestrator.cjs +181 -0
- package/scripts/orchestration/session.cjs +180 -0
- package/skills/documentation/SKILL.md +45 -0
- package/skills/{max/workflow/entropy-management → entropy-management}/SKILL.md +115 -124
- package/skills/requirement-engineering/SKILL.md +111 -0
- package/skills/{max/workflow/subagent-driven-development → subagent-driven-development}/SKILL.md +18 -18
- package/skills/{max/workflow/writing-plans → writing-plans}/SKILL.md +165 -165
- package/.claude/agents/ella.md +0 -101
- package/.claude/agents/jarvis.md +0 -193
- package/.claude/agents/kyle.md +0 -168
- package/docs/ARCHITECTURE.md +0 -117
- package/docs/QUALITY_SCORE.md +0 -44
- package/docs/coding-standards.md +0 -48
- package/docs/dispatch-rules.md +0 -83
- package/docs/steering-loop.md +0 -72
- package/docs/tech-debt-tracker.md +0 -26
- package/docs/templates/memory/activeContext.template.md +0 -30
- package/docs/templates/memory/projectContext.template.md +0 -36
- package/docs/templates/memory/systemPatterns.template.md +0 -26
- package/scripts/check-gitignore.sh +0 -130
- package/scripts/clean-system-files.sh +0 -169
- package/scripts/harness/hook-post-edit.sh +0 -40
- package/scripts/harness/hook-stop.sh +0 -70
- package/scripts/harness/hook-subagent-stop.sh +0 -54
- package/scripts/harness/lint-delegation.sh +0 -168
- package/scripts/harness/lint-docs.sh +0 -121
- package/scripts/harness/lint-process.sh +0 -221
- package/scripts/harness/lint-structure.sh +0 -145
- package/scripts/harness/lint-workflow-artifacts.sh +0 -150
- package/scripts/harness/run-all.sh +0 -77
- package/scripts/harness/workflow-state.sh +0 -397
- package/scripts/update-skills.sh +0 -187
- package/skills/max/workflow/brainstorming/SKILL.md +0 -111
- package/skills/max/workflow/documentation/SKILL.md +0 -82
- package/skills/max/workflow/requirement-validation/SKILL.md +0 -107
- package/skills/max/workflow/solution-design/SKILL.md +0 -117
- package/skills/max/workflow/testing/SKILL.md +0 -118
- /package/skills/{ella/angular-architect → angular-architect}/SKILL.md +0 -0
- /package/skills/{ella/angular-architect → angular-architect}/references/components.md +0 -0
- /package/skills/{ella/angular-architect → angular-architect}/references/ngrx.md +0 -0
- /package/skills/{ella/angular-architect → angular-architect}/references/routing.md +0 -0
- /package/skills/{ella/angular-architect → angular-architect}/references/rxjs.md +0 -0
- /package/skills/{ella/angular-architect → angular-architect}/references/testing.md +0 -0
- /package/skills/{jarvis/api-designer → api-designer}/SKILL.md +0 -0
- /package/skills/{jarvis/api-designer → api-designer}/references/error-handling.md +0 -0
- /package/skills/{jarvis/api-designer → api-designer}/references/openapi.md +0 -0
- /package/skills/{jarvis/api-designer → api-designer}/references/pagination.md +0 -0
- /package/skills/{jarvis/api-designer → api-designer}/references/rest-patterns.md +0 -0
- /package/skills/{jarvis/api-designer → api-designer}/references/versioning.md +0 -0
- /package/skills/{jarvis/architecture-designer → architecture-designer}/SKILL.md +0 -0
- /package/skills/{jarvis/architecture-designer → architecture-designer}/references/adr-template.md +0 -0
- /package/skills/{jarvis/architecture-designer → architecture-designer}/references/architecture-patterns.md +0 -0
- /package/skills/{jarvis/architecture-designer → architecture-designer}/references/database-selection.md +0 -0
- /package/skills/{jarvis/architecture-designer → architecture-designer}/references/nfr-checklist.md +0 -0
- /package/skills/{jarvis/architecture-designer → architecture-designer}/references/system-design.md +0 -0
- /package/skills/{kyle/chaos-engineer → chaos-engineer}/SKILL.md +0 -0
- /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/chaos-tools.md +0 -0
- /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/experiment-design.md +0 -0
- /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/game-days.md +0 -0
- /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/infrastructure-chaos.md +0 -0
- /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/kubernetes-chaos.md +0 -0
- /package/skills/{jarvis/cli-developer → cli-developer}/SKILL.md +0 -0
- /package/skills/{jarvis/cli-developer → cli-developer}/references/design-patterns.md +0 -0
- /package/skills/{jarvis/cli-developer → cli-developer}/references/go-cli.md +0 -0
- /package/skills/{jarvis/cli-developer → cli-developer}/references/node-cli.md +0 -0
- /package/skills/{jarvis/cli-developer → cli-developer}/references/python-cli.md +0 -0
- /package/skills/{jarvis/cli-developer → cli-developer}/references/ux-patterns.md +0 -0
- /package/skills/{jarvis/cloud-architect → cloud-architect}/SKILL.md +0 -0
- /package/skills/{jarvis/cloud-architect → cloud-architect}/references/aws.md +0 -0
- /package/skills/{jarvis/cloud-architect → cloud-architect}/references/azure.md +0 -0
- /package/skills/{jarvis/cloud-architect → cloud-architect}/references/cost.md +0 -0
- /package/skills/{jarvis/cloud-architect → cloud-architect}/references/gcp.md +0 -0
- /package/skills/{jarvis/cloud-architect → cloud-architect}/references/multi-cloud.md +0 -0
- /package/skills/{jarvis/code-documenter → code-documenter}/SKILL.md +0 -0
- /package/skills/{jarvis/code-documenter → code-documenter}/references/api-docs-fastapi-django.md +0 -0
- /package/skills/{jarvis/code-documenter → code-documenter}/references/api-docs-nestjs-express.md +0 -0
- /package/skills/{jarvis/code-documenter → code-documenter}/references/coverage-reports.md +0 -0
- /package/skills/{jarvis/code-documenter → code-documenter}/references/documentation-systems.md +0 -0
- /package/skills/{jarvis/code-documenter → code-documenter}/references/interactive-api-docs.md +0 -0
- /package/skills/{jarvis/code-documenter → code-documenter}/references/python-docstrings.md +0 -0
- /package/skills/{jarvis/code-documenter → code-documenter}/references/typescript-jsdoc.md +0 -0
- /package/skills/{jarvis/code-documenter → code-documenter}/references/user-guides-tutorials.md +0 -0
- /package/skills/{kyle/code-reviewer → code-reviewer}/SKILL.md +0 -0
- /package/skills/{kyle/code-reviewer → code-reviewer}/references/common-issues.md +0 -0
- /package/skills/{kyle/code-reviewer → code-reviewer}/references/feedback-examples.md +0 -0
- /package/skills/{kyle/code-reviewer → code-reviewer}/references/receiving-feedback.md +0 -0
- /package/skills/{kyle/code-reviewer → code-reviewer}/references/report-template.md +0 -0
- /package/skills/{kyle/code-reviewer → code-reviewer}/references/review-checklist.md +0 -0
- /package/skills/{kyle/code-reviewer → code-reviewer}/references/spec-compliance-review.md +0 -0
- /package/skills/{max/competitive-analysis → competitive-analysis}/SKILL.md +0 -0
- /package/skills/{jarvis/cpp-pro → cpp-pro}/SKILL.md +0 -0
- /package/skills/{jarvis/cpp-pro → cpp-pro}/references/build-tooling.md +0 -0
- /package/skills/{jarvis/cpp-pro → cpp-pro}/references/concurrency.md +0 -0
- /package/skills/{jarvis/cpp-pro → cpp-pro}/references/memory-performance.md +0 -0
- /package/skills/{jarvis/cpp-pro → cpp-pro}/references/modern-cpp.md +0 -0
- /package/skills/{jarvis/cpp-pro → cpp-pro}/references/templates.md +0 -0
- /package/skills/{jarvis/csharp-developer → csharp-developer}/SKILL.md +0 -0
- /package/skills/{jarvis/csharp-developer → csharp-developer}/references/aspnet-core.md +0 -0
- /package/skills/{jarvis/csharp-developer → csharp-developer}/references/blazor.md +0 -0
- /package/skills/{jarvis/csharp-developer → csharp-developer}/references/entity-framework.md +0 -0
- /package/skills/{jarvis/csharp-developer → csharp-developer}/references/modern-csharp.md +0 -0
- /package/skills/{jarvis/csharp-developer → csharp-developer}/references/performance.md +0 -0
- /package/skills/{jarvis/database-optimizer → database-optimizer}/SKILL.md +0 -0
- /package/skills/{jarvis/database-optimizer → database-optimizer}/references/index-strategies.md +0 -0
- /package/skills/{jarvis/database-optimizer → database-optimizer}/references/monitoring-analysis.md +0 -0
- /package/skills/{jarvis/database-optimizer → database-optimizer}/references/mysql-tuning.md +0 -0
- /package/skills/{jarvis/database-optimizer → database-optimizer}/references/postgresql-tuning.md +0 -0
- /package/skills/{jarvis/database-optimizer → database-optimizer}/references/query-optimization.md +0 -0
- /package/skills/{jarvis/debugging-wizard → debugging-wizard}/SKILL.md +0 -0
- /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/common-patterns.md +0 -0
- /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/debugging-tools.md +0 -0
- /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/quick-fixes.md +0 -0
- /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/strategies.md +0 -0
- /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/systematic-debugging.md +0 -0
- /package/skills/{ella/commands → design-commands}/design.md +0 -0
- /package/skills/{ella/commands → design-commands}/handoff.md +0 -0
- /package/skills/{ella/commands → design-commands}/prototype.md +0 -0
- /package/skills/{ella/commands → design-commands}/spec.md +0 -0
- /package/skills/{ella/commands → design-commands}/style.md +0 -0
- /package/skills/{jarvis/devops-engineer → devops-engineer}/SKILL.md +0 -0
- /package/skills/{jarvis/devops-engineer → devops-engineer}/references/deployment-strategies.md +0 -0
- /package/skills/{jarvis/devops-engineer → devops-engineer}/references/docker-patterns.md +0 -0
- /package/skills/{jarvis/devops-engineer → devops-engineer}/references/github-actions.md +0 -0
- /package/skills/{jarvis/devops-engineer → devops-engineer}/references/incident-response.md +0 -0
- /package/skills/{jarvis/devops-engineer → devops-engineer}/references/kubernetes.md +0 -0
- /package/skills/{jarvis/devops-engineer → devops-engineer}/references/platform-engineering.md +0 -0
- /package/skills/{jarvis/devops-engineer → devops-engineer}/references/release-automation.md +0 -0
- /package/skills/{jarvis/devops-engineer → devops-engineer}/references/terraform-iac.md +0 -0
- /package/skills/{jarvis/django-expert → django-expert}/SKILL.md +0 -0
- /package/skills/{jarvis/django-expert → django-expert}/references/authentication.md +0 -0
- /package/skills/{jarvis/django-expert → django-expert}/references/drf-serializers.md +0 -0
- /package/skills/{jarvis/django-expert → django-expert}/references/models-orm.md +0 -0
- /package/skills/{jarvis/django-expert → django-expert}/references/testing-django.md +0 -0
- /package/skills/{jarvis/django-expert → django-expert}/references/viewsets-views.md +0 -0
- /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/SKILL.md +0 -0
- /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/authentication.md +0 -0
- /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/clean-architecture.md +0 -0
- /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/cloud-native.md +0 -0
- /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/entity-framework.md +0 -0
- /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/minimal-apis.md +0 -0
- /package/skills/{jarvis/fastapi-expert → fastapi-expert}/SKILL.md +0 -0
- /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/async-sqlalchemy.md +0 -0
- /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/authentication.md +0 -0
- /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/endpoints-routing.md +0 -0
- /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/migration-from-django.md +0 -0
- /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/pydantic-v2.md +0 -0
- /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/testing-async.md +0 -0
- /package/skills/{jarvis/feature-forge → feature-forge}/SKILL.md +0 -0
- /package/skills/{jarvis/feature-forge → feature-forge}/references/acceptance-criteria.md +0 -0
- /package/skills/{jarvis/feature-forge → feature-forge}/references/ears-syntax.md +0 -0
- /package/skills/{jarvis/feature-forge → feature-forge}/references/interview-questions.md +0 -0
- /package/skills/{jarvis/feature-forge → feature-forge}/references/pre-discovery-subagents.md +0 -0
- /package/skills/{jarvis/feature-forge → feature-forge}/references/specification-template.md +0 -0
- /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/SKILL.md +0 -0
- /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/dataset-preparation.md +0 -0
- /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/deployment-optimization.md +0 -0
- /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/evaluation-metrics.md +0 -0
- /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/hyperparameter-tuning.md +0 -0
- /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/lora-peft.md +0 -0
- /package/skills/{max/workflow/finishing-a-development-branch → finishing-a-development-branch}/SKILL.md +0 -0
- /package/skills/{ella/flutter-expert → flutter-expert}/SKILL.md +0 -0
- /package/skills/{ella/flutter-expert → flutter-expert}/references/bloc-state.md +0 -0
- /package/skills/{ella/flutter-expert → flutter-expert}/references/gorouter-navigation.md +0 -0
- /package/skills/{ella/flutter-expert → flutter-expert}/references/performance.md +0 -0
- /package/skills/{ella/flutter-expert → flutter-expert}/references/project-structure.md +0 -0
- /package/skills/{ella/flutter-expert → flutter-expert}/references/riverpod-state.md +0 -0
- /package/skills/{ella/flutter-expert → flutter-expert}/references/widget-patterns.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/SKILL.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/api-design-standards.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/architecture-decisions.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/backend-patterns.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/common-patterns.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/deliverables-checklist.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/design-template.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/error-handling.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/frontend-patterns.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/integration-patterns.md +0 -0
- /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/security-checklist.md +0 -0
- /package/skills/{jarvis/golang-pro → golang-pro}/SKILL.md +0 -0
- /package/skills/{jarvis/golang-pro → golang-pro}/references/concurrency.md +0 -0
- /package/skills/{jarvis/golang-pro → golang-pro}/references/generics.md +0 -0
- /package/skills/{jarvis/golang-pro → golang-pro}/references/interfaces.md +0 -0
- /package/skills/{jarvis/golang-pro → golang-pro}/references/project-structure.md +0 -0
- /package/skills/{jarvis/golang-pro → golang-pro}/references/testing.md +0 -0
- /package/skills/{jarvis/graphql-architect → graphql-architect}/SKILL.md +0 -0
- /package/skills/{jarvis/graphql-architect → graphql-architect}/references/federation.md +0 -0
- /package/skills/{jarvis/graphql-architect → graphql-architect}/references/migration-from-rest.md +0 -0
- /package/skills/{jarvis/graphql-architect → graphql-architect}/references/resolvers.md +0 -0
- /package/skills/{jarvis/graphql-architect → graphql-architect}/references/schema-design.md +0 -0
- /package/skills/{jarvis/graphql-architect → graphql-architect}/references/security.md +0 -0
- /package/skills/{jarvis/graphql-architect → graphql-architect}/references/subscriptions.md +0 -0
- /package/skills/{jarvis/java-architect → java-architect}/SKILL.md +0 -0
- /package/skills/{jarvis/java-architect → java-architect}/references/jpa-optimization.md +0 -0
- /package/skills/{jarvis/java-architect → java-architect}/references/reactive-webflux.md +0 -0
- /package/skills/{jarvis/java-architect → java-architect}/references/spring-boot-setup.md +0 -0
- /package/skills/{jarvis/java-architect → java-architect}/references/spring-security.md +0 -0
- /package/skills/{jarvis/java-architect → java-architect}/references/testing-patterns.md +0 -0
- /package/skills/{jarvis/javascript-pro → javascript-pro}/SKILL.md +0 -0
- /package/skills/{jarvis/javascript-pro → javascript-pro}/references/async-patterns.md +0 -0
- /package/skills/{jarvis/javascript-pro → javascript-pro}/references/browser-apis.md +0 -0
- /package/skills/{jarvis/javascript-pro → javascript-pro}/references/modern-syntax.md +0 -0
- /package/skills/{jarvis/javascript-pro → javascript-pro}/references/modules.md +0 -0
- /package/skills/{jarvis/javascript-pro → javascript-pro}/references/node-essentials.md +0 -0
- /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/SKILL.md +0 -0
- /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/android-compose.md +0 -0
- /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/coroutines-flow.md +0 -0
- /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/dsl-idioms.md +0 -0
- /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/ktor-server.md +0 -0
- /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/multiplatform-kmp.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/SKILL.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/configuration.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/cost-optimization.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/custom-operators.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/gitops.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/helm-charts.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/multi-cluster.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/networking.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/service-mesh.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/storage.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/troubleshooting.md +0 -0
- /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/workloads.md +0 -0
- /package/skills/{jarvis/laravel-specialist → laravel-specialist}/SKILL.md +0 -0
- /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/eloquent.md +0 -0
- /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/livewire.md +0 -0
- /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/queues.md +0 -0
- /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/routing.md +0 -0
- /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/testing.md +0 -0
- /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/SKILL.md +0 -0
- /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/legacy-testing.md +0 -0
- /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/migration-strategies.md +0 -0
- /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/refactoring-patterns.md +0 -0
- /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/strangler-fig-pattern.md +0 -0
- /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/system-assessment.md +0 -0
- /package/skills/{jarvis/mcp-developer → mcp-developer}/SKILL.md +0 -0
- /package/skills/{jarvis/mcp-developer → mcp-developer}/references/protocol.md +0 -0
- /package/skills/{jarvis/mcp-developer → mcp-developer}/references/python-sdk.md +0 -0
- /package/skills/{jarvis/mcp-developer → mcp-developer}/references/resources.md +0 -0
- /package/skills/{jarvis/mcp-developer → mcp-developer}/references/tools.md +0 -0
- /package/skills/{jarvis/mcp-developer → mcp-developer}/references/typescript-sdk.md +0 -0
- /package/skills/{max/meeting-notes → meeting-notes}/SKILL.md +0 -0
- /package/skills/{jarvis/microservices-architect → microservices-architect}/SKILL.md +0 -0
- /package/skills/{jarvis/microservices-architect → microservices-architect}/references/communication.md +0 -0
- /package/skills/{jarvis/microservices-architect → microservices-architect}/references/data.md +0 -0
- /package/skills/{jarvis/microservices-architect → microservices-architect}/references/decomposition.md +0 -0
- /package/skills/{jarvis/microservices-architect → microservices-architect}/references/observability.md +0 -0
- /package/skills/{jarvis/microservices-architect → microservices-architect}/references/patterns.md +0 -0
- /package/skills/{jarvis/ml-pipeline → ml-pipeline}/SKILL.md +0 -0
- /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/experiment-tracking.md +0 -0
- /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/feature-engineering.md +0 -0
- /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/model-validation.md +0 -0
- /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/pipeline-orchestration.md +0 -0
- /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/training-pipelines.md +0 -0
- /package/skills/{jarvis/monitoring-expert → monitoring-expert}/SKILL.md +0 -0
- /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/alerting-rules.md +0 -0
- /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/application-profiling.md +0 -0
- /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/capacity-planning.md +0 -0
- /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/dashboards.md +0 -0
- /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/opentelemetry.md +0 -0
- /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/performance-testing.md +0 -0
- /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/prometheus-metrics.md +0 -0
- /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/structured-logging.md +0 -0
- /package/skills/{jarvis/nestjs-expert → nestjs-expert}/SKILL.md +0 -0
- /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/authentication.md +0 -0
- /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/controllers-routing.md +0 -0
- /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/dtos-validation.md +0 -0
- /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/migration-from-express.md +0 -0
- /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/services-di.md +0 -0
- /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/testing-patterns.md +0 -0
- /package/skills/{ella/nextjs-developer → nextjs-developer}/SKILL.md +0 -0
- /package/skills/{ella/nextjs-developer → nextjs-developer}/references/app-router.md +0 -0
- /package/skills/{ella/nextjs-developer → nextjs-developer}/references/data-fetching.md +0 -0
- /package/skills/{ella/nextjs-developer → nextjs-developer}/references/deployment.md +0 -0
- /package/skills/{ella/nextjs-developer → nextjs-developer}/references/server-actions.md +0 -0
- /package/skills/{ella/nextjs-developer → nextjs-developer}/references/server-components.md +0 -0
- /package/skills/{jarvis/pandas-pro → pandas-pro}/SKILL.md +0 -0
- /package/skills/{jarvis/pandas-pro → pandas-pro}/references/aggregation-groupby.md +0 -0
- /package/skills/{jarvis/pandas-pro → pandas-pro}/references/data-cleaning.md +0 -0
- /package/skills/{jarvis/pandas-pro → pandas-pro}/references/dataframe-operations.md +0 -0
- /package/skills/{jarvis/pandas-pro → pandas-pro}/references/merging-joining.md +0 -0
- /package/skills/{jarvis/pandas-pro → pandas-pro}/references/performance-optimization.md +0 -0
- /package/skills/{jarvis/php-pro → php-pro}/SKILL.md +0 -0
- /package/skills/{jarvis/php-pro → php-pro}/references/async-patterns.md +0 -0
- /package/skills/{jarvis/php-pro → php-pro}/references/laravel-patterns.md +0 -0
- /package/skills/{jarvis/php-pro → php-pro}/references/modern-php-features.md +0 -0
- /package/skills/{jarvis/php-pro → php-pro}/references/symfony-patterns.md +0 -0
- /package/skills/{jarvis/php-pro → php-pro}/references/testing-quality.md +0 -0
- /package/skills/{kyle/playwright-expert → playwright-expert}/SKILL.md +0 -0
- /package/skills/{kyle/playwright-expert → playwright-expert}/references/api-mocking.md +0 -0
- /package/skills/{kyle/playwright-expert → playwright-expert}/references/configuration.md +0 -0
- /package/skills/{kyle/playwright-expert → playwright-expert}/references/debugging-flaky.md +0 -0
- /package/skills/{kyle/playwright-expert → playwright-expert}/references/page-object-model.md +0 -0
- /package/skills/{kyle/playwright-expert → playwright-expert}/references/selectors-locators.md +0 -0
- /package/skills/{jarvis/postgres-pro → postgres-pro}/SKILL.md +0 -0
- /package/skills/{jarvis/postgres-pro → postgres-pro}/references/extensions.md +0 -0
- /package/skills/{jarvis/postgres-pro → postgres-pro}/references/jsonb.md +0 -0
- /package/skills/{jarvis/postgres-pro → postgres-pro}/references/maintenance.md +0 -0
- /package/skills/{jarvis/postgres-pro → postgres-pro}/references/performance.md +0 -0
- /package/skills/{jarvis/postgres-pro → postgres-pro}/references/replication.md +0 -0
- /package/skills/{max/prd-template → prd-template}/SKILL.md +0 -0
- /package/skills/{jarvis/python-pro → python-pro}/SKILL.md +0 -0
- /package/skills/{jarvis/python-pro → python-pro}/references/async-patterns.md +0 -0
- /package/skills/{jarvis/python-pro → python-pro}/references/packaging.md +0 -0
- /package/skills/{jarvis/python-pro → python-pro}/references/standard-library.md +0 -0
- /package/skills/{jarvis/python-pro → python-pro}/references/testing.md +0 -0
- /package/skills/{jarvis/python-pro → python-pro}/references/type-system.md +0 -0
- /package/skills/{jarvis/rag-architect → rag-architect}/SKILL.md +0 -0
- /package/skills/{jarvis/rag-architect → rag-architect}/references/chunking-strategies.md +0 -0
- /package/skills/{jarvis/rag-architect → rag-architect}/references/embedding-models.md +0 -0
- /package/skills/{jarvis/rag-architect → rag-architect}/references/rag-evaluation.md +0 -0
- /package/skills/{jarvis/rag-architect → rag-architect}/references/retrieval-optimization.md +0 -0
- /package/skills/{jarvis/rag-architect → rag-architect}/references/vector-databases.md +0 -0
- /package/skills/{jarvis/rails-expert → rails-expert}/SKILL.md +0 -0
- /package/skills/{jarvis/rails-expert → rails-expert}/references/active-record.md +0 -0
- /package/skills/{jarvis/rails-expert → rails-expert}/references/api-development.md +0 -0
- /package/skills/{jarvis/rails-expert → rails-expert}/references/background-jobs.md +0 -0
- /package/skills/{jarvis/rails-expert → rails-expert}/references/hotwire-turbo.md +0 -0
- /package/skills/{jarvis/rails-expert → rails-expert}/references/rspec-testing.md +0 -0
- /package/skills/{ella/react-expert → react-expert}/SKILL.md +0 -0
- /package/skills/{ella/react-expert → react-expert}/references/hooks-patterns.md +0 -0
- /package/skills/{ella/react-expert → react-expert}/references/migration-class-to-modern.md +0 -0
- /package/skills/{ella/react-expert → react-expert}/references/performance.md +0 -0
- /package/skills/{ella/react-expert → react-expert}/references/react-19-features.md +0 -0
- /package/skills/{ella/react-expert → react-expert}/references/server-components.md +0 -0
- /package/skills/{ella/react-expert → react-expert}/references/state-management.md +0 -0
- /package/skills/{ella/react-expert → react-expert}/references/testing-react.md +0 -0
- /package/skills/{ella/react-native-expert → react-native-expert}/SKILL.md +0 -0
- /package/skills/{ella/react-native-expert → react-native-expert}/references/expo-router.md +0 -0
- /package/skills/{ella/react-native-expert → react-native-expert}/references/list-optimization.md +0 -0
- /package/skills/{ella/react-native-expert → react-native-expert}/references/platform-handling.md +0 -0
- /package/skills/{ella/react-native-expert → react-native-expert}/references/project-structure.md +0 -0
- /package/skills/{ella/react-native-expert → react-native-expert}/references/storage-hooks.md +0 -0
- /package/skills/{jarvis/rust-engineer → rust-engineer}/SKILL.md +0 -0
- /package/skills/{jarvis/rust-engineer → rust-engineer}/references/async.md +0 -0
- /package/skills/{jarvis/rust-engineer → rust-engineer}/references/error-handling.md +0 -0
- /package/skills/{jarvis/rust-engineer → rust-engineer}/references/ownership.md +0 -0
- /package/skills/{jarvis/rust-engineer → rust-engineer}/references/testing.md +0 -0
- /package/skills/{jarvis/rust-engineer → rust-engineer}/references/traits.md +0 -0
- /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/SKILL.md +0 -0
- /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/authentication.md +0 -0
- /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/input-validation.md +0 -0
- /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/owasp-prevention.md +0 -0
- /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/security-headers.md +0 -0
- /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/xss-csrf.md +0 -0
- /package/skills/{kyle/security-reviewer → security-reviewer}/SKILL.md +0 -0
- /package/skills/{kyle/security-reviewer → security-reviewer}/references/infrastructure-security.md +0 -0
- /package/skills/{kyle/security-reviewer → security-reviewer}/references/penetration-testing.md +0 -0
- /package/skills/{kyle/security-reviewer → security-reviewer}/references/report-template.md +0 -0
- /package/skills/{kyle/security-reviewer → security-reviewer}/references/sast-tools.md +0 -0
- /package/skills/{kyle/security-reviewer → security-reviewer}/references/secret-scanning.md +0 -0
- /package/skills/{kyle/security-reviewer → security-reviewer}/references/vulnerability-patterns.md +0 -0
- /package/skills/{ella/senior-frontend → senior-frontend}/SKILL.md +0 -0
- /package/skills/{ella/senior-frontend → senior-frontend}/references/frontend_best_practices.md +0 -0
- /package/skills/{ella/senior-frontend → senior-frontend}/references/nextjs_optimization_guide.md +0 -0
- /package/skills/{ella/senior-frontend → senior-frontend}/references/react_patterns.md +0 -0
- /package/skills/{ella/senior-frontend → senior-frontend}/scripts/bundle_analyzer.py +0 -0
- /package/skills/{ella/senior-frontend → senior-frontend}/scripts/component_generator.py +0 -0
- /package/skills/{ella/senior-frontend → senior-frontend}/scripts/frontend_scaffolder.py +0 -0
- /package/skills/{kyle/senior-qa → senior-qa}/README.md +0 -0
- /package/skills/{kyle/senior-qa → senior-qa}/SKILL.md +0 -0
- /package/skills/{kyle/senior-qa → senior-qa}/references/qa_best_practices.md +0 -0
- /package/skills/{kyle/senior-qa → senior-qa}/references/test_automation_patterns.md +0 -0
- /package/skills/{kyle/senior-qa → senior-qa}/references/testing_strategies.md +0 -0
- /package/skills/{kyle/senior-qa → senior-qa}/scripts/coverage_analyzer.py +0 -0
- /package/skills/{kyle/senior-qa → senior-qa}/scripts/e2e_test_scaffolder.py +0 -0
- /package/skills/{kyle/senior-qa → senior-qa}/scripts/test_suite_generator.py +0 -0
- /package/skills/{jarvis/spark-engineer → spark-engineer}/SKILL.md +0 -0
- /package/skills/{jarvis/spark-engineer → spark-engineer}/references/partitioning-caching.md +0 -0
- /package/skills/{jarvis/spark-engineer → spark-engineer}/references/performance-tuning.md +0 -0
- /package/skills/{jarvis/spark-engineer → spark-engineer}/references/rdd-operations.md +0 -0
- /package/skills/{jarvis/spark-engineer → spark-engineer}/references/spark-sql-dataframes.md +0 -0
- /package/skills/{jarvis/spark-engineer → spark-engineer}/references/streaming-patterns.md +0 -0
- /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/SKILL.md +0 -0
- /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/cloud.md +0 -0
- /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/data.md +0 -0
- /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/security.md +0 -0
- /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/testing.md +0 -0
- /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/web.md +0 -0
- /package/skills/{jarvis/sql-pro → sql-pro}/SKILL.md +0 -0
- /package/skills/{jarvis/sql-pro → sql-pro}/references/database-design.md +0 -0
- /package/skills/{jarvis/sql-pro → sql-pro}/references/dialect-differences.md +0 -0
- /package/skills/{jarvis/sql-pro → sql-pro}/references/optimization.md +0 -0
- /package/skills/{jarvis/sql-pro → sql-pro}/references/query-patterns.md +0 -0
- /package/skills/{jarvis/sql-pro → sql-pro}/references/window-functions.md +0 -0
- /package/skills/{jarvis/sre-engineer → sre-engineer}/SKILL.md +0 -0
- /package/skills/{jarvis/sre-engineer → sre-engineer}/references/automation-toil.md +0 -0
- /package/skills/{jarvis/sre-engineer → sre-engineer}/references/error-budget-policy.md +0 -0
- /package/skills/{jarvis/sre-engineer → sre-engineer}/references/incident-chaos.md +0 -0
- /package/skills/{jarvis/sre-engineer → sre-engineer}/references/monitoring-alerting.md +0 -0
- /package/skills/{jarvis/sre-engineer → sre-engineer}/references/slo-sli-management.md +0 -0
- /package/skills/{max/stakeholder-update → stakeholder-update}/SKILL.md +0 -0
- /package/skills/{jarvis/swift-expert → swift-expert}/SKILL.md +0 -0
- /package/skills/{jarvis/swift-expert → swift-expert}/references/async-concurrency.md +0 -0
- /package/skills/{jarvis/swift-expert → swift-expert}/references/memory-performance.md +0 -0
- /package/skills/{jarvis/swift-expert → swift-expert}/references/protocol-oriented.md +0 -0
- /package/skills/{jarvis/swift-expert → swift-expert}/references/swiftui-patterns.md +0 -0
- /package/skills/{jarvis/swift-expert → swift-expert}/references/testing-patterns.md +0 -0
- /package/skills/{max/workflow/systematic-debugging → systematic-debugging}/SKILL.md +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/HOW_TO_USE.md +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/README.md +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/SKILL.md +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/assets/expected_output.json +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/assets/sample_coverage_report.lcov +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/assets/sample_input_python.json +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/assets/sample_input_typescript.json +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/references/ci-integration.md +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/references/framework-guide.md +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/references/tdd-best-practices.md +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/coverage_analyzer.py +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/fixture_generator.py +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/format_detector.py +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/framework_adapter.py +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/metrics_calculator.py +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/output_formatter.py +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/tdd_workflow.py +0 -0
- /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/test_generator.py +0 -0
- /package/skills/{jarvis/terraform-engineer → terraform-engineer}/SKILL.md +0 -0
- /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/best-practices.md +0 -0
- /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/module-patterns.md +0 -0
- /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/providers.md +0 -0
- /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/state-management.md +0 -0
- /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/testing.md +0 -0
- /package/skills/{kyle/test-master → test-master}/SKILL.md +0 -0
- /package/skills/{kyle/test-master → test-master}/references/automation-frameworks.md +0 -0
- /package/skills/{kyle/test-master → test-master}/references/e2e-testing.md +0 -0
- /package/skills/{kyle/test-master → test-master}/references/integration-testing.md +0 -0
- /package/skills/{kyle/test-master → test-master}/references/performance-testing.md +0 -0
- /package/skills/{kyle/test-master → test-master}/references/qa-methodology.md +0 -0
- /package/skills/{kyle/test-master → test-master}/references/security-testing.md +0 -0
- /package/skills/{kyle/test-master → test-master}/references/tdd-iron-laws.md +0 -0
- /package/skills/{kyle/test-master → test-master}/references/test-reports.md +0 -0
- /package/skills/{kyle/test-master → test-master}/references/testing-anti-patterns.md +0 -0
- /package/skills/{kyle/test-master → test-master}/references/unit-testing.md +0 -0
- /package/skills/{jarvis/typescript-pro → typescript-pro}/SKILL.md +0 -0
- /package/skills/{jarvis/typescript-pro → typescript-pro}/references/advanced-types.md +0 -0
- /package/skills/{jarvis/typescript-pro → typescript-pro}/references/configuration.md +0 -0
- /package/skills/{jarvis/typescript-pro → typescript-pro}/references/patterns.md +0 -0
- /package/skills/{jarvis/typescript-pro → typescript-pro}/references/type-guards.md +0 -0
- /package/skills/{jarvis/typescript-pro → typescript-pro}/references/utility-types.md +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/SKILL.md +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/charts.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/colors.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/icons.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/landing.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/products.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/react-performance.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/astro.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/flutter.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/html-tailwind.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/jetpack-compose.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nextjs.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxt-ui.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxtjs.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react-native.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/shadcn.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/svelte.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/swiftui.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/vue.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/styles.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/typography.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/ui-reasoning.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/ux-guidelines.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/web-interface.csv +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/core.cpython-39.pyc +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/design_system.cpython-39.pyc +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/core.py +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/design_system.py +0 -0
- /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/search.py +0 -0
- /package/skills/{max/user-research-synthesis → user-research-synthesis}/SKILL.md +0 -0
- /package/skills/{max/workflow/verification-before-completion → verification-before-completion}/SKILL.md +0 -0
- /package/skills/{ella/vue-expert → vue-expert}/SKILL.md +0 -0
- /package/skills/{ella/vue-expert → vue-expert}/references/build-tooling.md +0 -0
- /package/skills/{ella/vue-expert → vue-expert}/references/components.md +0 -0
- /package/skills/{ella/vue-expert → vue-expert}/references/composition-api.md +0 -0
- /package/skills/{ella/vue-expert → vue-expert}/references/mobile-hybrid.md +0 -0
- /package/skills/{ella/vue-expert → vue-expert}/references/nuxt.md +0 -0
- /package/skills/{ella/vue-expert → vue-expert}/references/state-management.md +0 -0
- /package/skills/{ella/vue-expert → vue-expert}/references/typescript.md +0 -0
- /package/skills/{ella/vue-expert-js → vue-expert-js}/SKILL.md +0 -0
- /package/skills/{ella/vue-expert-js → vue-expert-js}/references/component-architecture.md +0 -0
- /package/skills/{ella/vue-expert-js → vue-expert-js}/references/composables-patterns.md +0 -0
- /package/skills/{ella/vue-expert-js → vue-expert-js}/references/jsdoc-typing.md +0 -0
- /package/skills/{ella/vue-expert-js → vue-expert-js}/references/state-management.md +0 -0
- /package/skills/{ella/vue-expert-js → vue-expert-js}/references/testing-patterns.md +0 -0
- /package/skills/{jarvis/websocket-engineer → websocket-engineer}/SKILL.md +0 -0
- /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/alternatives.md +0 -0
- /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/patterns.md +0 -0
- /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/protocol.md +0 -0
- /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/scaling.md +0 -0
- /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/security.md +0 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: refactor-cleaner
|
|
3
|
+
description: Dead code cleanup and consolidation specialist. Use PROACTIVELY for removing unused code, duplicates, and refactoring. Runs analysis tools (knip, depcheck, ts-prune) to identify dead code and safely removes it.
|
|
4
|
+
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Refactor & Dead Code Cleaner
|
|
9
|
+
|
|
10
|
+
You are an expert refactoring specialist focused on code cleanup and consolidation. Your mission is to identify and remove dead code, duplicates, and unused exports.
|
|
11
|
+
|
|
12
|
+
## Core Responsibilities
|
|
13
|
+
|
|
14
|
+
1. **Dead Code Detection** -- Find unused code, exports, dependencies
|
|
15
|
+
2. **Duplicate Elimination** -- Identify and consolidate duplicate code
|
|
16
|
+
3. **Dependency Cleanup** -- Remove unused packages and imports
|
|
17
|
+
4. **Safe Refactoring** -- Ensure changes don't break functionality
|
|
18
|
+
|
|
19
|
+
## Detection Commands
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx knip # Unused files, exports, dependencies
|
|
23
|
+
npx depcheck # Unused npm dependencies
|
|
24
|
+
npx ts-prune # Unused TypeScript exports
|
|
25
|
+
npx eslint . --report-unused-disable-directives # Unused eslint directives
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Workflow
|
|
29
|
+
|
|
30
|
+
### 1. Analyze
|
|
31
|
+
- Run detection tools in parallel
|
|
32
|
+
- Categorize by risk: **SAFE** (unused exports/deps), **CAREFUL** (dynamic imports), **RISKY** (public API)
|
|
33
|
+
|
|
34
|
+
### 2. Verify
|
|
35
|
+
For each item to remove:
|
|
36
|
+
- Grep for all references (including dynamic imports via string patterns)
|
|
37
|
+
- Check if part of public API
|
|
38
|
+
- Review git history for context
|
|
39
|
+
|
|
40
|
+
### 3. Remove Safely
|
|
41
|
+
- Start with SAFE items only
|
|
42
|
+
- Remove one category at a time: deps -> exports -> files -> duplicates
|
|
43
|
+
- Run tests after each batch
|
|
44
|
+
- Commit after each batch
|
|
45
|
+
|
|
46
|
+
### 4. Consolidate Duplicates
|
|
47
|
+
- Find duplicate components/utilities
|
|
48
|
+
- Choose the best implementation (most complete, best tested)
|
|
49
|
+
- Update all imports, delete duplicates
|
|
50
|
+
- Verify tests pass
|
|
51
|
+
|
|
52
|
+
## Safety Checklist
|
|
53
|
+
|
|
54
|
+
Before removing:
|
|
55
|
+
- [ ] Detection tools confirm unused
|
|
56
|
+
- [ ] Grep confirms no references (including dynamic)
|
|
57
|
+
- [ ] Not part of public API
|
|
58
|
+
- [ ] Tests pass after removal
|
|
59
|
+
|
|
60
|
+
After each batch:
|
|
61
|
+
- [ ] Build succeeds
|
|
62
|
+
- [ ] Tests pass
|
|
63
|
+
- [ ] Committed with descriptive message
|
|
64
|
+
|
|
65
|
+
## Key Principles
|
|
66
|
+
|
|
67
|
+
1. **Start small** -- one category at a time
|
|
68
|
+
2. **Test often** -- after every batch
|
|
69
|
+
3. **Be conservative** -- when in doubt, don't remove
|
|
70
|
+
4. **Document** -- descriptive commit messages per batch
|
|
71
|
+
5. **Never remove** during active feature development or before deploys
|
|
72
|
+
|
|
73
|
+
## When NOT to Use
|
|
74
|
+
|
|
75
|
+
- During active feature development
|
|
76
|
+
- Right before production deployment
|
|
77
|
+
- Without proper test coverage
|
|
78
|
+
- On code you don't understand
|
|
79
|
+
|
|
80
|
+
## Success Metrics
|
|
81
|
+
|
|
82
|
+
- All tests passing
|
|
83
|
+
- Build succeeds
|
|
84
|
+
- No regressions
|
|
85
|
+
- Bundle size reduced
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rust-reviewer
|
|
3
|
+
description: Expert Rust code reviewer specializing in ownership, lifetimes, error handling, unsafe usage, and idiomatic patterns. Use for all Rust code changes. MUST BE USED for Rust projects.
|
|
4
|
+
tools: ["Read", "Grep", "Glob", "Bash"]
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a senior Rust code reviewer ensuring high standards of safety, idiomatic patterns, and performance.
|
|
9
|
+
|
|
10
|
+
When invoked:
|
|
11
|
+
1. Run `cargo check`, `cargo clippy -- -D warnings`, `cargo fmt --check`, and `cargo test` — if any fail, stop and report
|
|
12
|
+
2. Run `git diff HEAD~1 -- '*.rs'` (or `git diff main...HEAD -- '*.rs'` for PR review) to see recent Rust file changes
|
|
13
|
+
3. Focus on modified `.rs` files
|
|
14
|
+
4. If the project has CI or merge requirements, note that review assumes a green CI and resolved merge conflicts where applicable; call out if the diff suggests otherwise.
|
|
15
|
+
5. Begin review
|
|
16
|
+
|
|
17
|
+
## Review Priorities
|
|
18
|
+
|
|
19
|
+
### CRITICAL — Safety
|
|
20
|
+
|
|
21
|
+
- **Unchecked `unwrap()`/`expect()`**: In production code paths — use `?` or handle explicitly
|
|
22
|
+
- **Unsafe without justification**: Missing `// SAFETY:` comment documenting invariants
|
|
23
|
+
- **SQL injection**: String interpolation in queries — use parameterized queries
|
|
24
|
+
- **Command injection**: Unvalidated input in `std::process::Command`
|
|
25
|
+
- **Path traversal**: User-controlled paths without canonicalization and prefix check
|
|
26
|
+
- **Hardcoded secrets**: API keys, passwords, tokens in source
|
|
27
|
+
- **Insecure deserialization**: Deserializing untrusted data without size/depth limits
|
|
28
|
+
- **Use-after-free via raw pointers**: Unsafe pointer manipulation without lifetime guarantees
|
|
29
|
+
|
|
30
|
+
### CRITICAL — Error Handling
|
|
31
|
+
|
|
32
|
+
- **Silenced errors**: Using `let _ = result;` on `#[must_use]` types
|
|
33
|
+
- **Missing error context**: `return Err(e)` without `.context()` or `.map_err()`
|
|
34
|
+
- **Panic for recoverable errors**: `panic!()`, `todo!()`, `unreachable!()` in production paths
|
|
35
|
+
- **`Box<dyn Error>` in libraries**: Use `thiserror` for typed errors instead
|
|
36
|
+
|
|
37
|
+
### HIGH — Ownership and Lifetimes
|
|
38
|
+
|
|
39
|
+
- **Unnecessary cloning**: `.clone()` to satisfy borrow checker without understanding the root cause
|
|
40
|
+
- **String instead of &str**: Taking `String` when `&str` or `impl AsRef<str>` suffices
|
|
41
|
+
- **Vec instead of slice**: Taking `Vec<T>` when `&[T]` suffices
|
|
42
|
+
- **Missing `Cow`**: Allocating when `Cow<'_, str>` would avoid it
|
|
43
|
+
- **Lifetime over-annotation**: Explicit lifetimes where elision rules apply
|
|
44
|
+
|
|
45
|
+
### HIGH — Concurrency
|
|
46
|
+
|
|
47
|
+
- **Blocking in async**: `std::thread::sleep`, `std::fs` in async context — use tokio equivalents
|
|
48
|
+
- **Unbounded channels**: `mpsc::channel()`/`tokio::sync::mpsc::unbounded_channel()` need justification — prefer bounded channels (`tokio::sync::mpsc::channel(n)` in async, `sync_channel(n)` in sync)
|
|
49
|
+
- **`Mutex` poisoning ignored**: Not handling `PoisonError` from `.lock()`
|
|
50
|
+
- **Missing `Send`/`Sync` bounds**: Types shared across threads without proper bounds
|
|
51
|
+
- **Deadlock patterns**: Nested lock acquisition without consistent ordering
|
|
52
|
+
|
|
53
|
+
### HIGH — Code Quality
|
|
54
|
+
|
|
55
|
+
- **Large functions**: Over 50 lines
|
|
56
|
+
- **Deep nesting**: More than 4 levels
|
|
57
|
+
- **Wildcard match on business enums**: `_ =>` hiding new variants
|
|
58
|
+
- **Non-exhaustive matching**: Catch-all where explicit handling is needed
|
|
59
|
+
- **Dead code**: Unused functions, imports, or variables
|
|
60
|
+
|
|
61
|
+
### MEDIUM — Performance
|
|
62
|
+
|
|
63
|
+
- **Unnecessary allocation**: `to_string()` / `to_owned()` in hot paths
|
|
64
|
+
- **Repeated allocation in loops**: String or Vec creation inside loops
|
|
65
|
+
- **Missing `with_capacity`**: `Vec::new()` when size is known — use `Vec::with_capacity(n)`
|
|
66
|
+
- **Excessive cloning in iterators**: `.cloned()` / `.clone()` when borrowing suffices
|
|
67
|
+
- **N+1 queries**: Database queries in loops
|
|
68
|
+
|
|
69
|
+
### MEDIUM — Best Practices
|
|
70
|
+
|
|
71
|
+
- **Clippy warnings unaddressed**: Suppressed with `#[allow]` without justification
|
|
72
|
+
- **Missing `#[must_use]`**: On non-`must_use` return types where ignoring values is likely a bug
|
|
73
|
+
- **Derive order**: Should follow `Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize`
|
|
74
|
+
- **Public API without docs**: `pub` items missing `///` documentation
|
|
75
|
+
- **`format!` for simple concatenation**: Use `push_str`, `concat!`, or `+` for simple cases
|
|
76
|
+
|
|
77
|
+
## Diagnostic Commands
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
cargo clippy -- -D warnings
|
|
81
|
+
cargo fmt --check
|
|
82
|
+
cargo test
|
|
83
|
+
if command -v cargo-audit >/dev/null; then cargo audit; else echo "cargo-audit not installed"; fi
|
|
84
|
+
if command -v cargo-deny >/dev/null; then cargo deny check; else echo "cargo-deny not installed"; fi
|
|
85
|
+
cargo build --release 2>&1 | head -50
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Approval Criteria
|
|
89
|
+
|
|
90
|
+
- **Approve**: No CRITICAL or HIGH issues
|
|
91
|
+
- **Warning**: MEDIUM issues only
|
|
92
|
+
- **Block**: CRITICAL or HIGH issues found
|
|
93
|
+
|
|
94
|
+
For detailed Rust code examples and anti-patterns, see `skill: rust-patterns`.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-reviewer
|
|
3
|
+
description: Security vulnerability detection and remediation specialist. Use PROACTIVELY after writing code that handles user input, authentication, API endpoints, or sensitive data. Flags secrets, SSRF, injection, unsafe crypto, and OWASP Top 10 vulnerabilities.
|
|
4
|
+
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Security Reviewer
|
|
9
|
+
|
|
10
|
+
You are an expert security specialist focused on identifying and remediating vulnerabilities in web applications. Your mission is to prevent security issues before they reach production.
|
|
11
|
+
|
|
12
|
+
## Core Responsibilities
|
|
13
|
+
|
|
14
|
+
1. **Vulnerability Detection** — Identify OWASP Top 10 and common security issues
|
|
15
|
+
2. **Secrets Detection** — Find hardcoded API keys, passwords, tokens
|
|
16
|
+
3. **Input Validation** — Ensure all user inputs are properly sanitized
|
|
17
|
+
4. **Authentication/Authorization** — Verify proper access controls
|
|
18
|
+
5. **Dependency Security** — Check for vulnerable npm packages
|
|
19
|
+
6. **Security Best Practices** — Enforce secure coding patterns
|
|
20
|
+
|
|
21
|
+
## Analysis Commands
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm audit --audit-level=high
|
|
25
|
+
npx eslint . --plugin security
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Review Workflow
|
|
29
|
+
|
|
30
|
+
### 1. Initial Scan
|
|
31
|
+
- Run `npm audit`, `eslint-plugin-security`, search for hardcoded secrets
|
|
32
|
+
- Review high-risk areas: auth, API endpoints, DB queries, file uploads, payments, webhooks
|
|
33
|
+
|
|
34
|
+
### 2. OWASP Top 10 Check
|
|
35
|
+
1. **Injection** — Queries parameterized? User input sanitized? ORMs used safely?
|
|
36
|
+
2. **Broken Auth** — Passwords hashed (bcrypt/argon2)? JWT validated? Sessions secure?
|
|
37
|
+
3. **Sensitive Data** — HTTPS enforced? Secrets in env vars? PII encrypted? Logs sanitized?
|
|
38
|
+
4. **XXE** — XML parsers configured securely? External entities disabled?
|
|
39
|
+
5. **Broken Access** — Auth checked on every route? CORS properly configured?
|
|
40
|
+
6. **Misconfiguration** — Default creds changed? Debug mode off in prod? Security headers set?
|
|
41
|
+
7. **XSS** — Output escaped? CSP set? Framework auto-escaping?
|
|
42
|
+
8. **Insecure Deserialization** — User input deserialized safely?
|
|
43
|
+
9. **Known Vulnerabilities** — Dependencies up to date? npm audit clean?
|
|
44
|
+
10. **Insufficient Logging** — Security events logged? Alerts configured?
|
|
45
|
+
|
|
46
|
+
### 3. Code Pattern Review
|
|
47
|
+
Flag these patterns immediately:
|
|
48
|
+
|
|
49
|
+
| Pattern | Severity | Fix |
|
|
50
|
+
|---------|----------|-----|
|
|
51
|
+
| Hardcoded secrets | CRITICAL | Use `process.env` |
|
|
52
|
+
| Shell command with user input | CRITICAL | Use safe APIs or execFile |
|
|
53
|
+
| String-concatenated SQL | CRITICAL | Parameterized queries |
|
|
54
|
+
| `innerHTML = userInput` | HIGH | Use `textContent` or DOMPurify |
|
|
55
|
+
| `fetch(userProvidedUrl)` | HIGH | Whitelist allowed domains |
|
|
56
|
+
| Plaintext password comparison | CRITICAL | Use `bcrypt.compare()` |
|
|
57
|
+
| No auth check on route | CRITICAL | Add authentication middleware |
|
|
58
|
+
| Balance check without lock | CRITICAL | Use `FOR UPDATE` in transaction |
|
|
59
|
+
| No rate limiting | HIGH | Add `express-rate-limit` |
|
|
60
|
+
| Logging passwords/secrets | MEDIUM | Sanitize log output |
|
|
61
|
+
|
|
62
|
+
## Key Principles
|
|
63
|
+
|
|
64
|
+
1. **Defense in Depth** — Multiple layers of security
|
|
65
|
+
2. **Least Privilege** — Minimum permissions required
|
|
66
|
+
3. **Fail Securely** — Errors should not expose data
|
|
67
|
+
4. **Don't Trust Input** — Validate and sanitize everything
|
|
68
|
+
5. **Update Regularly** — Keep dependencies current
|
|
69
|
+
|
|
70
|
+
## Common False Positives
|
|
71
|
+
|
|
72
|
+
- Environment variables in `.env.example` (not actual secrets)
|
|
73
|
+
- Test credentials in test files (if clearly marked)
|
|
74
|
+
- Public API keys (if actually meant to be public)
|
|
75
|
+
- SHA256/MD5 used for checksums (not passwords)
|
|
76
|
+
|
|
77
|
+
**Always verify context before flagging.**
|
|
78
|
+
|
|
79
|
+
## Emergency Response
|
|
80
|
+
|
|
81
|
+
If you find a CRITICAL vulnerability:
|
|
82
|
+
1. Document with detailed report
|
|
83
|
+
2. Alert project owner immediately
|
|
84
|
+
3. Provide secure code example
|
|
85
|
+
4. Verify remediation works
|
|
86
|
+
5. Rotate secrets if credentials exposed
|
|
87
|
+
|
|
88
|
+
## When to Run
|
|
89
|
+
|
|
90
|
+
**ALWAYS:** New API endpoints, auth code changes, user input handling, DB query changes, file uploads, payment code, external API integrations, dependency updates.
|
|
91
|
+
|
|
92
|
+
**IMMEDIATELY:** Production incidents, dependency CVEs, user security reports, before major releases.
|
|
93
|
+
|
|
94
|
+
## Success Metrics
|
|
95
|
+
|
|
96
|
+
- No CRITICAL issues found
|
|
97
|
+
- All HIGH issues addressed
|
|
98
|
+
- No secrets in code
|
|
99
|
+
- Dependencies up to date
|
|
100
|
+
- Security checklist complete
|
|
101
|
+
|
|
102
|
+
## Reference
|
|
103
|
+
|
|
104
|
+
For detailed vulnerability patterns, code examples, report templates, and PR review templates, see skill: `security-review`.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
**Remember**: Security is not optional. One vulnerability can cost users real financial losses. Be thorough, be paranoid, be proactive.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tdd-guide
|
|
3
|
+
description: Test-Driven Development specialist enforcing write-tests-first methodology. Use PROACTIVELY when writing new features, fixing bugs, or refactoring code. Ensures 80%+ test coverage.
|
|
4
|
+
tools: ["Read", "Write", "Edit", "Bash", "Grep"]
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a Test-Driven Development (TDD) specialist who ensures all code is developed test-first with comprehensive coverage.
|
|
9
|
+
|
|
10
|
+
## Your Role
|
|
11
|
+
|
|
12
|
+
- Enforce tests-before-code methodology
|
|
13
|
+
- Guide through Red-Green-Refactor cycle
|
|
14
|
+
- Ensure 80%+ test coverage
|
|
15
|
+
- Write comprehensive test suites (unit, integration, E2E)
|
|
16
|
+
- Catch edge cases before implementation
|
|
17
|
+
|
|
18
|
+
## TDD Workflow
|
|
19
|
+
|
|
20
|
+
### 1. Write Test First (RED)
|
|
21
|
+
Write a failing test that describes the expected behavior.
|
|
22
|
+
|
|
23
|
+
### 2. Run Test -- Verify it FAILS
|
|
24
|
+
```bash
|
|
25
|
+
npm test
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 3. Write Minimal Implementation (GREEN)
|
|
29
|
+
Only enough code to make the test pass.
|
|
30
|
+
|
|
31
|
+
### 4. Run Test -- Verify it PASSES
|
|
32
|
+
|
|
33
|
+
### 5. Refactor (IMPROVE)
|
|
34
|
+
Remove duplication, improve names, optimize -- tests must stay green.
|
|
35
|
+
|
|
36
|
+
### 6. Verify Coverage
|
|
37
|
+
```bash
|
|
38
|
+
npm run test:coverage
|
|
39
|
+
# Required: 80%+ branches, functions, lines, statements
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Test Types Required
|
|
43
|
+
|
|
44
|
+
| Type | What to Test | When |
|
|
45
|
+
|------|-------------|------|
|
|
46
|
+
| **Unit** | Individual functions in isolation | Always |
|
|
47
|
+
| **Integration** | API endpoints, database operations | Always |
|
|
48
|
+
| **E2E** | Critical user flows (Playwright) | Critical paths |
|
|
49
|
+
|
|
50
|
+
## Edge Cases You MUST Test
|
|
51
|
+
|
|
52
|
+
1. **Null/Undefined** input
|
|
53
|
+
2. **Empty** arrays/strings
|
|
54
|
+
3. **Invalid types** passed
|
|
55
|
+
4. **Boundary values** (min/max)
|
|
56
|
+
5. **Error paths** (network failures, DB errors)
|
|
57
|
+
6. **Race conditions** (concurrent operations)
|
|
58
|
+
7. **Large data** (performance with 10k+ items)
|
|
59
|
+
8. **Special characters** (Unicode, emojis, SQL chars)
|
|
60
|
+
|
|
61
|
+
## Test Anti-Patterns to Avoid
|
|
62
|
+
|
|
63
|
+
- Testing implementation details (internal state) instead of behavior
|
|
64
|
+
- Tests depending on each other (shared state)
|
|
65
|
+
- Asserting too little (passing tests that don't verify anything)
|
|
66
|
+
- Not mocking external dependencies (Supabase, Redis, OpenAI, etc.)
|
|
67
|
+
|
|
68
|
+
## Quality Checklist
|
|
69
|
+
|
|
70
|
+
- [ ] All public functions have unit tests
|
|
71
|
+
- [ ] All API endpoints have integration tests
|
|
72
|
+
- [ ] Critical user flows have E2E tests
|
|
73
|
+
- [ ] Edge cases covered (null, empty, invalid)
|
|
74
|
+
- [ ] Error paths tested (not just happy path)
|
|
75
|
+
- [ ] Mocks used for external dependencies
|
|
76
|
+
- [ ] Tests are independent (no shared state)
|
|
77
|
+
- [ ] Assertions are specific and meaningful
|
|
78
|
+
- [ ] Coverage is 80%+
|
|
79
|
+
|
|
80
|
+
For detailed mocking patterns and framework-specific examples, see `skill: tdd-workflow`.
|
|
81
|
+
|
|
82
|
+
## v1.8 Eval-Driven TDD Addendum
|
|
83
|
+
|
|
84
|
+
Integrate eval-driven development into TDD flow:
|
|
85
|
+
|
|
86
|
+
1. Define capability + regression evals before implementation.
|
|
87
|
+
2. Run baseline and capture failure signatures.
|
|
88
|
+
3. Implement minimum passing change.
|
|
89
|
+
4. Re-run tests and evals; report pass@1 and pass@3.
|
|
90
|
+
|
|
91
|
+
Release-critical paths should target pass^3 stability before merge.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 派遣 build-error-resolver 修复构建/类型/依赖/配置错误,不建 session
|
|
3
|
+
argument-hint: [失败命令;省略则用最近一次 build/typecheck]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /fix-build
|
|
7
|
+
|
|
8
|
+
轻量入口:只派 `build-error-resolver`,以最小 diff 让构建变绿。**不做架构调整、不做功能修改、不顺手重构**。
|
|
9
|
+
|
|
10
|
+
## 使用
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/fix-build # 主会话从最近的失败诊断
|
|
14
|
+
/fix-build npm run build # 指定要修复的命令
|
|
15
|
+
/fix-build tsc --noEmit # typecheck 失败
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 流程
|
|
19
|
+
|
|
20
|
+
1. 主会话获取失败命令的完整输出(首次出问题就跑一次完整命令,捕获 stderr)
|
|
21
|
+
2. `Agent({ subagent_type: "build-error-resolver", ... })` 派遣,传入:
|
|
22
|
+
- 失败命令
|
|
23
|
+
- 完整错误输出
|
|
24
|
+
- 项目栈(package.json / pyproject.toml / go.mod)
|
|
25
|
+
3. build-error-resolver 按 `.claude/agents/build-error-resolver.md` 输出"修复报告"
|
|
26
|
+
4. 主会话呈现 diff + 重跑证据(同一命令变绿)
|
|
27
|
+
|
|
28
|
+
## 边界
|
|
29
|
+
|
|
30
|
+
- 单一命令变绿即停,不顺手修其他失败
|
|
31
|
+
- 不修测试断言(除非断言本身错误且必须报告)
|
|
32
|
+
- 不做依赖大版本升级(除非失败信息明确要求)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: 初始化项目 AI
|
|
3
|
-
allowed-tools: Read(**), Write(CLAUDE.md, **/CLAUDE.md)
|
|
2
|
+
description: 初始化项目 AI 上下文 — 根 CLAUDE.md 只做导航,详细内容进 docs/
|
|
3
|
+
allowed-tools: Read(**), Write(CLAUDE.md, **/CLAUDE.md, docs/PROJECT_CONTEXT.md, docs/ARCHITECTURE.md)
|
|
4
4
|
argument-hint: <项目摘要或名称>
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,73 +8,89 @@ argument-hint: <项目摘要或名称>
|
|
|
8
8
|
|
|
9
9
|
`/init-project <项目摘要或名称>`
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## 落盘策略(铁律)
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
**根 `CLAUDE.md` 永远只是导航**——一张索引表,记录每份详细文档的位置。≤100 行。**严禁**写入:项目愿景、架构图、模块清单、规范条目、Changelog 等任何"项目内容"。
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
- 在识别的各模块目录生成/更新本地 `CLAUDE.md`(接口、依赖、入口、测试、关键文件等)。
|
|
17
|
-
- ✨ **为了提升可读性,会在根 `CLAUDE.md` 中自动生成 Mermaid 结构图,并为每个模块 `CLAUDE.md` 添加导航面包屑**。
|
|
15
|
+
详细内容按主题分散到 `docs/` 下:
|
|
18
16
|
|
|
19
|
-
|
|
17
|
+
| 主题 | 落盘文件 |
|
|
18
|
+
|------|----------|
|
|
19
|
+
| 项目愿景 / 模块索引 / Mermaid 结构图 / 运行与开发 / 测试策略 / 变更记录 | `docs/PROJECT_CONTEXT.md` |
|
|
20
|
+
| 架构总览(组件、数据流、跨切关注点、技术选型) | `docs/ARCHITECTURE.md` |
|
|
21
|
+
| 编码规范 / Git / 测试 / 安全 / 性能 / Hooks 强制规则 | `docs/rules/<topic>.md` |
|
|
22
|
+
| 模块级详细信息(入口、接口、依赖、数据模型、FAQ) | `<module>/CLAUDE.md` |
|
|
20
23
|
|
|
21
|
-
|
|
24
|
+
**根 CLAUDE.md 的唯一形态**(无论是否全新项目):
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
```markdown
|
|
27
|
+
# CLAUDE.md
|
|
24
28
|
|
|
25
|
-
|
|
29
|
+
> 项目 AI 上下文导航。详情见 `docs/`。
|
|
26
30
|
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
+
## 项目快照
|
|
32
|
+
- 名称: <name>
|
|
33
|
+
- 主语言 / 栈: <...>
|
|
34
|
+
- 模块数: <n>
|
|
31
35
|
|
|
32
|
-
|
|
36
|
+
## 知识库地图
|
|
33
37
|
|
|
34
|
-
|
|
38
|
+
| 需要了解 | 查阅 |
|
|
39
|
+
|---------|------|
|
|
40
|
+
| 项目愿景与模块索引 | `docs/PROJECT_CONTEXT.md` |
|
|
41
|
+
| 架构总览 | `docs/ARCHITECTURE.md` |
|
|
42
|
+
| 强制规则 | `docs/rules/` |
|
|
43
|
+
| 派遣矩阵(若使用 aiGroup 框架)| `docs/rules/agents.md` |
|
|
44
|
+
| 各模块详细信息 | `<module>/CLAUDE.md` |
|
|
35
45
|
|
|
36
|
-
|
|
46
|
+
## 模块入口
|
|
37
47
|
|
|
38
|
-
|
|
48
|
+
| 模块 | 路径 | 一句话职责 |
|
|
49
|
+
|------|------|-----------|
|
|
50
|
+
| ... | ... | ... |
|
|
51
|
+
```
|
|
39
52
|
|
|
40
|
-
|
|
53
|
+
## Phases
|
|
41
54
|
|
|
42
|
-
|
|
55
|
+
### 1. 时间戳
|
|
43
56
|
|
|
44
|
-
|
|
57
|
+
派遣 `get-current-datetime` 获取当前 UTC 时间戳。
|
|
45
58
|
|
|
46
|
-
|
|
59
|
+
### 2. 调度 init-architect
|
|
47
60
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
61
|
+
```
|
|
62
|
+
Agent({
|
|
63
|
+
subagent_type: "init-architect",
|
|
64
|
+
project_summary: $ARGUMENTS,
|
|
65
|
+
current_timestamp: <step 1>
|
|
66
|
+
})
|
|
67
|
+
```
|
|
51
68
|
|
|
52
|
-
|
|
69
|
+
`init-architect` 负责:
|
|
53
70
|
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
- **覆盖率度量与可续跑**
|
|
61
|
-
输出"已扫描文件数 / 估算总文件数、已覆盖模块占比、被忽略/跳过原因",并列出"建议下一步深挖的子路径"。重复运行 `/init-project` 时按上次索引做**增量更新**与**断点续扫**。
|
|
71
|
+
- 自适应三档扫描(全仓清点 → 模块优先 → 深度补捞),自决读取深度与断点续扫
|
|
72
|
+
- 写入 `docs/PROJECT_CONTEXT.md`(项目愿景、Mermaid 结构图、模块索引、运行/测试策略、Changelog)
|
|
73
|
+
- 写入 `docs/ARCHITECTURE.md`(架构总览:组件、数据流、跨切关注点)
|
|
74
|
+
- 写入各模块 `<module>/CLAUDE.md`(顶部带相对路径面包屑)
|
|
75
|
+
- 写入 / 更新根 `CLAUDE.md` 为**纯导航形态**——若已存在内容是项目内容(非导航)则保留不动,新内容并入 `docs/PROJECT_CONTEXT.md`
|
|
76
|
+
- 写入 `.claude/index.json`(扫描元数据 + 覆盖率 + 缺口清单)
|
|
62
77
|
|
|
63
|
-
|
|
78
|
+
### 3. 摘要回报
|
|
64
79
|
|
|
65
|
-
|
|
66
|
-
- 默认忽略常见生成物与二进制大文件。
|
|
67
|
-
- 结果在主对话打印"摘要",全文写入仓库。
|
|
68
|
-
- **绝不覆盖 aiGroup 框架内容**(角色定义、工作流管道、派遣规则等)。
|
|
80
|
+
从 agent 返回体中提取并打印:
|
|
69
81
|
|
|
70
|
-
|
|
82
|
+
- 根 `CLAUDE.md` 状态:新建(导航模板)/ 已存在(保留不动)
|
|
83
|
+
- `docs/PROJECT_CONTEXT.md` 是否创建/更新(含主要章节)
|
|
84
|
+
- `docs/ARCHITECTURE.md` 是否创建/更新
|
|
85
|
+
- 识别的模块数量与路径
|
|
86
|
+
- 每个模块 `CLAUDE.md` 的生成/更新情况
|
|
87
|
+
- ✨ Mermaid 结构图与面包屑导航是否生成
|
|
88
|
+
- 覆盖率与主要缺口
|
|
89
|
+
- 若被上限截断:列出下一步推荐补扫路径
|
|
71
90
|
|
|
72
|
-
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
- ✨ **明确提及"已生成 Mermaid 结构图"和"已为 N 个模块添加导航面包屑"**。
|
|
79
|
-
- 覆盖率与主要缺口。
|
|
80
|
-
- 若未读全:说明"为何到此为止",并列出**推荐的下一步**(例如"建议优先补扫:packages/auth/src/controllers")。
|
|
91
|
+
## 硬约束(由 init-architect 执行)
|
|
92
|
+
|
|
93
|
+
- 只读/写文档与 `.claude/index.json`,不改源代码
|
|
94
|
+
- 默认忽略 `node_modules/`、`.git/`、构建产物、二进制
|
|
95
|
+
- **根 `CLAUDE.md` 只能是导航形态**;若现有内容非导航(含项目愿景 / 架构 / 模块详情等),保留不动并把新内容追加到 `docs/PROJECT_CONTEXT.md`
|
|
96
|
+
- 时间戳来自 step 1,不由 agent 自行生成
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 派遣 planner agent 输出实施计划,不建 session
|
|
3
|
+
argument-hint: <任务描述>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /plan
|
|
7
|
+
|
|
8
|
+
轻量入口:只派 `planner`,不创建 orchestration session。适合**已知需求、需要拆解步骤**的中小型任务。
|
|
9
|
+
|
|
10
|
+
## 使用
|
|
11
|
+
|
|
12
|
+
`/plan $ARGUMENTS`
|
|
13
|
+
|
|
14
|
+
## 流程
|
|
15
|
+
|
|
16
|
+
1. 主会话用 `Agent({ subagent_type: "planner", ... })` 派遣 planner,传入:
|
|
17
|
+
- 任务描述(`$ARGUMENTS`)
|
|
18
|
+
- 当前 git 状态摘要(`git status` + `git log --oneline -10`)
|
|
19
|
+
2. planner 按 `.claude/agents/planner.md` 的输出格式产出实施计划
|
|
20
|
+
3. 主会话把计划呈现给用户,等待 CONFIRM 后再实施
|
|
21
|
+
4. **不要**自动开始实施——计划是讨论稿,不是执行令
|
|
22
|
+
|
|
23
|
+
## 与 `/workflow-start` 的区别
|
|
24
|
+
|
|
25
|
+
| 维度 | `/plan` | `/workflow-start` |
|
|
26
|
+
|------|---------|-------------------|
|
|
27
|
+
| 是否建 session | 否 | 是 |
|
|
28
|
+
| 适用规模 | 单 agent 输出即够 | 涉及 ≥2 个 worker 协作 |
|
|
29
|
+
| 后续流程 | 用户自决,不强制 phase 链 | 8 phase 心智模型 |
|
|
30
|
+
| 产物归属 | 直接呈现给用户 | `.orchestration/<session>/<worker>/handoff.md` |
|
|
31
|
+
|
|
32
|
+
何时升级到 `/workflow-start`:planner 输出后用户判断需要多 worker 协作(如同时要架构决策 + 测试规划),可手动 `node scripts/orchestration/session.cjs init <name>` 升级。
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 派遣 code-reviewer agent 审查当前改动,不建 session
|
|
3
|
+
argument-hint: [文件 / 范围;省略则审 git diff]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /review
|
|
7
|
+
|
|
8
|
+
轻量入口:只派 `code-reviewer`,输出双阶段审查(Stage 1 规格符合性 + Stage 2 代码质量)。
|
|
9
|
+
|
|
10
|
+
## 使用
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/review # 审 git diff(HEAD vs working)
|
|
14
|
+
/review src/auth/ # 审指定路径
|
|
15
|
+
/review HEAD~3..HEAD # 审某个 commit 区间
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 流程
|
|
19
|
+
|
|
20
|
+
1. 主会话识别审查范围(`$ARGUMENTS` 或 `git diff --name-only HEAD`)
|
|
21
|
+
2. `Agent({ subagent_type: "code-reviewer", ... })` 派遣,传入:
|
|
22
|
+
- 范围内变更文件清单
|
|
23
|
+
- 计划/PRD(如有)作为 Stage 1 基准
|
|
24
|
+
3. code-reviewer 按 `.claude/agents/code-reviewer.md` 的输出格式产出 **Stage 1 + Stage 2** 报告
|
|
25
|
+
4. 主会话呈现报告;安全敏感(auth/支付/PII)发现时建议追加派 `security-reviewer`
|
|
26
|
+
|
|
27
|
+
## 与 `/workflow-start` 的区别
|
|
28
|
+
|
|
29
|
+
`/review` 是"审一下"——不写 handoff、不进 session。如果是工作流中的 phase 6(测试验证),用 `/workflow-start` 走完整流程,code-reviewer 的产物会写入 `.orchestration/<session>/code-reviewer/handoff.md`。
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: TDD 流程:派 tdd-guide 走 Red → Green → Refactor,不建 session
|
|
3
|
+
argument-hint: <功能描述>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /tdd
|
|
7
|
+
|
|
8
|
+
轻量 TDD 流程:Red → Green → Refactor。**不建 session**,直接派 `tdd-guide` 端到端处理。
|
|
9
|
+
|
|
10
|
+
## 使用
|
|
11
|
+
|
|
12
|
+
`/tdd $ARGUMENTS`
|
|
13
|
+
|
|
14
|
+
## 流程
|
|
15
|
+
|
|
16
|
+
`Agent({ subagent_type: "tdd-guide", ... })` 派遣,传入:
|
|
17
|
+
|
|
18
|
+
- 功能描述(`$ARGUMENTS`)
|
|
19
|
+
- 项目栈与现有测试约定
|
|
20
|
+
- 任务:先写失败测试 → 写最小实现 → 测试变绿 → 必要时重构
|
|
21
|
+
|
|
22
|
+
`tdd-guide` 内部完成 Red-Green-Refactor 循环,主会话不需要再分阶段拆派。
|
|
23
|
+
|
|
24
|
+
主会话验证:让 `tdd-guide` 在最终响应中附 **测试全绿的证据**(命令 + 输出)。
|
|
25
|
+
|
|
26
|
+
## 后续审查
|
|
27
|
+
|
|
28
|
+
代码变更落定后,建议再派 `code-reviewer`(必要时加 `security-reviewer`)做双阶段审查。
|
|
29
|
+
|
|
30
|
+
## 与 `/workflow-start` 的区别
|
|
31
|
+
|
|
32
|
+
`/tdd` 适合**已知功能边界**的小到中型增量。如果还需要架构决策或跨模块协作,先 `/plan` 或 `/workflow-start`。
|