Admin Site Enhancements
These abilities register when Admin Site Enhancements is detected on the site and a Pro licence is active. If either is missing the module stays absent rather than failing at call time.
At a glance
Admin Site Enhancements registers 18 abilities: 8 that only read, 7 that write, and 3 marked destructive. That split is the practical answer to how much of this module can run unattended. Reads cost nothing and are safe to repeat, so discovery is the part to be generous with; the writes are where review belongs, and the destructive calls stop for an explicit confirmation every single time regardless of which profile is active.
What this module is for
Use WPPilot Pro with ASE field groups, post types, taxonomies, and structured field values while keeping setup checks explicit.
Before you rely on it: Confirm ASE module availability and back up content-model changes before production use.
Typical workflows
- Inventory content models before adding a field group
- Read existing values before a scoped update
- Review taxonomy assignments before changing a model
The Admin and Site Enhancements integration page covers the same module from the workflow side, with the capability map and the questions worth asking before a first write.
Availability on your site
The Admin Site Enhancements module needs three things at once: WPPilot Free as the MCP foundation, an active Pro licence, and the companion plugin detected on the site. Miss any one and the module does not register, which is deliberate: an ability that appears in the tool list but fails at call time is worse than an ability that was never offered. What the connected agent can actually call is then narrowed twice more: by the safety profile active on the site, and by the WordPress capabilities of the user behind the credential. A read that succeeds for an administrator can be absent entirely for an editor.
Every write these abilities perform is recorded in the change ledger, and destructive calls can be routed through the approval queue so a person signs off before anything is applied. A successful tool result means the operation returned, not that the front end, the cache, and every dependent template are correct: that still needs a look.
Reads
Available in every safety profile, including Read Only. Inspection costs nothing and is not rate limited.
| Ability | What it does |
|---|---|
wppilot/ase-check-setupCheck ASE Setup | Reports the Admin and Site Enhancements (ASE) Pro environment status: active/inactive, version, min-version satisfied, Pro detection, per-module toggles (Custom Field Types, Custom Content Types), and counts of registered field groups, custom post types, and custom taxonomies. Run this first to diagnose availability of the other ASE abilities. |
wppilot/ase-get-field-groupGet ASE Field Group | Reads a single ASE CFT field group by its key (slug). Default shape: key, title, fields_count, location, show_in_rest_api. Pass include_fields: true to also expand the full fields[] array. A group with 30 repeater sub-fields would otherwise burn 5-10K tokens on every introspection — only request fields when you need them. |
wppilot/ase-get-post-typeGet ASE Post Type | Reads a single ASE CCT post type definition by slug. Default shape: key, slug, title, labels (singular+plural), supports, taxonomies, public, hierarchical, menu_position, menu_icon, rest, source, editable. Opt-in expansion via include array: "labels_full" (all 31 cpt_label_* postmeta keys), "capabilities" (capability_type, map_meta_cap, custom slugs), "rewrite" (slug, with_front, feeds, pages, ep_mask, query_var). Unknown include values are silently ignored. |
wppilot/ase-get-taxonomyGet ASE Taxonomy | Reads a single ASE CCT taxonomy definition by slug. Default shape: key, slug, title, labels (singular+plural), post_types, public, hierarchical, rest, source, editable. Opt-in expansion via include array: "labels_full" (all 26 ctax_label_* postmeta keys), "rewrite" (slug, with_front, hierarchical_urls, ep_mask, query_var). Unknown include values are silently ignored. No "capabilities" include — taxonomies use WordPress core's fixed capability model. |
wppilot/ase-list-field-groupsList ASE Field Groups | Lists ASE Custom Field Types (CFT) field groups with compact metadata (key, title, fields_count, target_summary, source, editable). Supports pagination (limit/offset) and substring search on title/key. Use wppilot/ase-get-field-group to fetch full location and field details for a specific group. |
wppilot/ase-list-post-typesList ASE Post Types | Lists ASE Custom Content Types (CCT) post type definitions with compact metadata (key, slug, title, public, hierarchical, taxonomies_count, source, editable). Supports pagination (limit/offset) and substring search on plural name (post_title). Use wppilot/ase-get-post-type to fetch full details for a specific post type. |
wppilot/ase-list-taxonomiesList ASE Taxonomies | Lists ASE Custom Content Types (CCT) taxonomy definitions with compact metadata (key, slug, title, public, hierarchical, post_types_count, source, editable). Supports pagination (limit/offset) and substring search on plural name (post_title). Use wppilot/ase-get-taxonomy to fetch full details for a specific taxonomy. |
wppilot/ase-read-valuesRead ASE Field Values | Reads ASE Custom Field Types (CFT) values for a target: post (by post ID), term (by term ID), or options-page (by slug). Pass fields: [name, ...] to restrict to specific fields; omit to return all declared fields for the target. format controls the return format: api (default, ASE-processed), input (form-ready), raw (database string). only_with_values defaults to true — drops empty/null/[] entries to avoid flooding context with unfilled fields. |
Writes
Gated by the active profile and your WordPress capabilities. Rate limited to 120 per minute per credential.
| Ability | What it does |
|---|---|
wppilot/ase-create-field-groupCreate ASE Field Group | Creates a new ASE CFT field group. Provide a key (slug, lowercase letters/digits/hyphens/underscores, max 100 chars), title, optional fields[], location rules, and show_in_rest_api flag. Idempotent on identical re-create (returns created: false). Returns ase_field_group_exists when key exists with different data. Detects ase_field_name_collision when fields[] contains duplicate name values. |
wppilot/ase-create-post-typeCreate ASE Post Type | Creates a new ASE CCT post type definition. Required: slug (1-20 chars, lowercase letters/digits/underscores/hyphens), title (plural name), labels.singular. Auto-generates all 31 cpt_label_* postmeta keys from singular+plural unless overridden via labels_full. Idempotent on identical re-create (returns created: false). Returns ase_post_type_slug_reserved when slug collides with a WordPress core post type. Returns ase_post_type_slug_conflict when slug exists with different data. |
wppilot/ase-create-taxonomyCreate ASE Taxonomy | Creates a new ASE CCT taxonomy definition. Required: slug (1-32 chars, lowercase letters/digits/underscores/hyphens), title (plural name), labels.singular. Auto-generates all 26 ctax_label_* postmeta keys from singular+plural unless overridden via labels_full. Default hierarchical=true (matches WP core category). Idempotent on identical re-create (returns created: false). Returns ase_taxonomy_slug_reserved when slug collides with a WordPress core taxonomy (category, post_tag, nav_menu, link_category, post_format). Returns ase_taxonomy_slug_conflict when slug exists with different data. |
wppilot/ase-edit-field-groupEdit ASE Field Group | Edits an existing ASE CFT field group by key. Provide any subset of: title, fields[], location, show_in_rest_api. Missing keys are left unchanged (merge). When fields[] is provided it replaces the stored array atomically. When location keys are provided each top-level key replaces the matching stored key; absent location keys are preserved. Returns the full updated shape including fields[]. Editing also REPAIRS the stored structure to ASE's canonical shape: passing fields[] normalises every field to ASE's full key set, and any edit that touches show_in_rest_api fills the complete cfgroup_extras keys (order, context, hide_editor). This lets you repair a field group whose stored data is incomplete (e.g. one created before this normalisation) by re-saving it through this ability. |
wppilot/ase-edit-post-typeEdit ASE Post Type | Edits an existing ASE CCT post type definition by slug. The slug itself cannot be changed — renaming requires delete + create. Provide any subset of fields to update; absent keys are left unchanged (merge semantics). supports[] and taxonomies[] replace atomically when provided. rest, labels_full, capabilities, and rewrite sub-objects are partial-merged per key. Important: changing labels.singular/plural does NOT re-generate the 27 auto-label keys — use labels_full overrides to update individual label strings. flush_rewrite_rules() is called after every update. |
wppilot/ase-edit-taxonomyEdit ASE Taxonomy | Edits an existing ASE CCT taxonomy definition by slug. The slug itself cannot be changed — renaming requires delete + create. Provide any subset of fields to update; absent keys are left unchanged (merge semantics). post_types[] replaces atomically when provided. rest, labels_full, and rewrite sub-objects are partial-merged per key. Important: changing labels.singular/plural does NOT re-generate the 26 auto-label keys — use labels_full overrides to update individual label strings. flush_rewrite_rules() is called after every update. |
wppilot/ase-write-valuesWrite ASE Field Values | Writes ASE Custom Field Types (CFT) values to a target: post (by post ID), term (by term ID), or options-page (by slug). Each field's outcome is reported independently in results[] — the call never aborts on partial failure. Unknown fields return ase_unknown_field, layout fields (tab/heading/line_break) return ase_layout_field_write, and successful writes return status: ok. |
Destructive
Marked destructive in the source, so each call needs an explicit confirmation flag, every time.
| Ability | What it does |
|---|---|
wppilot/ase-delete-field-groupDelete ASE Field Group | Permanently deletes an ASE CFT field group by key. This removes the field group definition only — existing stored field values on posts/terms are not deleted. Idempotent: returns deleted: true even if the group does not exist. |
wppilot/ase-delete-post-typeDelete ASE Post Type | Deletes an ASE CCT post type definition by slug. Safe by default: existing posts of the type are preserved in wp_posts (just unregistered). Pass force_delete_content: true to also hard-delete all posts of this type. Returns ase_post_type_not_found when the slug does not exist. flush_rewrite_rules() is called after deletion. |
wppilot/ase-delete-taxonomyDelete ASE Taxonomy | Deletes an ASE CCT taxonomy definition by slug. Safe by default: existing terms of this taxonomy are preserved. Pass force_delete_terms: true to also hard-delete all terms. Returns ase_taxonomy_not_found when the slug does not exist. flush_rewrite_rules() is called after deletion. |