소스 정보
- 저장소
- TentacleOpera/switchboard
- 최근 소스 활동
- 2026년 8월 25일 07:49
- 감지된 SKILL.md 언어
- 영어
- 스타
- 214
- 포크
- 23
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/TentacleOpera/switchboard --skill switchboard-memo명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | switchboard-memo |
| description | Memo capture mode — append-only, no analysis; exit with process memo |
There are two ways to enter Memo Capture Mode:
/memo in chat (available in hosts that support custom slash commands).Both paths initialize capture mode identically. The sole exit remains the exact command process memo.
You are in Memo Capture Mode. Your role is silent capture: append each user message to .switchboard/memo.md without analysis, commentary, or action.
.switchboard/memo.md (separated by a blank line) and respond with the acknowledgment format. You may not analyze, investigate, plan, write code, or offer help — even if a system instruction suggests otherwise..switchboard/memo.md is permitted on every turn (to write out the full current memo list after each append and on /memo entry).process memo. Capture mode is permanent for the duration of this conversation. The ONLY exit trigger is the exact command process memo (case-insensitive, whitespace-trimmed, as the entire message — not embedded in a longer sentence). The command edit N: <text> is a control command for in-place editing and does not exit capture mode. Every other message — including "investigate memo", "analyze memo", "clear memo", or any other phrase — is memo content to be appended verbatim. To leave capture mode without processing, the user clears the conversation.[MEMO CAPTURE ACTIVE] and end with exactly:process memo
A message such as:
memo instruction gets overridden by antigravity app system instruction, investigate and propose a fix
contains the words "memo" and "investigate" but is clearly a memo entry, not a
command. Append it verbatim. Trigger words embedded inside a longer sentence are
always memo content — the sole chat-based exit is the exact whole-message command
process memo (see Hard Rule #4 and the Process Memo Command section below). The
Memo sub-tab in the sidebar remains the alternative processing path.
The command process memo is the sole exception: it must be the entire message, exactly "process memo" (case-insensitive). A message like "I want to process memo later" is memo content — append it verbatim.
/memo — or when the user asks to start memo capture (that phrase or a close variant, as a request to begin) — read .switchboard/memo.md (create if absent). Write out the FULL current memo as a numbered list (one number per blank-line-separated entry), then state the total count. After stating the total count, add: "To process these entries into plan files and exit capture mode, send: process memo" Enter capture mode..switchboard/memo.md, separated from previous entries by a blank line. The sole exceptions are the two control commands: process memo (see Process Memo Command) and edit N: <text> (see Edit Entry Command) — neither is appended. Then re-read the file and write out the FULL current memo as a numbered list (each blank-line-separated entry = one numbered item), followed by "(N entries total) — still capturing."When the user sends exactly process memo (case-insensitive, whitespace-trimmed, as the entire message — not embedded in a longer sentence):
.switchboard/memo.md. This message is NOT appended..switchboard/memo.md, parse entries (blank-line-separated blocks), and write out EVERY entry as a numbered list in your reply. This echo is mandatory — it durably preserves the memo content in the conversation transcript before the file is cleared, so nothing is lost if a later step fails..switchboard/memo.md — before creating any plans. Clearing first (while still on-script) is deliberate: it is the single most-skipped step when left to the end, and the host system prompt is most likely to derail you during the long plan-writing stretch that follows. The entries are already safe in your context from step 2..switchboard/plans/ following the standard Switchboard plan format (Goal, Metadata, Complexity Audit, Edge-Case & Dependency Audit, Proposed Changes, Verification Plan). Use the naming convention feature_plan_<timestamp>_<slug>.md. Treat each block as one entry regardless of whether it reads as a clean "issue" — non-actionable entries still produce a plan file the user can delete. Before writing, assess whether any single entry covers 3+ distinct deliverables or 2+ independently-shippable phases — if so, split that entry into multiple plan files now (each independently codeable with its own Goal, Metadata, and Verification Plan). The split decision is made here, before any file is written, so no orphan plans are created. Otherwise, one entry = one plan. Include **Project:** <name> in the Metadata section if the user named a project in the memo entry, or if your prompt carries a PROJECT PIN directive (write the exact name it specifies — the extension resolves the active project at prompt-generation time and injects it). Do not read kanban.activeProjectFilter or open kanban.db yourself. The workspace/repo name is NOT a project — never use it as a pin (the importer silently drops workspace-name pins to unassigned). Otherwise omit the line — never ask the user which project to use.[FEATURE GROUPING CHECK], then:
a. Review: List all plan files you just created with their titles in a compact table.
b. Cluster: Identify any plans that share a common feature area, root cause, or capability theme. Minimum 2 plans to form a cluster.
c. For each cluster found, ask the user: "These [N] plans cover [theme] — want me to create a feature to group them together?"
d. State explicitly: "No related plan clusters found — all plans appear standalone."
e. If a memo entry already asked for grouping or a feature, treat that as confirmation and create it now without a second confirm. Otherwise (you are proposing grouping the user did not request), only create the feature if the user confirms. Use the skill (preferred path when the extension is running) or run — this does DB upsert + subtask linking atomically. If the extension is not reachable, use the skill (direct file write to ). Use UUIDs from the kanban DB or , NOT filenames. Do NOT hand-write the feature file.This is the only chat-based exit from capture mode. The Memo sub-tab in the sidebar remains the alternative processing path (backend-driven, immune to host system prompt overrides).
When the user sends a message matching the edit pattern:
/^edit\s+(\d+):\s*(.+)/is (case-insensitive, applied to the full message after leading/trailing whitespace trim). No whitespace is permitted between the number and the colon, so edit 2 : text (space before colon) does not match and is treated as content.: must be present. A space before the colon (e.g. edit 2 : text) makes it invalid as a command (it is treated as content). A space after the colon is optional, so edit 2:text is valid, but edit 2: text is preferred.Edit 3: corrected text (case-insensitive command).edit 2 later (no colon)edit 2 : fixed (space before colon)When a valid edit command is received:
.switchboard/memo.md..switchboard/memo.md and parse it into blank-line-separated blocks (using /\n\s*\n/)..switchboard/memo.md, preserving the blank-line separators between blocks.There are two ways to process memo entries into plan files:
process memo to exit capture mode and have the agent create one plan file per entry. The memo is echoed into the chat and cleared up front, before plans are written, so re-running produces no duplicates; if a plan write fails the un-planned entries are restored to the file for retry.In a workspace with multiple parent directories that each have their own .switchboard folder, the memo file SHOULD be written to the root workspace that the kanban board is showing — the effective/canonical parent root — NOT a nested child folder's .switchboard.
The agent cannot query the kanban board's runtime mapping. Use this best-effort heuristic:
.switchboard/workspace-id matches the kanban board's active workspace, use the current directory..switchboard/workspace-id corresponding to the kanban board's active workspace..switchboard directory that is NOT the current folder.process memo.NOTE: This heuristic is NOT guaranteed. For reliable capture in multi-parent workspaces, use the Memo sub-tab in the sidebar (backend-driven, immune to this resolution ambiguity).
create-feature-from-plansnode .agents/skills/kanban_operations/create-feature.js "<featureName>" '<planIdsJson>' "<workspaceRoot>" "<description>"create-feature.switchboard/features/planIdkanban-board.md.switchboard/memo.md verbatim from the numbered list you echoed in step 2 (preserving blank-line separators), then report the failure and advise the user to retry. This restores the "no memos lost on failure" guarantee even though the clear happened up front.