@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,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Capture a domain-specific learning for cross-agent knowledge sharing
|
|
3
|
+
model: sonnet
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Capture Learning
|
|
7
|
+
|
|
8
|
+
Save a domain-specific insight as a persistent learning document. Learnings are
|
|
9
|
+
small, actionable knowledge points that agents discover while working — gotchas,
|
|
10
|
+
patterns, conventions, constraints, and workarounds. They are indexed and surfaced
|
|
11
|
+
to other agents working in the same area of action via the Alkimia memory system.
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
- An agent discovers a non-obvious behavior in an API, library, or system
|
|
16
|
+
- A pattern or convention is established that future agents should follow
|
|
17
|
+
- A constraint or hard limit is found that affects implementation decisions
|
|
18
|
+
- A workaround is applied that other agents need to know about
|
|
19
|
+
- A gotcha or pitfall is hit that would waste time if re-discovered
|
|
20
|
+
- The user explicitly says "save this as a learning" or "remember this"
|
|
21
|
+
|
|
22
|
+
## What Qualifies as a Learning (vs Other Types)
|
|
23
|
+
|
|
24
|
+
| If it's... | Use |
|
|
25
|
+
| ------------------------------------------- | ------------ |
|
|
26
|
+
| A small, reusable domain fact | **Learning** |
|
|
27
|
+
| A session state snapshot | Handoff |
|
|
28
|
+
| A multi-session goal | Objective |
|
|
29
|
+
| A time-bound action item | Reminder |
|
|
30
|
+
| A major architectural choice with rationale | Decision |
|
|
31
|
+
| A deep exploratory analysis | Research |
|
|
32
|
+
|
|
33
|
+
## Process
|
|
34
|
+
|
|
35
|
+
1. **Extract the insight:**
|
|
36
|
+
- Identify the specific knowledge point from the conversation
|
|
37
|
+
- Distill it to a clear, concise statement (1-3 sentences)
|
|
38
|
+
- Avoid vague or generic observations — be precise and actionable
|
|
39
|
+
|
|
40
|
+
2. **Determine metadata (critical for retrieval):**
|
|
41
|
+
- **domain:** The broad area of action (database, auth, api, build, frontend, deployment, infra, testing, etc.)
|
|
42
|
+
- **category:** What kind of learning?
|
|
43
|
+
- `gotcha` — trap, pitfall, unexpected behavior
|
|
44
|
+
- `pattern` — reusable approach that works well
|
|
45
|
+
- `convention` — team/project norm to follow
|
|
46
|
+
- `constraint` — hard limit or system boundary
|
|
47
|
+
- `insight` — deeper understanding of how something works
|
|
48
|
+
- `workaround` — temporary fix or bypass
|
|
49
|
+
- **confidence:** How certain?
|
|
50
|
+
- `observed` — seen once (default)
|
|
51
|
+
- `verified` — confirmed across multiple instances
|
|
52
|
+
- `assumed` — inferred but not yet tested
|
|
53
|
+
- **ttl:** Retention (v3.4)
|
|
54
|
+
- `permanent` — 🔒 strategic: philosophy, architecture, durable conventions (default; never expires)
|
|
55
|
+
- `30d` — ⏳ tactical: a bug/workaround/state fact that goes stale; auto-expires after 30 days
|
|
56
|
+
- **tags:** Granular keywords (technologies, APIs, file names, concepts)
|
|
57
|
+
- **applies_to:** Specific files, modules, or areas this is most relevant to
|
|
58
|
+
- **project:** Which project (if multi-project Merlin install)
|
|
59
|
+
|
|
60
|
+
3. **Check for superseded learnings:**
|
|
61
|
+
- Scan `thoughts/shared/learnings/` for existing learnings in the same domain
|
|
62
|
+
- If this learning updates or contradicts an older one, set `supersedes` to the older file path
|
|
63
|
+
|
|
64
|
+
4. **Save the learning:**
|
|
65
|
+
- Path: `thoughts/shared/learnings/YYYY-MM-DD-{slug}.md`
|
|
66
|
+
- Use today's date and a descriptive kebab-case slug
|
|
67
|
+
- Slug should include the domain for easy scanning (e.g., `api-pagination-limit`, `build-env-local-required`)
|
|
68
|
+
|
|
69
|
+
5. **Rebuild the thoughts index** after saving:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
node .merlin-core/tools/merlin-tools.js index
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
6. **Confirm creation:**
|
|
76
|
+
- Show the saved path
|
|
77
|
+
- Show the domain and tags assigned
|
|
78
|
+
- Explain that agents working in the same area will automatically see this learning
|
|
79
|
+
|
|
80
|
+
## Template
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
---
|
|
84
|
+
title: "[Concise, specific title]"
|
|
85
|
+
date: YYYY-MM-DD
|
|
86
|
+
tags: [specific, granular, keywords]
|
|
87
|
+
domain: "[area of action]"
|
|
88
|
+
category: gotcha
|
|
89
|
+
confidence: observed
|
|
90
|
+
ttl: permanent
|
|
91
|
+
source_agent: dev
|
|
92
|
+
project: "[project name]"
|
|
93
|
+
applies_to: [src/specific/path, module-name]
|
|
94
|
+
supersedes: ""
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
# Learning: [Title]
|
|
98
|
+
|
|
99
|
+
## Insight
|
|
100
|
+
|
|
101
|
+
[The specific knowledge point — clear, concise, actionable. 1-3 sentences max.]
|
|
102
|
+
|
|
103
|
+
## Context
|
|
104
|
+
|
|
105
|
+
[When and how this was discovered. What was happening that led to this insight.]
|
|
106
|
+
|
|
107
|
+
## Applies To
|
|
108
|
+
|
|
109
|
+
- **Files/Modules:** [specific paths or module names]
|
|
110
|
+
- **When:** [under what conditions this is relevant]
|
|
111
|
+
- **Impact:** [what goes wrong if this is ignored]
|
|
112
|
+
|
|
113
|
+
## Related
|
|
114
|
+
|
|
115
|
+
- Plan: [link to plan if applicable]
|
|
116
|
+
- Handoff: [link to handoff if applicable]
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Examples
|
|
120
|
+
|
|
121
|
+
### Gotcha
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
title: "Electron getUserMedia requires secure context — data URIs fail silently"
|
|
125
|
+
domain: electron
|
|
126
|
+
category: gotcha
|
|
127
|
+
tags: [electron, getUserMedia, mediaDevices, secure-context, data-uri]
|
|
128
|
+
applies_to: [src/main/capture/]
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Convention
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
title: "React components use composition over inheritance — no class components"
|
|
135
|
+
domain: frontend
|
|
136
|
+
category: convention
|
|
137
|
+
tags: [react, components, composition, hooks]
|
|
138
|
+
applies_to: [src/renderer/components/]
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Constraint
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
title: "GitHub API rate limit: 5000 requests/hour with token, 60 without"
|
|
145
|
+
domain: api
|
|
146
|
+
category: constraint
|
|
147
|
+
tags: [github, api, rate-limit, authentication]
|
|
148
|
+
applies_to: [src/services/github/]
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Constitution Compliance
|
|
152
|
+
|
|
153
|
+
- **Article VIII (Craftsmanship):** Learnings preserve domain knowledge across sessions and agents
|
|
154
|
+
- **Article III (Spec-Driven):** Learnings trace to real observations, not invention
|
|
155
|
+
- **Article IV (No Invention):** Only capture what was actually discovered, never speculate
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review active objectives and reminders, update progress
|
|
3
|
+
model: sonnet
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Check Objectives
|
|
7
|
+
|
|
8
|
+
Review all active reminders and objectives, update progress, and flag items
|
|
9
|
+
that need attention. This command provides a snapshot of ongoing goals and
|
|
10
|
+
their current status.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- At the start of a new session to understand what's in flight
|
|
15
|
+
- Periodically during long sessions to stay aligned
|
|
16
|
+
- Before creating a handoff to capture current objective state
|
|
17
|
+
- When resuming from a handoff to re-establish context
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### Step 1: Scan Reminders
|
|
22
|
+
|
|
23
|
+
1. Read all files in `thoughts/shared/reminders/`
|
|
24
|
+
2. Filter to status = pending or acknowledged (skip completed/expired)
|
|
25
|
+
3. Check if any `due_date` has passed — flag as OVERDUE
|
|
26
|
+
4. Sort by priority (critical > high > medium > low), then by due_date
|
|
27
|
+
|
|
28
|
+
### Step 2: Scan Objectives
|
|
29
|
+
|
|
30
|
+
1. Read all files in `thoughts/shared/objectives/`
|
|
31
|
+
2. Filter to status = active (skip draft/paused/achieved/abandoned)
|
|
32
|
+
3. For each objective, evaluate progress against success criteria
|
|
33
|
+
4. Check if any `deadline` has passed — flag as OVERDUE
|
|
34
|
+
5. Sort by deadline proximity
|
|
35
|
+
|
|
36
|
+
### Step 3: Evaluate Progress
|
|
37
|
+
|
|
38
|
+
For each active objective:
|
|
39
|
+
|
|
40
|
+
- Count how many success criteria checkboxes are checked (- [x])
|
|
41
|
+
- Calculate progress_pct from checked/total ratio
|
|
42
|
+
- Update progress_pct in the objective frontmatter if it changed
|
|
43
|
+
|
|
44
|
+
### Step 4: Present Summary
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
## Objectives & Reminders Status
|
|
48
|
+
|
|
49
|
+
### Active Objectives
|
|
50
|
+
|
|
51
|
+
| Objective | Scope | Progress | Deadline | Status |
|
|
52
|
+
| --------- | ------- | -------- | -------- | ---------------------------- |
|
|
53
|
+
| [title] | [scope] | [pct]% | [date] | On Track / At Risk / Overdue |
|
|
54
|
+
|
|
55
|
+
### Active Reminders
|
|
56
|
+
|
|
57
|
+
| Reminder | Priority | Due | Owner | Status |
|
|
58
|
+
| -------- | ---------- | ------ | -------- | ----------------- |
|
|
59
|
+
| [title] | [priority] | [date] | @[agent] | Pending / Overdue |
|
|
60
|
+
|
|
61
|
+
### Recommendations
|
|
62
|
+
|
|
63
|
+
- [Action items based on current state]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 5: Rebuild Index (if anything changed)
|
|
67
|
+
|
|
68
|
+
If any objective's `progress_pct` was updated or any reminder status was changed:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
node .merlin-core/tools/merlin-tools.js index
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Step 6: Offer Actions
|
|
75
|
+
|
|
76
|
+
After presenting the summary, offer:
|
|
77
|
+
|
|
78
|
+
- Update an objective's progress or status
|
|
79
|
+
- Mark a reminder as completed or expired
|
|
80
|
+
- Create a new reminder or objective if gaps are identified
|
|
81
|
+
|
|
82
|
+
## Constitution Compliance
|
|
83
|
+
|
|
84
|
+
- **Article VIII (Craftsmanship):** Regular check-ins maintain goal awareness
|
|
85
|
+
- **Article III (Spec-Driven):** Objectives connect to the plan-driven workflow
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Conclude a thought (handoff, plan, reminder, objective) and optionally capture learnings
|
|
3
|
+
model: sonnet
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Conclude Thought
|
|
7
|
+
|
|
8
|
+
Mark a thought document as concluded/completed, removing it from active context
|
|
9
|
+
injection while preserving it in the repository. This is a lifecycle primitive
|
|
10
|
+
used by `/fast-start` and available standalone.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- A plan has been fully implemented or is no longer relevant
|
|
15
|
+
- A handoff has been consumed and the session context is no longer needed
|
|
16
|
+
- A reminder has been addressed or is no longer applicable
|
|
17
|
+
- An objective has been achieved or abandoned
|
|
18
|
+
- During `/fast-start` interactive review when the user confirms an item is done
|
|
19
|
+
- Proactively when you notice a thought is stale during normal work
|
|
20
|
+
|
|
21
|
+
## What This Command Does
|
|
22
|
+
|
|
23
|
+
1. Adds `status: concluded` (or appropriate terminal status) to the YAML frontmatter
|
|
24
|
+
2. Adds `concluded_date: YYYY-MM-DD` to track when it was closed
|
|
25
|
+
3. Optionally triggers `/capture-learning` to extract insights before closing
|
|
26
|
+
4. The ThoughtsProvider automatically filters out concluded items from context injection
|
|
27
|
+
|
|
28
|
+
## Process
|
|
29
|
+
|
|
30
|
+
1. **Identify the thought to conclude:**
|
|
31
|
+
- Accept a file path, citation ID, or description
|
|
32
|
+
- If ambiguous, list matching thoughts and ask the user to confirm
|
|
33
|
+
- Read the file and display its title, date, and summary
|
|
34
|
+
|
|
35
|
+
2. **Verify it's not already concluded:**
|
|
36
|
+
- Check `status` field in frontmatter
|
|
37
|
+
- If already concluded/achieved/abandoned/completed/expired, inform the user and stop
|
|
38
|
+
- If no frontmatter exists, add the required fields
|
|
39
|
+
|
|
40
|
+
3. **Determine the appropriate terminal status:**
|
|
41
|
+
|
|
42
|
+
| Thought Type | Terminal Statuses | Default |
|
|
43
|
+
| ------------ | ---------------------------- | ---------- |
|
|
44
|
+
| handoff | concluded | concluded |
|
|
45
|
+
| plan | concluded | concluded |
|
|
46
|
+
| reminder | completed, expired | completed |
|
|
47
|
+
| objective | achieved, abandoned | achieved |
|
|
48
|
+
| research | concluded | concluded |
|
|
49
|
+
| decision | concluded | concluded |
|
|
50
|
+
| learning | _(learnings don't conclude)_ | — |
|
|
51
|
+
| process | deprecated | deprecated |
|
|
52
|
+
- Learnings are permanent knowledge — they don't get concluded. If the user
|
|
53
|
+
wants to retire a learning, suggest using `supersedes` in a new learning instead.
|
|
54
|
+
- Processes are permanent operating procedures (like learnings). They leave the
|
|
55
|
+
active set only by being `deprecated` — retire a process when it no longer
|
|
56
|
+
reflects how the business actually works.
|
|
57
|
+
|
|
58
|
+
4. **Ask about learning capture:**
|
|
59
|
+
- Before concluding, ask: "Any insights or learnings to capture from this before closing?"
|
|
60
|
+
- If yes, guide through the `/capture-learning` flow
|
|
61
|
+
- If no, proceed to conclusion
|
|
62
|
+
|
|
63
|
+
5. **Update the frontmatter:**
|
|
64
|
+
- Add or update `status` to the determined terminal status
|
|
65
|
+
- Add `concluded_date: YYYY-MM-DD` with today's date
|
|
66
|
+
- Preserve all existing frontmatter fields
|
|
67
|
+
|
|
68
|
+
6. **Rebuild the thoughts index** after updating:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
node .merlin-core/tools/merlin-tools.js index
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
This keeps INDEX.json fresh so the concluded item is immediately filtered out of active context.
|
|
75
|
+
|
|
76
|
+
7. **Confirm the conclusion:**
|
|
77
|
+
- Show the updated file path
|
|
78
|
+
- Confirm the status change
|
|
79
|
+
- Note that this thought will no longer appear in context injection
|
|
80
|
+
|
|
81
|
+
## Examples
|
|
82
|
+
|
|
83
|
+
### Concluding a handoff
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
User: /conclude the design intelligence handoff
|
|
87
|
+
Agent: Found: thoughts/shared/handoffs/2026-03-06-design-intelligence-upgrade.md
|
|
88
|
+
Title: "Design Intelligence Upgrade"
|
|
89
|
+
Date: 2026-03-06
|
|
90
|
+
|
|
91
|
+
Any insights or learnings to capture before closing?
|
|
92
|
+
User: No, it's all captured already
|
|
93
|
+
Agent: Updated status to "concluded" with concluded_date: 2026-03-09.
|
|
94
|
+
This handoff will no longer appear in session context.
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Concluding a plan
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
User: /conclude
|
|
101
|
+
Agent: Which thought would you like to conclude? Active items:
|
|
102
|
+
1. plans/2026-03-08-fast-start-system.md — "Fast-Start System"
|
|
103
|
+
2. handoffs/2026-03-07-design-intelligence.md — "Design Intelligence"
|
|
104
|
+
User: 1
|
|
105
|
+
Agent: Any insights or learnings to capture before closing?
|
|
106
|
+
User: Yes — the fast-start pattern of scanning thoughts is reusable
|
|
107
|
+
Agent: [Runs /capture-learning flow]
|
|
108
|
+
...
|
|
109
|
+
Plan concluded with status: concluded, concluded_date: 2026-03-09.
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Batch Mode
|
|
113
|
+
|
|
114
|
+
When called from `/fast-start` interactive review, this command operates in
|
|
115
|
+
streamlined mode:
|
|
116
|
+
|
|
117
|
+
- Skip the identification step (thought is already selected)
|
|
118
|
+
- Keep the learning capture prompt (important for knowledge preservation)
|
|
119
|
+
- Use shorter confirmations
|
|
120
|
+
|
|
121
|
+
## Constitution Compliance
|
|
122
|
+
|
|
123
|
+
- **Article VIII (Craftsmanship):** Proper lifecycle management preserves institutional knowledge
|
|
124
|
+
- **Article III (Spec-Driven):** Concluding plans marks the completion of the SDD cycle
|
|
125
|
+
- **Article VII (Human Gates):** Always asks user before concluding — never auto-concludes
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a handoff document for context transfer between sessions
|
|
3
|
+
model: opus
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create Handoff
|
|
7
|
+
|
|
8
|
+
Create a handoff document that captures the current session state for seamless continuation in a new context window.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Context window is getting large (DEPLETED/CRITICAL bracket)
|
|
13
|
+
- Switching between development phases
|
|
14
|
+
- Handing work to a different agent or developer
|
|
15
|
+
- End of work session
|
|
16
|
+
|
|
17
|
+
## Process
|
|
18
|
+
|
|
19
|
+
1. **Analyze current state:**
|
|
20
|
+
- Review TodoWrite for in-progress items
|
|
21
|
+
- Check git status for uncommitted changes
|
|
22
|
+
- Identify the current phase and next steps
|
|
23
|
+
|
|
24
|
+
2. **Create handoff document:**
|
|
25
|
+
|
|
26
|
+
Save to `thoughts/shared/handoffs/` with this format:
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
---
|
|
30
|
+
date: [ISO 8601]
|
|
31
|
+
from: [current agent/session]
|
|
32
|
+
status: in_progress
|
|
33
|
+
branch: [current git branch]
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
# Handoff: [Brief Description]
|
|
37
|
+
|
|
38
|
+
## Current State
|
|
39
|
+
|
|
40
|
+
- Working on: [task/story]
|
|
41
|
+
- Phase: [which phase of the plan]
|
|
42
|
+
- Branch: [git branch]
|
|
43
|
+
|
|
44
|
+
## What Was Done
|
|
45
|
+
|
|
46
|
+
- [Completed item 1]
|
|
47
|
+
- [Completed item 2]
|
|
48
|
+
|
|
49
|
+
## Key Decisions
|
|
50
|
+
|
|
51
|
+
| Decision | Rationale | Alternatives Rejected |
|
|
52
|
+
| ------------ | ----------------- | ---------------------------------- |
|
|
53
|
+
| [Decision 1] | [Why this choice] | [What was considered but rejected] |
|
|
54
|
+
|
|
55
|
+
## What's Next
|
|
56
|
+
|
|
57
|
+
1. [Next immediate step]
|
|
58
|
+
2. [Following step]
|
|
59
|
+
|
|
60
|
+
## Important Context
|
|
61
|
+
|
|
62
|
+
- [Key decision made and why]
|
|
63
|
+
- [Gotcha or pitfall to watch for]
|
|
64
|
+
- [Dependency or blocker]
|
|
65
|
+
|
|
66
|
+
## Key Files
|
|
67
|
+
|
|
68
|
+
| File | Status | Notes |
|
|
69
|
+
| ------------ | -------- | -------------- |
|
|
70
|
+
| path/to/file | modified | [what changed] |
|
|
71
|
+
|
|
72
|
+
## Open Questions
|
|
73
|
+
|
|
74
|
+
- [Question that needs resolution]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
3. **Present the handoff path** to the user:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
Handoff saved to: thoughts/shared/handoffs/[filename].md
|
|
81
|
+
To resume: /resume-handoff thoughts/shared/handoffs/[filename].md
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
4. **Rebuild the thoughts index** after saving:
|
|
85
|
+
```bash
|
|
86
|
+
node .merlin-core/tools/merlin-tools.js index
|
|
87
|
+
```
|
|
88
|
+
This keeps INDEX.json fresh so `/fast-start` and context injection see the new handoff immediately.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a cross-session objective with trackable success criteria
|
|
3
|
+
model: sonnet
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create Objective
|
|
7
|
+
|
|
8
|
+
Create an objective that tracks a goal across multiple sessions. Objectives
|
|
9
|
+
have explicit success criteria, progress tracking, and deadlines. They persist
|
|
10
|
+
in `thoughts/shared/objectives/` and are surfaced via the Alkimia context engine.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- Starting a multi-session project or feature
|
|
15
|
+
- Defining sprint or team goals
|
|
16
|
+
- Tracking progress on a long-running initiative
|
|
17
|
+
- Establishing measurable targets for a body of work
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
1. **Define the objective:**
|
|
22
|
+
- Title (what we're trying to achieve)
|
|
23
|
+
- Scope: session | sprint | project | team
|
|
24
|
+
- Deadline (when this should be achieved by)
|
|
25
|
+
- Owner (agent or 'team')
|
|
26
|
+
|
|
27
|
+
2. **Define success criteria (2-5 items):**
|
|
28
|
+
- Each criterion should be measurable and verifiable
|
|
29
|
+
- Include both automated checks and manual verification where applicable
|
|
30
|
+
- Phrase as "X is true" statements, not tasks
|
|
31
|
+
|
|
32
|
+
3. **Link to plans:**
|
|
33
|
+
- If implementation plans exist, link them via `linked_plans`
|
|
34
|
+
- This connects objectives to the spec-driven workflow
|
|
35
|
+
|
|
36
|
+
4. **Save the objective:**
|
|
37
|
+
- Path: `thoughts/shared/objectives/YYYY-MM-DD-{slug}.md`
|
|
38
|
+
- Initial progress_pct: 0
|
|
39
|
+
|
|
40
|
+
5. **Rebuild the thoughts index** after saving:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
node .merlin-core/tools/merlin-tools.js index
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
6. **Confirm creation:**
|
|
47
|
+
- Show the saved path
|
|
48
|
+
- List the success criteria for user verification
|
|
49
|
+
|
|
50
|
+
## Template
|
|
51
|
+
|
|
52
|
+
```markdown
|
|
53
|
+
---
|
|
54
|
+
title: "[What we're trying to achieve]"
|
|
55
|
+
date: YYYY-MM-DD
|
|
56
|
+
tags: [relevant, tags]
|
|
57
|
+
scope: project
|
|
58
|
+
status: active
|
|
59
|
+
owner: team
|
|
60
|
+
deadline: YYYY-MM-DD
|
|
61
|
+
success_criteria:
|
|
62
|
+
- "Criterion 1 is met"
|
|
63
|
+
- "Criterion 2 is verified"
|
|
64
|
+
- "Criterion 3 passes"
|
|
65
|
+
linked_plans: []
|
|
66
|
+
progress_pct: 0
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
# Objective: [Title]
|
|
70
|
+
|
|
71
|
+
## Overview
|
|
72
|
+
|
|
73
|
+
[2-3 sentences describing the goal and why it matters]
|
|
74
|
+
|
|
75
|
+
## Success Criteria
|
|
76
|
+
|
|
77
|
+
- [ ] [Criterion 1] — [how to verify]
|
|
78
|
+
- [ ] [Criterion 2] — [how to verify]
|
|
79
|
+
- [ ] [Criterion 3] — [how to verify]
|
|
80
|
+
|
|
81
|
+
## Current Progress
|
|
82
|
+
|
|
83
|
+
Progress: 0%
|
|
84
|
+
|
|
85
|
+
### Completed
|
|
86
|
+
|
|
87
|
+
(none yet)
|
|
88
|
+
|
|
89
|
+
### In Progress
|
|
90
|
+
|
|
91
|
+
(none yet)
|
|
92
|
+
|
|
93
|
+
### Blocked
|
|
94
|
+
|
|
95
|
+
(none)
|
|
96
|
+
|
|
97
|
+
## Related Plans
|
|
98
|
+
|
|
99
|
+
- [Link to plan if applicable]
|
|
100
|
+
|
|
101
|
+
## Next Steps
|
|
102
|
+
|
|
103
|
+
1. [First action toward this objective]
|
|
104
|
+
2. [Second action]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Constitution Compliance
|
|
108
|
+
|
|
109
|
+
- **Article VIII (Craftsmanship):** Objectives provide the "why" that keeps agents focused across sessions
|
|
110
|
+
- **Article V (Quality):** Success criteria enforce measurable quality standards
|
|
111
|
+
- **Article III (Spec-Driven):** Objectives link to plans for full traceability
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a PROCESSO — a certifiable business process (runbook + trigger + checklist)
|
|
3
|
+
model: sonnet
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create Process
|
|
7
|
+
|
|
8
|
+
Create a **PROCESSO**: a recurring business process captured as a unified artifact —
|
|
9
|
+
an executable runbook, a trigger/schedule, and a checklist, all in one file. Processes
|
|
10
|
+
persist in `thoughts/shared/processes/` and are surfaced via the Alkimia context engine
|
|
11
|
+
and `/recall-processes`.
|
|
12
|
+
|
|
13
|
+
A process is **deliberately bureaucratic to create**: every step must be classified by
|
|
14
|
+
safety, and the process only becomes trustworthy after the `/certify-process` pipeline
|
|
15
|
+
(`/tdd` rehearsal + `/check` + human sign-off). This command produces a **`status: draft`**
|
|
16
|
+
process — creation only. Certification and execution are separate, gated steps
|
|
17
|
+
(Constitution XIV).
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- A task the business runs repeatedly the same way (release, onboarding, weekly review,
|
|
22
|
+
content pipeline, backup, audit)
|
|
23
|
+
- Something you want an agent to eventually run autonomously, start-to-finish
|
|
24
|
+
- Codifying tribal knowledge into a repeatable, verifiable procedure
|
|
25
|
+
|
|
26
|
+
## Process
|
|
27
|
+
|
|
28
|
+
1. **Define the process header:**
|
|
29
|
+
- Title (what the process accomplishes)
|
|
30
|
+
- Owner (agent or 'team'), project, tags
|
|
31
|
+
|
|
32
|
+
2. **Define the trigger (FACET 2):**
|
|
33
|
+
- `mode`: `manual` (run on demand), `scheduled` (cron expr + tz), or `event`
|
|
34
|
+
- For `scheduled`, capture a 5-field cron expression and timezone
|
|
35
|
+
|
|
36
|
+
3. **Define the steps (FACET 1 — the runbook):** for EACH step, capture:
|
|
37
|
+
- `id` + `description` (and a concrete `command` where applicable)
|
|
38
|
+
- **`safety`** — `low` | `medium` | `high` | `absolute`. This is mandatory and is the
|
|
39
|
+
heart of the bureaucracy. Be honest: anything that writes outside the repo, pushes,
|
|
40
|
+
deploys, or spends money is at least `high`; anything matching an Article XI ABSOLUTE
|
|
41
|
+
action (recursive delete, force-push main, exposing secrets, dropping prod DB) is
|
|
42
|
+
`absolute`.
|
|
43
|
+
- `autonomous` — may an agent run this without asking? **MUST be `false` when
|
|
44
|
+
`safety: absolute`** (the certification gate will reject otherwise).
|
|
45
|
+
- `expected_outcome` — what the rehearsal will assert
|
|
46
|
+
- `on_failure` — `halt` | `retry` | `skip` | `alert` (default `halt`)
|
|
47
|
+
|
|
48
|
+
4. **Define success criteria (FACET 3):** measurable "X is true" statements describing the
|
|
49
|
+
process's end-state. These become the rehearsal assertion at certification.
|
|
50
|
+
|
|
51
|
+
5. **Save the process:**
|
|
52
|
+
- Path: `thoughts/shared/processes/YYYY-MM-DD-{slug}.md`
|
|
53
|
+
- Initial `status: draft` (NEVER hand-write `certified` — only `/certify-process` may)
|
|
54
|
+
|
|
55
|
+
6. **Validate the draft:**
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
node .merlin-core/tools/merlin-tools.js validate process thoughts/shared/processes/YYYY-MM-DD-{slug}.md
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
7. **Rebuild the thoughts index:**
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
node .merlin-core/tools/merlin-tools.js index
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
8. **Confirm + point at next step:**
|
|
68
|
+
- Show the saved path and the step/safety summary
|
|
69
|
+
- Tell the user the next step is `/certify-process` before it can run autonomously
|
|
70
|
+
|
|
71
|
+
## Template
|
|
72
|
+
|
|
73
|
+
> **Format (important):** Merlin's frontmatter parser is naive — keep frontmatter FLAT
|
|
74
|
+
> (scalars + inline `tags` array only). The structured runbook (`steps` + `success_criteria`)
|
|
75
|
+
> lives in a fenced `json` block in the body, which `/certify-process` and the executor parse.
|
|
76
|
+
> Do NOT put `steps:` or YAML block-lists in the frontmatter.
|
|
77
|
+
|
|
78
|
+
**1 — Flat frontmatter** (between the `---` delimiters):
|
|
79
|
+
|
|
80
|
+
- `title` (string ≥5 chars), `date` (YYYY-MM-DD), `project`, `owner`, `tags: [a, b]`
|
|
81
|
+
- `status: draft` (never hand-write `certified`)
|
|
82
|
+
- `trigger_mode: manual | scheduled | event`; if scheduled add `schedule: "0 9 * * 1"` + `tz: America/Sao_Paulo`
|
|
83
|
+
|
|
84
|
+
**2 — Body** (after the frontmatter): a `## Purpose` section, then a `## Definition` section
|
|
85
|
+
containing one fenced `json` block — the canonical machine-readable runbook:
|
|
86
|
+
|
|
87
|
+
- `success_criteria`: array of "X is true" end-state strings (≥1)
|
|
88
|
+
- `steps`: array of objects, each with `id`, `description`, optional `command`,
|
|
89
|
+
`safety` (`low|medium|high|absolute`), `autonomous` (boolean; MUST be `false` when
|
|
90
|
+
`safety` is `absolute`), `expected_outcome`, `on_failure` (`halt|retry|skip|alert`)
|
|
91
|
+
|
|
92
|
+
Then a human `## Runbook / Checklist` (one `- [ ]` per step) and a `## Notes` section
|
|
93
|
+
(edge cases, idempotency, rollback).
|
|
94
|
+
|
|
95
|
+
See the worked reference file `thoughts/shared/processes/2026-05-01-weekly-thoughts-hygiene.md`
|
|
96
|
+
for the exact layout.
|
|
97
|
+
|
|
98
|
+
## Constitution Compliance
|
|
99
|
+
|
|
100
|
+
- **Article XIV (Certified Process Authority):** This command only DRAFTS. Permission-free
|
|
101
|
+
execution requires `/certify-process` (signature + `/tdd` + human sign-off) first.
|
|
102
|
+
- **Article XI (Absolute Safety Boundaries):** `absolute`-safety steps can never be
|
|
103
|
+
`autonomous`; they always halt for explicit human approval at run time.
|
|
104
|
+
- **Article III (Spec-Driven):** A process is a spec for repeatable work — research/plan first.
|
|
105
|
+
- **Article V (Quality):** Success criteria are the measurable end-state the rehearsal proves.
|