Skip to main content

write-user-guide

Write and maintain narrative user-guide pages for a Great Docs site. Covers page creation, QMD frontmatter, section grouping, sidebar ordering, callouts, executable code cells, cross-references, and content guidelines. Use when adding, reorganizing, or improving user-guide content.

소스 정보

저장소
pymc-labs/pathmc
최근 소스 활동
2026년 6월 10일 09:00
감지된 SKILL.md 언어
영어
스타
131
포크
12

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
write-user-guide
description
Write and maintain narrative user-guide pages for a Great Docs site. Covers page creation, QMD frontmatter, section grouping, sidebar ordering, callouts, executable code cells, cross-references, and content guidelines. Use when adding, reorganizing, or improving user-guide content.
license
MIT
compatibility
Requires Great Docs >=0.8, Quarto CLI installed.
metadata
{"author":"rich-iannone","version":"1.0","tags":["documentation","user-guide","quarto","content-authoring"]}
# Write User Guide Skill for authoring user-guide pages in a Great Docs documentation site. User guides provide narrative documentation (tutorials, conceptual explanations, and task walkthroughs) that complement the auto-generated API reference. ## Quick start ```bash mkdir -p user_guide cat > user_guide/00-introduction.qmd << 'EOF' --- title: "Introduction" guide-section: "Getting Started" tags: [Getting Started] --- # Introduction Welcome to the project. This guide walks you through... EOF great-docs build ``` ## Skill directory structure ``` skills/write-user-guide/ ├── SKILL.md └── references/ ├── page-anatomy.md └── writing-guidelines.md ``` ## When to use this skill | Need | Action | | ---------------------------- | ---------------------------------------------- | | Add a new guide page | Create `user_guide/NN-topic.qmd` | | Reorder pages | Rename numeric prefixes | | Group pages into sections | Set `guide-section` in frontmatter | | Add an interactive example | Use `{python}` code cells in the `.qmd` | | Cross-reference another page | Use `[text](../user-guide/page.qmd)` links | | Embed a callout | Use `:::{.callout-tip}` / `:::{.callout-note}` | | Add images | Place in `assets/` and reference from QMD | ## Core concepts ### File naming convention Every page in `user_guide/` must have a two-digit numeric prefix that controls sidebar ordering: ``` user_guide/ ├── 00-introduction.qmd # appears first ├── 01-installation.qmd ├── 02-quickstart.qmd ├── 03-authoring-qmd-files.qmd └── 04-writing-docstrings.qmd ``` Great Docs strips the prefix for clean URLs: `00-introduction.qmd` → `user-guide/introduction.html`. ### QMD frontmatter Every user-guide page starts with YAML frontmatter: ```yaml --- title: "Writing Docstrings" guide-section: "Getting Started" tags: [API, Content] --- ``` **Required keys:** | Key | Description | | ------- | ------------------------------ | | `title` | Page heading and sidebar label | **Optional keys:** | Key | Description | | --------------- | -------------------------------------------------- | | `guide-section` | Group pages under a sidebar section header | | `tags` | Content tags for discoverability | | `bread-crumbs` | Set `false` to hide breadcrumb navigation | | `status` | Page status badge: `experimental`, `new`, `stable` | ### Guide sections Pages with the same `guide-section` value are grouped together in the sidebar under a collapsible section heading: ``` Getting Started ├── Introduction ├── Installation └── Quick Start Site Content ├── Authoring QMD Files ├── Writing Docstrings └── User Guides ``` If no `guide-section` is set, the page appears at the top level. ### Page body structure A well-structured page follows this outline: ```markdown # Page Title Opening paragraph: 2-3 sentences explaining what this page covers and why the reader cares. ## First Major Section Narrative prose. Keep paragraphs short (3-5 sentences). ### Subsection More detail. Use tables, code blocks, and callouts to break up text. ## Second Major Section ... ``` **Guidelines:** - Start every page with a single `#` heading matching the `title`. - Use `##` for major sections, `###` for subsections. - Keep the hierarchy flat; avoid `####` if possible. - Lead each section with a sentence explaining what follows. - End with a summary or "next steps" when appropriate. ### Callouts Quarto callouts highlight important information: ```markdown :::{.callout-tip} ## Pro tip You can combine `guide-section` with `tags` to make pages discoverable from multiple angles. ::: :::{.callout-warning} ## Watch out Renaming a page file changes its URL. Update any cross-references. ::: :::{.callout-note} This feature requires Great Docs 0.8 or later. ::: ``` Available types: `note`, `tip`, `warning`, `caution`, `important`. ### Executable code cells Embed live Python examples that run during the build: ````markdown ```{python} import great_docs gd = great_docs.GreatDocs() print(gd.project_path) ``` ```` **`{python}` vs `{.python}`**: this distinction is critical. - `{python}` (no dot) creates an **executable** code cell. Quarto runs it through the Jupyter kernel during the build and captures the output. - `{.python}` (with a dot) creates a **display-only** code block. Quarto syntax-highlights it but never executes it. Use `{python}` when the output matters (tables, plots, printed values). Use `{.python}` for illustrative snippets where execution is unnecessary or undesirable. Additional cell-level controls: - Use `#| eval: false` to show code without executing it. - Use `#| echo: false` to show only the output. ### Table previews and explorers When a page involves sample datasets or transformed DataFrames, use the built-in table widgets instead of raw `print()` output. **Shortcodes** (for static data files in `assets/data/`): ```markdown {{< tbl-preview file="assets/data/students.csv" >}} {{< tbl-explorer file="assets/data/students.csv" >}} ``` **Python API** (for DataFrames produced in executable cells): ````markdown ```{python} from great_docs import tbl_preview, tbl_explorer tbl_preview(df) # compact head/tail preview tbl_explorer(df) # interactive: sort, filter, paginate ``` ```` Use `tbl-preview` (or `tbl_preview()`) for a quick glance at a dataset. Use `tbl-explorer` (or `tbl_explorer()`) when readers need to sort, search, or paginate the data. Both accept Pandas DataFrames, Polars DataFrames, and file paths (CSV, TSV, Parquet, Arrow, JSONL). ### Cross-references Link to other pages in the site: ```markdown See the [Configuration](../user-guide/configuration.qmd) page. See the [API reference](../reference/GreatDocs.qmd) page. ``` Use relative paths from the rendered output location (`great-docs/user-guide/`), not the source. ### Images and assets Place images in `assets/` at the project root: ```markdown ![Architecture diagram](../assets/architecture.png) ``` Great Docs copies the `assets/` directory into the build automatically. ## Workflows ### Adding a new page ``` Task Progress: - [ ] Step 1: Choose a filename - [ ] Step 2: Write frontmatter - [ ] Step 3: Write content - [ ] Step 4: Build and preview ``` **Step 1**: Pick the next numeric prefix. If the last file is `08-user-guides.qmd`, name your file `09-new-topic.qmd`. **Step 2**: Add frontmatter with `title`, `guide-section`, and optional `tags`. **Step 3**: Write the body using the page structure guidelines above. **Step 4**: Run `great-docs build && great-docs preview` and check the sidebar ordering and rendered content. ### Reorganizing existing pages 1. Rename files to adjust numeric prefixes. 2. Update `guide-section` values to regroup. 3. Rebuild. Great Docs regenerates the sidebar automatically. 4. Check for broken cross-references. ### Converting a README into a guide page 1. Copy the README content into a new `.qmd` file. 2. Add frontmatter with `title` and `guide-section`. 3. Replace any GitHub-flavored Markdown extensions with Quarto equivalents (e.g., `> [!NOTE]` → `:::{.callout-note}`). 4. Rebuild and verify. ## Gotchas 1. **Numeric prefixes control ordering by default.** Without them, pages sort alphabetically. Alternatively, you can omit prefixes and define an explicit page order in `great-docs.yml`. 2. **Don't skip numbers.** Gaps are fine (`01`, `03`, `05`) but large jumps make it hard to insert pages later. 3. **Title must match the `#` heading.** If `title: "Foo"` but the body starts with `# Bar`, the sidebar says "Foo" but the page says "Bar". 4. **`guide-section` is case-sensitive.** `"Getting Started"` and `"getting started"` create separate sections. 5. **Don't nest directories.** All pages must be directly in `user_guide/`, not in subdirectories. 6. **Hyphens, not underscores, in filenames.** Great Docs converts underscores to hyphens in URLs, so `my_page.qmd` becomes `my-page.html`. 7. **Lists need a blank line before them.** A bullet or numbered list that immediately follows a paragraph (no blank line) will not be parsed as a list by Quarto; it renders as plain text.
GitHub에서 보기