sp-build-auditor
OverKill Hill P³ · overkillhill.com · github.com/OKHP3
Use this skill to audit SharePoint UI screenshots captured during a manual list build. It turns screenshots into actionable build findings by comparing the visible UI settings against the repo's build cards, schema, and ADR decisions.
Scope
| In scope |
Out of scope |
| Screenshot review for list settings, column settings, indexes, views, and content types |
Making live SharePoint changes |
Matching UI evidence to schema/v2-build-cards.md |
Replacing human site-owner approval |
| Finding sticky-name, type, required, hidden, index, and delete-behavior issues |
Optical perfection or image cleanup |
Producing build corrections and v2-delta.md notes |
Full data migration validation |
Audit Workflow
- Inventory the screenshot folder. Preserve filename order and list every image reviewed.
- Read the matching build card from
schema/v2-build-cards.md.
- Read the matching field section from
schema/schema-fields.md if the card is ambiguous.
- Read the beachhead CSV header for the list and confirm screenshots do not imply extra/missing columns.
- Inspect each screenshot visually. Pay attention to user arrows, brackets, circles, and highlighted options.
- For each visible setting, classify it as
matches build card, must fix before data load, should fix before broad use, acceptable deviation if logged, or needs another screenshot.
- Produce a concise findings table with screenshot filename, UI evidence, expected setting, actual setting, severity, and action.
- If the finding changes schema intent, recommend an ADR or
v2-delta.md note. If it only corrects execution, recommend a SharePoint UI fix.
Critical Platform Constraint — Choice Columns Cannot Be Indexed
Choice columns (single-select or multi-select) cannot be indexed in SharePoint Online. The Edit Index UI does not offer Choice columns in the Primary Column dropdown. Any build card or plan that lists a Choice column as a planned index is incorrect and must be corrected before build.
Indexable types: Single line of text, Number, Date and Time, Yes/No, Lookup, Person/Group, Managed Metadata.
Non-indexable types: Choice, Multiple lines of text, Hyperlink, Calculated, Currency.
Impact on auditing: When reviewing an Indexed Columns screenshot, do not flag the absence of a Choice column as a missing index. Flag it as a build card correction required. If the builder created an index on an alternative non-Choice column instead, evaluate whether that substitution is documented and intentional.
What To Check
For list-level screenshots:
- URL and display name;
- description;
- content type management;
- attachments;
- comments;
- folders;
- search visibility;
- offline sync;
- Quick Edit;
- automatic index management;
- default view and mobile default view;
- indexed columns.
For column screenshots:
- display name and inferred internal name;
- final column type;
- required flag;
- unique values flag;
- max length or decimal places;
- default value;
- choice values;
- single-choice vs multi-choice display mode;
- fill-in choices;
- multi-line plain/rich/enhanced text;
- append changes;
- hidden status from content type page where available;
- index status where visible.
Severity Rules
| Severity |
Use when |
P0 stop build |
Sticky URL/internal name is wrong, wrong list created, or wrong column exists that would require rebuild. |
P1 fix before data load |
Column type, multi-choice vs single-choice, required setting, lookup behavior, index, or attachment setting conflicts with schema. |
P2 fix before broad use |
Governance setting weakens reliability but does not corrupt data immediately, such as Quick Edit or offline sync. |
P3 document |
Acceptable deviation, empty descriptions, or useful extra index that should be logged. |
ReferenceValues Confirmed Findings (2026-06-30 Screenshot Review)
From the analysis/artifacts/build-screenshots/01_ReferenceValues/ set reviewed in session sp-build-findings.md:
| Screenshot |
Finding |
Severity |
Action |
ReferenceGroup.png |
Display choices using = Checkboxes (multi-select). Expected: Drop-Down Menu (single-select). |
P1 fix before data load |
Edit Column → Display choices using: Drop-Down Menu; Fill-in: No |
SourceSystem.png |
Display choices using = Checkboxes (multi-select). Expected: Drop-Down Menu. |
P1 fix before data load |
Edit Column → Display choices using: Drop-Down Menu; Fill-in: No |
SortOrder.png |
Number of decimal places = Automatic. Expected: 0. |
P1 fix before data load |
Edit Column → Decimal places: 0 |
ValueLabel.png |
Description field empty. Max chars = 255 (correct for Single line of text). |
P3 document |
Add description text to column |
Definition.png |
Text type = Plain text (correct). Description empty. |
P3 document |
Add description text |
MapsFromValues.png |
Text type = Plain text (correct). Description empty. |
P3 document |
Add description text |
adv-01.png |
Attachments = Enabled. Expected: Disabled. |
P1 fix before data load |
List Settings → Advanced Settings → Attachments: Disabled |
adv-02.png |
Automatic Index Management = Yes. Expected: No for lists with manual index plan. |
P1 fix before data load |
List Settings → Advanced Settings → AIM: No |
indexes.png |
Index being created on Reference Code (Single line of text). Build card listed ReferenceGroup as an index — but ReferenceGroup is a Choice column and cannot be indexed. The builder discovered this at build time. ReferenceCode is a valid substitute. IsActive should also be indexed. |
Build card correction required |
Remove ReferenceGroup from Card 01 index list; add ReferenceCode as deliberate index substitute; confirm IsActive is indexed |
content-type.png |
Content type management appears enabled. Single content type "Item" present. IsActive shows Optional. |
P3 document |
IsActive is required per build card — verify required setting is confirmed in Edit Column, not only in content type view |
Reference Loading
Read references/shot-review.md when reviewing a new screenshot folder or when the user asks for image-by-image findings.
About
Built by Jamie Hill · OverKill Hill P³
Published at github.com/OKHP3
Part of the OKHP3/skillz Agent Skill library.
MIT License -- free to use, fork, and adapt. A nod to the source is appreciated.
1---2name: sp-build-auditor3description: OverKill Hill P³ SharePoint List build screenshot auditor. Use when reviewing screenshots of SharePoint Online list settings, column settings, indexed columns, content types, views, or Advanced Settings against a repo schema, build card, runbook, ADR, or CSV header. Also activate when the user says they captured SharePoint build screenshots, asks whether a list or column was configured correctly, points to arrows/markups in images, or needs a defect list before continuing manual SharePoint build work. This is the authoritative screenshot-review skill for this repo's UI-only SharePoint build process.4license: MIT5---67# sp-build-auditor89**OverKill Hill P³** · [overkillhill.com](https://overkillhill.com) · [github.com/OKHP3](https://github.com/OKHP3)1011Use this skill to audit SharePoint UI screenshots captured during a manual list build. It turns screenshots into actionable build findings by comparing the visible UI settings against the repo's build cards, schema, and ADR decisions.1213---1415## Scope1617| In scope | Out of scope |18|----------|-------------|19| Screenshot review for list settings, column settings, indexes, views, and content types | Making live SharePoint changes |20| Matching UI evidence to `schema/v2-build-cards.md` | Replacing human site-owner approval |21| Finding sticky-name, type, required, hidden, index, and delete-behavior issues | Optical perfection or image cleanup |22| Producing build corrections and `v2-delta.md` notes | Full data migration validation |2324---2526## Audit Workflow27281. Inventory the screenshot folder. Preserve filename order and list every image reviewed.292. Read the matching build card from `schema/v2-build-cards.md`.303. Read the matching field section from `schema/schema-fields.md` if the card is ambiguous.314. Read the beachhead CSV header for the list and confirm screenshots do not imply extra/missing columns.325. Inspect each screenshot visually. Pay attention to user arrows, brackets, circles, and highlighted options.336. For each visible setting, classify it as `matches build card`, `must fix before data load`, `should fix before broad use`, `acceptable deviation if logged`, or `needs another screenshot`.347. Produce a concise findings table with screenshot filename, UI evidence, expected setting, actual setting, severity, and action.358. If the finding changes schema intent, recommend an ADR or `v2-delta.md` note. If it only corrects execution, recommend a SharePoint UI fix.3637---3839## Critical Platform Constraint — Choice Columns Cannot Be Indexed4041**Choice columns (single-select or multi-select) cannot be indexed in SharePoint Online.** The Edit Index UI does not offer Choice columns in the Primary Column dropdown. Any build card or plan that lists a Choice column as a planned index is incorrect and must be corrected before build.4243**Indexable types:** Single line of text, Number, Date and Time, Yes/No, Lookup, Person/Group, Managed Metadata.44**Non-indexable types:** Choice, Multiple lines of text, Hyperlink, Calculated, Currency.4546**Impact on auditing:** When reviewing an Indexed Columns screenshot, do not flag the absence of a Choice column as a missing index. Flag it as a build card correction required. If the builder created an index on an alternative non-Choice column instead, evaluate whether that substitution is documented and intentional.4748---4950## What To Check5152For list-level screenshots:5354- URL and display name;55- description;56- content type management;57- attachments;58- comments;59- folders;60- search visibility;61- offline sync;62- Quick Edit;63- automatic index management;64- default view and mobile default view;65- indexed columns.6667For column screenshots:6869- display name and inferred internal name;70- final column type;71- required flag;72- unique values flag;73- max length or decimal places;74- default value;75- choice values;76- single-choice vs multi-choice display mode;77- fill-in choices;78- multi-line plain/rich/enhanced text;79- append changes;80- hidden status from content type page where available;81- index status where visible.8283---8485## Severity Rules8687| Severity | Use when |88|---|---|89| `P0 stop build` | Sticky URL/internal name is wrong, wrong list created, or wrong column exists that would require rebuild. |90| `P1 fix before data load` | Column type, multi-choice vs single-choice, required setting, lookup behavior, index, or attachment setting conflicts with schema. |91| `P2 fix before broad use` | Governance setting weakens reliability but does not corrupt data immediately, such as Quick Edit or offline sync. |92| `P3 document` | Acceptable deviation, empty descriptions, or useful extra index that should be logged. |9394---9596## ReferenceValues Confirmed Findings (2026-06-30 Screenshot Review)9798From the `analysis/artifacts/build-screenshots/01_ReferenceValues/` set reviewed in session `sp-build-findings.md`:99100| Screenshot | Finding | Severity | Action |101|---|---|---|---|102| `ReferenceGroup.png` | Display choices using = **Checkboxes** (multi-select). Expected: Drop-Down Menu (single-select). | P1 fix before data load | Edit Column → Display choices using: Drop-Down Menu; Fill-in: No |103| `SourceSystem.png` | Display choices using = **Checkboxes** (multi-select). Expected: Drop-Down Menu. | P1 fix before data load | Edit Column → Display choices using: Drop-Down Menu; Fill-in: No |104| `SortOrder.png` | Number of decimal places = **Automatic**. Expected: 0. | P1 fix before data load | Edit Column → Decimal places: 0 |105| `ValueLabel.png` | Description field empty. Max chars = 255 (correct for Single line of text). | P3 document | Add description text to column |106| `Definition.png` | Text type = Plain text (correct). Description empty. | P3 document | Add description text |107| `MapsFromValues.png` | Text type = Plain text (correct). Description empty. | P3 document | Add description text |108| `adv-01.png` | Attachments = **Enabled**. Expected: Disabled. | P1 fix before data load | List Settings → Advanced Settings → Attachments: Disabled |109| `adv-02.png` | Automatic Index Management = **Yes**. Expected: No for lists with manual index plan. | P1 fix before data load | List Settings → Advanced Settings → AIM: No |110| `indexes.png` | Index being created on `Reference Code` (Single line of text). Build card listed `ReferenceGroup` as an index — but **ReferenceGroup is a Choice column and cannot be indexed**. The builder discovered this at build time. `ReferenceCode` is a valid substitute. `IsActive` should also be indexed. | Build card correction required | Remove `ReferenceGroup` from Card 01 index list; add `ReferenceCode` as deliberate index substitute; confirm `IsActive` is indexed |111| `content-type.png` | Content type management appears enabled. Single content type "Item" present. `IsActive` shows Optional. | P3 document | IsActive is required per build card — verify required setting is confirmed in Edit Column, not only in content type view |112113---114115## Reference Loading116117Read `references/shot-review.md` when reviewing a new screenshot folder or when the user asks for image-by-image findings.118119---120121## About122123Built by [Jamie Hill](https://overkillhill.com) · [OverKill Hill P³](https://overkillhill.com)124Published at [github.com/OKHP3](https://github.com/OKHP3)125Part of the [OKHP3/skillz](https://github.com/OKHP3/skillz) Agent Skill library.126MIT License -- free to use, fork, and adapt. A nod to the source is appreciated.