@caoscompanybr/merlin 3.5.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/CLAUDE.md +216 -0
- package/.claude/hooks/README-license-gate.md +45 -0
- package/.claude/hooks/auto-summarize.js +47 -0
- package/.claude/hooks/context-monitor.js +60 -0
- package/.claude/hooks/doc-sync.js +111 -0
- package/.claude/hooks/license-gate.cjs +59 -0
- package/.claude/hooks/session-reset.js +27 -0
- package/.claude/hooks/thoughts-indexer.js +80 -0
- package/.claude/rules/merlin-constitution.md +27 -0
- package/.merlin-core/commands/README.md +19 -0
- package/.merlin-core/commands/founder-mode.md +51 -0
- package/.merlin-core/commands/git/commit.md +35 -0
- package/.merlin-core/commands/git/describe-pr.md +43 -0
- package/.merlin-core/commands/git/safe-commit.md +182 -0
- package/.merlin-core/commands/implementation/implement-plan.md +129 -0
- package/.merlin-core/commands/implementation/oneshot.md +63 -0
- package/.merlin-core/commands/implementation/tdd.md +152 -0
- package/.merlin-core/commands/planning/create-plan.md +184 -0
- package/.merlin-core/commands/planning/iterate-plan.md +45 -0
- package/.merlin-core/commands/planning/validate-plan.md +48 -0
- package/.merlin-core/commands/research/analyze-issue.md +155 -0
- package/.merlin-core/commands/research/research-codebase.md +157 -0
- package/.merlin-core/commands/review/adversarial-review.md +112 -0
- package/.merlin-core/commands/review/check.md +91 -0
- package/.merlin-core/commands/review/debug.md +135 -0
- package/.merlin-core/commands/review/doubts.md +178 -0
- package/.merlin-core/commands/review/engineering-audit.md +87 -0
- package/.merlin-core/commands/review/local-review.md +48 -0
- package/.merlin-core/commands/review/verify-goals.md +83 -0
- package/.merlin-core/commands/session/capture-feedback.md +74 -0
- package/.merlin-core/commands/session/capture-learning.md +155 -0
- package/.merlin-core/commands/session/check-objectives.md +85 -0
- package/.merlin-core/commands/session/conclude.md +125 -0
- package/.merlin-core/commands/session/create-handoff.md +88 -0
- package/.merlin-core/commands/session/create-objective.md +111 -0
- package/.merlin-core/commands/session/create-process.md +105 -0
- package/.merlin-core/commands/session/create-reminder.md +86 -0
- package/.merlin-core/commands/session/fast-start.md +261 -0
- package/.merlin-core/commands/session/recall-learnings.md +79 -0
- package/.merlin-core/commands/session/recall-processes.md +74 -0
- package/.merlin-core/commands/session/resume-handoff.md +51 -0
- package/.merlin-core/commands/session/run-process.md +53 -0
- package/.merlin-core/commands/special/beauty.md +89 -0
- package/.merlin-core/commands/special/common-ground.md +114 -0
- package/.merlin-core/commands/special/elicit.md +98 -0
- package/.merlin-core/commands/special/party.md +66 -0
- package/.merlin-core/commands/special/scrape.md +78 -0
- package/.merlin-core/commands/special/skill-audit.md +128 -0
- package/.merlin-core/commands/special/start-here.md +132 -0
- package/.merlin-core/constitution.md +442 -0
- package/.merlin-core/core/README.md +19 -0
- package/.merlin-core/core/alkimia/README.md +20 -0
- package/.merlin-core/core/alkimia/context/context-tracker.js +209 -0
- package/.merlin-core/core/alkimia/domain/domain-loader.js +215 -0
- package/.merlin-core/core/alkimia/engine.js +284 -0
- package/.merlin-core/core/alkimia/layers/l0-constitution.js +47 -0
- package/.merlin-core/core/alkimia/layers/l1-global.js +58 -0
- package/.merlin-core/core/alkimia/layers/l2-agent.js +58 -0
- package/.merlin-core/core/alkimia/layers/l3-workflow.js +54 -0
- package/.merlin-core/core/alkimia/layers/l4-task.js +45 -0
- package/.merlin-core/core/alkimia/layers/l5-squad.js +161 -0
- package/.merlin-core/core/alkimia/layers/l6-skill.js +520 -0
- package/.merlin-core/core/alkimia/layers/l7-star-command.js +87 -0
- package/.merlin-core/core/alkimia/layers/layer-processor.js +78 -0
- package/.merlin-core/core/alkimia/mandate.js +46 -0
- package/.merlin-core/core/alkimia/memory/doc-sync.js +201 -0
- package/.merlin-core/core/alkimia/memory/document-sharder.js +272 -0
- package/.merlin-core/core/alkimia/memory/git-history-retriever.js +225 -0
- package/.merlin-core/core/alkimia/memory/memory-bridge.js +97 -0
- package/.merlin-core/core/alkimia/memory/session-analyzer.js +400 -0
- package/.merlin-core/core/alkimia/memory/thoughts-indexer.js +477 -0
- package/.merlin-core/core/alkimia/memory/thoughts-provider.js +603 -0
- package/.merlin-core/core/alkimia/output/formatter.js +464 -0
- package/.merlin-core/core/alkimia/security/content-sanitizer.js +140 -0
- package/.merlin-core/core/alkimia/skill-importer.js +440 -0
- package/.merlin-core/core/alkimia/squads/default/.synapse/manifest +17 -0
- package/.merlin-core/core/alkimia/utils/frontmatter.js +321 -0
- package/.merlin-core/core/alkimia/utils/tokens.js +24 -0
- package/.merlin-core/core/approval/README.md +16 -0
- package/.merlin-core/core/approval/approval-engine.js +380 -0
- package/.merlin-core/core/approval/channels/cli-channel.js +50 -0
- package/.merlin-core/core/config/README.md +17 -0
- package/.merlin-core/core/config/config-cache.js +182 -0
- package/.merlin-core/core/config/config-loader.js +279 -0
- package/.merlin-core/core/config/config-resolver.js +411 -0
- package/.merlin-core/core/config/env-interpolator.js +123 -0
- package/.merlin-core/core/config/merge-utils.js +102 -0
- package/.merlin-core/core/config/schemas/core-config.schema.json +41 -0
- package/.merlin-core/core/config/schemas/framework-config.schema.json +24 -0
- package/.merlin-core/core/config/schemas/local-config.schema.json +23 -0
- package/.merlin-core/core/config/schemas/project-config.schema.json +189 -0
- package/.merlin-core/core/docs-consistency.js +140 -0
- package/.merlin-core/core/events/event-bus.js +344 -0
- package/.merlin-core/core/events/hook-handler.js +419 -0
- package/.merlin-core/core/execution/README.md +17 -0
- package/.merlin-core/core/execution/attempt-journal.js +380 -0
- package/.merlin-core/core/execution/autonomous-build-loop.js +637 -0
- package/.merlin-core/core/execution/build-orchestrator.js +296 -0
- package/.merlin-core/core/execution/build-state-manager.js +196 -0
- package/.merlin-core/core/execution/context-injector.js +204 -0
- package/.merlin-core/core/execution/cron-engine.js +247 -0
- package/.merlin-core/core/execution/cron-expression.js +148 -0
- package/.merlin-core/core/execution/env-preflight.js +423 -0
- package/.merlin-core/core/execution/guardrail-engine.js +745 -0
- package/.merlin-core/core/execution/heartbeat-engine.js +198 -0
- package/.merlin-core/core/execution/model-router.js +282 -0
- package/.merlin-core/core/execution/parallel-executor.js +378 -0
- package/.merlin-core/core/execution/parallel-monitor.js +201 -0
- package/.merlin-core/core/execution/party-session.js +311 -0
- package/.merlin-core/core/execution/rate-limit-manager.js +152 -0
- package/.merlin-core/core/execution/result-aggregator.js +215 -0
- package/.merlin-core/core/execution/semantic-merge-engine.js +320 -0
- package/.merlin-core/core/execution/subagent-dispatcher.js +721 -0
- package/.merlin-core/core/execution/success-verifier.js +227 -0
- package/.merlin-core/core/execution/task-metadata.js +105 -0
- package/.merlin-core/core/execution/team-executor.js +195 -0
- package/.merlin-core/core/execution/two-tier-editor.js +290 -0
- package/.merlin-core/core/execution/version-snapshot.js +294 -0
- package/.merlin-core/core/execution/wave-executor.js +224 -0
- package/.merlin-core/core/health-check/health-engine.js +415 -0
- package/.merlin-core/core/licensing/activation.js +281 -0
- package/.merlin-core/core/licensing/crc.js +103 -0
- package/.merlin-core/core/licensing/entitlement.js +99 -0
- package/.merlin-core/core/licensing/fingerprint.js +104 -0
- package/.merlin-core/core/licensing/gate.js +133 -0
- package/.merlin-core/core/licensing/hmac.js +42 -0
- package/.merlin-core/core/licensing/key.js +144 -0
- package/.merlin-core/core/licensing/license.js +212 -0
- package/.merlin-core/core/mcp/README.md +16 -0
- package/.merlin-core/core/mcp/browser-capability.js +191 -0
- package/.merlin-core/core/mcp/capability-mapper.js +92 -0
- package/.merlin-core/core/mcp/mcp-connector.js +278 -0
- package/.merlin-core/core/mcp/mcp-registry.js +101 -0
- package/.merlin-core/core/orchestration/README.md +17 -0
- package/.merlin-core/core/orchestration/agent-invoker.js +456 -0
- package/.merlin-core/core/orchestration/condition-evaluator.js +250 -0
- package/.merlin-core/core/orchestration/decision-tree.js +192 -0
- package/.merlin-core/core/orchestration/executor-assignment.js +372 -0
- package/.merlin-core/core/orchestration/gate-evaluator.js +653 -0
- package/.merlin-core/core/orchestration/intent-classifier.js +579 -0
- package/.merlin-core/core/orchestration/lock-manager.js +308 -0
- package/.merlin-core/core/orchestration/master-orchestrator.js +363 -0
- package/.merlin-core/core/orchestration/phase-tool-masks.js +194 -0
- package/.merlin-core/core/orchestration/recovery-handler.js +402 -0
- package/.merlin-core/core/orchestration/reflect-checkpoint.js +431 -0
- package/.merlin-core/core/orchestration/session-state.js +430 -0
- package/.merlin-core/core/orchestration/skill-dispatcher.js +255 -0
- package/.merlin-core/core/orchestration/step-loader.js +226 -0
- package/.merlin-core/core/orchestration/workflow-executor.js +864 -0
- package/.merlin-core/core/process/executor.js +231 -0
- package/.merlin-core/core/process/process-file.js +50 -0
- package/.merlin-core/core/process/secret-scan.js +86 -0
- package/.merlin-core/core/process/signature.js +77 -0
- package/.merlin-core/core/quality-gates/README.md +17 -0
- package/.merlin-core/core/quality-gates/layer1-precommit.js +110 -0
- package/.merlin-core/core/quality-gates/layer2-pr-automation.js +116 -0
- package/.merlin-core/core/quality-gates/layer3-human-review.js +133 -0
- package/.merlin-core/core/registry/service-registry.js +140 -0
- package/.merlin-core/core-config.yaml +159 -0
- package/.merlin-core/development/README.md +17 -0
- package/.merlin-core/development/agents/README.md +16 -0
- package/.merlin-core/development/agents/analyst.md +214 -0
- package/.merlin-core/development/agents/architect.md +166 -0
- package/.merlin-core/development/agents/data-engineer.md +154 -0
- package/.merlin-core/development/agents/dev.md +203 -0
- package/.merlin-core/development/agents/devops.md +236 -0
- package/.merlin-core/development/agents/grimorio.md +125 -0
- package/.merlin-core/development/agents/merlin-master.md +173 -0
- package/.merlin-core/development/agents/meta.md +190 -0
- package/.merlin-core/development/agents/pm.md +145 -0
- package/.merlin-core/development/agents/po.md +172 -0
- package/.merlin-core/development/agents/qa.md +275 -0
- package/.merlin-core/development/agents/researcher.md +218 -0
- package/.merlin-core/development/agents/scout.md +179 -0
- package/.merlin-core/development/agents/sm.md +148 -0
- package/.merlin-core/development/agents/ux.md +169 -0
- package/.merlin-core/development/agents/web-researcher.md +203 -0
- package/.merlin-core/development/checklists/adversarial-review-checklist.md +70 -0
- package/.merlin-core/development/checklists/operations-ci-checklist.md +40 -0
- package/.merlin-core/development/checklists/operations-deploy-checklist.md +54 -0
- package/.merlin-core/development/checklists/operations-publish-checklist.md +47 -0
- package/.merlin-core/development/checklists/source-verification-checklist.md +38 -0
- package/.merlin-core/development/templates/HEARTBEAT-template.md +46 -0
- package/.merlin-core/development/templates/ears-requirements-template.md +93 -0
- package/.merlin-core/development/templates/handoff-template.md +50 -0
- package/.merlin-core/development/templates/prd-template.md +62 -0
- package/.merlin-core/development/templates/research-template.md +53 -0
- package/.merlin-core/development/templates/spec-template.md +84 -0
- package/.merlin-core/development/workflows/brownfield-discovery.yaml +166 -0
- package/.merlin-core/development/workflows/brownfield-service.yaml +52 -0
- package/.merlin-core/development/workflows/development-cycle.yaml +57 -0
- package/.merlin-core/development/workflows/epic-orchestration.yaml +47 -0
- package/.merlin-core/development/workflows/folloni-funnel.yaml +177 -0
- package/.merlin-core/development/workflows/greenfield-fullstack.yaml +167 -0
- package/.merlin-core/development/workflows/greenfield-service.yaml +56 -0
- package/.merlin-core/development/workflows/qa-loop.yaml +115 -0
- package/.merlin-core/development/workflows/spec-pipeline.yaml +185 -0
- package/.merlin-core/development/workflows/steps/folloni-01-research.yaml +35 -0
- package/.merlin-core/development/workflows/steps/folloni-02-architecture.yaml +41 -0
- package/.merlin-core/development/workflows/steps/folloni-03-implementation.yaml +52 -0
- package/.merlin-core/development/workflows/story-development-cycle.yaml +67 -0
- package/.merlin-core/docs/GUIDE.md +413 -0
- package/.merlin-core/docs/merlin-commands-guide-pt.md +183 -0
- package/.merlin-core/framework-config.yaml +148 -0
- package/.merlin-core/hooks/README.md +16 -0
- package/.merlin-core/hooks/precompact-memory-flush.js +69 -0
- package/.merlin-core/hooks/pretooluse-remote-approve.js +113 -0
- package/.merlin-core/hooks/spikes/spike-b-hook.js +70 -0
- package/.merlin-core/hooks/spikes/spike-b-stub.js +70 -0
- package/.merlin-core/index.js +91 -0
- package/.merlin-core/local-config.yaml.template +31 -0
- package/.merlin-core/mcp-servers/lsp-bridge/index.js +397 -0
- package/.merlin-core/modules/scraping/module.json +23 -0
- package/.merlin-core/project-config.yaml +89 -0
- package/.merlin-core/schemas/README.md +18 -0
- package/.merlin-core/schemas/agent-hook-schema.json +152 -0
- package/.merlin-core/schemas/agent-schema.json +31 -0
- package/.merlin-core/schemas/command-schema.json +18 -0
- package/.merlin-core/schemas/feedback-schema.json +36 -0
- package/.merlin-core/schemas/handoff-schema.json +19 -0
- package/.merlin-core/schemas/learning-schema.json +51 -0
- package/.merlin-core/schemas/module.schema.json +124 -0
- package/.merlin-core/schemas/must-haves-schema.json +95 -0
- package/.merlin-core/schemas/objective-schema.json +23 -0
- package/.merlin-core/schemas/plan-schema.json +20 -0
- package/.merlin-core/schemas/process-schema.json +82 -0
- package/.merlin-core/schemas/reminder-schema.json +20 -0
- package/.merlin-core/schemas/skill-eval-schema.json +92 -0
- package/.merlin-core/schemas/skill-schema.json +77 -0
- package/.merlin-core/schemas/workflow-schema.json +38 -0
- package/.merlin-core/skills/README.md +16 -0
- package/.merlin-core/skills/domain/azure-cloud/SKILL.md +211 -0
- package/.merlin-core/skills/domain/azure-cloud/references/appinsights-instrumentation.md +63 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-compliance.md +99 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-cost-optimization.md +419 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-deploy.md +82 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-diagnostics.md +130 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-prepare.md +134 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-quotas.md +290 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-rbac.md +11 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-resource-lookup.md +97 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-resource-visualizer.md +178 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-storage.md +91 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-validate.md +58 -0
- package/.merlin-core/skills/domain/azure-cloud/references/entra-app-registration.md +192 -0
- package/.merlin-core/skills/domain/browser-automation/SKILL.md +311 -0
- package/.merlin-core/skills/domain/browser-automation/references/agent-browser-skill.md +632 -0
- package/.merlin-core/skills/domain/browser-automation/references/authentication.md +308 -0
- package/.merlin-core/skills/domain/browser-automation/references/commands.md +266 -0
- package/.merlin-core/skills/domain/browser-automation/references/profiling.md +120 -0
- package/.merlin-core/skills/domain/browser-automation/references/proxy-support.md +194 -0
- package/.merlin-core/skills/domain/browser-automation/references/session-management.md +194 -0
- package/.merlin-core/skills/domain/browser-automation/references/snapshot-refs.md +196 -0
- package/.merlin-core/skills/domain/browser-automation/references/video-recording.md +173 -0
- package/.merlin-core/skills/domain/browser-automation/templates/authenticated-session.sh +105 -0
- package/.merlin-core/skills/domain/browser-automation/templates/capture-workflow.sh +69 -0
- package/.merlin-core/skills/domain/browser-automation/templates/form-automation.sh +62 -0
- package/.merlin-core/skills/domain/digital-marketing/SKILL.md +292 -0
- package/.merlin-core/skills/domain/digital-marketing/references/content-strategy.md +320 -0
- package/.merlin-core/skills/domain/digital-marketing/references/copy-formats.md +298 -0
- package/.merlin-core/skills/domain/digital-marketing/references/copy-methodology.md +180 -0
- package/.merlin-core/skills/domain/digital-marketing/references/email-sequences.md +135 -0
- package/.merlin-core/skills/domain/digital-marketing/references/launch-strategy.md +213 -0
- package/.merlin-core/skills/domain/digital-marketing/references/pricing-strategy.md +160 -0
- package/.merlin-core/skills/domain/digital-marketing/references/programmatic-seo.md +237 -0
- package/.merlin-core/skills/domain/digital-marketing/references/revops-lifecycle.md +170 -0
- package/.merlin-core/skills/domain/digital-marketing/references/revops-operations.md +167 -0
- package/.merlin-core/skills/domain/digital-marketing/references/schema-markup.md +190 -0
- package/.merlin-core/skills/domain/digital-marketing/references/strategy-frameworks.md +324 -0
- package/.merlin-core/skills/domain/digital-marketing/references/traffic-management.md +350 -0
- package/.merlin-core/skills/domain/expo-native-ui/SKILL.md +348 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/animations.md +220 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/api-routes.md +361 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/cicd-workflows.md +84 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/controls.md +266 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/data-fetching.md +553 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/deployment-stores.md +1353 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/deployment.md +183 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/dev-client.md +166 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/dom-components.md +410 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/form-sheet.md +253 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/gradients.md +117 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/icons.md +218 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/media.md +245 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/platform-native.md +75 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/route-structure.md +229 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/search.md +249 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/storage.md +121 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/tabs.md +433 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/tailwind-native.md +473 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/toolbar-and-headers.md +284 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/upgrading-guides.md +674 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/upgrading.md +127 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/visual-effects.md +199 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/webgpu-three.md +605 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/zoom-transitions.md +161 -0
- package/.merlin-core/skills/domain/marketing-ops/SKILL.md +117 -0
- package/.merlin-core/skills/domain/marketing-ops/references/_index.md +78 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative/references/generative-tools.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative/references/platform-specs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative.md +251 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/ad-copy-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/audience-targeting.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/conversion-tracking.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/platform-setup-checklists.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads.md +322 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/content-patterns.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/content-types.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/platform-ranking-factors.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo.md +388 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/apple-specs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/benchmarks.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/google-play-specs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/report-template.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/scoring-criteria.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso.md +316 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/co-marketing.md +305 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/community-marketing.md +169 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling/references/templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling/references/tool-reference.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling.md +442 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors/references/content-architecture.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors/references/templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors.md +281 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/content-strategy.md +16 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/directory-list.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/positioning-variations.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/submission-tracker-template.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions.md +396 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/free-tools/references/tool-types.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/free-tools.md +196 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/image/references/ai-image-prompting.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/image.md +352 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/launch.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets/references/benchmarks.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets/references/format-guide.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets.md +333 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/programmatic-seo.md +16 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/schema.md +16 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit/references/ai-writing-detection.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit/references/international-seo.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit.md +546 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/mermaid-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/navigation-patterns.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/site-type-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture.md +371 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/platform-limits.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/platforms.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/post-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/reverse-engineering.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/short-form-video.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social.md +431 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/video/references/ai-video-prompting.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/video.md +353 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing/references/sample-size-guide.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing/references/test-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing.md +379 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/event-library.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/ga4-implementation.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/gtm-implementation.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics.md +323 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/copy-editing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/copywriting.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/cro/references/experiments.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/cro/references/form.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/cro.md +211 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/emails.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/paywalls/references/experiments.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/paywalls.md +255 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/popups.md +518 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/pricing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/deck-frameworks.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/demo-scripts.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/objection-library.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/one-pager-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement.md +371 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/signup.md +406 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/co-marketing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/community-marketing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals/references/affiliate-programs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals/references/program-examples.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals.md +278 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/customer-research/references/source-guides.md +425 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/customer-research.md +284 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-ideas/references/ideas-by-category.md +216 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-ideas.md +188 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-psychology.md +532 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/product-marketing.md +276 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention/references/cancel-flow-patterns.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention/references/dunning-playbook.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention.md +442 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/onboarding/references/experiments.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/onboarding.md +243 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/revops-lifecycle.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/revops-operations.md +18 -0
- package/.merlin-core/skills/domain/n8n-automation/SKILL.md +149 -0
- package/.merlin-core/skills/domain/n8n-automation/references/code-javascript.md +3744 -0
- package/.merlin-core/skills/domain/n8n-automation/references/code-python.md +3293 -0
- package/.merlin-core/skills/domain/n8n-automation/references/expression-syntax.md +1662 -0
- package/.merlin-core/skills/domain/n8n-automation/references/mcp-tools-expert.md +2111 -0
- package/.merlin-core/skills/domain/n8n-automation/references/node-configuration.md +2523 -0
- package/.merlin-core/skills/domain/n8n-automation/references/validation-expert.md +2491 -0
- package/.merlin-core/skills/domain/n8n-automation/references/workflow-patterns.md +4624 -0
- package/.merlin-core/skills/domain/ops-manual/SKILL.md +225 -0
- package/.merlin-core/skills/domain/ops-manual/references/elicitation-questions.md +141 -0
- package/.merlin-core/skills/domain/ops-manual/references/external-skills-registry.md +63 -0
- package/.merlin-core/skills/domain/ops-manual/references/operations-template.yaml +132 -0
- package/.merlin-core/skills/domain/remotion-best-practices/SKILL.md +99 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/3d.md +86 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/animations.md +27 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets.md +78 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/audio.md +172 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/calculate-metadata.md +131 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/can-decode.md +75 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/charts.md +68 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/compositions.md +154 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/display-captions.md +126 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/fonts.md +152 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/gifs.md +144 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/images.md +134 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/lottie.md +70 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/maps.md +414 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/parameters.md +109 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/sequencing.md +118 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/tailwind.md +11 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/text-animations.md +20 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/timing.md +179 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/transitions.md +137 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/trimming.md +51 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/videos.md +171 -0
- package/.merlin-core/skills/domain/resend-email/SKILL.md +377 -0
- package/.merlin-core/skills/general/adversarial-review/SKILL.md +144 -0
- package/.merlin-core/skills/general/api-design/SKILL.md +513 -0
- package/.merlin-core/skills/general/apify-scrape/SKILL.md +137 -0
- package/.merlin-core/skills/general/apify-scrape/scripts/apify-scrape.sh +68 -0
- package/.merlin-core/skills/general/backup/SKILL.md +87 -0
- package/.merlin-core/skills/general/blkskrn/SKILL.md +392 -0
- package/.merlin-core/skills/general/blkskrn/references/animation-patterns.md +521 -0
- package/.merlin-core/skills/general/blkskrn/references/design-system.md +637 -0
- package/.merlin-core/skills/general/blkskrn/references/html-templates.md +440 -0
- package/.merlin-core/skills/general/blkskrn/references/presenter-template.md +45 -0
- package/.merlin-core/skills/general/blkskrn/references/slide-types.md +424 -0
- package/.merlin-core/skills/general/blkskrn/scripts/canvas-manager.js +502 -0
- package/.merlin-core/skills/general/blkskrn/scripts/presenter.js +90 -0
- package/.merlin-core/skills/general/blkskrn/templates/presenter.html +273 -0
- package/.merlin-core/skills/general/blkskrn/templates/slide-base.html +277 -0
- package/.merlin-core/skills/general/blkskrn/templates/viewer.html +165 -0
- package/.merlin-core/skills/general/browser-takeover/SKILL.md +53 -0
- package/.merlin-core/skills/general/claude-api/SKILL.md +90 -0
- package/.merlin-core/skills/general/code-javascript/SKILL.md +268 -0
- package/.merlin-core/skills/general/code-python/SKILL.md +424 -0
- package/.merlin-core/skills/general/code-style/SKILL.md +97 -0
- package/.merlin-core/skills/general/code-typescript/SKILL.md +361 -0
- package/.merlin-core/skills/general/cold-email/SKILL.md +164 -0
- package/.merlin-core/skills/general/cold-email/references/benchmarks.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/follow-up-sequences.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/frameworks.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/personalization.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/subject-lines.md +18 -0
- package/.merlin-core/skills/general/container-security/SKILL.md +462 -0
- package/.merlin-core/skills/general/context-management/SKILL.md +79 -0
- package/.merlin-core/skills/general/copy-editing/SKILL.md +501 -0
- package/.merlin-core/skills/general/copy-editing/references/checklist.md +18 -0
- package/.merlin-core/skills/general/copy-editing/references/content-refresh.md +18 -0
- package/.merlin-core/skills/general/copy-editing/references/plain-english-alternatives.md +18 -0
- package/.merlin-core/skills/general/copywriting/SKILL.md +294 -0
- package/.merlin-core/skills/general/copywriting/references/copy-frameworks.md +392 -0
- package/.merlin-core/skills/general/copywriting/references/natural-transitions.md +276 -0
- package/.merlin-core/skills/general/database/SKILL.md +561 -0
- package/.merlin-core/skills/general/database/references/postgres-concurrency.md +182 -0
- package/.merlin-core/skills/general/database/references/postgres-connections.md +97 -0
- package/.merlin-core/skills/general/database/references/postgres-data-patterns.md +159 -0
- package/.merlin-core/skills/general/database/references/postgres-monitoring.md +136 -0
- package/.merlin-core/skills/general/database/references/postgres-rls.md +140 -0
- package/.merlin-core/skills/general/database-provision/SKILL.md +56 -0
- package/.merlin-core/skills/general/deploy/SKILL.md +65 -0
- package/.merlin-core/skills/general/design-inspiration/SKILL.md +146 -0
- package/.merlin-core/skills/general/design-palette/SKILL.md +99 -0
- package/.merlin-core/skills/general/design-palette/references/full-palettes.md +144 -0
- package/.merlin-core/skills/general/design-system/SKILL.md +94 -0
- package/.merlin-core/skills/general/design-typography/SKILL.md +115 -0
- package/.merlin-core/skills/general/design-typography/references/full-pairings.md +144 -0
- package/.merlin-core/skills/general/design-ux-patterns/SKILL.md +155 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/charts-data-guidelines.md +197 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/landing-patterns.md +199 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/professional-ui-checklist.md +56 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/style-catalog.md +89 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/ux-guidelines.md +837 -0
- package/.merlin-core/skills/general/discover-cloud/SKILL.md +108 -0
- package/.merlin-core/skills/general/doc-sync/SKILL.md +52 -0
- package/.merlin-core/skills/general/document-sharding/SKILL.md +53 -0
- package/.merlin-core/skills/general/docx/SKILL.md +418 -0
- package/.merlin-core/skills/general/docx/references/windows-setup.md +27 -0
- package/.merlin-core/skills/general/docx/scripts/__init__.py +1 -0
- package/.merlin-core/skills/general/docx/scripts/accept_changes.py +135 -0
- package/.merlin-core/skills/general/docx/scripts/comment.py +318 -0
- package/.merlin-core/skills/general/docx/scripts/office/__init__.py +0 -0
- package/.merlin-core/skills/general/docx/scripts/office/helpers/__init__.py +0 -0
- package/.merlin-core/skills/general/docx/scripts/office/helpers/merge_runs.py +199 -0
- package/.merlin-core/skills/general/docx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/.merlin-core/skills/general/docx/scripts/office/pack.py +159 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.merlin-core/skills/general/docx/scripts/office/soffice.py +183 -0
- package/.merlin-core/skills/general/docx/scripts/office/unpack.py +132 -0
- package/.merlin-core/skills/general/docx/scripts/office/validate.py +111 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/__init__.py +15 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/base.py +847 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/docx.py +446 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/pptx.py +275 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/redlining.py +247 -0
- package/.merlin-core/skills/general/docx/scripts/templates/comments.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/commentsExtended.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/commentsIds.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/people.xml +3 -0
- package/.merlin-core/skills/general/elicitation/SKILL.md +188 -0
- package/.merlin-core/skills/general/engineering-audit/SKILL.md +122 -0
- package/.merlin-core/skills/general/find-and-edit/SKILL.md +102 -0
- package/.merlin-core/skills/general/first-party-docs/SKILL.md +51 -0
- package/.merlin-core/skills/general/frontend-design/SKILL.md +204 -0
- package/.merlin-core/skills/general/guardrails/SKILL.md +144 -0
- package/.merlin-core/skills/general/image-gen/SKILL.md +49 -0
- package/.merlin-core/skills/general/learning-capture/SKILL.md +192 -0
- package/.merlin-core/skills/general/lgpd-compliance-audit/SKILL.md +448 -0
- package/.merlin-core/skills/general/load-testing/SKILL.md +114 -0
- package/.merlin-core/skills/general/load-testing/docker/Dockerfile.dashboard +21 -0
- package/.merlin-core/skills/general/load-testing/docker/docker-compose.locust.yml +39 -0
- package/.merlin-core/skills/general/load-testing/requirements.txt +1 -0
- package/.merlin-core/skills/general/load-testing/scripts/compare_baseline.py +172 -0
- package/.merlin-core/skills/general/load-testing/scripts/run_local.py +245 -0
- package/.merlin-core/skills/general/load-testing/templates/load_shape_stepped.py +35 -0
- package/.merlin-core/skills/general/load-testing/templates/locustfile_dashboard.py +47 -0
- package/.merlin-core/skills/general/load-testing/templates/threshold_hook.py +36 -0
- package/.merlin-core/skills/general/mage-beauty/SKILL.md +89 -0
- package/.merlin-core/skills/general/mage-beauty/references/anti-patterns.md +148 -0
- package/.merlin-core/skills/general/mage-beauty/references/color-and-contrast.md +87 -0
- package/.merlin-core/skills/general/mage-beauty/references/interaction-design.md +99 -0
- package/.merlin-core/skills/general/mage-beauty/references/motion-design.md +90 -0
- package/.merlin-core/skills/general/mage-beauty/references/remotion-bridge.md +187 -0
- package/.merlin-core/skills/general/mage-beauty/references/responsive-and-multi-format.md +98 -0
- package/.merlin-core/skills/general/mage-beauty/references/spatial-design.md +88 -0
- package/.merlin-core/skills/general/mage-beauty/references/typography.md +60 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-adapt.md +102 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-animate.md +97 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-audit.md +99 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-bolder.md +94 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-cinematic.md +128 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-clarify.md +107 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-colorize.md +106 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-critique.md +88 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-delight.md +98 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-distill.md +97 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-harden.md +79 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-layout.md +104 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-onboard.md +98 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-optimize.md +124 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-overdrive.md +105 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-polish.md +91 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-quieter.md +95 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-rebrand.md +127 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-shape.md +160 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-typeset.md +109 -0
- package/.merlin-core/skills/general/mage-beauty/references/voice-and-microcopy.md +137 -0
- package/.merlin-core/skills/general/mcp-builder/SKILL.md +92 -0
- package/.merlin-core/skills/general/network-debug/SKILL.md +51 -0
- package/.merlin-core/skills/general/next-best-practices/SKILL.md +177 -0
- package/.merlin-core/skills/general/next-best-practices/references/async-patterns.md +87 -0
- package/.merlin-core/skills/general/next-best-practices/references/bundling.md +182 -0
- package/.merlin-core/skills/general/next-best-practices/references/data-patterns.md +306 -0
- package/.merlin-core/skills/general/next-best-practices/references/debug-tricks.md +125 -0
- package/.merlin-core/skills/general/next-best-practices/references/directives.md +74 -0
- package/.merlin-core/skills/general/next-best-practices/references/error-handling.md +232 -0
- package/.merlin-core/skills/general/next-best-practices/references/file-conventions.md +141 -0
- package/.merlin-core/skills/general/next-best-practices/references/font.md +257 -0
- package/.merlin-core/skills/general/next-best-practices/references/functions.md +108 -0
- package/.merlin-core/skills/general/next-best-practices/references/hydration-error.md +88 -0
- package/.merlin-core/skills/general/next-best-practices/references/image.md +179 -0
- package/.merlin-core/skills/general/next-best-practices/references/metadata.md +296 -0
- package/.merlin-core/skills/general/next-best-practices/references/parallel-routes.md +298 -0
- package/.merlin-core/skills/general/next-best-practices/references/route-handlers.md +146 -0
- package/.merlin-core/skills/general/next-best-practices/references/rsc-boundaries.md +164 -0
- package/.merlin-core/skills/general/next-best-practices/references/runtime-selection.md +40 -0
- package/.merlin-core/skills/general/next-best-practices/references/scripts.md +141 -0
- package/.merlin-core/skills/general/next-best-practices/references/self-hosting.md +384 -0
- package/.merlin-core/skills/general/next-best-practices/references/suspense-boundaries.md +67 -0
- package/.merlin-core/skills/general/next-steps/SKILL.md +43 -0
- package/.merlin-core/skills/general/party-mode/SKILL.md +57 -0
- package/.merlin-core/skills/general/pdf/SKILL.md +298 -0
- package/.merlin-core/skills/general/pdf/references/forms.md +312 -0
- package/.merlin-core/skills/general/pdf/references/reference.md +640 -0
- package/.merlin-core/skills/general/pdf/references/windows-setup.md +40 -0
- package/.merlin-core/skills/general/pdf/scripts/check_bounding_boxes.py +65 -0
- package/.merlin-core/skills/general/pdf/scripts/check_fillable_fields.py +11 -0
- package/.merlin-core/skills/general/pdf/scripts/convert_pdf_to_images.py +33 -0
- package/.merlin-core/skills/general/pdf/scripts/create_validation_image.py +37 -0
- package/.merlin-core/skills/general/pdf/scripts/extract_form_field_info.py +122 -0
- package/.merlin-core/skills/general/pdf/scripts/extract_form_structure.py +115 -0
- package/.merlin-core/skills/general/pdf/scripts/fill_fillable_fields.py +98 -0
- package/.merlin-core/skills/general/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
- package/.merlin-core/skills/general/pptx/SKILL.md +133 -0
- package/.merlin-core/skills/general/pptx/references/editing.md +213 -0
- package/.merlin-core/skills/general/pptx/references/pptxgenjs.md +581 -0
- package/.merlin-core/skills/general/pptx/references/windows-setup.md +27 -0
- package/.merlin-core/skills/general/pptx/scripts/__init__.py +0 -0
- package/.merlin-core/skills/general/pptx/scripts/add_slide.py +195 -0
- package/.merlin-core/skills/general/pptx/scripts/clean.py +286 -0
- package/.merlin-core/skills/general/pptx/scripts/thumbnail.py +289 -0
- package/.merlin-core/skills/general/property-testing/SKILL.md +214 -0
- package/.merlin-core/skills/general/purge-leaked-secret/SKILL.md +383 -0
- package/.merlin-core/skills/general/reflection/SKILL.md +100 -0
- package/.merlin-core/skills/general/secret-safe-commit/SKILL.md +246 -0
- package/.merlin-core/skills/general/secret-safe-commit/templates/.gitleaks.toml +91 -0
- package/.merlin-core/skills/general/secret-safe-commit/templates/.pre-commit-config.yaml +57 -0
- package/.merlin-core/skills/general/secret-safe-commit/templates/secret-scan.yml +48 -0
- package/.merlin-core/skills/general/semantic-search/SKILL.md +79 -0
- package/.merlin-core/skills/general/skill-creator/SKILL.md +342 -0
- package/.merlin-core/skills/general/skill-creator/agents/analyzer.md +283 -0
- package/.merlin-core/skills/general/skill-creator/agents/comparator.md +211 -0
- package/.merlin-core/skills/general/skill-creator/agents/grader.md +227 -0
- package/.merlin-core/skills/general/skill-creator/assets/eval_review.html +146 -0
- package/.merlin-core/skills/general/skill-creator/eval-viewer/generate_review.py +471 -0
- package/.merlin-core/skills/general/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.merlin-core/skills/general/skill-creator/references/schemas.md +439 -0
- package/.merlin-core/skills/general/skill-creator/scripts/__init__.py +0 -0
- package/.merlin-core/skills/general/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/.merlin-core/skills/general/skill-creator/scripts/generate_report.py +326 -0
- package/.merlin-core/skills/general/skill-creator/scripts/improve_description.py +247 -0
- package/.merlin-core/skills/general/skill-creator/scripts/package_skill.py +136 -0
- package/.merlin-core/skills/general/skill-creator/scripts/quick_validate.py +103 -0
- package/.merlin-core/skills/general/skill-creator/scripts/run_eval.py +310 -0
- package/.merlin-core/skills/general/skill-creator/scripts/run_loop.py +328 -0
- package/.merlin-core/skills/general/skill-creator/scripts/utils.py +47 -0
- package/.merlin-core/skills/general/start-here/SKILL.md +63 -0
- package/.merlin-core/skills/general/start-here/recipes.json +758 -0
- package/.merlin-core/skills/general/start-here/recipes.schema.json +57 -0
- package/.merlin-core/skills/general/static-analysis/SKILL.md +151 -0
- package/.merlin-core/skills/general/tailwind-design-system/SKILL.md +201 -0
- package/.merlin-core/skills/general/tailwind-design-system/references/advanced-v4.md +152 -0
- package/.merlin-core/skills/general/tailwind-design-system/references/component-patterns.md +353 -0
- package/.merlin-core/skills/general/teach-method/SKILL.md +86 -0
- package/.merlin-core/skills/general/team-execution/SKILL.md +67 -0
- package/.merlin-core/skills/general/testing/SKILL.md +412 -0
- package/.merlin-core/skills/general/token-economy/SKILL.md +55 -0
- package/.merlin-core/skills/general/vps-security-hardening/SKILL.md +406 -0
- package/.merlin-core/skills/general/web-quality/SKILL.md +180 -0
- package/.merlin-core/skills/general/webapp-testing/SKILL.md +153 -0
- package/.merlin-core/skills/general/webapp-testing/scripts/screenshot_compare.py +72 -0
- package/.merlin-core/skills/general/webapp-testing/scripts/with_server.py +103 -0
- package/.merlin-core/skills/general/xlsx/SKILL.md +167 -0
- package/.merlin-core/skills/general/xlsx/references/nodejs-sheetjs-styled-reports.md +141 -0
- package/.merlin-core/skills/general/xlsx/references/windows-setup.md +17 -0
- package/.merlin-core/skills/general/xlsx/scripts/recalc.py +184 -0
- package/.merlin-core/skills/general/xlsx/scripts/styled-report.js +130 -0
- package/.merlin-core/skills/general/yolo-mode/SKILL.md +60 -0
- package/.merlin-core/skills/general/youtube-transcript/SKILL.md +177 -0
- package/.merlin-core/skills/general/youtube-transcript/scripts/fetch_transcript.py +188 -0
- package/.merlin-core/skills/general/youtube-transcript/scripts/gladia_transcribe.mjs +230 -0
- package/.merlin-core/tools/commands/activate.js +72 -0
- package/.merlin-core/tools/commands/archive-thoughts.js +181 -0
- package/.merlin-core/tools/commands/backup.js +156 -0
- package/.merlin-core/tools/commands/certify-process.js +196 -0
- package/.merlin-core/tools/commands/convert.js +87 -0
- package/.merlin-core/tools/commands/cron.js +147 -0
- package/.merlin-core/tools/commands/disable.js +73 -0
- package/.merlin-core/tools/commands/doc-sync.js +127 -0
- package/.merlin-core/tools/commands/eval-skill.js +193 -0
- package/.merlin-core/tools/commands/frontmatter.js +49 -0
- package/.merlin-core/tools/commands/heartbeat.js +43 -0
- package/.merlin-core/tools/commands/index-thoughts.js +35 -0
- package/.merlin-core/tools/commands/install-remote-approve.js +184 -0
- package/.merlin-core/tools/commands/install.js +81 -0
- package/.merlin-core/tools/commands/lib/__verify__/diff-reports.js +170 -0
- package/.merlin-core/tools/commands/lib/fs-safe.js +186 -0
- package/.merlin-core/tools/commands/lib/preflight.js +607 -0
- package/.merlin-core/tools/commands/lib/preserve.js +232 -0
- package/.merlin-core/tools/commands/lib/project-config.template.yaml +69 -0
- package/.merlin-core/tools/commands/lib/report.js +231 -0
- package/.merlin-core/tools/commands/lib/settings-merge.js +134 -0
- package/.merlin-core/tools/commands/license.js +52 -0
- package/.merlin-core/tools/commands/list.js +125 -0
- package/.merlin-core/tools/commands/migrate-alkimia.js +271 -0
- package/.merlin-core/tools/commands/modules.js +68 -0
- package/.merlin-core/tools/commands/provision.js +83 -0
- package/.merlin-core/tools/commands/prune-feedback.js +114 -0
- package/.merlin-core/tools/commands/run-process.js +28 -0
- package/.merlin-core/tools/commands/state.js +79 -0
- package/.merlin-core/tools/commands/sync-bridges.js +197 -0
- package/.merlin-core/tools/commands/upgrade.js +1135 -0
- package/.merlin-core/tools/commands/validate-recipes.js +218 -0
- package/.merlin-core/tools/commands/validate.js +159 -0
- package/.merlin-core/tools/commands/yolo.js +82 -0
- package/.merlin-core/tools/compose-rules.mjs +179 -0
- package/.merlin-core/tools/disable-module.mjs +150 -0
- package/.merlin-core/tools/lib/deployer.mjs +131 -0
- package/.merlin-core/tools/lib/modules-activation.mjs +225 -0
- package/.merlin-core/tools/merlin-tools.js +153 -0
- package/.merlin-core/tools/migrate-frontmatter-v3.js +192 -0
- package/.merlin-core/tools/modules-catalog.mjs +174 -0
- package/.merlin-core/tools/provision-module.mjs +191 -0
- package/.merlin-core/tools/verify-module.mjs +99 -0
- package/.merlin-core/tools/vps-security-audit.sh +234 -0
- package/INSTALL.md +312 -0
- package/LICENSE +118 -0
- package/PRIVACY-LICENSING.md +65 -0
- package/README.md +391 -0
- package/bin/README.md +15 -0
- package/bin/convert-to-merlin.sh +109 -0
- package/bin/fleet-patch-hooks.sh +144 -0
- package/bin/fleet-patch-v3-fixes.sh +127 -0
- package/bin/merlin-init.js +232 -0
- package/bin/merlin.js +321 -0
- package/package.json +127 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: elicitation
|
|
3
|
+
description: Library of 20+ structured elicitation techniques for requirements gathering, analysis, and decision-making
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: merlin-framework
|
|
7
|
+
version: "3.0.0"
|
|
8
|
+
auto_activate: [elicit, brainstorm, requirements, trade-off, pre-mortem]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Elicitation Techniques
|
|
12
|
+
|
|
13
|
+
Library of structured techniques for uncovering requirements, analyzing trade-offs, and making decisions. Each technique provides a repeatable prompt framework.
|
|
14
|
+
|
|
15
|
+
## Brainstorming Discipline
|
|
16
|
+
|
|
17
|
+
When running any elicitation technique interactively with the user:
|
|
18
|
+
|
|
19
|
+
- **One question per message** — Never overwhelm with multiple questions. If a topic needs deeper exploration, break it into sequential messages.
|
|
20
|
+
- **Multiple choice preferred** — Offer 2-4 concrete options when possible. Open-ended questions are fine when options aren't clear yet.
|
|
21
|
+
- **Every project gets a design** — Even "simple" projects (a single function, a config change) need a short design (3-5 sentences minimum). "Simple" projects are where unexamined assumptions cause the most wasted work.
|
|
22
|
+
- **Propose 2-3 approaches** — Always present alternatives with trade-offs and your recommendation before settling on one. Lead with the recommended option and explain why.
|
|
23
|
+
|
|
24
|
+
## Discovery Techniques
|
|
25
|
+
|
|
26
|
+
### Socratic Method
|
|
27
|
+
|
|
28
|
+
**When:** Requirements are vague or user hasn't fully articulated needs.
|
|
29
|
+
**Protocol:**
|
|
30
|
+
|
|
31
|
+
1. Ask "What problem are we solving?" — get the root need
|
|
32
|
+
2. Ask "Why is this a problem?" — uncover deeper motivations
|
|
33
|
+
3. Ask "What happens if we don't solve it?" — establish stakes
|
|
34
|
+
4. Ask "What would the ideal solution look like?" — define success
|
|
35
|
+
5. Ask "What constraints prevent the ideal?" — map reality
|
|
36
|
+
|
|
37
|
+
### 5 Whys
|
|
38
|
+
|
|
39
|
+
**When:** Root cause analysis of bugs, failures, or design decisions.
|
|
40
|
+
**Protocol:** Start with the symptom. Ask "Why?" 5 times, each time drilling deeper. Stop when you reach a systemic cause, not a surface symptom.
|
|
41
|
+
|
|
42
|
+
### Assumption Surfacing
|
|
43
|
+
|
|
44
|
+
**When:** Early planning, before committing to an approach.
|
|
45
|
+
**Protocol:**
|
|
46
|
+
|
|
47
|
+
1. List every assumption the current plan relies on
|
|
48
|
+
2. Rate each: confidence (high/med/low) + impact if wrong (high/med/low)
|
|
49
|
+
3. For any low-confidence + high-impact: validate before proceeding
|
|
50
|
+
|
|
51
|
+
### Context Mapping
|
|
52
|
+
|
|
53
|
+
**When:** Understanding how a feature fits into the larger system.
|
|
54
|
+
**Protocol:** Map the feature's boundaries: What calls it? What does it call? What data flows in/out? What are the failure modes at each boundary?
|
|
55
|
+
|
|
56
|
+
## Analysis Techniques
|
|
57
|
+
|
|
58
|
+
### Six Thinking Hats
|
|
59
|
+
|
|
60
|
+
**When:** Evaluating a proposal from multiple perspectives.
|
|
61
|
+
**Protocol:** Analyze through 6 lenses sequentially:
|
|
62
|
+
|
|
63
|
+
- **White Hat (Facts):** What data do we have? What's missing?
|
|
64
|
+
- **Red Hat (Feelings):** What's the gut reaction? What feels risky?
|
|
65
|
+
- **Black Hat (Caution):** What could go wrong? What are the weaknesses?
|
|
66
|
+
- **Yellow Hat (Optimism):** What are the benefits? Best-case scenario?
|
|
67
|
+
- **Green Hat (Creativity):** What alternatives exist? What if we did the opposite?
|
|
68
|
+
- **Blue Hat (Process):** What's the decision? What's the next step?
|
|
69
|
+
|
|
70
|
+
### Force Field Analysis
|
|
71
|
+
|
|
72
|
+
**When:** Deciding whether to proceed with a change.
|
|
73
|
+
**Protocol:**
|
|
74
|
+
|
|
75
|
+
1. State the proposed change
|
|
76
|
+
2. List driving forces (reasons FOR)
|
|
77
|
+
3. List restraining forces (reasons AGAINST)
|
|
78
|
+
4. Score each force 1-5 for strength
|
|
79
|
+
5. Sum each side — net positive = proceed, net negative = reconsider
|
|
80
|
+
|
|
81
|
+
### SWOT Analysis
|
|
82
|
+
|
|
83
|
+
**When:** Evaluating a technology choice or architectural approach.
|
|
84
|
+
**Protocol:** Map Strengths, Weaknesses, Opportunities, Threats in a 2x2 matrix. Focus on actionable insights from each quadrant.
|
|
85
|
+
|
|
86
|
+
### Impact Mapping
|
|
87
|
+
|
|
88
|
+
**When:** Prioritizing features or deciding scope.
|
|
89
|
+
**Protocol:** Map: Goal → Actors → Impacts → Deliverables. Each deliverable must trace back through impact and actor to the goal.
|
|
90
|
+
|
|
91
|
+
## Challenge Techniques
|
|
92
|
+
|
|
93
|
+
### Devil's Advocate
|
|
94
|
+
|
|
95
|
+
**When:** Before finalizing any major decision.
|
|
96
|
+
**Protocol:** Argue passionately AGAINST the current recommendation. Find the 3 strongest objections. Then evaluate if the recommendation survives.
|
|
97
|
+
|
|
98
|
+
### Pre-Mortem
|
|
99
|
+
|
|
100
|
+
**When:** Before starting implementation of a plan.
|
|
101
|
+
**Protocol:** "It's 2 weeks from now and this project has failed. Why?" List every plausible failure mode. For each, add a preventive measure to the plan.
|
|
102
|
+
|
|
103
|
+
### Red Team
|
|
104
|
+
|
|
105
|
+
**When:** Security review, adversarial analysis.
|
|
106
|
+
**Protocol:** Adopt the mindset of an attacker. What would you exploit? What data could you steal? What would you break first?
|
|
107
|
+
|
|
108
|
+
### Inversion
|
|
109
|
+
|
|
110
|
+
**When:** Stuck on how to solve a problem.
|
|
111
|
+
**Protocol:** Instead of "How do we make this work?", ask "How could we guarantee this FAILS?" Then do the opposite of each failure cause.
|
|
112
|
+
|
|
113
|
+
## Convergence Techniques
|
|
114
|
+
|
|
115
|
+
### MoSCoW Priority
|
|
116
|
+
|
|
117
|
+
**When:** Scope negotiation, feature prioritization.
|
|
118
|
+
**Protocol:** Classify every item as:
|
|
119
|
+
|
|
120
|
+
- **Must have:** System fails without it
|
|
121
|
+
- **Should have:** Important but workaroundable
|
|
122
|
+
- **Could have:** Nice to have, only if time permits
|
|
123
|
+
- **Won't have:** Explicitly out of scope this iteration
|
|
124
|
+
|
|
125
|
+
### Decision Matrix
|
|
126
|
+
|
|
127
|
+
**When:** Choosing between 3+ alternatives with multiple criteria.
|
|
128
|
+
**Protocol:**
|
|
129
|
+
|
|
130
|
+
1. List alternatives (columns)
|
|
131
|
+
2. List criteria (rows) with weights (1-5)
|
|
132
|
+
3. Score each alternative per criterion (1-5)
|
|
133
|
+
4. Multiply score × weight, sum per alternative
|
|
134
|
+
5. Highest total wins (but sanity-check the result)
|
|
135
|
+
|
|
136
|
+
### Weighted Scoring
|
|
137
|
+
|
|
138
|
+
**When:** Quick prioritization of a backlog or feature list.
|
|
139
|
+
**Protocol:** Score each item on: Value (1-5) × Confidence (1-5) ÷ Effort (1-5). Sort descending. Top items are highest priority.
|
|
140
|
+
|
|
141
|
+
### Dot Voting
|
|
142
|
+
|
|
143
|
+
**When:** Team alignment on priorities (async-friendly).
|
|
144
|
+
**Protocol:** Each participant gets 3 votes. Distribute across options. Most votes wins. Tie-breaker: discuss only tied items.
|
|
145
|
+
|
|
146
|
+
## Creative Techniques
|
|
147
|
+
|
|
148
|
+
### Brainstorming
|
|
149
|
+
|
|
150
|
+
**When:** Generating alternatives before converging.
|
|
151
|
+
**Protocol:** Generate 10+ ideas without judgment. No filtering during generation. Then evaluate each against criteria.
|
|
152
|
+
|
|
153
|
+
### SCAMPER
|
|
154
|
+
|
|
155
|
+
**When:** Improving an existing design.
|
|
156
|
+
**Protocol:** For the current design, ask: Substitute? Combine? Adapt? Modify? Put to other use? Eliminate? Reverse?
|
|
157
|
+
|
|
158
|
+
### Analogical Thinking
|
|
159
|
+
|
|
160
|
+
**When:** Novel problems without obvious solutions.
|
|
161
|
+
**Protocol:** Find 3 analogous problems from different domains. How were they solved? What patterns transfer?
|
|
162
|
+
|
|
163
|
+
### Reverse Brainstorming
|
|
164
|
+
|
|
165
|
+
**When:** Finding improvement opportunities.
|
|
166
|
+
**Protocol:** "How could we make this WORSE?" List ways to sabotage. Then invert each sabotage into an improvement.
|
|
167
|
+
|
|
168
|
+
## Technique Selection Guide
|
|
169
|
+
|
|
170
|
+
| Situation | Recommended Technique |
|
|
171
|
+
| ---------------------- | --------------------------------------------- |
|
|
172
|
+
| Vague requirements | Socratic Method → Assumption Surfacing |
|
|
173
|
+
| Bug root cause | 5 Whys |
|
|
174
|
+
| Technology choice | Six Hats → Decision Matrix |
|
|
175
|
+
| Feature prioritization | MoSCoW → Weighted Scoring |
|
|
176
|
+
| Risk assessment | Pre-Mortem → Force Field |
|
|
177
|
+
| Security review | Red Team → Devil's Advocate |
|
|
178
|
+
| Stuck on approach | Inversion → Analogical Thinking |
|
|
179
|
+
| Scope negotiation | MoSCoW → Impact Mapping |
|
|
180
|
+
| Architecture decision | Six Hats → Devil's Advocate → Decision Matrix |
|
|
181
|
+
|
|
182
|
+
## Chaining Techniques
|
|
183
|
+
|
|
184
|
+
For deeper analysis, chain 2-3 techniques:
|
|
185
|
+
|
|
186
|
+
1. **Discovery → Analysis → Decision:** Socratic Method → Six Hats → Decision Matrix
|
|
187
|
+
2. **Risk Assessment:** Pre-Mortem → Force Field → Assumption Surfacing
|
|
188
|
+
3. **Architecture Decision:** Devil's Advocate → Six Hats → Weighted Scoring
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: engineering-audit
|
|
3
|
+
description: "6-axis engineering audit — evaluates code across Architecture, Security, Performance, Resiliency, Quality, and Scale with severity-based findings and ship/fix/rethink verdicts."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: merlin-framework
|
|
7
|
+
version: "3.0.0"
|
|
8
|
+
auto_activate:
|
|
9
|
+
[audit, engineering-audit, engineering-review, codebase-audit, full-review]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Engineering Audit
|
|
13
|
+
|
|
14
|
+
Full-stack code evaluation across 6 dimensions. Not style. Not lint. Structure, security, resilience, and quality.
|
|
15
|
+
|
|
16
|
+
## The Bar
|
|
17
|
+
|
|
18
|
+
If the world's best engineers audited this codebase, they'd find nothing to complain about. That's the bar.
|
|
19
|
+
|
|
20
|
+
## What You Audit
|
|
21
|
+
|
|
22
|
+
### 1. Architecture
|
|
23
|
+
|
|
24
|
+
- Responsibilities separated cleanly?
|
|
25
|
+
- Module boundaries clear and respected?
|
|
26
|
+
- Data flow obvious from structure?
|
|
27
|
+
- Circular dependencies?
|
|
28
|
+
- A new engineer understands the system in 30 minutes?
|
|
29
|
+
- Separation of concerns at the right granularity?
|
|
30
|
+
|
|
31
|
+
### 2. Security
|
|
32
|
+
|
|
33
|
+
- Input validation at every boundary (client input, API input, third-party data)?
|
|
34
|
+
- Authentication and authorization on every protected route?
|
|
35
|
+
- No secrets, keys, or tokens exposed? — hand off to `secret-safe-commit` (preventive, gitleaks pre-commit + CI) and `purge-leaked-secret` (reactive, 5-phase incident response) when findings appear.
|
|
36
|
+
- Protection against SQL injection, XSS, CSRF?
|
|
37
|
+
- Trust boundaries explicitly defined?
|
|
38
|
+
- Rate limiting on public endpoints?
|
|
39
|
+
- Security headers configured?
|
|
40
|
+
- Dependencies checked for known CVEs?
|
|
41
|
+
- If the project ships a Dockerfile or container image: hand off to `container-security` (Dockerfile hardening checklist + Grype scanning + CVSS×EPSS×KEV triage matrix).
|
|
42
|
+
- If the project is hosted on a self-managed VPS: hand off to `vps-security-hardening` (7-step protocol — SSH key auth, ufw, fail2ban, sshd hardening, recovery kit).
|
|
43
|
+
- If the project processes PII of Brazilian residents: hand off to `lgpd-compliance-audit` (6-phase audit — inventory, lawful basis, consent, DSR endpoints, audit logs, breach response).
|
|
44
|
+
|
|
45
|
+
### 3. Performance
|
|
46
|
+
|
|
47
|
+
**Frontend:**
|
|
48
|
+
|
|
49
|
+
- No unnecessary re-renders?
|
|
50
|
+
- Bundle size awareness?
|
|
51
|
+
- Lazy loading for heavy resources?
|
|
52
|
+
- Core Web Vitals within budget (LCP ≤2.5s, CLS ≤0.1, INP ≤200ms)?
|
|
53
|
+
|
|
54
|
+
**Backend:**
|
|
55
|
+
|
|
56
|
+
- No N+1 queries?
|
|
57
|
+
- Indexes on frequently queried columns?
|
|
58
|
+
- No blocking operations on main thread?
|
|
59
|
+
- Caching where appropriate?
|
|
60
|
+
- Connection pooling configured?
|
|
61
|
+
- Pagination on list endpoints?
|
|
62
|
+
- Streaming for large payloads?
|
|
63
|
+
|
|
64
|
+
### 4. Resiliency
|
|
65
|
+
|
|
66
|
+
- Error handling preserves context (no empty catches)?
|
|
67
|
+
- Retry logic that doesn't amplify failures (exponential backoff, circuit breaker)?
|
|
68
|
+
- Graceful degradation when dependencies fail?
|
|
69
|
+
- Race conditions identified and handled?
|
|
70
|
+
- Data integrity under concurrent operations?
|
|
71
|
+
- Transactions where atomicity matters?
|
|
72
|
+
- Timeout configuration on external calls?
|
|
73
|
+
|
|
74
|
+
### 5. Quality
|
|
75
|
+
|
|
76
|
+
- Tests exist and test the right thing (not just line coverage)?
|
|
77
|
+
- Naming is clear and consistent?
|
|
78
|
+
- Abstractions at the right level (not over-engineered, not under-engineered)?
|
|
79
|
+
- No dead code?
|
|
80
|
+
- Dependencies maintained and up-to-date?
|
|
81
|
+
- No duplicated logic?
|
|
82
|
+
- Functions < 30 LOC, files < 300 lines?
|
|
83
|
+
|
|
84
|
+
### 6. Scale
|
|
85
|
+
|
|
86
|
+
- Where are the bottlenecks at 10x load?
|
|
87
|
+
- And at 100x?
|
|
88
|
+
- Database queries efficient at scale?
|
|
89
|
+
- Architecture horizontally scalable if needed?
|
|
90
|
+
- Stateless where possible for horizontal scaling?
|
|
91
|
+
- Queue/worker patterns for heavy processing?
|
|
92
|
+
- Cache invalidation strategy defined?
|
|
93
|
+
|
|
94
|
+
## Finding Format
|
|
95
|
+
|
|
96
|
+
For each finding:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
[CRITICAL/HIGH/MEDIUM/LOW] Title
|
|
100
|
+
Where: file or area
|
|
101
|
+
Problem: what's wrong
|
|
102
|
+
Impact: what happens if not fixed
|
|
103
|
+
Fix: specific change needed
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Rules
|
|
107
|
+
|
|
108
|
+
- Don't point out style preferences. Not about tabs vs spaces.
|
|
109
|
+
- Every finding must include the specific fix.
|
|
110
|
+
- If the code is solid, say it in one line. Don't invent problems.
|
|
111
|
+
- Be direct. No "you might want to consider." Say what needs to change.
|
|
112
|
+
- Check ALL dimensions. Don't skip the harder ones.
|
|
113
|
+
- Reference existing Merlin skills for deep dives: static-analysis (SAST tooling), secret-safe-commit (gitleaks/pre-commit), purge-leaked-secret (credential rotation runbook), container-security (Docker + Grype), vps-security-hardening (server-side controls), lgpd-compliance-audit (Brazilian PII), web-quality (frontend vitals), load-testing (capacity), code-style (structural rules).
|
|
114
|
+
|
|
115
|
+
## Verdict
|
|
116
|
+
|
|
117
|
+
At the end, summarize:
|
|
118
|
+
|
|
119
|
+
- Total findings by severity
|
|
120
|
+
- **SHIPPA** — World-class. Ship it.
|
|
121
|
+
- **CORRIGE PRIMEIRO** — Fix the findings, then ship.
|
|
122
|
+
- **REPENSA** — Fundamental issues. Rethink the approach before proceeding.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: find-and-edit
|
|
3
|
+
description: Systematic pattern for locating code, understanding context, and applying precise edits across files. Reduces wasted tool calls and prevents blind edits.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: merlin-framework
|
|
7
|
+
version: "3.0.0"
|
|
8
|
+
auto_activate: []
|
|
9
|
+
file_triggers:
|
|
10
|
+
[
|
|
11
|
+
"*.js",
|
|
12
|
+
"*.ts",
|
|
13
|
+
"*.jsx",
|
|
14
|
+
"*.tsx",
|
|
15
|
+
"*.py",
|
|
16
|
+
"*.go",
|
|
17
|
+
"*.rs",
|
|
18
|
+
"*.java",
|
|
19
|
+
"*.css",
|
|
20
|
+
"*.html",
|
|
21
|
+
]
|
|
22
|
+
tool_reminders:
|
|
23
|
+
[
|
|
24
|
+
Always Read a file before editing it — never edit blind,
|
|
25
|
+
Use Grep to locate patterns across the codebase before making changes,
|
|
26
|
+
After editing,
|
|
27
|
+
verify the change didn't break imports or references,
|
|
28
|
+
]
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Find-and-Edit — Systematic Code Modification
|
|
32
|
+
|
|
33
|
+
A structured protocol for locating, understanding, and modifying code. Prevents blind edits, reduces unnecessary tool calls, and ensures changes are consistent across the codebase.
|
|
34
|
+
|
|
35
|
+
## The Find-Read-Edit Cycle
|
|
36
|
+
|
|
37
|
+
Every code modification follows this sequence:
|
|
38
|
+
|
|
39
|
+
1. **FIND** — Locate the target using the right tool
|
|
40
|
+
2. **READ** — Understand the context around the target
|
|
41
|
+
3. **EDIT** — Apply the precise change
|
|
42
|
+
4. **VERIFY** — Confirm the change is correct and consistent
|
|
43
|
+
|
|
44
|
+
Never skip steps. Never edit a file you haven't read.
|
|
45
|
+
|
|
46
|
+
## Finding Code Efficiently
|
|
47
|
+
|
|
48
|
+
### Use the Right Tool for the Search
|
|
49
|
+
|
|
50
|
+
| Goal | Tool | Example |
|
|
51
|
+
| -------------------------------- | -------------- | ------------------------------------------ |
|
|
52
|
+
| Find a file by name/pattern | Glob | `*.controller.ts`, `src/**/*.test.js` |
|
|
53
|
+
| Find code by content | Grep | `function authenticate`, `TODO:.*security` |
|
|
54
|
+
| Find a class/function definition | Grep | `class UserService`, `export function` |
|
|
55
|
+
| Find all usages of a symbol | Grep | `import.*UserService`, `UserService` |
|
|
56
|
+
| Explore unknown area | Agent(Explore) | "How does auth work in this codebase?" |
|
|
57
|
+
|
|
58
|
+
### Search Strategy
|
|
59
|
+
|
|
60
|
+
1. **Start narrow, widen if needed** — Search for the exact symbol first, then broaden
|
|
61
|
+
2. **Use file type filters** — `--type ts` or `--glob "*.py"` to reduce noise
|
|
62
|
+
3. **Check imports/exports** — When renaming, find all import sites first
|
|
63
|
+
4. **Count before changing** — Use `output_mode: count` to know how many occurrences exist
|
|
64
|
+
|
|
65
|
+
## Reading for Context
|
|
66
|
+
|
|
67
|
+
Before editing, read enough context to understand:
|
|
68
|
+
|
|
69
|
+
- **What the code does** — Not just the line, but the surrounding function/block
|
|
70
|
+
- **Why it's structured this way** — Comments, naming, patterns that suggest intent
|
|
71
|
+
- **What depends on it** — Callers, importers, tests that reference the target
|
|
72
|
+
- **What it depends on** — Imports, shared state, configuration
|
|
73
|
+
|
|
74
|
+
### Read Heuristics
|
|
75
|
+
|
|
76
|
+
- Read ±20 lines around the target for function-level changes
|
|
77
|
+
- Read the full file for structural changes (new exports, class modifications)
|
|
78
|
+
- Read related test files when modifying behavior
|
|
79
|
+
|
|
80
|
+
## Editing Precisely
|
|
81
|
+
|
|
82
|
+
### Single-File Edits
|
|
83
|
+
|
|
84
|
+
- Use `Edit` with the smallest unique `old_string` that captures the change
|
|
85
|
+
- Include surrounding context in `old_string` to ensure uniqueness
|
|
86
|
+
- Preserve exact indentation (tabs vs spaces, nesting level)
|
|
87
|
+
|
|
88
|
+
### Multi-File Edits (Rename, Move, Migrate)
|
|
89
|
+
|
|
90
|
+
1. **Enumerate all sites** — Grep for the symbol across the codebase
|
|
91
|
+
2. **Plan the order** — Edit the definition first, then usages, then tests
|
|
92
|
+
3. **Use `replace_all: true`** for safe renames within a single file
|
|
93
|
+
4. **Verify imports** — After renaming an export, update all import statements
|
|
94
|
+
|
|
95
|
+
## Verification Checklist
|
|
96
|
+
|
|
97
|
+
After every edit:
|
|
98
|
+
|
|
99
|
+
- [ ] The edited file still parses (no syntax errors)
|
|
100
|
+
- [ ] Import/export names are consistent across files
|
|
101
|
+
- [ ] Related tests still reference the correct symbols
|
|
102
|
+
- [ ] No orphaned references to the old name/pattern
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: first-party-docs
|
|
3
|
+
description: Guides agents to prefer first-party documentation sources over web search. Integrates with Constitution XII Information Priority Hierarchy.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: merlin-framework
|
|
7
|
+
version: "3.0.0"
|
|
8
|
+
auto_activate: [official-docs, api-reference, library-docs, framework-docs, sdk-docs]
|
|
9
|
+
tool_reminders: [Check first-party documentation BEFORE web searching — see the trusted docs registry, Flag information with source tier: [FIRST-PARTY] or [WEB-SEARCH] or [GENERAL-KNOWLEDGE]]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## First-Party Documentation Priority
|
|
13
|
+
|
|
14
|
+
Per Constitution Article XII, information sources are ranked by reliability. First-party documentation (Tier 3) takes priority over web search (Tier 4) and model knowledge (Tier 5).
|
|
15
|
+
|
|
16
|
+
## Trusted Documentation Sources
|
|
17
|
+
|
|
18
|
+
When researching a technology, always check its official documentation first:
|
|
19
|
+
|
|
20
|
+
| Technology | First-Party Source |
|
|
21
|
+
| ------------ | ----------------------- |
|
|
22
|
+
| Node.js | nodejs.org/docs |
|
|
23
|
+
| React | react.dev |
|
|
24
|
+
| Next.js | nextjs.org/docs |
|
|
25
|
+
| TypeScript | typescriptlang.org/docs |
|
|
26
|
+
| Tailwind CSS | tailwindcss.com/docs |
|
|
27
|
+
| Electron | electronjs.org/docs |
|
|
28
|
+
| PostgreSQL | postgresql.org/docs |
|
|
29
|
+
| SQLite | sqlite.org/docs |
|
|
30
|
+
| Express | expressjs.com |
|
|
31
|
+
| Vite | vite.dev/guide |
|
|
32
|
+
| Claude API | docs.anthropic.com |
|
|
33
|
+
| Stripe | docs.stripe.com |
|
|
34
|
+
| Resend | resend.com/docs |
|
|
35
|
+
| React Email | react.email/docs |
|
|
36
|
+
|
|
37
|
+
## Source Tier Labeling
|
|
38
|
+
|
|
39
|
+
When presenting information to agents or users, label the source tier:
|
|
40
|
+
|
|
41
|
+
- `[FIRST-PARTY]` — From official documentation of the technology
|
|
42
|
+
- `[WEB-SEARCH]` — From web search results (blogs, Stack Overflow, tutorials)
|
|
43
|
+
- `[GENERAL-KNOWLEDGE]` — From model training data with no specific source
|
|
44
|
+
- `[PROJECT-LOCAL]` — From project learnings, decisions, or research documents
|
|
45
|
+
|
|
46
|
+
## Research Flow
|
|
47
|
+
|
|
48
|
+
1. Check project-local knowledge first (`thoughts/shared/learnings/`, `thoughts/shared/research/`)
|
|
49
|
+
2. Check first-party documentation for the relevant technology
|
|
50
|
+
3. Only then fall back to web search for community solutions or edge cases
|
|
51
|
+
4. Flag any information that comes solely from Tier 4-5 sources
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design
|
|
3
|
+
description: "Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications. Generates creative, polished code and UI design that avoids generic AI aesthetics."
|
|
4
|
+
license: MIT (Anthropic)
|
|
5
|
+
compatibility: claude-code
|
|
6
|
+
metadata:
|
|
7
|
+
source: anthropic/skills
|
|
8
|
+
imported: 2026-03-15
|
|
9
|
+
version: "1.0"
|
|
10
|
+
auto_activate:
|
|
11
|
+
[
|
|
12
|
+
frontend-design,
|
|
13
|
+
design-philosophy,
|
|
14
|
+
design-aesthetic,
|
|
15
|
+
ui-philosophy,
|
|
16
|
+
distinctive-ui,
|
|
17
|
+
]
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Frontend Design Philosophy
|
|
21
|
+
|
|
22
|
+
This skill provides the **design thinking layer** that sits above Merlin's existing design skills (design-system, design-palette, design-typography, design-ux-patterns, design-inspiration). While those skills handle specific technical domains, this skill governs the overall aesthetic direction and design philosophy.
|
|
23
|
+
|
|
24
|
+
## Core Principle
|
|
25
|
+
|
|
26
|
+
**Intentional aesthetic direction before coding.** Identify purpose, select a clear tonal approach, and commit fully to that vision rather than defaulting to common patterns.
|
|
27
|
+
|
|
28
|
+
## Design Thinking Process
|
|
29
|
+
|
|
30
|
+
Before writing any code, answer these questions:
|
|
31
|
+
|
|
32
|
+
1. **Purpose** — What is this interface trying to accomplish? What emotions should it evoke?
|
|
33
|
+
2. **Tone** — What's the aesthetic direction? (brutalist, maximalist, retro, organic, minimal, editorial, etc.)
|
|
34
|
+
3. **Constraints** — What are the technical limits? (browser support, performance, accessibility)
|
|
35
|
+
4. **Differentiation** — What makes this feel unique? What would make someone remember it?
|
|
36
|
+
|
|
37
|
+
## Aesthetic Guidelines
|
|
38
|
+
|
|
39
|
+
### Typography
|
|
40
|
+
|
|
41
|
+
Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter in favor of distinctive, characterful selections paired strategically.
|
|
42
|
+
|
|
43
|
+
**Font pairing strategies:**
|
|
44
|
+
|
|
45
|
+
- Contrast weights dramatically (thin display + bold body, or vice versa)
|
|
46
|
+
- Mix serif + sans-serif (not two of the same category)
|
|
47
|
+
- Use one distinctive font + one neutral companion
|
|
48
|
+
- Consider variable fonts for maximum flexibility
|
|
49
|
+
|
|
50
|
+
### Color
|
|
51
|
+
|
|
52
|
+
Commit to a dominant tone with sharp accents. Never give all colors equal visual weight.
|
|
53
|
+
|
|
54
|
+
**Color principles:**
|
|
55
|
+
|
|
56
|
+
- **60-30-10 rule**: 60% dominant, 30% secondary, 10% accent
|
|
57
|
+
- Dark backgrounds for premium feel; light for clarity
|
|
58
|
+
- Use opacity/transparency layers for depth
|
|
59
|
+
- Color should reinforce meaning, not just decorate
|
|
60
|
+
|
|
61
|
+
### Motion & Animation
|
|
62
|
+
|
|
63
|
+
High-impact page loads with staggered reveals outperform scattered interactions.
|
|
64
|
+
|
|
65
|
+
**Motion principles:**
|
|
66
|
+
|
|
67
|
+
- Entrance animations: stagger elements 50-100ms apart
|
|
68
|
+
- Scroll-triggered effects should surprise, not annoy
|
|
69
|
+
- Hover states should feel responsive (100-200ms)
|
|
70
|
+
- Exit animations: faster than entrances (perception of speed)
|
|
71
|
+
- Always respect `prefers-reduced-motion`
|
|
72
|
+
|
|
73
|
+
### Spatial Composition
|
|
74
|
+
|
|
75
|
+
Use unexpected layouts — asymmetry, overlap, diagonal flow, grid-breaking elements.
|
|
76
|
+
|
|
77
|
+
**Layout principles:**
|
|
78
|
+
|
|
79
|
+
- Break the grid intentionally (not accidentally)
|
|
80
|
+
- Negative space is a design element, not wasted space
|
|
81
|
+
- Overlapping elements create depth and interest
|
|
82
|
+
- Asymmetric layouts feel more dynamic than centered ones
|
|
83
|
+
|
|
84
|
+
### Backgrounds & Texture
|
|
85
|
+
|
|
86
|
+
Create atmosphere through textures, gradients, and layered effects.
|
|
87
|
+
|
|
88
|
+
**Background techniques:**
|
|
89
|
+
|
|
90
|
+
- Gradient meshes for organic feel
|
|
91
|
+
- Subtle noise/grain for tactile quality
|
|
92
|
+
- Layered semi-transparent shapes for depth
|
|
93
|
+
- Ambient video/animation for immersion (with fallbacks)
|
|
94
|
+
|
|
95
|
+
## Anti-Patterns to Avoid
|
|
96
|
+
|
|
97
|
+
These patterns scream "generic AI-generated":
|
|
98
|
+
|
|
99
|
+
- **Inter/Geist/system font defaults** — Choose something with character
|
|
100
|
+
- **Purple-to-blue gradient heroes** — Every AI demo uses this
|
|
101
|
+
- **Cookie-cutter card grids** — All identical, evenly spaced
|
|
102
|
+
- **Centered everything** — Left-align body text, vary composition
|
|
103
|
+
- **Rounded corners on everything** — Mix sharp and soft edges intentionally
|
|
104
|
+
- **Generic stock illustration style** — Use photography, icons, or custom graphics
|
|
105
|
+
- **Equally-weighted navigation items** — Create visual hierarchy
|
|
106
|
+
- **Flat solid backgrounds** — Add texture, gradients, or atmosphere
|
|
107
|
+
|
|
108
|
+
## Complexity Matches Vision
|
|
109
|
+
|
|
110
|
+
The amount of code should match the design ambition:
|
|
111
|
+
|
|
112
|
+
- **Maximalist designs** warrant elaborate CSS, animations, and layered compositions
|
|
113
|
+
- **Minimalist designs** require restraint and precision in spacing, typography, and subtle details
|
|
114
|
+
- **Don't over-engineer simple designs** and **don't under-engineer ambitious ones**
|
|
115
|
+
|
|
116
|
+
## Integration with Existing Merlin Skills
|
|
117
|
+
|
|
118
|
+
This skill works alongside:
|
|
119
|
+
|
|
120
|
+
- **design-system**: Semantic tokens, spacing grid, component architecture
|
|
121
|
+
- **design-palette**: Industry-specific palettes, WCAG contrast
|
|
122
|
+
- **design-typography**: Font pairing (20 combos), size scales
|
|
123
|
+
- **design-ux-patterns**: Landing pages, dashboards, accessibility
|
|
124
|
+
- **design-inspiration**: Generates design briefs before visual work
|
|
125
|
+
- **mage-beauty**: Operational verbs (critique, polish, bolder, …) and consolidated anti-patterns. Invoke via `/beauty <verb>`.
|
|
126
|
+
|
|
127
|
+
Use this skill for the **overall aesthetic direction**, then consult the specific skills for implementation details.
|
|
128
|
+
|
|
129
|
+
## Design Evaluation Rubric
|
|
130
|
+
|
|
131
|
+
When reviewing or evaluating an interface, assess across these 6 dimensions:
|
|
132
|
+
|
|
133
|
+
### Sophistication
|
|
134
|
+
|
|
135
|
+
Every element on screen has a reason to exist. If you can't explain why something is there, it shouldn't be. Decoration without purpose fails. Complexity without clarity fails.
|
|
136
|
+
|
|
137
|
+
### Differentiation
|
|
138
|
+
|
|
139
|
+
This interface could only belong to this product. If you swap the logo and it could be anything, the design failed. Identity isn't a logo. It's how everything feels together.
|
|
140
|
+
|
|
141
|
+
### Experience
|
|
142
|
+
|
|
143
|
+
Using this software must feel like something. Not neutral. Not invisible. There must be moments where the user feels someone cared deeply about the craft. Transitions, micro-interactions, loading states, empty states, error states — every state is designed, not default.
|
|
144
|
+
|
|
145
|
+
### Enchantment
|
|
146
|
+
|
|
147
|
+
The small things that make someone pause. A hover animation that feels exactly right. A transition that guides instead of distracts. Typography that breathes. Color that means something.
|
|
148
|
+
|
|
149
|
+
### Usability
|
|
150
|
+
|
|
151
|
+
Effortless. The user never wonders what to do. Information hierarchy is clear. Primary actions are obvious. Navigation is intuitive. The interface teaches itself.
|
|
152
|
+
|
|
153
|
+
### Beauty
|
|
154
|
+
|
|
155
|
+
Judged against the best products ever built, not the most common. Dark-first consideration. Editorial typography. Cinematic sensibility. Generous whitespace. Sophisticated color with restraint.
|
|
156
|
+
|
|
157
|
+
## Benchmark Products
|
|
158
|
+
|
|
159
|
+
These are the reference — not to copy, but to match in craft, intention, and care:
|
|
160
|
+
|
|
161
|
+
- **Apple**: Restraint, material quality, every pixel considered
|
|
162
|
+
- **Airbnb**: Experience design, emotional resonance, storytelling through interface
|
|
163
|
+
- **Linear**: Density with elegance, dark mode mastery, information architecture
|
|
164
|
+
- **Stripe**: Layout sophistication, editorial typography, documentation as product
|
|
165
|
+
- **Vercel**: Whitespace as design element, typographic precision, minimalism that communicates
|
|
166
|
+
|
|
167
|
+
## Rejection Criteria (Immediate Fail)
|
|
168
|
+
|
|
169
|
+
These patterns fail immediately — no discussion:
|
|
170
|
+
|
|
171
|
+
- **Template energy** — Looks like a UI kit with swapped content
|
|
172
|
+
- **All defaults** — System fonts, default spacing, default colors
|
|
173
|
+
- **No dark mode consideration** — Light-only without justification
|
|
174
|
+
- **Generic SaaS aesthetic** — Card grids with gray borders and blue buttons
|
|
175
|
+
- **Flat visual hierarchy** — Everything has the same weight
|
|
176
|
+
- **2015 admin panel aesthetic** — Outdated patterns presented as modern
|
|
177
|
+
- **"We'll make it pretty later"** — Quality is built in, not added
|
|
178
|
+
|
|
179
|
+
## Fix Specificity Standard
|
|
180
|
+
|
|
181
|
+
When a design fails evaluation, fixes must be specific — not vague:
|
|
182
|
+
|
|
183
|
+
**Bad:** "Make the background darker"
|
|
184
|
+
**Good:** "Change background to #0A0A0B, increase heading font-weight to 600 with letter-spacing -0.02em"
|
|
185
|
+
|
|
186
|
+
**Bad:** "Add more spacing"
|
|
187
|
+
**Good:** "Increase section padding from 24px to 64px, add 32px gap between card rows"
|
|
188
|
+
|
|
189
|
+
**Bad:** "The colors feel off"
|
|
190
|
+
**Good:** "Replace #6366F1 accent with #818CF8 at 80% opacity on dark surfaces for better contrast"
|
|
191
|
+
|
|
192
|
+
Every design fix must include exact values: hex codes, pixel values, font-weight numbers, opacity percentages, letter-spacing values.
|
|
193
|
+
|
|
194
|
+
### Pass Format
|
|
195
|
+
|
|
196
|
+
If the design meets the bar: "Atende a barra." One sentence about what works. Move on.
|
|
197
|
+
|
|
198
|
+
### Fail Format
|
|
199
|
+
|
|
200
|
+
For each issue:
|
|
201
|
+
|
|
202
|
+
1. **What** is wrong (specific element or pattern)
|
|
203
|
+
2. **Why** it fails (which principle it violates)
|
|
204
|
+
3. **How to fix** (exact values — colors, spacing, typography, layout changes)
|