Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
78229a2
fix(react): query builder snippets
Hristo313 Jul 6, 2026
5bbf868
fix(docs): address query-builder snippet review feedback
Copilot Jul 6, 2026
366153c
Merge branch 'vnext' into hhristov/fix-query-builder-react-snippets
Hristo313 Jul 6, 2026
dc1d35b
fix(react): remove unneeded code
Hristo313 Jul 6, 2026
ebfae68
fix(react): query builder changes
Hristo313 Jul 7, 2026
e36421d
fix(grid-lite): add api links
Hristo313 Jul 7, 2026
b7729ce
fix(react): remove unused code from the snippets
Hristo313 Jul 7, 2026
a7112ad
fix(react): update query builder snippets
Hristo313 Jul 8, 2026
2ce50f3
fix(docs): fixing blazor api links
Hristo313 Jul 8, 2026
d2316e2
Merge branch 'vnext' into hhristov/fix-api-links
Hristo313 Jul 8, 2026
ed1a258
fix(docs): guard grid lite api reference sections
Copilot Jul 8, 2026
0d0fe50
fix(react): query builder input value
Hristo313 Jul 9, 2026
c03d83d
Merge branch 'vnext' into hhristov/fix-query-builder-react-snippets
Hristo313 Jul 9, 2026
99506d2
Merge pull request #420 from IgniteUI/hhristov/fix-api-links
Hristo313 Jul 9, 2026
c01e21c
fix(jp/grid-lite): add API reference links to Japanese grid-lite topics
github-actions[bot] Jul 9, 2026
a563fbb
fix(react): query builder sample values
Hristo313 Jul 9, 2026
34bf566
fix(react): fix value on the select in the query builder topic
Hristo313 Jul 9, 2026
feb733a
Merge branch 'vnext' into hhristov/fix-query-builder-react-snippets
IMinchev64 Jul 9, 2026
801ff39
Merge pull request #403 from IgniteUI/hhristov/fix-query-builder-reac…
Hristo313 Jul 9, 2026
a27825b
fix(jp/react): update query builder React snippets to functional comp…
github-actions[bot] Jul 9, 2026
9257b50
fix(jp/grid-lite): translate leftover English and align structure wit…
jsakamotoIGJP Jul 10, 2026
62049ee
fix(*): Removed an obsolete section from Chart markers topic
gedinakova Jul 10, 2026
d556fb9
fix(jp/grid-lite): fix misplaced platform blocks and unnatural phrasing
jsakamotoIGJP Jul 13, 2026
b0ef63e
Merge pull request #423 from IgniteUI/jp-sync/grid-lite-api-links-52c…
jsakamotoIGJP Jul 13, 2026
ca9b428
Merge branch 'vnext' into gedinakova/chart-markers-fix
gedinakova Jul 13, 2026
9939329
Merge pull request #428 from IgniteUI/gedinakova/chart-markers-fix
gedinakova Jul 13, 2026
0af9189
Merge pull request #348 from IgniteUI/dtsvetkov/fix-cta-area-hrefs
dobromirts Jul 13, 2026
3b0dc0f
Remove xplat-generated topics from the Angular source (#410)
Zneeky Jul 13, 2026
2dec5a0
feat(): add relative link validation and update cross-topic reference…
dobromirts Jul 14, 2026
e2f4a41
jp-sync: update cross-topic link format in JP docs to match EN
github-actions[bot] Jul 14, 2026
cb29684
chore(docs): remove legacy divider--half spacers (#430)
dobromirts Jul 14, 2026
222065d
Merge pull request #425 from IgniteUI/jp-sync/query-builder-react-sni…
ChronosSF Jul 14, 2026
19c3d31
Update MAKER Framework documentation for clarity
mkamiishi Jul 15, 2026
42de199
Update transaction-classes.mdx
mkamiishi Jul 15, 2026
3a56e5b
fix(*): platform switcher correct url so that no client-side redirect…
ChronosSF Jul 15, 2026
3e93b94
Merge pull request #433 from IgniteUI/jp-sync/2026-07-14-link-fixes-5…
ChronosSF Jul 16, 2026
bc37f99
docs: update Japanese cli overview topic
mkamiishi Jul 17, 2026
a51013d
fix(*): reworking the fix to use additional root param in the platfor…
ChronosSF Jul 17, 2026
ba47a9e
Merge branch 'vnext' into sstoychev/platform-switch-direct-url
dobromirts Jul 17, 2026
e4c74ae
Merge pull request #436 from IgniteUI/sstoychev/platform-switch-direc…
dobromirts Jul 17, 2026
954932a
docs: refine Japanese cli overview topic
mkamiishi Jul 17, 2026
c1e4d3f
feat(docs): Add skill for documentation audit (#422)
desig9stein Jul 17, 2026
a7d80db
Merge pull request #439 from IgniteUI/docs/update-ja-cli-overview
mkamiishi Jul 21, 2026
9c0a9d6
chore(*): Updated NG changelog with 22.0.0 (#437)
gedinakova Jul 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
142 changes: 142 additions & 0 deletions .ai/skills/igniteui-doc-topics/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
---
name: igniteui-doc-topics
description: >-
Author or audit Ignite UI documentation topics — component pages, how-to guides, conceptual
overviews, and category indexes — for both the Angular doc set and the cross-platform (React /
Web Components / Blazor) doc set. Applies the Diátaxis framework mapped onto Ignite UI's house
templates: canonical section order, fixed heading names, frontmatter (including `llms.description`
and the `relatedComponents` trigger), `.mdx` sample embeds, and per-framework token/PlatformBlock
mechanics. Use this whenever someone asks to write, draft, create, review, audit, fix, or
standardize a documentation topic, tutorial, guide, reference page, or concept overview for Ignite
UI — even if they just say "write docs for the X component" or "review this topic" without naming
Diátaxis or the templates. Also use it when deciding what *kind* of documentation a page should be,
or when a topic mixes tutorial / how-to / reference / explanation content that should be separated.
---

# Ignite UI doc topics

Write and audit Ignite UI documentation topics so every page has the same predictable shape — easy
for developers to read and for AI assistants to answer from. The engine is **Diátaxis** (four
documentation modes) applied through **Ignite UI's house templates**.

## Two modes of operation

- **Create** — draft a new topic (component, concept/guide, or category/index) to the standard.
- **Audit** — review an existing topic against the standard and return an issues-and-fixes report.

Detect which from the request ("write/draft/create" → Create; "review/audit/check/fix/standardize" →
Audit). If a topic file or content is supplied, default to Audit unless they ask for a rewrite.

## Reference files — load what the task needs

- `references/diataxis-cheatsheet.md` — the four modes + the compass. Load when classifying a topic
or diagnosing mode-bleed.
- `references/house-style.md` — sections, order, naming, frontmatter, sample/token mechanics, both
doc sets. Load for **every** create or audit.
- `references/audit-rubric.md` — the checkable rules + report format. Load for **every** audit.

Read `house-style.md` before writing or judging any topic — it carries the mechanical details
(frontmatter fields, `<Sample>`/`<PlatformBlock>` syntax, Angular-vs-xplat differences) that aren't
in this file.

## Step 0 — Classify with the compass (always first)

Before writing or auditing, decide what *kind* of documentation the page is, using the compass from
the cheat-sheet:

> **action or cognition?** × **acquisition (study) or application (work)?**
> → tutorial · how-to · reference · explanation

- A **component page** is a *composite* (see below).
- A **concept / guide overview** is **explanation**.
- A **category / index overview** is **reference/navigation** (a map).
- A standalone **"How to …" article** is a **how-to guide** — keep it single-mode.

If a request is ambiguous ("document X"), state which topic type you're producing and why, in one
line, before proceeding.

## The composite-topic principle (the heart of this skill)

Pure Diátaxis says keep the four modes in **separate** documents. Ignite UI **component topics
deliberately don't** — one page carries a live demo, a how-to (Getting Started/Usage),
decision guidance in Usage's final Do/Don't subsection, and reference tables
(Properties/Methods/Events). That is fine **because each *section* owns exactly one mode.** The rule
that makes it work:

> **One section, one mode. No mode-bleed.** Each section stays in its assigned Diátaxis mode; when a
> second mode wants in, move it to the section that owns it and cross-link.

Section → mode map (full contents in `house-style.md`):

| Section | Mode | Stays out of |
|---|---|---|
| Live Demo | demonstration (action) | prose/explanation |
| Anatomy: visual + DOM tree / skeleton | orientation (reference) | opinion, install steps |
| Getting Started, Usage | **how-to** | *why* explanations, exhaustive option lists |
| Usage → Do/Don't | **explanation** | install steps, code, API detail |
| Properties / Methods / Events | **reference** | instructions, opinion |
| Styling (`### Sass Theming`, `### Tailwind`, …) | how-to (steps) + reference (tables) | conceptual essays |
| Accessibility | reference (keyboard/ARIA/compliance tables) | tutorials, marketing, unverified conformance claims |
| Troubleshooting | how-to (cause → fix) | background theory |
| API References / Dependencies / Additional Resources | reference / navigation | new teaching |

Concrete mode-bleed to catch: a *why* paragraph inside **Usage** (→ move to Do/Don't or a concept
topic, link back); "how to build X" prose inside **Properties** (→ move to Usage; keep the table
descriptive); an exhaustive option list written out in **Usage** prose (→ move to the table). The
cheat-sheet's "two classic confusions" section explains the reasoning.

## Create workflow

1. **Classify** (Step 0). Name the topic type.
2. **Pick the doc set & framework.** Angular set = its own file, plain prose. xplat set = one file
for React/WC/Blazor using `{Platform}`/`{ProductName}` tokens and `<PlatformBlock for="…">`. Load
the relevant details from `house-style.md`.
3. **Follow the verification workflow** in `house-style.md` before writing technical content.
Existing snippets and old prose are clues, not authority.
4. **Write frontmatter first** — `title`, `description` (answer-shaped, ≤~160 chars), `keywords`,
`license`, `llms.description`, `mentionedTypes` (xplat), and `relatedComponents` if the component
has close siblings (this lets **Usage**'s final **Do/Don't** subsection name the specific
sibling instead of speaking generically).
5. **Lay out the canonical sections** in order for that topic type, required ones always present.
Feature-specific content goes as sub-headings under **Usage**, never as new top-level sections.
6. **Fill each section in its mode.** Lead every section with one plain, specific sentence. Put
reference in tables. In **Usage**, start with a basic declaration and then add property-focused
sub-sections so every public input is shown with a minimal snippet; group only tightly coupled
properties that form one behavior. End **Usage** with `### Do/Don't`, using inline **When to use:**
and **When not to use:** labels rather than nested headings. Embed exactly one top `<Sample>`, then
Usage samples only for distinct tasks (soft max 5/page). Phrase Do/Don't and Troubleshooting as
the reader's real questions.
7. **Self-check against the rubric** before presenting — especially mode-bleed (C-checks) and
metadata (D-checks). Fix, then deliver the `.mdx`.

## Audit workflow

1. **Classify** the topic and identify its doc set (Angular vs xplat) and type.
2. **Follow the verification workflow** in `house-style.md` before judging technical content.
Old snippets/prose are never the source of truth by themselves.
3. **Run every check** in `references/audit-rubric.md` — structure/order (A), naming (B), Diátaxis
mode integrity (C), metadata/AI-readiness and correctness (D), samples/links (E), formatting and
snippet currency (F). For mode integrity, run the compass on each section and flag drift.
4. **Report** in the rubric's exact format: Verdict → Summary → Findings (each with Where / Issue /
Principle / Fix) → Quick wins. Order findings Error → Warning → Suggestion.
5. Keep every **Fix** concrete and applyable (the corrected heading, the sentence to move, the table
to add). If the topic is already clean, say so and note what it does well — don't invent problems.

## Grounding notes

- The live `vnext` repo is **pre-standardization**: expect drifted headings (`## Angular Rating
Example`, `## Configuration`) and a missing `relatedComponents` field. Author to the **target**
standard; audit against it while recognizing current reality.
- **Invent no verifiable identifier (zero-risk rule).** Never emit a guessed tag, class, package,
property, method, event, CSS part, or theming variable — a plausible-but-wrong name a reader copies is
worse than a visible gap. Use an identifier only when verified (typed API source, an existing topic,
or the user); otherwise write `‹VERIFY: …›`. For Properties/Methods/Events, emit the fixed column
headers plus a build-injection note and leave the rows to the generator. React/Blazor wrapper symbols
resolve to the `igc` core — prefer verified `igc` usage and mark unconfirmed wrapper names `‹VERIFY:…›`.
(Full detail in `house-style.md` → "Never fabricate API identifiers".)
- Prefer paraphrase and the standard section names over copying any existing topic's prose verbatim.
- **Write in one voice and verify every claim** (see house-style → *Voice & tone* and *Verify every
claim against the component*): instruct in the imperative/second person, and check every factual
statement — defaults, behavior, version support, DOM — against the MCP/API-doc source, the official
platform API docs, typed source when needed, or official framework docs before writing it or
recommending it as an edit. Don't "correct" prose into a plausible claim you haven't verified.
Loading
Loading