shmakk 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -1
- package/package.json +6 -3
- package/scripts/import-skills.js +536 -0
- package/scripts/install-skills.js +64 -0
- package/skills/ai-elements.md +482 -0
- package/skills/architecture.md +151 -0
- package/skills/backend-adapter-aws-lambda.md +204 -0
- package/skills/backend-adapter-express.md +177 -0
- package/skills/backend-adapter-fastify.md +222 -0
- package/skills/backend-adapter-fetch.md +200 -0
- package/skills/backend-api-docs.md +22 -0
- package/skills/backend-aspire.md +232 -0
- package/skills/backend-aspnet-core.md +62 -0
- package/skills/backend-build-chatgpt-app.md +321 -0
- package/skills/backend-build-mcp-app.md +393 -0
- package/skills/backend-build-mcp-server.md +222 -0
- package/skills/backend-build-mcpb.md +200 -0
- package/skills/backend-building-ai-agent-on-cloudflare.md +401 -0
- package/skills/backend-caching.md +206 -0
- package/skills/backend-chatgpt-app-submission.md +157 -0
- package/skills/backend-chatgpt-apps.md +321 -0
- package/skills/backend-client-setup.md +318 -0
- package/skills/backend-containerize-aspnet-framework.md +455 -0
- package/skills/backend-create-spring-boot-java-project.md +164 -0
- package/skills/backend-create-spring-boot-kotlin-project.md +148 -0
- package/skills/backend-csharp-async.md +50 -0
- package/skills/backend-csharp-docs.md +63 -0
- package/skills/backend-csharp-mcp-server-generator.md +60 -0
- package/skills/backend-dotenv.md +201 -0
- package/skills/backend-dotenvx.md +119 -0
- package/skills/backend-env-vars.md +259 -0
- package/skills/backend-error-handling.md +254 -0
- package/skills/backend-fastapi.md +437 -0
- package/skills/backend-go-mcp-server-generator.md +335 -0
- package/skills/backend-java-mcp-server-generator.md +757 -0
- package/skills/backend-kotlin-mcp-server-generator.md +450 -0
- package/skills/backend-middlewares.md +243 -0
- package/skills/backend-multi-stage-dockerfile.md +47 -0
- package/skills/backend-nestjs.md +192 -0
- package/skills/backend-next-forge.md +375 -0
- package/skills/backend-nextjs.md +746 -0
- package/skills/backend-openapi-to-application-code.md +113 -0
- package/skills/backend-php-mcp-server-generator.md +523 -0
- package/skills/backend-python-mcp-server-generator.md +106 -0
- package/skills/backend-routing-middleware.md +251 -0
- package/skills/backend-ruby-mcp-server-generator.md +661 -0
- package/skills/backend-rust-mcp-server-generator.md +578 -0
- package/skills/backend-semantic-kernel.md +57 -0
- package/skills/backend-server-setup.md +379 -0
- package/skills/backend-server-side-calls.md +250 -0
- package/skills/backend-subscriptions.md +407 -0
- package/skills/backend-swift-mcp-server-generator.md +670 -0
- package/skills/backend-trpc-router.md +152 -0
- package/skills/backend-typescript-mcp-server-generator.md +91 -0
- package/skills/backend-validators.md +229 -0
- package/skills/backend.md +76 -0
- package/skills/backup.md +165 -0
- package/skills/budget.md +140 -0
- package/skills/business-gtm-0-to-1-launch.md +322 -0
- package/skills/business-gtm-operating-cadence.md +421 -0
- package/skills/business-gtm-positioning-strategy.md +439 -0
- package/skills/business-gtm-product-led-growth.md +340 -0
- package/skills/calendar.md +95 -0
- package/skills/code-review.md +130 -0
- package/skills/compliance.md +168 -0
- package/skills/contracts.md +130 -0
- package/skills/daily-job-run.md +46 -0
- package/skills/daily-webdesign.md +187 -0
- package/skills/database-bigquery-pipeline-audit.md +130 -0
- package/skills/database-cosmosdb-datamodeling.md +1046 -0
- package/skills/database-durable-objects.md +187 -0
- package/skills/database-ef-core.md +76 -0
- package/skills/database-fabric-lakehouse.md +107 -0
- package/skills/database-neon-postgres-egress-optimizer.md +213 -0
- package/skills/database-neon-postgres.md +218 -0
- package/skills/database-postgresql-code-review.md +213 -0
- package/skills/database-postgresql-optimization.md +405 -0
- package/skills/database-sql-code-review.md +302 -0
- package/skills/database-sql-optimization.md +297 -0
- package/skills/dependency-audit.md +165 -0
- package/skills/design-kami-landing.md +234 -0
- package/skills/design.md +221 -0
- package/skills/dev-acquire-codebase-knowledge.md +175 -0
- package/skills/dev-add-educational-comments.md +129 -0
- package/skills/dev-add-model-descriptions.md +74 -0
- package/skills/dev-adr-review.md +56 -0
- package/skills/dev-boost-prompt.md +26 -0
- package/skills/dev-build-run-debug.md +130 -0
- package/skills/dev-chunk.md +49 -0
- package/skills/dev-claude-md-improver.md +180 -0
- package/skills/dev-code-exemplars-blueprint-generator.md +127 -0
- package/skills/dev-code-tour.md +434 -0
- package/skills/dev-comment-code-generate-a-tutorial.md +27 -0
- package/skills/dev-commit.md +81 -0
- package/skills/dev-context-map.md +53 -0
- package/skills/dev-conventional-commit.md +73 -0
- package/skills/dev-create-architectural-decision-record.md +98 -0
- package/skills/dev-create-draft-pr.md +17 -0
- package/skills/dev-create-pr.md +17 -0
- package/skills/dev-create-readme.md +22 -0
- package/skills/dev-csharp-mstest.md +479 -0
- package/skills/dev-csharp-nunit.md +72 -0
- package/skills/dev-csharp-tunit.md +101 -0
- package/skills/dev-csharp-xunit.md +69 -0
- package/skills/dev-debug-failing-test.md +90 -0
- package/skills/dev-diff-analyze.md +32 -0
- package/skills/dev-diffs.md +24 -0
- package/skills/dev-dotnet-best-practices.md +86 -0
- package/skills/dev-dotnet-design-pattern-review.md +43 -0
- package/skills/dev-dotnet-timezone.md +110 -0
- package/skills/dev-dotnet-upgrade.md +117 -0
- package/skills/dev-doublecheck.md +278 -0
- package/skills/dev-explain-error.md +15 -0
- package/skills/dev-finding-discovery.md +164 -0
- package/skills/dev-fix-finding.md +111 -0
- package/skills/dev-full-file-edit.md +25 -0
- package/skills/dev-git-commit.md +125 -0
- package/skills/dev-git-flow-branch-creator.md +293 -0
- package/skills/dev-git-workflow.md +46 -0
- package/skills/dev-github-automation.md +64 -0
- package/skills/dev-github-code-review.md +1140 -0
- package/skills/dev-github-issues.md +202 -0
- package/skills/dev-gpt-5-4-prompting.md +55 -0
- package/skills/dev-investigation-mode.md +277 -0
- package/skills/dev-java-add-graalvm-native-image-support.md +450 -0
- package/skills/dev-java-docs.md +24 -0
- package/skills/dev-java-refactoring-extract-method.md +105 -0
- package/skills/dev-java-refactoring-remove-parameter.md +85 -0
- package/skills/dev-merge.md +73 -0
- package/skills/dev-migrate-create.md +36 -0
- package/skills/dev-migrate-validate.md +36 -0
- package/skills/dev-my-issues.md +9 -0
- package/skills/dev-my-pull-requests.md +15 -0
- package/skills/dev-planning-oracle-to-postgres-migration-integration-testing.md +45 -0
- package/skills/dev-playwright-generate-test.md +18 -0
- package/skills/dev-playwright.md +148 -0
- package/skills/dev-prompt-builder.md +142 -0
- package/skills/dev-pytest-coverage.md +29 -0
- package/skills/dev-python-manager-discovery.md +330 -0
- package/skills/dev-python-pypi-package-builder.md +445 -0
- package/skills/dev-readme-blueprint-generator.md +79 -0
- package/skills/dev-refactor-method-complexity-reduce.md +99 -0
- package/skills/dev-refactor-plan.md +66 -0
- package/skills/dev-refactor.md +646 -0
- package/skills/dev-review-and-refactor.md +16 -0
- package/skills/dev-reviewing-oracle-to-postgres-migration.md +68 -0
- package/skills/dev-ruff-recursive-fix.md +201 -0
- package/skills/dev-run-e2e-tests.md +126 -0
- package/skills/dev-run-pre-commit-checks.md +133 -0
- package/skills/dev-run-smoke-tests.md +127 -0
- package/skills/dev-scaffolding-oracle-to-postgres-migration-test-project.md +55 -0
- package/skills/dev-spring-boot-testing.md +190 -0
- package/skills/dev-sync-upstream.md +32 -0
- package/skills/dev-sync.md +74 -0
- package/skills/dev-tdd-workflow.md +23 -0
- package/skills/dev-terraform-azurerm-set-diff-analyzer.md +49 -0
- package/skills/dev-test-driven-development.md +372 -0
- package/skills/dev-test-gaps.md +18 -0
- package/skills/dev-test-triage.md +55 -0
- package/skills/dev-typer.md +267 -0
- package/skills/dev-typescript-setup.md +25 -0
- package/skills/dev-unified-diff-edit.md +16 -0
- package/skills/dev-unit-test-vue-pinia.md +198 -0
- package/skills/dev-using-git-worktrees.md +216 -0
- package/skills/dev-validation.md +99 -0
- package/skills/dev-verification.md +168 -0
- package/skills/dev-webapp-testing.md +134 -0
- package/skills/dev-write-coding-standards-from-file.md +317 -0
- package/skills/dev-write-tests.md +16 -0
- package/skills/devops-appinsights-instrumentation.md +49 -0
- package/skills/devops-az-cost-optimize.md +306 -0
- package/skills/devops-chronicle.md +154 -0
- package/skills/devops-deployments-cicd.md +331 -0
- package/skills/devops-devops-rollout-plan.md +118 -0
- package/skills/devops-geistdocs.md +276 -0
- package/skills/devops-observability.md +774 -0
- package/skills/devops-observe-metrics.md +35 -0
- package/skills/devops-observe-trace.md +30 -0
- package/skills/devops-phoenix-cli.md +163 -0
- package/skills/devops-phoenix-tracing.md +140 -0
- package/skills/devops-publish-to-pages.md +108 -0
- package/skills/devops-telemetry.md +87 -0
- package/skills/devops-update-avm-modules-in-bicep.md +61 -0
- package/skills/devops.md +81 -0
- package/skills/diagrams-canvas.md +204 -0
- package/skills/diagrams-draw-io-diagram-generator.md +463 -0
- package/skills/diagrams-excalidraw-diagram-generator.md +614 -0
- package/skills/diagrams-graphify.md +1277 -0
- package/skills/docs-bear-notes.md +108 -0
- package/skills/docs-create-llms.md +211 -0
- package/skills/docs-doc-gen.md +20 -0
- package/skills/docs-documentation-writer.md +46 -0
- package/skills/docs-llm-config.md +33 -0
- package/skills/docs-mkdocs-translations.md +109 -0
- package/skills/docs-obsidian-vault-maintainer.md +14 -0
- package/skills/docs-obsidian.md +82 -0
- package/skills/docs-prose.md +324 -0
- package/skills/docs-update-llms.md +217 -0
- package/skills/docs-update-markdown-file-index.md +77 -0
- package/skills/docs-wiki-maintainer.md +20 -0
- package/skills/documents.md +120 -0
- package/skills/email.md +113 -0
- package/skills/expenses.md +140 -0
- package/skills/file-ops.md +149 -0
- package/skills/files-convert-plaintext-to-md.md +363 -0
- package/skills/files-doc.md +81 -0
- package/skills/files-docx.md +594 -0
- package/skills/files-markdown-to-html.md +917 -0
- package/skills/files-nano-pdf.md +39 -0
- package/skills/files-pdf.md +315 -0
- package/skills/files-pdftk-server.md +163 -0
- package/skills/files-pptx-html-fidelity-audit.md +255 -0
- package/skills/files-pptx.md +231 -0
- package/skills/files-xlsx.md +301 -0
- package/skills/find-jobs.md +78 -0
- package/skills/format-conversion.md +157 -0
- package/skills/frontend-ai-elements.md +483 -0
- package/skills/frontend-ai-gateway.md +563 -0
- package/skills/frontend-ai-generation-persistence.md +242 -0
- package/skills/frontend-ai-sdk.md +799 -0
- package/skills/frontend-ai-visibility.md +127 -0
- package/skills/frontend-angular-developer.md +130 -0
- package/skills/frontend-aspnet-minimal-api-openapi.md +42 -0
- package/skills/frontend-bencium-innovative-ux-designer.md +719 -0
- package/skills/frontend-chat-sdk.md +666 -0
- package/skills/frontend-chrome-devtools.md +98 -0
- package/skills/frontend-frontend-app-builder.md +186 -0
- package/skills/frontend-frontend-design.md +43 -0
- package/skills/frontend-frontend-testing-debugging.md +143 -0
- package/skills/frontend-gsap-framer-scroll-animation.md +152 -0
- package/skills/frontend-internal-linking.md +109 -0
- package/skills/frontend-json-render.md +335 -0
- package/skills/frontend-keyword-clustering.md +118 -0
- package/skills/frontend-next-intl-add-language.md +20 -0
- package/skills/frontend-on-page-seo.md +112 -0
- package/skills/frontend-premium-frontend-ui.md +114 -0
- package/skills/frontend-react-best-practices.md +143 -0
- package/skills/frontend-schema-markup.md +160 -0
- package/skills/frontend-seo-audit.md +110 -0
- package/skills/frontend-swr.md +215 -0
- package/skills/frontend-technical-seo.md +162 -0
- package/skills/frontend-use-dom.md +418 -0
- package/skills/frontend-web-coder.md +564 -0
- package/skills/frontend-web-design-reviewer.md +369 -0
- package/skills/frontend-web-perf.md +202 -0
- package/skills/frontend.md +125 -0
- package/skills/general-adapter-standalone.md +199 -0
- package/skills/general-auth.md +356 -0
- package/skills/general-containerize-aspnetcore.md +393 -0
- package/skills/general-create-technical-spike.md +231 -0
- package/skills/general-cron-jobs.md +72 -0
- package/skills/general-ddd-aggregate.md +52 -0
- package/skills/general-ddd-context.md +46 -0
- package/skills/general-ddd-validate.md +51 -0
- package/skills/general-dependency-check.md +26 -0
- package/skills/general-email-marketing.md +86 -0
- package/skills/general-healthcheck.md +246 -0
- package/skills/general-import-infrastructure-as-code.md +368 -0
- package/skills/general-init.md +49 -0
- package/skills/general-java-junit.md +64 -0
- package/skills/general-java-springboot.md +66 -0
- package/skills/general-javascript-typescript-jest.md +45 -0
- package/skills/general-kotlin-springboot.md +71 -0
- package/skills/general-make-repo-contribution.md +91 -0
- package/skills/general-market-research.md +78 -0
- package/skills/general-marketplace.md +468 -0
- package/skills/general-model-recommendation.md +673 -0
- package/skills/general-payments.md +352 -0
- package/skills/general-quality-playbook.md +480 -0
- package/skills/general-run-integration-tests.md +113 -0
- package/skills/general-superjson.md +274 -0
- package/skills/general-swiftpm-macos.md +51 -0
- package/skills/general-threat-model.md +61 -0
- package/skills/invoices.md +167 -0
- package/skills/licenses.md +159 -0
- package/skills/logs.md +156 -0
- package/skills/marketing.md +139 -0
- package/skills/media-image-manipulation-image-magick.md +253 -0
- package/skills/media-imagegen.md +357 -0
- package/skills/media-openai-whisper-api.md +63 -0
- package/skills/media-openai-whisper.md +39 -0
- package/skills/media-peekaboo.md +191 -0
- package/skills/media-screenshot.md +268 -0
- package/skills/media-speech.md +145 -0
- package/skills/media-transcribe.md +82 -0
- package/skills/media-video-frames.md +47 -0
- package/skills/mobile-android-emulator-qa.md +81 -0
- package/skills/mobile-android-performance.md +280 -0
- package/skills/mobile-building-mcp-server-on-cloudflare.md +267 -0
- package/skills/mobile-building-native-ui.md +322 -0
- package/skills/mobile-expo-api-routes.md +369 -0
- package/skills/mobile-expo-cicd-workflows.md +92 -0
- package/skills/mobile-expo-deployment.md +191 -0
- package/skills/mobile-expo-dev-client.md +165 -0
- package/skills/mobile-expo-module.md +177 -0
- package/skills/mobile-expo-tailwind-setup.md +481 -0
- package/skills/mobile-expo-ui-jetpack-compose.md +41 -0
- package/skills/mobile-expo-ui-swift-ui.md +40 -0
- package/skills/mobile-ios-app-intents.md +78 -0
- package/skills/mobile-ios-debugger-agent.md +52 -0
- package/skills/mobile-ios-ettrace-performance.md +198 -0
- package/skills/mobile-ios-memgraph-leaks.md +77 -0
- package/skills/mobile-native-data-fetching.md +508 -0
- package/skills/mobile-packaging-notarization.md +48 -0
- package/skills/mobile-react-native-architecture.md +672 -0
- package/skills/mobile-react-native-mobile-design.md +438 -0
- package/skills/mobile-signing-entitlements.md +59 -0
- package/skills/mobile-swiftui-liquid-glass.md +91 -0
- package/skills/mobile-swiftui-patterns.md +210 -0
- package/skills/mobile-swiftui-performance-audit.md +108 -0
- package/skills/mobile-swiftui-ui-patterns.md +97 -0
- package/skills/mobile-swiftui-view-refactor.md +204 -0
- package/skills/mobile-upgrading-expo.md +134 -0
- package/skills/mobile.md +183 -0
- package/skills/notes.md +106 -0
- package/skills/planning-adr-create.md +62 -0
- package/skills/planning-adr-index.md +67 -0
- package/skills/planning-architecture-blueprint-generator.md +323 -0
- package/skills/planning-brainstorming.md +165 -0
- package/skills/planning-breakdown-epic-arch.md +67 -0
- package/skills/planning-breakdown-epic-pm.md +59 -0
- package/skills/planning-breakdown-feature-implementation.md +129 -0
- package/skills/planning-breakdown-feature-prd.md +62 -0
- package/skills/planning-breakdown-plan.md +510 -0
- package/skills/planning-breakdown-test.md +366 -0
- package/skills/planning-cloud-design-patterns.md +63 -0
- package/skills/planning-content-brief.md +128 -0
- package/skills/planning-content-strategy.md +138 -0
- package/skills/planning-content-translation.md +143 -0
- package/skills/planning-create-github-action-workflow-specification.md +277 -0
- package/skills/planning-create-github-issues-feature-from-implementation-plan.md +29 -0
- package/skills/planning-create-github-issues-for-unmet-specification-requirements.md +36 -0
- package/skills/planning-create-github-pull-request-from-specification.md +25 -0
- package/skills/planning-create-implementation-plan.md +158 -0
- package/skills/planning-create-specification.md +128 -0
- package/skills/planning-first-ask.md +31 -0
- package/skills/planning-folder-structure-blueprint-generator.md +406 -0
- package/skills/planning-gen-specs-as-issues.md +166 -0
- package/skills/planning-generate-snapshot.md +144 -0
- package/skills/planning-generate-status-report.md +336 -0
- package/skills/planning-metric-pack-designer.md +27 -0
- package/skills/planning-pm-spec.md +53 -0
- package/skills/planning-prd.md +144 -0
- package/skills/planning-project-assessment.md +182 -0
- package/skills/planning-project-setup-info-local.md +128 -0
- package/skills/planning-project-workflow-analysis-blueprint-generator.md +294 -0
- package/skills/planning-service-oriented-architecture.md +248 -0
- package/skills/planning-spec-to-backlog.md +544 -0
- package/skills/planning-technology-stack-blueprint-generator.md +243 -0
- package/skills/planning-update-implementation-plan.md +158 -0
- package/skills/planning-update-specification.md +128 -0
- package/skills/planning-what-context-needed.md +40 -0
- package/skills/planning-writing-plans.md +153 -0
- package/skills/prepare-application.md +81 -0
- package/skills/productivity-apple-notes.md +78 -0
- package/skills/productivity-apple-reminders.md +119 -0
- package/skills/productivity-capture-tasks-from-meeting-notes.md +680 -0
- package/skills/productivity-daily-prep.md +156 -0
- package/skills/productivity-email-drafter.md +101 -0
- package/skills/productivity-hr-onboarding.md +53 -0
- package/skills/productivity-things-mac.md +87 -0
- package/skills/productivity-update.md +169 -0
- package/skills/reminders.md +109 -0
- package/skills/research-dossier-collect.md +71 -0
- package/skills/research-kg-extract.md +37 -0
- package/skills/research-openai-docs.md +89 -0
- package/skills/research-research-add-items.md +31 -0
- package/skills/research-research-report.md +94 -0
- package/skills/research-research-synthesize.md +63 -0
- package/skills/research-summarize.md +88 -0
- package/skills/research-transformers-js.md +635 -0
- package/skills/research.md +119 -0
- package/skills/security-ai-prompt-engineering-safety-review.md +231 -0
- package/skills/security-attack-path-analysis.md +182 -0
- package/skills/security-gdpr-compliant.md +284 -0
- package/skills/security-mcp-security-audit.md +279 -0
- package/skills/security-pii-detect.md +31 -0
- package/skills/security-secret-scanning.md +243 -0
- package/skills/security-security-best-practices.md +87 -0
- package/skills/security-security-ownership-map.md +207 -0
- package/skills/security-security-review.md +169 -0
- package/skills/security-security-scan.md +138 -0
- package/skills/security-security-threat-model.md +82 -0
- package/skills/security-threat-model-analyst.md +76 -0
- package/skills/sysmon.md +181 -0
- package/skills/system-arch-linux-triage.md +32 -0
- package/skills/system-centos-linux-triage.md +32 -0
- package/skills/system-debian-linux-triage.md +32 -0
- package/skills/system-fedora-linux-triage.md +32 -0
- package/skills/system-geofeed-tuner.md +865 -0
- package/skills/system-iot-anomalies.md +15 -0
- package/skills/system-iot-firmware.md +16 -0
- package/skills/system-iot-fleet.md +14 -0
- package/skills/system-iot-register.md +19 -0
- package/skills/system-iot-witness-verify.md +15 -0
- package/skills/system-tmux.md +171 -0
- package/skills/system-window-management.md +228 -0
- package/skills/task-management.md +90 -0
- package/skills/tasks.md +102 -0
- package/skills/test-coverage.md +188 -0
- package/skills/ux-ui.md +128 -0
- package/skills/web.md +186 -0
- package/skills/workflow-act-on-feedback.md +15 -0
- package/skills/workflow-automate-this.md +245 -0
- package/skills/workflow-autoresearch.md +276 -0
- package/skills/workflow-coding-agent.md +317 -0
- package/skills/workflow-deep-research.md +44 -0
- package/skills/workflow-dispatching-parallel-agents.md +183 -0
- package/skills/workflow-eval-driven-dev.md +148 -0
- package/skills/workflow-executing-plans.md +71 -0
- package/skills/workflow-mentoring-juniors.md +311 -0
- package/skills/workflow-receiving-code-review.md +214 -0
- package/skills/workflow-repo-story-time.md +155 -0
- package/skills/workflow-requesting-code-review.md +104 -0
- package/skills/workflow-session-report.md +43 -0
- package/skills/workflow-structured-autonomy-generate.md +126 -0
- package/skills/workflow-subagent-driven-development.md +280 -0
- package/skills/writing.md +106 -0
- package/src/agent.js +0 -0
- package/src/browser.js +297 -0
- package/src/cli.js +25 -4
- package/src/code-reviewer.js +119 -0
- package/src/completions.js +1 -1
- package/src/control.js +222 -30
- package/src/coordinator.js +303 -0
- package/src/correction.js +29 -8
- package/src/edit-tracker.js +21 -0
- package/src/edit-viewer.js +414 -0
- package/src/endpoints.js +64 -15
- package/src/index.js +45 -11
- package/src/llm.js +86 -2
- package/src/mcp-client.js +416 -0
- package/src/memory.js +182 -0
- package/src/planner.js +216 -0
- package/src/rules.js +90 -0
- package/src/self-commands.js +757 -0
- package/src/services/voice.js +10 -7
- package/src/session-search.js +427 -0
- package/src/session.js +487 -99
- package/src/shmakk-server.js +91 -0
- package/src/skills.js +410 -3
- package/src/subagent.js +4 -1
- package/src/system-prompt.js +13 -5
- package/src/task-file.js +114 -0
- package/src/taskClassifier.js +246 -0
- package/src/team.js +752 -0
- package/src/tools.js +142 -21
- package/src/web.js +35 -5
- package/src/workflows.js +261 -0
- package/src/workspace-index.js +25 -6
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ddd-aggregate
|
|
3
|
+
description: Scaffold an aggregate root with entity, value objects, repository interface, domain events, and test stubs
|
|
4
|
+
argument-hint: "<context> <aggregate-name>"
|
|
5
|
+
allowed-tools: Bash(mkdir * find * ls *) Read Write Edit Grep Glob mcp__claude-flow__memory_store mcp__claude-flow__memory_search mcp__claude-flow__agentdb_hierarchical-store mcp__claude-flow__hooks_pre-task mcp__claude-flow__hooks_post-task
|
|
6
|
+
category: general
|
|
7
|
+
---
|
|
8
|
+
Scaffold a complete aggregate root inside a bounded context.
|
|
9
|
+
|
|
10
|
+
Parse `$ARGUMENTS` as `<context-name> <aggregate-name>` (both kebab-case). The context must already exist under `src/`.
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
|
|
14
|
+
1. **Validate**: Confirm `src/<context>/domain/` exists. If not, suggest running `/ddd-context <context>` first.
|
|
15
|
+
|
|
16
|
+
2. **Pre-task hook**: `npx @claude-flow/cli@latest hooks pre-task --description "DDD aggregate: <aggregate-name> in <context>"`
|
|
17
|
+
|
|
18
|
+
3. **Create aggregate root entity**:
|
|
19
|
+
- File: `src/<context>/domain/entities/<aggregate-name>.entity.ts`
|
|
20
|
+
- Include: unique ID field, constructor with invariant validation, domain methods that enforce business rules, `equals()` based on identity
|
|
21
|
+
- Export a TypeScript class extending or implementing a base `AggregateRoot` interface
|
|
22
|
+
|
|
23
|
+
4. **Create value objects**:
|
|
24
|
+
- File: `src/<context>/domain/value-objects/<aggregate-name>-id.value-object.ts`
|
|
25
|
+
- Include: immutable ID value object with factory method and validation
|
|
26
|
+
- Add additional value objects as properties of the aggregate suggest them
|
|
27
|
+
|
|
28
|
+
5. **Create repository interface**:
|
|
29
|
+
- File: `src/<context>/domain/repositories/<aggregate-name>.repository.ts`
|
|
30
|
+
- Include: `findById`, `save`, `delete` methods
|
|
31
|
+
- Use the aggregate root and its ID value object as types
|
|
32
|
+
- This is an interface only -- no implementation (infrastructure concern)
|
|
33
|
+
|
|
34
|
+
6. **Create domain events**:
|
|
35
|
+
- File: `src/<context>/domain/events/<aggregate-name>-created.event.ts`
|
|
36
|
+
- File: `src/<context>/domain/events/<aggregate-name>-updated.event.ts`
|
|
37
|
+
- Include: event name (past tense), timestamp, aggregate ID, payload
|
|
38
|
+
|
|
39
|
+
7. **Create unit test stubs**:
|
|
40
|
+
- File: `src/<context>/domain/entities/<aggregate-name>.entity.test.ts`
|
|
41
|
+
- Include: test cases for construction invariants, domain methods, equality
|
|
42
|
+
- Use `describe`/`it` with `should [behavior] when [condition]` names
|
|
43
|
+
|
|
44
|
+
8. **Update barrel exports**: Add new files to the relevant `index.ts` barrel files.
|
|
45
|
+
|
|
46
|
+
9. **Store in domain model graph**:
|
|
47
|
+
```
|
|
48
|
+
mcp__claude-flow__agentdb_hierarchical-store --parent "context:<context>" --child "aggregate:<aggregate-name>" --relation "contains"
|
|
49
|
+
mcp__claude-flow__memory_store --key "ddd-aggregate-<context>-<aggregate-name>" --value "AGGREGATE_SUMMARY" --namespace tasks
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
10. **Post-task hook**: `npx @claude-flow/cli@latest hooks post-task --task-id "ddd-aggregate-<aggregate-name>" --success true --train-neural true`
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ddd-context
|
|
3
|
+
description: Create and manage a DDD bounded context with standard directory structure
|
|
4
|
+
argument-hint: "<context-name>"
|
|
5
|
+
allowed-tools: Bash(mkdir * find * ls *) Read Write Edit Grep Glob mcp__claude-flow__memory_store mcp__claude-flow__memory_search mcp__claude-flow__agentdb_hierarchical-store
|
|
6
|
+
category: general
|
|
7
|
+
---
|
|
8
|
+
Create a bounded context directory structure for the given context name.
|
|
9
|
+
|
|
10
|
+
Parse `$ARGUMENTS` as the context name (kebab-case). If empty, list existing contexts.
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
|
|
14
|
+
1. **Validate name**: Ensure the context name is kebab-case and does not already exist under `src/`.
|
|
15
|
+
|
|
16
|
+
2. **Create directory structure**:
|
|
17
|
+
```
|
|
18
|
+
src/<context-name>/
|
|
19
|
+
domain/
|
|
20
|
+
entities/
|
|
21
|
+
value-objects/
|
|
22
|
+
events/
|
|
23
|
+
services/
|
|
24
|
+
repositories/
|
|
25
|
+
application/
|
|
26
|
+
infrastructure/
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
3. **Generate index files**:
|
|
30
|
+
- `src/<context-name>/domain/entities/index.ts` -- barrel export for entities
|
|
31
|
+
- `src/<context-name>/domain/value-objects/index.ts` -- barrel export for value objects
|
|
32
|
+
- `src/<context-name>/domain/events/index.ts` -- barrel export for domain events
|
|
33
|
+
- `src/<context-name>/domain/services/index.ts` -- barrel export for domain services
|
|
34
|
+
- `src/<context-name>/domain/repositories/index.ts` -- barrel export for repository interfaces
|
|
35
|
+
- `src/<context-name>/domain/index.ts` -- re-export all domain submodules
|
|
36
|
+
- `src/<context-name>/application/index.ts` -- barrel export for application services
|
|
37
|
+
- `src/<context-name>/infrastructure/index.ts` -- barrel export for infrastructure implementations
|
|
38
|
+
- `src/<context-name>/index.ts` -- public API of the bounded context (re-exports domain and application only, NOT infrastructure)
|
|
39
|
+
|
|
40
|
+
4. **Store in domain model graph**:
|
|
41
|
+
```
|
|
42
|
+
mcp__claude-flow__agentdb_hierarchical-store --parent "domain" --child "context:<context-name>" --relation "contains"
|
|
43
|
+
mcp__claude-flow__memory_store --key "ddd-context-<context-name>" --value "Created bounded context" --namespace tasks
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
5. **Report**: Confirm the context was created and list the generated files.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ddd-validate
|
|
3
|
+
description: Validate domain boundaries -- detect cross-context import violations and aggregate invariant issues
|
|
4
|
+
argument-hint: ""
|
|
5
|
+
allowed-tools: Bash(find * grep * npx *) Read Grep Glob mcp__claude-flow__memory_store mcp__claude-flow__memory_search mcp__claude-flow__hooks_pre-task mcp__claude-flow__hooks_post-task
|
|
6
|
+
category: general
|
|
7
|
+
---
|
|
8
|
+
Validate domain boundary integrity across all bounded contexts.
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
1. **Discover contexts**: Scan `src/*/domain/` to find all bounded contexts.
|
|
13
|
+
|
|
14
|
+
2. **Check cross-boundary violations**:
|
|
15
|
+
- For each context, scan all `.ts` files for import statements
|
|
16
|
+
- Flag any import that reaches into another context's `domain/` directory directly
|
|
17
|
+
- Allowed: importing from another context's public `index.ts` (application layer)
|
|
18
|
+
- Violation: importing from `src/<other-context>/domain/entities/...` directly
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Find cross-boundary imports
|
|
22
|
+
for ctx in $(find src -maxdepth 2 -name "domain" -type d | sed 's|src/||;s|/domain||'); do
|
|
23
|
+
grep -rn "from ['\"].*src/" "src/$ctx/" --include="*.ts" | grep -v "src/$ctx/" || true
|
|
24
|
+
done
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
3. **Check aggregate invariant enforcement**:
|
|
28
|
+
- Scan aggregate root entities for public setters that bypass validation
|
|
29
|
+
- Flag mutable public properties without invariant checks
|
|
30
|
+
- Verify that child entities are not directly accessible (must go through aggregate root)
|
|
31
|
+
|
|
32
|
+
4. **Check event naming conventions**:
|
|
33
|
+
- Domain events should be past-tense named (e.g., `OrderCreated`, not `CreateOrder`)
|
|
34
|
+
- Events should be immutable (no public setters)
|
|
35
|
+
- Events should carry the aggregate ID
|
|
36
|
+
|
|
37
|
+
5. **Check repository patterns**:
|
|
38
|
+
- Repository interfaces should exist in `domain/repositories/`, not `infrastructure/`
|
|
39
|
+
- Repository implementations should exist in `infrastructure/`, not `domain/`
|
|
40
|
+
- Each aggregate root should have exactly one repository
|
|
41
|
+
|
|
42
|
+
6. **Report findings**:
|
|
43
|
+
- Output a table of violations with file path, line number, violation type, and suggestion
|
|
44
|
+
- Categorize as: `BOUNDARY`, `INVARIANT`, `EVENT`, `REPOSITORY`
|
|
45
|
+
- Exit with summary: total violations, by category, severity
|
|
46
|
+
|
|
47
|
+
7. **Store results**:
|
|
48
|
+
```bash
|
|
49
|
+
npx @claude-flow/cli@latest memory store --key "ddd-validation-TIMESTAMP" --value "RESULTS_SUMMARY" --namespace tasks
|
|
50
|
+
npx @claude-flow/cli@latest hooks post-task --task-id "ddd-validate" --success true --store-results true
|
|
51
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dependency-check
|
|
3
|
+
description: Scan project dependencies for known vulnerabilities and CVEs
|
|
4
|
+
argument-hint: "[--path PATH]"
|
|
5
|
+
allowed-tools: Bash(npx * npm *) mcp__claude-flow__memory_store Read
|
|
6
|
+
category: general
|
|
7
|
+
---
|
|
8
|
+
Check dependencies for CVEs and outdated packages:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npx @claude-flow/cli@latest security cve --check
|
|
12
|
+
npx @claude-flow/cli@latest security audit --include-dev
|
|
13
|
+
npm audit --json
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
| Severity | Action |
|
|
17
|
+
|----------|--------|
|
|
18
|
+
| critical | Block deployment, fix immediately |
|
|
19
|
+
| high | Fix before next release |
|
|
20
|
+
| moderate | Schedule fix within sprint |
|
|
21
|
+
| low | Track in backlog |
|
|
22
|
+
|
|
23
|
+
Auto-fix: `npx @claude-flow/cli@latest security cve --fix`
|
|
24
|
+
|
|
25
|
+
For continuous monitoring, dispatch via MCP:
|
|
26
|
+
`mcp__claude-flow__hooks_worker-dispatch({ trigger: "audit" })`
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: email-marketing
|
|
3
|
+
description: |
|
|
4
|
+
A brand product-launch email — masthead with wordmark, hero image block,
|
|
5
|
+
headline lockup with skewed-italic accent, body copy, primary CTA, and a
|
|
6
|
+
specifications grid. Pure HTML email layout (centered single column, table
|
|
7
|
+
fallback). Use when the brief asks for an "email", "newsletter blast",
|
|
8
|
+
"MJML", "product launch email", or "email template".
|
|
9
|
+
triggers:
|
|
10
|
+
- "email"
|
|
11
|
+
- "email template"
|
|
12
|
+
- "newsletter"
|
|
13
|
+
- "email blast"
|
|
14
|
+
- "product launch email"
|
|
15
|
+
- "mjml"
|
|
16
|
+
- "邮件营销"
|
|
17
|
+
- "邮件模板"
|
|
18
|
+
od:
|
|
19
|
+
mode: prototype
|
|
20
|
+
platform: desktop
|
|
21
|
+
scenario: marketing
|
|
22
|
+
featured: 7
|
|
23
|
+
preview:
|
|
24
|
+
type: html
|
|
25
|
+
entry: index.html
|
|
26
|
+
design_system:
|
|
27
|
+
requires: true
|
|
28
|
+
sections: [color, typography, layout, components]
|
|
29
|
+
example_prompt: "Design a launch email for a sporty running shoe brand — masthead, hero, big headline lockup, specs grid, CTA."
|
|
30
|
+
category: general
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
# Email Marketing Skill
|
|
34
|
+
|
|
35
|
+
Produce a single HTML email — centered, single column, no chrome around the
|
|
36
|
+
email body. Treat it like a marketing artifact: one big idea, one CTA.
|
|
37
|
+
|
|
38
|
+
## Workflow
|
|
39
|
+
|
|
40
|
+
1. **Read the active DESIGN.md** (injected above). Email leans on the display
|
|
41
|
+
font more than any other surface — pick the loudest type token in the DS
|
|
42
|
+
for the headline lockup.
|
|
43
|
+
2. **Pick the brand + product** from the brief. Generate a real wordmark, a
|
|
44
|
+
real product name, and one real benefit sentence — no placeholders.
|
|
45
|
+
3. **Layout**, in order, all centered inside a 600–680px column on a tinted
|
|
46
|
+
page background (so the email body looks like an email, not the page):
|
|
47
|
+
- **Masthead** — wordmark on the left + 3 short nav links (SHOP, JOURNAL,
|
|
48
|
+
MEMBERS) on the right. Thin underline.
|
|
49
|
+
- **Hero block** — a 16:9 product image placeholder. Use a DS-tinted
|
|
50
|
+
gradient or a stylized SVG silhouette of the product (shoe, bottle,
|
|
51
|
+
headphones, whatever the brief implies). Add a tiny brand stamp on the
|
|
52
|
+
top-left and a colorway tag on the bottom-left.
|
|
53
|
+
- **Eyebrow** — small caps, accent color, separated by `·` characters
|
|
54
|
+
(e.g. "NEW · MAX-CUSHION TRAINER · EMBER FLARE").
|
|
55
|
+
- **Headline lockup** — 2–3 line headline using the display font, all caps,
|
|
56
|
+
extra-tight tracking. Apply a slight skew (`transform: skew(-6deg)`) on
|
|
57
|
+
one accent word to give it a sporty parallelogram feel.
|
|
58
|
+
- **Body** — 2–3 sentence paragraph, left-aligned, body font.
|
|
59
|
+
- **Primary CTA** — solid pill or block button. One only.
|
|
60
|
+
- **Specs grid** — 2×2 grid of (big number + unit + label) callouts using
|
|
61
|
+
the display font for the numbers.
|
|
62
|
+
- **Footer** — wordmark, address line, unsubscribe + view-in-browser links.
|
|
63
|
+
4. **Write** a single HTML document:
|
|
64
|
+
- `<!doctype html>` through `</html>`, CSS inline.
|
|
65
|
+
- Center the column with `margin: 0 auto`. Set `body { background: <tint> }`
|
|
66
|
+
so the email-on-page metaphor reads.
|
|
67
|
+
- No external images — use inline SVG or DS-tinted gradient blocks for the
|
|
68
|
+
product photo.
|
|
69
|
+
- `data-od-id` on the masthead, hero, headline, CTA, specs.
|
|
70
|
+
5. **Self-check**:
|
|
71
|
+
- Email reads top to bottom in 8–10 seconds.
|
|
72
|
+
- One CTA. Accent appears at most twice (eyebrow + CTA, or headline word).
|
|
73
|
+
- Looks legible on a 480px window (column reflows, type drops one step).
|
|
74
|
+
|
|
75
|
+
## Output contract
|
|
76
|
+
|
|
77
|
+
Emit between `<artifact>` tags:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
<artifact identifier="email-slug" type="text/html" title="Email — Subject Line">
|
|
81
|
+
<!doctype html>
|
|
82
|
+
<html>...</html>
|
|
83
|
+
</artifact>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
One sentence before the artifact, nothing after.
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: healthcheck
|
|
3
|
+
description: Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).
|
|
4
|
+
category: general
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# OpenClaw Host Hardening
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Assess and harden the host running OpenClaw, then align it to a user-defined risk tolerance without breaking access. Use OpenClaw security tooling as a first-class signal, but treat OS hardening as a separate, explicit set of steps.
|
|
12
|
+
|
|
13
|
+
## Core rules
|
|
14
|
+
|
|
15
|
+
- Recommend running this skill with a state-of-the-art model (e.g., Opus 4.5, GPT 5.2+). The agent should self-check the current model and suggest switching if below that level; do not block execution.
|
|
16
|
+
- Require explicit approval before any state-changing action.
|
|
17
|
+
- Do not modify remote access settings without confirming how the user connects.
|
|
18
|
+
- Prefer reversible, staged changes with a rollback plan.
|
|
19
|
+
- Never claim OpenClaw changes the host firewall, SSH, or OS updates; it does not.
|
|
20
|
+
- If role/identity is unknown, provide recommendations only.
|
|
21
|
+
- Formatting: every set of user choices must be numbered so the user can reply with a single digit.
|
|
22
|
+
- System-level backups are recommended; try to verify status.
|
|
23
|
+
|
|
24
|
+
## Workflow (follow in order)
|
|
25
|
+
|
|
26
|
+
### 0) Model self-check (non-blocking)
|
|
27
|
+
|
|
28
|
+
Before starting, check the current model. If it is below state-of-the-art (e.g., Opus 4.5, GPT 5.2+), recommend switching. Do not block execution.
|
|
29
|
+
|
|
30
|
+
### 1) Establish context (read-only)
|
|
31
|
+
|
|
32
|
+
Try to infer 1–5 from the environment before asking. Prefer simple, non-technical questions if you need confirmation.
|
|
33
|
+
|
|
34
|
+
Determine (in order):
|
|
35
|
+
|
|
36
|
+
1. OS and version (Linux/macOS/Windows), container vs host.
|
|
37
|
+
2. Privilege level (root/admin vs user).
|
|
38
|
+
3. Access path (local console, SSH, RDP, tailnet).
|
|
39
|
+
4. Network exposure (public IP, reverse proxy, tunnel).
|
|
40
|
+
5. OpenClaw gateway status and bind address.
|
|
41
|
+
6. Backup system and status (e.g., Time Machine, system images, snapshots).
|
|
42
|
+
7. Deployment context (local mac app, headless gateway host, remote gateway, container/CI).
|
|
43
|
+
8. Disk encryption status (FileVault/LUKS/BitLocker).
|
|
44
|
+
9. OS automatic security updates status.
|
|
45
|
+
Note: these are not blocking items, but are highly recommended, especially if OpenClaw can access sensitive data.
|
|
46
|
+
10. Usage mode for a personal assistant with full access (local workstation vs headless/remote vs other).
|
|
47
|
+
|
|
48
|
+
First ask once for permission to run read-only checks. If granted, run them by default and only ask questions for items you cannot infer or verify. Do not ask for information already visible in runtime or command output. Keep the permission ask as a single sentence, and list follow-up info needed as an unordered list (not numbered) unless you are presenting selectable choices.
|
|
49
|
+
|
|
50
|
+
If you must ask, use non-technical prompts:
|
|
51
|
+
|
|
52
|
+
- “Are you using a Mac, Windows PC, or Linux?”
|
|
53
|
+
- “Are you logged in directly on the machine, or connecting from another computer?”
|
|
54
|
+
- “Is this machine reachable from the public internet, or only on your home/network?”
|
|
55
|
+
- “Do you have backups enabled (e.g., Time Machine), and are they current?”
|
|
56
|
+
- “Is disk encryption turned on (FileVault/BitLocker/LUKS)?”
|
|
57
|
+
- “Are automatic security updates enabled?”
|
|
58
|
+
- “How do you use this machine?”
|
|
59
|
+
Examples:
|
|
60
|
+
- Personal machine shared with the assistant
|
|
61
|
+
- Dedicated local machine for the assistant
|
|
62
|
+
- Dedicated remote machine/server accessed remotely (always on)
|
|
63
|
+
- Something else?
|
|
64
|
+
|
|
65
|
+
Only ask for the risk profile after system context is known.
|
|
66
|
+
|
|
67
|
+
If the user grants read-only permission, run the OS-appropriate checks by default. If not, offer them (numbered). Examples:
|
|
68
|
+
|
|
69
|
+
1. OS: `uname -a`, `sw_vers`, `cat /etc/os-release`.
|
|
70
|
+
2. Listening ports:
|
|
71
|
+
- Linux: `ss -ltnup` (or `ss -ltnp` if `-u` unsupported).
|
|
72
|
+
- macOS: `lsof -nP -iTCP -sTCP:LISTEN`.
|
|
73
|
+
3. Firewall status:
|
|
74
|
+
- Linux: `ufw status`, `firewall-cmd --state`, `nft list ruleset` (pick what is installed).
|
|
75
|
+
- macOS: `/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate` and `pfctl -s info`.
|
|
76
|
+
4. Backups (macOS): `tmutil status` (if Time Machine is used).
|
|
77
|
+
|
|
78
|
+
### 2) Run OpenClaw security audits (read-only)
|
|
79
|
+
|
|
80
|
+
As part of the default read-only checks, run `openclaw security audit --deep`. Only offer alternatives if the user requests them:
|
|
81
|
+
|
|
82
|
+
1. `openclaw security audit` (faster, non-probing)
|
|
83
|
+
2. `openclaw security audit --json` (structured output)
|
|
84
|
+
|
|
85
|
+
Offer to apply OpenClaw safe defaults (numbered):
|
|
86
|
+
|
|
87
|
+
1. `openclaw security audit --fix`
|
|
88
|
+
|
|
89
|
+
Be explicit that `--fix` only tightens OpenClaw defaults and file permissions. It does not change host firewall, SSH, or OS update policies.
|
|
90
|
+
|
|
91
|
+
If browser control is enabled, recommend that 2FA be enabled on all important accounts, with hardware keys preferred and SMS not sufficient.
|
|
92
|
+
|
|
93
|
+
### 3) Check OpenClaw version/update status (read-only)
|
|
94
|
+
|
|
95
|
+
As part of the default read-only checks, run `openclaw update status`.
|
|
96
|
+
|
|
97
|
+
Report the current channel and whether an update is available.
|
|
98
|
+
|
|
99
|
+
### 4) Determine risk tolerance (after system context)
|
|
100
|
+
|
|
101
|
+
Ask the user to pick or confirm a risk posture and any required open services/ports (numbered choices below).
|
|
102
|
+
Do not pigeonhole into fixed profiles; if the user prefers, capture requirements instead of choosing a profile.
|
|
103
|
+
Offer suggested profiles as optional defaults (numbered). Note that most users pick Home/Workstation Balanced:
|
|
104
|
+
|
|
105
|
+
1. Home/Workstation Balanced (most common): firewall on with reasonable defaults, remote access restricted to LAN or tailnet.
|
|
106
|
+
2. VPS Hardened: deny-by-default inbound firewall, minimal open ports, key-only SSH, no root login, automatic security updates.
|
|
107
|
+
3. Developer Convenience: more local services allowed, explicit exposure warnings, still audited.
|
|
108
|
+
4. Custom: user-defined constraints (services, exposure, update cadence, access methods).
|
|
109
|
+
|
|
110
|
+
### 5) Produce a remediation plan
|
|
111
|
+
|
|
112
|
+
Provide a plan that includes:
|
|
113
|
+
|
|
114
|
+
- Target profile
|
|
115
|
+
- Current posture summary
|
|
116
|
+
- Gaps vs target
|
|
117
|
+
- Step-by-step remediation with exact commands
|
|
118
|
+
- Access-preservation strategy and rollback
|
|
119
|
+
- Risks and potential lockout scenarios
|
|
120
|
+
- Least-privilege notes (e.g., avoid admin usage, tighten ownership/permissions where safe)
|
|
121
|
+
- Credential hygiene notes (location of OpenClaw creds, prefer disk encryption)
|
|
122
|
+
|
|
123
|
+
Always show the plan before any changes.
|
|
124
|
+
|
|
125
|
+
### 6) Offer execution options
|
|
126
|
+
|
|
127
|
+
Offer one of these choices (numbered so users can reply with a single digit):
|
|
128
|
+
|
|
129
|
+
1. Do it for me (guided, step-by-step approvals)
|
|
130
|
+
2. Show plan only
|
|
131
|
+
3. Fix only critical issues
|
|
132
|
+
4. Export commands for later
|
|
133
|
+
|
|
134
|
+
### 7) Execute with confirmations
|
|
135
|
+
|
|
136
|
+
For each step:
|
|
137
|
+
|
|
138
|
+
- Show the exact command
|
|
139
|
+
- Explain impact and rollback
|
|
140
|
+
- Confirm access will remain available
|
|
141
|
+
- Stop on unexpected output and ask for guidance
|
|
142
|
+
|
|
143
|
+
### 8) Verify and report
|
|
144
|
+
|
|
145
|
+
Re-check:
|
|
146
|
+
|
|
147
|
+
- Firewall status
|
|
148
|
+
- Listening ports
|
|
149
|
+
- Remote access still works
|
|
150
|
+
- OpenClaw security audit (re-run)
|
|
151
|
+
|
|
152
|
+
Deliver a final posture report and note any deferred items.
|
|
153
|
+
|
|
154
|
+
## Required confirmations (always)
|
|
155
|
+
|
|
156
|
+
Require explicit approval for:
|
|
157
|
+
|
|
158
|
+
- Firewall rule changes
|
|
159
|
+
- Opening/closing ports
|
|
160
|
+
- SSH/RDP configuration changes
|
|
161
|
+
- Installing/removing packages
|
|
162
|
+
- Enabling/disabling services
|
|
163
|
+
- User/group modifications
|
|
164
|
+
- Scheduling tasks or startup persistence
|
|
165
|
+
- Update policy changes
|
|
166
|
+
- Access to sensitive files or credentials
|
|
167
|
+
|
|
168
|
+
If unsure, ask.
|
|
169
|
+
|
|
170
|
+
## Periodic checks
|
|
171
|
+
|
|
172
|
+
After OpenClaw install or first hardening pass, run at least one baseline audit and version check:
|
|
173
|
+
|
|
174
|
+
- `openclaw security audit`
|
|
175
|
+
- `openclaw security audit --deep`
|
|
176
|
+
- `openclaw update status`
|
|
177
|
+
|
|
178
|
+
Ongoing monitoring is recommended. Use the OpenClaw cron tool/CLI to schedule periodic audits (Gateway scheduler). Do not create scheduled tasks without explicit approval. Store outputs in a user-approved location and avoid secrets in logs.
|
|
179
|
+
When scheduling headless cron runs, include a note in the output that instructs the user to call `healthcheck` so issues can be fixed.
|
|
180
|
+
|
|
181
|
+
### Required prompt to schedule (always)
|
|
182
|
+
|
|
183
|
+
After any audit or hardening pass, explicitly offer scheduling and require a direct response. Use a short prompt like (numbered):
|
|
184
|
+
|
|
185
|
+
1. “Do you want me to schedule periodic audits (e.g., daily/weekly) via `openclaw cron add`?”
|
|
186
|
+
|
|
187
|
+
If the user says yes, ask for:
|
|
188
|
+
|
|
189
|
+
- cadence (daily/weekly), preferred time window, and output location
|
|
190
|
+
- whether to also schedule `openclaw update status`
|
|
191
|
+
|
|
192
|
+
Use a stable cron job name so updates are deterministic. Prefer exact names:
|
|
193
|
+
|
|
194
|
+
- `healthcheck:security-audit`
|
|
195
|
+
- `healthcheck:update-status`
|
|
196
|
+
|
|
197
|
+
Before creating, `openclaw cron list` and match on exact `name`. If found, `openclaw cron edit <id> ...`.
|
|
198
|
+
If not found, `openclaw cron add --name <name> ...`.
|
|
199
|
+
|
|
200
|
+
Also offer a periodic version check so the user can decide when to update (numbered):
|
|
201
|
+
|
|
202
|
+
1. `openclaw update status` (preferred for source checkouts and channels)
|
|
203
|
+
2. `npm view openclaw version` (published npm version)
|
|
204
|
+
|
|
205
|
+
## OpenClaw command accuracy
|
|
206
|
+
|
|
207
|
+
Use only supported commands and flags:
|
|
208
|
+
|
|
209
|
+
- `openclaw security audit [--deep] [--fix] [--json]`
|
|
210
|
+
- `openclaw status` / `openclaw status --deep`
|
|
211
|
+
- `openclaw health --json`
|
|
212
|
+
- `openclaw update status`
|
|
213
|
+
- `openclaw cron add|list|runs|run`
|
|
214
|
+
|
|
215
|
+
Do not invent CLI flags or imply OpenClaw enforces host firewall/SSH policies.
|
|
216
|
+
|
|
217
|
+
## Logging and audit trail
|
|
218
|
+
|
|
219
|
+
Record:
|
|
220
|
+
|
|
221
|
+
- Gateway identity and role
|
|
222
|
+
- Plan ID and timestamp
|
|
223
|
+
- Approved steps and exact commands
|
|
224
|
+
- Exit codes and files modified (best effort)
|
|
225
|
+
|
|
226
|
+
Redact secrets. Never log tokens or full credential contents.
|
|
227
|
+
|
|
228
|
+
## Memory writes (conditional)
|
|
229
|
+
|
|
230
|
+
Only write to memory files when the user explicitly opts in and the session is a private/local workspace
|
|
231
|
+
(per `docs/reference/templates/AGENTS.md`). Otherwise provide a redacted, paste-ready summary the user can
|
|
232
|
+
decide to save elsewhere.
|
|
233
|
+
|
|
234
|
+
Follow the durable-memory prompt format used by OpenClaw compaction:
|
|
235
|
+
|
|
236
|
+
- Write lasting notes to `memory/YYYY-MM-DD.md`.
|
|
237
|
+
|
|
238
|
+
After each audit/hardening run, if opted-in, append a short, dated summary to `memory/YYYY-MM-DD.md`
|
|
239
|
+
(what was checked, key findings, actions taken, any scheduled cron jobs, key decisions,
|
|
240
|
+
and all commands executed). Append-only: never overwrite existing entries.
|
|
241
|
+
Redact sensitive host details (usernames, hostnames, IPs, serials, service names, tokens).
|
|
242
|
+
If there are durable preferences or decisions (risk posture, allowed ports, update policy),
|
|
243
|
+
also update `MEMORY.md` (long-term memory is optional and only used in private sessions).
|
|
244
|
+
|
|
245
|
+
If the session cannot write to the workspace, ask for permission or provide exact entries
|
|
246
|
+
the user can paste into the memory files.
|