ワンクリックで
csv-to-mdx
review converted MDX article, audit programmatic conversion output, validate Salesforce article conversion, post-conversion review
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
review converted MDX article, audit programmatic conversion output, validate Salesforce article conversion, post-conversion review
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | csv-to-mdx |
| user-invocable | true |
| description | review converted MDX article, audit programmatic conversion output, validate Salesforce article conversion, post-conversion review |
| argument-hint | path to an MDX file or article title to review |
Review and audit an MDX article produced by scripts/migrate_internal_docs.py. Identify anything the script cannot fix automatically and provide a corrected version.
The user will provide: $ARGUMENTS
The full programmatic conversion runs in this order:
migrate_internal_docs.py reads Internal_Docs.csv, filters rows where Destination starts with "Mintlify" and URL is on domo-support.domo.com._strip_toc_elements() removes ToC jump-link lists, "Back/Return to top" navigation, and orphaned --- horizontal-rule artifacts before the HTML is converted._DomoMDXConverter converts HTML to Markdown with image placeholders, rewriting internal Salesforce URLs to repo-relative /s/article/... paths._restore_images() replaces placeholders with either <Frame> screenshot blocks or inline <img> icon syntax, based on image dimensions and HTML context._convert_callouts() converts **Note:**, **Important:**, **Warning:**, **Tip:** paragraphs to <Note>, <Warning>, <Tip> components._convert_faq() converts FAQ sections to <AccordionGroup>/<Accordion> components.— | — Salesforce divider artifacts, collapses consecutive --- lines, removes leading --- artifacts, and normalizes excess blank lines.---\ntitle: "..."\n--- YAML block.Apply these exact MDX patterns wherever the corresponding element appears.
Screenshots
<Frame></Frame>
<Frame> is required — it auto-sizes the image to the content column width.Inline icons
<img alt="alt text" src="/images/kb/icon-name.png" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}}/>
Callout components (always bold the label inside; always a blank line before the callout in body text)
<Note>**Note:** Text here.</Note>
<Warning>**Important:** Text here.</Warning>
<Tip>**Tip:** Text here.</Tip>
Description lists
- **Term —** description of term
- **Another Term —** description of another term
FAQ section
## FAQ
<AccordionGroup>
<Accordion title="Question text here?">
Answer text here.
</Accordion>
</AccordionGroup>
Frontmatter — every article needs at minimum:
---
title: "Article Title Here"
excerpt: "Single sentence summarizing what the article covers."
---
Tables — pipe tables must be padded with spaces so columns align vertically:
| First Column | Second Column |
| ------------ | ------------- |
| Row text 1 | Row text 1 |
| Row text 2 | Row text 2 |
Required section order:
--- horizontal ruleIntro section format: One sentence in most cases. Use "This article explains how to…" or "This article covers…" followed by 2–3 concrete actions or skills the reader gains. Do not explain why the skills matter.
Heading Hierarchy: The frontmatter title renders as H1. Top-level sections (Intro, Required Grants, tasks, FAQ, etc.) are H2. Subsections are H3+.
These are already handled and should be correct in any script output:
| Rule | What the script does |
|---|---|
| No table of contents | _strip_toc_elements() removes jump-link <ul>/<ol> lists |
| No "Back/Return to top" links | _strip_toc_elements() removes these |
No — | — divider artifacts | Stripped with regex |
No consecutive --- artifacts | Collapsed to single ---; leading --- removed |
| Callout blocks use MDX components | _convert_callouts() converts bold-label paragraphs |
| FAQs use AccordionGroup | _convert_faq() converts FAQ sections |
| Internal links are repo-relative | convert_a() rewrites domo-support.domo.com/s/article/… links |
Screenshots wrapped in <Frame> | _restore_images() wraps large/standalone images |
Inline icons use <img style> | _restore_images() uses dimension + context signals |
| YAML frontmatter added | html_to_mdx() wraps output in ---\ntitle: "..."\n--- |
The script cannot reliably fix these. Review every converted article for:
Frontmatter
excerpt field — a single sentence summarizing what the article covers (required by style guide)Article structure
--- → Required Grants → (Optional: Prerequisites) → Access Feature → CRUD tasks → (Optional: FAQ) → (Optional: Troubleshoot) → (Optional: Related Articles)<!-- TODO: embed image → ... --> comments must be resolved manually (image download failed — re-run with a valid token or download the image manually)Image paths — case collisions
Salesforce image IDs are case-sensitive, but macOS APFS is case-insensitive. Two filenames that differ only by case collapse to one file on disk, silently breaking articles.
images/kb/, check whether its lowercase form matches an already-tracked path: git ls-files images/kb/ | tr A-Z a-z | sort | uniq -d. If it collides, rename the new file by inserting -2 before the extension and update every reference in the article.Inline icons (image → font)
The converter emits image-based inline icons (<img src="/images/kb/...">). Any inline icon depicting a Domo UI element should be migrated to the font convention. See Domo-KB-Style-Guide.mdx › Icons for full guidance.
<img> icons for current Domo product UI → migrate to <i className="icon-{name}" aria-hidden="true" /> (Phosphor)<img> icons for legacy surfaces (Workbench, pre-refresh UI) → migrate to <i className="legacy-icon-{name}" aria-hidden="true" /><img> icons for third-party brand logos → use <Icon icon="{slug}" iconType="brands" /> (Font Awesome) or inline SVG with fill="currentColor" (Simple Icons)Headings
##), subsections are H3+ — never jump levelsVoice and tense
Word choices to fix manually
whitelist → allowlist, blacklist → blocklistutilize → useonce as a causal connector → afteri.e., e.g., etc.) — use plain English equivalentsBeta markers
Convert any legacy beta indicators to the current convention from Domo-KB-Style-Guide.mdx › Beta Features:
(Beta) or (BETA) in a title: frontmatter value → remove and add tag: "Beta" to frontmatter(Beta) or (BETA) appended to a heading → remove and append <Badge className="text-primary bg-primary/10 font-bold">Beta</Badge><BetaNote /> componentbetafeedback@domo.com or betadmin@domo.com → replace with beta.admin@domo.comPunctuation and formatting
tools—such as these—work**Term —** description**Save**, **Admin** > **Security**) — do not bold the >Domo terminology (capitalize exactly)
| Correct | Never use |
|---|---|
| DataSet | Dataset, dataset |
| DataFlow | Dataflow |
| DataFusion | Data Fusion |
| Magic ETL | magic ETL |
| Beast Mode | Beastmode, beast mode |
| AppDB | App DB, appDB |
| Dashboard | Page, Domo story |
| Dashboard Filters | Page Filters |
| Data Center | data center |
| Alerts Center | alerts center |
| Drill Path / drill into | Drilldown |
| Visualization Card | KPI card |
| Doc Card | image card |
| Community Forums | Dojo |
| Quick Filters | Slicers |
| Scheduled Reports | scheduled reports |
| Pro-code Editor | Procode Editor |
When invoked, do the following:
$ARGUMENTS. If a title is given instead, find the file with grep -r "title:.*<title>" s/article/.<!-- TODO: embed image comments and flag them.images/kb/, run git ls-files images/kb/ | grep -i "<basename>" to confirm no case-sibling exists.— | —, bare Salesforce URLs, or raw HTML tags that markdownify didn't convert.whitelist → allowlist).