Skip to main content

sync-terminology

Sync the Warp terminology glossary from the Notion Dictionary to the repo. Fetches the Notion Dictionary page, compares with .agents/references/terminology.md, and opens a PR for any additions or changes. Flags repo-only terms that are missing from Notion. Use on a weekly schedule or manually when terminology changes.

ソース情報

リポジトリ
warpdotdev/docs
ソースの最終更新活動
2026年9月4日 18:33
検出された SKILL.md の言語
英語
スター
44
フォーク
27

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
sync_terminology
description
Sync the Warp terminology glossary from the Notion Dictionary to the repo. Fetches the Notion Dictionary page, compares with .agents/references/terminology.md, and opens a PR for any additions or changes. Flags repo-only terms that are missing from Notion. Use on a weekly schedule or manually when terminology changes.
# Sync Terminology from Notion Keep `.agents/references/terminology.md` in sync with the canonical Notion Dictionary. **Direction:** Notion → repo. Notion is the source of truth. If the repo has terms not in Notion, flag them for addition to Notion rather than removing them from the repo. ## Agent-doc quality contract The PR this skill opens or updates follows the shared v1 agent-doc quality contract in `.agents/references/doc-quality-policy.md`: apply the `warpy-factory` label and add the `## Documentation risk` block (`.agents/skills/doc_quality_policy/finalize_pr_contract.py build`). A terminology sync is typically `low` risk — it preserves product meaning and changes only naming/formatting guidance. ## Prerequisites - Notion MCP server must be connected and authenticated - `gh` CLI must be available and authenticated - You must be in the `warpdotdev/docs` repo ## Workflow ### Step 1: Fetch the Notion Dictionary Use the Notion MCP to fetch the Dictionary page: ``` notion-fetch with id: "NOTION_DICTIONARY_PAGE_ID" ``` The page has two sections: - **Rules section** — Uses "Use / Avoid / Notes" format for capitalization and naming consistency - **Terminology section** — Uses glossary format with definitions and usage notes Parse both sections. Extract each term with its: - **Name** (the canonical form) - **Definition or rule** (the "Use" form, or the glossary definition) - **Avoid forms** (if any) - **Notes** (if any) - **Category** (infer from the Notion page's heading structure) ### Step 2: Read the current terminology.md Read `.agents/references/terminology.md` from the repo. Parse each entry, extracting: - **Name** (the bolded term) - **Definition** (the text after the em dash) - **Usage note** (the italic `*Usage note:*` line, if present) - **Category** (the `##` heading the term falls under) ### Step 3: Compare in both directions #### Notion → repo (new or changed terms) For each term in Notion, check if it exists in `terminology.md`: - **New term:** exists in Notion but not in the repo file - **Changed term:** exists in both, but the definition, avoid forms, or notes differ meaningfully (ignore minor formatting differences) #### Repo → Notion (orphaned terms) For each term in `terminology.md`, check if it exists in the Notion Dictionary: - **Orphaned term:** exists in the repo but not in Notion Collect both lists. ### Step 4: If no differences, exit If both lists are empty, report "Terminology is in sync" and stop. Do not create a branch or PR. ### Step 5: Update terminology.md with Notion changes If there are new or changed terms from Notion: 1. Check out the standing branch. This skill maintains **one** long-lived sync PR rather than one per run — see "One standing PR per automation" in `.agents/references/skill-authoring-guidelines.md`. ```bash # Is there already an open terminology sync PR? gh pr list --repo warpdotdev/docs --state open \ --search 'sync terminology from Notion Dictionary in:title' \ --json number,headRefName git fetch origin # If the PR exists, continue on its branch and rebase; otherwise create it from main. git checkout sync-terminology 2>/dev/null || git checkout -b sync-terminology origin/main git rebase origin/main ``` Do not create a date-suffixed branch. Terminology drift accumulates across weeks, and a dated branch per run produces a pile of PRs that all edit the same two files and conflict with each other. 2. For each **new term**, add it to the appropriate category section in `terminology.md`: - Match the category from Notion to the existing `##` sections in the file - If no matching section exists, create a new `##` section - Insert alphabetically within the section - Use the standard format: ```markdown - **Term** — Definition. *Usage note:* Additional guidance. ``` - For "Avoid" rules from Notion's Rules section, format as: ```markdown - ❌ **Avoided Term** — Explanation. Use "Preferred Form" instead. ``` 3. For each **changed term**, update the existing entry to match Notion. 4. Also update the corresponding summary entries in `AGENTS.md` under `## Terminology standards` if the term appears there. The AGENTS.md section is a summary — only add terms there if they are core features, Oz terms, technical terms, billing terms, or UI elements. ### Step 6: Commit and open a PR ```bash git add .agents/references/terminology.md AGENTS.md git commit -m "docs: sync terminology from Notion Dictionary Co-Authored-By: Oz <oz-agent@warp.dev>" git push origin sync-terminology ``` If a PR already exists for this branch, the push updates it — do not open a second one. Append this run's terms to the existing body under its existing headings rather than adding a new dated section: `check_pr_body.py` rejects duplicate headings, so per-run copies of `## Terms added` would fail the check and block the update. Fetch the current body first and make a minimal additive edit. If no PR exists, open one. Write the body to a file before creating the PR — lists of changed terms can be long and are prone to repetition-loop degeneration when passed inline: ```bash # Write body to a temp file first cat > /tmp/sync-terminology-pr-body.md << 'EOF' ## Terms added [list each term with definition] ## Terms changed [list each term with before/after] ## Terms in repo but missing from Notion [see Step 7 — list here if applicable] Co-Authored-By: Oz <oz-agent@warp.dev> EOF # Verify the body before creating the PR python3 .agents/skills/create_pr/check_pr_body.py /tmp/sync-terminology-pr-body.md gh pr create \ --title "docs: sync terminology from Notion Dictionary" \ --label documentation \ --body-file /tmp/sync-terminology-pr-body.md ``` Use `report_pr` to surface the PR link. ### Step 7: Flag orphaned repo terms If there are terms in the repo that are not in Notion, include a section in the PR body: ```markdown ## Terms in repo but missing from Notion The following terms exist in `terminology.md` but were not found in the Notion Dictionary. Please add these to the Dictionary page, or let us know if they should be removed from the repo. - **Term 1** — definition - **Term 2** — definition ``` This ensures the repo doesn't silently accumulate terms that bypass Notion. ## Mapping Notion format to terminology.md format ### Rules section entries (Use / Avoid / Notes) Notion format: ``` - Agent Mode vs agent mode - Use: Agent Mode - Avoid: agent mode, Agent mode - Notes: Treat as a feature name. ``` Becomes in terminology.md: ```markdown - **Agent Mode** — The mode where Warp interprets your input as a request to an Agent (not a shell command). *Usage note:* Not "agent mode" or "Agent-mode." ``` Keep any existing definition from terminology.md. Only update the usage note / avoid guidance from Notion. ### Terminology section entries (glossary format) These map directly — both use term + definition + usage note format. Align the wording with Notion. ## Category mapping Map Notion headings to terminology.md `##` sections: - "Capitalization and naming" → distribute terms to their matching category (Core product terms, Navigation and UI terms, etc.) - "UI surface names" → Navigation and UI terms - "Untraditional or branded terms" → Branded and informal terms - "Hyphenation and phrasing" → Technical terms - Direct category matches (e.g., "Oz terminology" → Oz terminology) If a term doesn't clearly fit an existing category, place it in the most logical section and note the placement in the PR body. ## Schedule Run weekly (Monday morning) or manually when terminology changes are expected. ## Troubleshooting ### Notion MCP auth failure If the Notion MCP returns an auth error, report the failure and exit without making changes. Do not fall back to a cached version. ### Merge conflicts If the branch has merge conflicts with `main`, rebase and resolve. Terminology entries are independent lines, so conflicts are rare.
GitHubで見る