Skip to content

Commit 4177526

Browse files
authored
Merge branch 'vnext' into sstoychev/elaborate-chat-message-usage
2 parents 40ca8c8 + 39e8045 commit 4177526

340 files changed

Lines changed: 13699 additions & 7407 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.ai/skills/CHANGELOG.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# igniteui doc-skill set · changelog
2+
3+
## v3 · 2026-08-14
4+
5+
Restructures both skills to the routing-hub + references architecture used by the
6+
`IgniteUI/igniteui-angular` repo skills (SKILL.md = router with a Task → Reference table; all
7+
evolving rules live in `references/`). **No rule content changed** — v2's rules were moved, not
8+
edited; two stale cross-pointers were fixed in the move. Completes D2-03 stage 2 (physical
9+
deduplication) and adds the set-level README. Whole set bumped to v3 (uniform version line,
10+
including content-unchanged files, per the blog-creator convention).
11+
12+
### Changed
13+
14+
| Change | File(s) |
15+
|---|---|
16+
| igniteui-topic-frontmatter split: SKILL.md becomes a router (scope, audit-first mode, task table, hard boundaries); the field checks + severity ladder move to `references/audit-rules.md`; report shape + apply procedure move to `references/report-format.md`. `description` unchanged (adapter byte-match preserved). | igniteui-topic-frontmatter/* |
17+
| igniteui-doc-topics slimmed: SKILL.md keeps identity, two modes, compass, composite principle, task table, grounding boundaries. Create steps 1–7 (6a–6f) + the category/index structure move to `references/create-workflow.md`; the 5 audit-workflow steps move into `audit-rubric.md`. `description` unchanged. | igniteui-doc-topics/SKILL.md, references/create-workflow.md, references/audit-rubric.md |
18+
| Accessibility generation is source-first: derive DOM, roles, ARIA, focus/state behavior, and keyboard actions from component templates and typed source; use event handlers only for interaction evidence and require official sources for conformance claims. | igniteui-doc-topics/references/house-style.md, references/create-workflow.md |
19+
| Dedup (D2-03 stage 2): the section→mode map is no longer restated in SKILL.md — it is the "Diátaxis mode" column of house-style's canonical section table; SKILL.md keeps only the one-section-one-mode rule and the concrete mode-bleed examples. The category blueprint now lives in house-style + create-workflow only. Stale pointers fixed (house-style intro pointed at a SKILL.md map that moved; body-support bullet pointed at "Create workflow step 4" which now lives in create-workflow.md). | igniteui-doc-topics/SKILL.md, references/house-style.md |
20+
| Set-level README.md added: human-readable intent, file map, authority chain, and the five-step update procedure (edit references not routers; uniform version bump; adapter byte-match; changelog entry; resolve ‹VERIFY› by pre-committed outcome). | README.md |
21+
| Set-wide version line: every file now carries `Version: v3 · 2026-08-14 · igniteui doc-skill set`, including content-unchanged house-style and diataxis-cheatsheet (the cheatsheet gains its first version line). | all files |
22+
23+
### Unchanged
24+
25+
All v2 rule substance (E1–E9 with D2 amendments, D2-01…11 fixes), all open ‹VERIFY› items and their
26+
owners (see the v2 entry below), and both skill `description` fields.
27+
28+
---
29+
30+
## v2 · 2026-08-14
31+
32+
Applies the D5 frontmatter patch v1 (E1–E9) as ratified by D2 (D2 review v1.1, 2026-08-14, transfer
33+
matrix v1 Option A) with D2's amendments, plus the D2 "do now" wave. Three wait-line items were
34+
pulled forward (D2-08, D2-09, D2-11) because the marginal cost inside a full edit pass was zero,
35+
the same precedent as blog-creator v3. Finding IDs reference the D5 review (D5-22…31, patch edits
36+
E1–E9) and the D2 review v1.1 (D2-01…12).
37+
38+
Files changed: `igniteui-topic-frontmatter/SKILL.md`, `igniteui-doc-topics/SKILL.md`,
39+
`igniteui-doc-topics/references/house-style.md`, `igniteui-doc-topics/references/audit-rubric.md`,
40+
both `.claude/skills/*/SKILL.md` adapters. `diataxis-cheatsheet.md` is unchanged (no findings).
41+
42+
### Applied
43+
44+
| Finding | Change | File(s) |
45+
|---|---|---|
46+
| E1 / D5-24 + D2 amendment | Title rule split per doc set: xplat keeps `{ComponentTitle}`; Angular target `"Angular <Component> Component"` within ~60 query-relevant chars, no hand-coded suffixes pending `‹VERIFY: Angular layout title suffix behavior›`, with pre-committed outcomes for both branches (`\| Ignite UI` standardized if the layout appends nothing). Blog banned-phrase set merged in. | frontmatter SKILL.md |
47+
| E2 / D5-26 | Description bar raised: definition-first ("X is a … that …"), not imperative CTA; complete sentences; no ellipsis truncation. | frontmatter SKILL.md, house-style |
48+
| E3 / D5-23 + D2 amendment | `llms.description` defines the component, not the page: subject noun names product + component, no pronouns, no list-dumps, no page-referential phrasing; quotability test at accept time. One-definition rule added: llms.description ≈ H1 lead ≈ llms-manifest entry (`‹VERIFY: manifest source field›`). | frontmatter SKILL.md, house-style |
49+
| E4 / D5-22 | New required check: cross-field consistency (title / description / llms.description / keywords / H1 / lead sentence tell one story, same entities, same capability list). | frontmatter SKILL.md, house-style |
50+
| E5 / D5-25 | New required check: entity terminology in metadata, bound to the shared terminology table. | frontmatter SKILL.md |
51+
| E6 / D5-27 | New required check: body support for every metadata claim; frontmatter generated from the finished body. | frontmatter SKILL.md, house-style |
52+
| E7 / D5-28 | `keywords` coherence made testable: every keyword (or token-resolved form) appears in the body. | frontmatter SKILL.md |
53+
| E8 / D5-30 | `mentionedTypes` scoped: Angular occurrences tolerated, not required, pending `‹VERIFY: does the Angular pipeline consume mentionedTypes?›`. | frontmatter SKILL.md |
54+
| E9 / D5-31 | Schema linkage named in Scope: frontmatter bars are schema bars; FAQPage (if emitted) sources visible FAQ content verbatim (`‹VERIFY: schema pipeline nodes/fields›`). | frontmatter SKILL.md |
55+
| E-10 (D2 §2) | Title character budget in Severity: non-query terms pushing query terms past ~60-char truncation = Error; query-relevant portion >~60 = Warning. | frontmatter SKILL.md |
56+
| D2-01 | Contradiction fixed: reconciliation table no longer maps "Known Limitations" to Troubleshooting; drifted variants map to the required **Known Limitations** section, with the conditional Troubleshooting placement noted. | house-style |
57+
| D2-02 | Create step 4 rewritten "Write frontmatter first" → "Scaffold frontmatter": convention-fixed fields before the body; description / llms.description / keywords / mentionedTypes / relatedComponents generated from the finished body, then the frontmatter skill's cross-field and body-support checks run. Resolves the companion-skill contradiction with E6 / matrix row 11. | doc-topics SKILL.md |
58+
| D2-03 stage 1 | Single-sourcing declared: house-style "File format & frontmatter" is the normative field contract; both SKILL.mds reference it. Version lines added to all changed files; adapter `description` byte-match rule stated in both adapters and both canonicals. Shared field bars synced so no copy contradicts another. | all changed files |
59+
| D2-04 / matrix row 5 | FAQ answer shape bound: 2–4 self-contained sentences quotable without the question; fan-out question patterns (licensing, version support, migration, accessibility, "is X right for") added as authoring guidance. Rubric A11 extended. | house-style, audit-rubric |
60+
| D2-05 / matrix row 1 | Section leads name the component (and platform token): write-for-both rule 2 and rubric D3 extended. | house-style, audit-rubric |
61+
| D2-06 / matrix row 10 | Quotability test given a check ID: new D13 (H1 lead, section leads, FAQ answers, llms.description). | audit-rubric |
62+
| D2-07 / matrix row 8 | New E7: descriptive, entity-bearing anchor text on prose links; "click here"/bare URLs flagged. | audit-rubric |
63+
| D2-08 / matrix row 7 (pulled forward) | New house-style section "Entity terminology (canonical names)", a governed copy of the blog terminology table with provenance line "source: blog-creator product-context v4 · 2026-08-14". New rubric B6 for body-side entity drift. | house-style, audit-rubric |
64+
| D2-09 (pulled forward) | Table of contents added to house-style (>300-line reference, loaded on every create/audit). | house-style |
65+
| D2-10 | Routing boundary sentences added to both skill descriptions (frontmatter-only work → frontmatter skill; body/structure work → doc-topics skill). Adapters updated to byte-match. | both SKILL.mds, both adapters |
66+
| D2-11 (pulled forward) | Create step 6 split into passes 6a–6e; no rule content changed. | doc-topics SKILL.md |
67+
| Matrix row 4 (pre-commitment) | Rubric B4 carries the pending `‹VERIFY: layout H1/framework adjacency›` with both pre-committed outcomes, so the answer resolves the rule mechanically. | audit-rubric |
68+
69+
### Deliberately not applied
70+
71+
- **D2-03 stage 2** (physical deduplication of the field contract out of the frontmatter skill's
72+
audit rules): batched with the next structural SKILL.md edit; stage 1's authority declaration and
73+
synced wording carry the interim.
74+
- **D2-12** (verification-URL single-sourcing against RESOURCE-LIST): requires the RESOURCE-LIST
75+
canonical-variant decision, which has no owner yet.
76+
- **Canonical-link policy enforcement** (D5-29): the skill still refuses to invent canonicals; the
77+
enforcement text lands only after the policy's two `‹VERIFY›` items are answered (D2 review §5).
78+
- **Em-dash advisory** (matrix row 18): docs team's call; existing file style kept.
79+
- **Matrix rows 4 / E1 branch resolution**: `‹VERIFY›` placeholders ship in the files, as the
80+
convention intends; the pre-committed outcomes are written next to them.
81+
82+
### Open verification items (owners)
83+
84+
1. `‹VERIFY: Angular layout title suffix behavior›` — docs team. Resolves E1's branch and the
85+
Severity rule's application to Angular titles.
86+
2. `‹VERIFY: layout H1/framework adjacency, both doc sets›` — docs team. Resolves B4's direction.
87+
3. `‹VERIFY: schema pipeline — node types, source fields, FAQPage presence›` — docs team.
88+
4. `‹VERIFY: does the Angular pipeline consume mentionedTypes?›` — docs team.
89+
5. `‹VERIFY: llms-manifest source field›` — docs team. Resolves the one-definition rule's third leg.
90+
6. `‹VERIFY: what the layout emits when _canonicalLink is absent›` — docs team; if the answer is
91+
"nothing", it preempts every queue (D2 review §5.1).
92+
7. Canonical-link policy pattern — D2 (draft exists in D2 review §5), docs team implements.
93+
94+
### Deploy
95+
96+
1. Replace the four `.ai` files and two `.claude` adapters in one commit; `git diff` is the review
97+
surface.
98+
2. The adapter `description` fields must remain byte-identical to their canonicals — check on every
99+
future edit (version lines are the interim control until a CI check exists).
100+
3. Next steps per the D2 cut line: D5 step 2 diffs are superseded by this apply; skill-creator eval
101+
loop (pre-patch snapshots exist in git history) after this wave merges.

.ai/skills/README.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Ignite UI doc-skill set — architecture and maintenance guide
2+
3+
Version: v3 · 2026-08-14 · igniteui doc-skill set. This file is for humans; agents load the
4+
SKILL.md files. Change history: `CHANGELOG.md`.
5+
6+
## What this is
7+
8+
Two agent skills that keep Ignite UI documentation topics uniform, verified, and quotable by AI
9+
assistants:
10+
11+
- **`igniteui-doc-topics`** — author or audit whole topics (component pages, concept overviews,
12+
category indexes) against the Diátaxis-based house templates.
13+
- **`igniteui-topic-frontmatter`** — audit and normalize YAML frontmatter only (SEO titles, meta
14+
descriptions, `llms.description`, keywords, canonical links), audit-first, never touching the body.
15+
16+
The `.claude/skills/` copies are **thin adapters** for Claude: they carry the same `name` and
17+
`description` (the triggering surface) and redirect to the canonical `.ai/skills/` files. Other
18+
agents can consume the `.ai` skills directly.
19+
20+
## Design intent (why it is structured this way)
21+
22+
**SKILL.md is a routing hub; references carry the substance.** This follows the same pattern as the
23+
`IgniteUI/igniteui-angular` repo skills (e.g. `skills/igniteui-angular-components`): the SKILL.md
24+
holds only identity, scope, hard boundaries, and a Task → Reference table; every rule that can
25+
change over time lives in `references/`. Three reasons:
26+
27+
1. **Progressive disclosure.** Agents always see the name + description; they load the SKILL.md
28+
body when the skill triggers, and read only the reference files the task needs. Small router =
29+
cheap trigger, precise loading.
30+
2. **Future-proofing.** Rules evolve (new checks, answered ‹VERIFY› items, template revisions);
31+
the router does not. Day-to-day maintenance touches only `references/*.md`, so SKILL.md diffs are
32+
rare and reviewable, and the adapters in `.claude/` almost never need to change.
33+
3. **Anti-drift.** Rules stated once, in one file, referenced everywhere else. The set learned this
34+
the hard way (see CHANGELOG v2): the same contract stated in three places will disagree within a
35+
week.
36+
37+
## File map
38+
39+
```
40+
.ai/skills/
41+
├── README.md ← this file (humans)
42+
├── CHANGELOG.md ← every change, mapped to review finding IDs
43+
├── igniteui-doc-topics/
44+
│ ├── SKILL.md ← router: modes, compass, composite principle, task table
45+
│ └── references/
46+
│ ├── house-style.md ← THE normative source: blueprints, frontmatter contract,
47+
│ │ naming, entity terminology, verification workflow, voice
48+
│ ├── create-workflow.md ← authoring steps 1–7 + category/index structure
49+
│ ├── audit-rubric.md ← audit workflow + checks A–F + report format
50+
│ └── diataxis-cheatsheet.md ← the four modes + the compass (reasoning layer)
51+
└── igniteui-topic-frontmatter/
52+
├── SKILL.md ← router: scope, audit-first mode, task table, boundaries
53+
└── references/
54+
├── audit-rules.md ← field-by-field quality checks + severity ladder
55+
└── report-format.md ← report shape + apply procedure
56+
57+
.claude/skills/
58+
├── igniteui-doc-topics/SKILL.md ← adapter (description byte-matches canonical)
59+
└── igniteui-topic-frontmatter/SKILL.md ← adapter (description byte-matches canonical)
60+
```
61+
62+
**Authority chain:** where any two files differ, `house-style.md` wins on content rules (it is the
63+
single normative field contract and template source); each skill's own references win on its
64+
operational procedure (severities, report shapes, workflow order). The frontmatter skill reads
65+
across into `igniteui-doc-topics/references/house-style.md` deliberately — one contract, two
66+
consumers.
67+
68+
## How to update the set
69+
70+
1. **Edit the reference file**, not the router. New check → `audit-rules.md` or `audit-rubric.md`;
71+
template change → `house-style.md`; workflow change → `create-workflow.md`. Touch a SKILL.md only
72+
when scope, boundaries, or routing genuinely change.
73+
2. **Bump the set version line in every file** (`Version: vN · date · igniteui doc-skill set`) —
74+
all files move together, even content-unchanged ones. A mismatched version line is the drift
75+
alarm; treat it as a stop sign.
76+
3. **Keep adapter descriptions byte-identical** to the canonical `description` fields. If you
77+
change a description, change it in both places in the same commit.
78+
4. **Record the change in `CHANGELOG.md`** with what changed, why, and the finding/decision ID it
79+
traces to. This set is maintained under review discipline; an untraceable edit is how the last
80+
contradiction got in.
81+
5. **Resolve ‹VERIFY› placeholders by editing, never by deleting.** Each open item is listed in the
82+
changelog with an owner. When a verification is answered, apply its pre-committed outcome (they
83+
are written next to the placeholders) and remove the placeholder in the same edit.
84+
85+
## Provenance
86+
87+
- The entity-terminology table in `house-style.md` is a governed copy of
88+
`blog-creator product-context v4 · 2026-08-14`. When that table changes upstream, update the copy
89+
in the same change.
90+
- The rule substance was ratified through the D5 review (2026-08-14, findings D5-22…31) and the D2
91+
review v1.1 (findings D2-01…12, transfer matrix v1). The CHANGELOG maps every edit to those IDs.

0 commit comments

Comments
 (0)