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.

Informations de source

Dépôt
warpdotdev/docs
Dernière activité de la source
4 septembre 2026 à 18:33
Langue détectée de SKILL.md
anglais
Étoiles
44
Forks
27

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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.
Voir sur GitHub