sync-morrowmark
This is the global config migration entry point, not a project-level skill that any project loads automatically. Install this directory into the current client's global skill directory, then use it to initialize or update a project.
Conditional Project Onboarding
The full Morrowmark user guide is
references/PROJECT_USAGE.md
. Read it only in either of these cases:
- This is the first successful installation of for the current user/client. If you are performing the installation, check the destination first; after installing into a location where the skill was absent, read the guide and briefly explain what Morrowmark does and how to initialize a project. If the installation happened outside this conversation, treat it as first-time only when the user says it is; when prior installation state is unknown, do not infer a first install.
- The user asks how to use Morrowmark, or asks which skills or agents it provides.
An existing installation being updated, repaired, or synchronized is not a first installation. A project configuration sync is never a first installation. Do not read or summarize the guide during routine syncs.
When a follow-up asks for details beyond the guide, inspect the latest configured Morrowmark template source and answer from the relevant prompt and code. Start with
,
,
.agents/skills/<skill>/SKILL.md
and its referenced files, then inspect only the relevant scripts under
. Do not treat this guide as a substitute for the current implementation.
Routine Sync Execution
When the user directly requests a sync or explicitly invokes this Skill to sync, that authorizes the current run. Resolve the platform and run the script directly without asking for separate authorization or whether to sync. If the Skill is used only because missing configuration was discovered during another task, ask before initializing or updating the project. Do not invoke
, inspect project-memory files, or pre-read the sync script for a routine sync. Do not invoke
or
after a successful run; the script's exit status and output are the completion check. If it fails or reports an unsafe overwrite conflict, inspect only the affected path. This exception does not apply when editing or debugging this Skill or its script.
Single Source
- Agent source: in the template repo, where is the only prompt body.
- Skill source:
.agents/skills/<skill>/SKILL.md
in the template repo, plus its , and other resources.
- Target platform directories are generated by this Skill. Generation preserves the source agent/skill bodies verbatim and only adapts configuration data such as YAML frontmatter, file names, tool permissions and platform directories.
Usage
-
Install it once, into the client's global skill directory:
- Codex/ZCode:
~/.agents/skills/sync-morrowmark/
- Claude Code:
~/.claude/skills/sync-morrowmark/
- CodeBuddy (domestic build):
~/.codebuddy/skills/sync-morrowmark/
- WorkBuddy international:
~/.workbuddy-ai/skills/sync-morrowmark/
- WorkBuddy domestic:
~/.workbuddy/skills/sync-morrowmark/
- OpenCode:
~/.agents/skills/sync-morrowmark/
(OpenCode reads that directory natively, no symlink needed)
Prefer letting the script install it (see "Unified install strategy" below), which keeps one real copy plus symlinks. A hand copy is a second real copy that the script will never replace — if you copied by hand, delete that copy before switching to script-managed install, otherwise the two drift apart.
-
Or ask the agent to install
from the current project root. After installation, it must ask whether to initialize or update the current project and wait for confirmation before syncing.
-
Determine the client and pass the platform argument:
,
,
,
,
,
or
. Capitalized and
-prefixed spellings are also accepted, as are
(international) and
(domestic).
-
Run the requested sync, then report.
- Run the sync. The script handles the prompt file by itself — on every platform, plus on :
- no such file yet → the template is written whole;
- a file that already carries
<!-- sync-morrowmark:custom-prompts -->
→ everything strictly above the marker is replaced from the source, and the marker with everything below it is kept;
- a file with no marker → the whole file is taken to be the project's own prompts and is moved below the marker, under the template's custom-prompt note, so none of it is overwritten. The script reports this as .
- A successful sync is routine: do not re-read the custom prompt region, offer memory migration, or ask for another decision. A marker-less file is adopted automatically because the script preserves its full content.
- If the script fails or a target presents an overwrite risk outside these deterministic rules, inspect only the affected path and stop before any unsafe write. Ask the user only when no safe automatic handling is available.
- Report the sync scope, changed files and any adoption or failure result. Move project facts into only in a separate task when the user explicitly requests it.
Unified install strategy (single copy + symlink): the script installs the real directory at
~/.agents/skills/sync-morrowmark/
and, for clients that do not read
, symlinks it into their own skill directory — so there is only one copy on disk. An existing symlink is replaced; a real directory is left untouched and reported.
,
and
are three separate targets with different
user-level skill directories (see the table in step 1). At the
project level,
and
share CodeBuddy's
layout with
. Picking the wrong target fails silently rather than erroring.
On every launch the script fetches the latest
from the remote template repo, overwrites the directory of the same name in the project root, then re-executes the updated script before running the rest of the sync. That project-root copy is the entry point for later runs, and the sync adds it to
.
Context7 MCP
Context7 is not written into project-level configuration files. When configuring a project with this Skill, first check the current client's global MCP configuration: reuse an existing
server; if there is none, prefer configuring it in the current client's global config and do not change project config. The configuration definition is below, converted equivalently into each client's native format:
json
{
"mcp": {
"servers": {
"context7": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}
}
If the global configuration is not writable or the current client does not support automatic configuration, explain the reason and ask the user to handle it; do not fall back to project-level MCP configuration.
Generation Scope
- : syncs the Codex source directory itself.
- : generates from the Codex agent source; skills use the shared source.
- : generates and from the Codex source, and generates per the rules.
- : generates and from the Codex source, copying only resources usable by CodeBuddy.
- : generates and . WorkBuddy reuses CodeBuddy Code's workspace layout, so project-level config always lives in , while its user-level directory is (international) or (domestic) — do not put project config under either of those.
- : same as , for the domestic build.
- : generates and from the Codex source; the global skill uses the canonical directory directly (OpenCode reads natively) and no symlink is created — OpenCode requires skill names to be unique across locations, and duplicates cause conflicts.
All platforms add missing
and
templates and never overwrite content a project has accumulated. For
, the first-line title of each file is refreshed from the template on every sync while everything below that title is left untouched. The sync script does not generate or copy project-level MCP configuration files.
Boundaries
- Preserve existing target-side subagent reasoning settings for same-named agents; do not overwrite them.
- Never hand-edit a generated platform directory, and never sync back from , , or into / .
- Never copy credentials, local caches, , or the Codex-UI-only to another platform.