用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill arcmark命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | arcmark |
| description | > Use when this capability is needed. |
Arcmark is a macOS sidebar app for organizing bookmarks and short markdown notes inside named, color-coded workspaces. This skill lets you create and rearrange that content on the user's behalf — atomically, with no manual file editing.
code: "app_not_running", stop and ask the user
to launch Arcmark.app before retrying. Do not loop on retries.127.0.0.1..md file and read/written with notes:read and notes:write.nodes:move work on all three.| User phrasing | Command |
|---|---|
| "Save this here" / "Add this to the workspace I'm in" | workspaces:current to get the id, then links:create --workspace WS_ID --url URL |
| "Save this link in my Reading workspace" | links:create --workspace WS_ID --url URL |
| "Add a folder called Reading" | folders:create --workspace WS_ID --name "Reading" |
| "Group these tabs into a Research folder in my Reading workspace" | create folder, then nodes:move each link with --to-parent FOLDER_ID |
| "Move this link to my Work workspace" | nodes:move LINK_ID --to-workspace WORK_WS_ID |
| "Rename this folder to Inbox" | folders:rename FOLDER_ID --name "Inbox" |
| "Take a note titled Plan" | notes:create --workspace WS_ID --title "Plan" |
| "Write up this meeting in a note" | notes:create ... --content - then pipe markdown to stdin |
| "What's in my Reading workspace?" | tree WS_ID |
| "Make a new workspace called Research" | workspaces:create --name "Research" |
| "Delete this bookmark" | nodes:delete NODE_ID (or links:delete) |
arcmark.js state (or arcmark.js workspaces:list
plus arcmark.js tree WORKSPACE_ID) to discover the workspace, folder,
and node UUIDs you need. Never invent or guess ids.
arcmark.js workspaces:current. The
response is { selected, settingsSelected, workspace: { id, name, colorId } | null }.
If selected is false (e.g. the user is on the Settings screen),
ask which workspace to use instead of guessing.Three ways to supply note content, in order of preference for long documents:
--content - reads the body from stdin. Use this when piping or
here-docs:
./scripts/arcmark.js notes:write NOTE_ID --content - <<'EOF'
# Heading
Paragraph with **markdown**.
EOF
--file path/to/file.md reads a file from disk.
--content "..." for short snippets that fit on a single command line.
notes:read NOTE_ID prints the body to stdout so you can fetch existing
content before editing.
nodes:move is the universal mover. It accepts:
--to-workspace ID — moves to a different workspace. Omit to move within
the current workspace.--to-parent ID — drops the node inside that folder. Pass the literal
root to move to the workspace root.--index N — position within the parent (0-based). Omit to append.Combinations:
nodes:move ID --to-parent FOLDER_ID --index 0nodes:move ID --to-workspace WS --to-parent FOLDER_IDnodes:move ID --to-workspace WS --to-parent root{ error, code, ... }
to stderr. Inspect code — app_not_running, workspace_not_found,
parent_not_folder, node_not_found are the common ones.state Dump the full AppState JSON.
tree WORKSPACE_ID Dump one workspace's tree.
workspaces:list
workspaces:current Workspace currently visible in the app.
workspaces:create --name "X" [--color NAME]
workspaces:rename ID --name "Y"
workspaces:set-color ID --color NAME
folders:create --workspace ID [--parent ID|root] --name "X" [--expanded true|false]
folders:rename ID --name "Y"
folders:delete ID
links:create --workspace ID [--parent ID|root] --url URL [--title T]
links:rename ID --title "Y"
links:set-url ID --url URL
links:delete ID
notes:create --workspace ID [--parent ID|root] --title T [--content TEXT | --file PATH | --content -]
notes:rename ID --title "Y"
notes:read ID
notes:write ID --content TEXT | --file PATH | --content -
notes:delete ID
nodes:move ID [--to-workspace ID] [--to-parent ID|root] [--index N]
nodes:delete ID
Group two existing links into a new folder inside the Reading workspace:
# 1. Find the ids.
./scripts/arcmark.js workspaces:list
# -> [{"id":"...reading...","name":"Reading", ...}]
./scripts/arcmark.js tree READING_WS_ID
# Pick out the two link ids from the tree output.
# 2. Create the folder.
FOLDER_ID=$(./scripts/arcmark.js folders:create \
--workspace READING_WS_ID --name "Research" \
| python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])')
# 3. Move each link into it.
./scripts/arcmark.js nodes:move LINK_ID_1 --to-parent "$FOLDER_ID"
./scripts/arcmark.js nodes:move LINK_ID_2 --to-parent "$FOLDER_ID"
Create a note in Reading and fill it with markdown from stdin:
NOTE_ID=$(./scripts/arcmark.js notes:create \
--workspace READING_WS_ID --title "Weekly plan" \
| python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])')
./scripts/arcmark.js notes:write "$NOTE_ID" --content - <<'EOF'
# Weekly plan
- Finish the report
- Email the team
EOF
Save a link in Work, then move it to a Reading subfolder:
LINK_ID=$(./scripts/arcmark.js links:create \
--workspace WORK_WS_ID --url "https://anthropic.com" \
| python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])')
./scripts/arcmark.js nodes:move "$LINK_ID" \
--to-workspace READING_WS_ID --to-parent RESEARCH_FOLDER_ID
Source: Geek-1001/arcmark — distributed by TomeVault.