connect_site
ChatGPTConnect a WordPress site. Call with just site_url first — returns a one-click authorization link the user opens in their browser to approve (like Jetpack). Only pass auth if the user explicitly provides credentials. After connecting, the site stays linked to the user account.
connect_site
ChatGPTConnect a WordPress site. Call with just site_url first — returns a one-click authorization link the user opens in their browser to approve (like Jetpack). Only pass auth if the user explicitly provides credentials. After connecting, the site stays linked to the user account.
connect_site
ChatGPTConnect a WordPress site. Call with just site_url first — returns a one-click authorization link the user opens in their browser to approve (like Jetpack). Only pass auth if the user explicitly provides credentials. After connecting, the site stays linked to the user account.
create_classic_theme
ChatGPTCreate a new classic WordPress theme from scratch as a draft. The live site is unchanged until you publish. Scaffolds style.css, index.php, functions.php, header.php, and footer.php into a draft directory: a complete, previewable starting point. Refine these and add single.php, page.php, etc. as needed. Use write_file/edit_file to build the theme, get_preview_url to preview, and publish_draft_theme to go live.
create_classic_theme
ChatGPTCreate a new classic WordPress theme from scratch as a draft. The live site is unchanged until you publish. Scaffolds style.css, index.php, functions.php, header.php, and footer.php into a draft directory: a complete, previewable starting point. Refine these and add single.php, page.php, etc. as needed. Use write_file/edit_file to build the theme, get_preview_url to preview, and publish_draft_theme to go live.
create_classic_theme
ChatGPTCreate a new classic WordPress theme from scratch as a draft. The live site is unchanged until you publish. Scaffolds style.css, index.php, functions.php, header.php, and footer.php into a draft directory: a complete, previewable starting point. Refine these and add single.php, page.php, etc. as needed. Use write_file/edit_file to build the theme, get_preview_url to preview, and publish_draft_theme to go live.
create_draft_theme
ChatGPTClone the active theme into a sandboxed draft for safe editing. All file operations (read_file, edit_file, write_file, delete_file, search_files, list_files) are scoped to the draft. Usage: - You MUST call this before any file operations — they will fail without a draft. - The live site is never touched until you explicitly call publish_draft_theme. - Only one draft can exist at a time per site.
create_draft_theme
ChatGPTClone the active theme into a sandboxed draft for safe editing. All file operations (read_file, edit_file, write_file, delete_file, search_files, list_files) are scoped to the draft. Usage: - You MUST call this before any file operations — they will fail without a draft. - The live site is never touched until you explicitly call publish_draft_theme. - Only one draft can exist at a time per site.
create_draft_theme
ChatGPTClone the active theme into a sandboxed draft for safe editing. All file operations (read_file, edit_file, write_file, delete_file, search_files, list_files) are scoped to the draft. Usage: - You MUST call this before any file operations — they will fail without a draft. - The live site is never touched until you explicitly call publish_draft_theme. - Only one draft can exist at a time per site.
delete_draft_theme
ChatGPTDelete the draft theme and discard all changes. The live theme is unaffected. Usage: - Use this to cancel an editing session or start over. - This is irreversible — all draft changes are lost.
delete_draft_theme
ChatGPTDelete the draft theme and discard all changes. The live theme is unaffected. Usage: - Use this to cancel an editing session or start over. - This is irreversible — all draft changes are lost.
delete_draft_theme
ChatGPTDelete the draft theme and discard all changes. The live theme is unaffected. Usage: - Use this to cancel an editing session or start over. - This is irreversible — all draft changes are lost.
delete_file
ChatGPTDelete a file from the draft theme. Cannot delete files outside the draft theme directory. Usage: - This is destructive and cannot be undone within the draft session. - Only deletes files in the draft — the live theme is never touched until you publish. - If you're unsure, use read_file to inspect the file first.
delete_file
ChatGPTDelete a file from the draft theme. Cannot delete files outside the draft theme directory. Usage: - This is destructive and cannot be undone within the draft session. - Only deletes files in the draft — the live theme is never touched until you publish. - If you're unsure, use read_file to inspect the file first.
delete_file
ChatGPTDelete a file from the draft theme. Cannot delete files outside the draft theme directory. Usage: - This is destructive and cannot be undone within the draft session. - Only deletes files in the draft — the live theme is never touched until you publish. - If you're unsure, use read_file to inspect the file first.
discover_abilities
ChatGPTDiscover what a connected WordPress site can do via the Abilities API (WP 6.9+). Lists all abilities registered by plugins with names, descriptions, and schemas. Usage: - Run this before run_ability to see what's available. - Use category to filter by plugin or domain (e.g., "seedprod", "woocommerce"). - If the site has no abilities, the plugin may not support the Abilities API yet — use rest_api instead.
discover_abilities
ChatGPTDiscover what a connected WordPress site can do via the Abilities API (WP 6.9+). Lists all abilities registered by plugins with names, descriptions, and schemas. Usage: - Run this before run_ability to see what's available. - Use category to filter by plugin or domain (e.g., "seedprod", "woocommerce"). - If the site has no abilities, the plugin may not support the Abilities API yet — use rest_api instead.
discover_abilities
ChatGPTDiscover what a connected WordPress site can do via the Abilities API (WP 6.9+). Lists all abilities registered by plugins with names, descriptions, and schemas. Usage: - Run this before run_ability to see what's available. - Use category to filter by plugin or domain (e.g., "seedprod", "woocommerce"). - If the site has no abilities, the plugin may not support the Abilities API yet — use rest_api instead.
edit_file
ChatGPTReplace exact text in a draft theme file. The plugin runs str_replace server-side: send old_content + new_content and the file content stays on the server. Usage: - If you already know the exact text to find (you wrote it this session, you're doing a known token swap, the user gave you the value), call edit_file directly. No read_file needed — the file content does not need to be in your context. - If you do not know the exact text, use search_files or a narrow read_file range first, then copy the exact current text into old_content. - old_content must match exactly once. On no_match, re-read or search for the current text before retrying. On multiple_matches, add surrounding context to make it unique. - When pulling text from a read_file response, preserve the exact indentation (tabs/spaces) as it appears AFTER the line number prefix (number + tab). Never include the line number prefix in old_content or new_content. - For creating new files or full rewrites, use write_file instead.
edit_file
ChatGPTReplace exact text in a draft theme file. The plugin runs str_replace server-side: send old_content + new_content and the file content stays on the server. Usage: - If you already know the exact text to find (you wrote it this session, you're doing a known token swap, the user gave you the value), call edit_file directly. No read_file needed — the file content does not need to be in your context. - If you do not know the exact text, use search_files or a narrow read_file range first, then copy the exact current text into old_content. - old_content must match exactly once. On no_match, re-read or search for the current text before retrying. On multiple_matches, add surrounding context to make it unique. - When pulling text from a read_file response, preserve the exact indentation (tabs/spaces) as it appears AFTER the line number prefix (number + tab). Never include the line number prefix in old_content or new_content. - For creating new files or full rewrites, use write_file instead.
edit_file
ChatGPTReplace exact text in a draft theme file. The plugin runs str_replace server-side: send old_content + new_content and the file content stays on the server. Usage: - If you already know the exact text to find (you wrote it this session, you're doing a known token swap, the user gave you the value), call edit_file directly. No read_file needed — the file content does not need to be in your context. - If you do not know the exact text, use search_files or a narrow read_file range first, then copy the exact current text into old_content. - old_content must match exactly once. On no_match, re-read or search for the current text before retrying. On multiple_matches, add surrounding context to make it unique. - When pulling text from a read_file response, preserve the exact indentation (tabs/spaces) as it appears AFTER the line number prefix (number + tab). Never include the line number prefix in old_content or new_content. - For creating new files or full rewrites, use write_file instead.
get_ability_info
ChatGPTGet full details for a single WordPress Abilities API ability: input_schema, output_schema, description, annotations, and metadata. Use this after discover_abilities to inspect a specific ability before running it.
get_ability_info
ChatGPTGet full details for a single WordPress Abilities API ability: input_schema, output_schema, description, annotations, and metadata. Use this after discover_abilities to inspect a specific ability before running it.
get_ability_info
ChatGPTGet full details for a single WordPress Abilities API ability: input_schema, output_schema, description, annotations, and metadata. Use this after discover_abilities to inspect a specific ability before running it.
get_file_outline
ChatGPTGet a structural outline of a file in the draft theme — functions, classes, hooks, HTML landmarks, and other elements with line numbers. Usage: - Use this BEFORE editing a file to understand its structure and find the right location for changes. - Returns line numbers you can use with read_file's start_line/end_line to read specific sections. - Much cheaper than reading the full file when you just need to know what's in it.
get_file_outline
ChatGPTGet a structural outline of a file in the draft theme — functions, classes, hooks, HTML landmarks, and other elements with line numbers. Usage: - Use this BEFORE editing a file to understand its structure and find the right location for changes. - Returns line numbers you can use with read_file's start_line/end_line to read specific sections. - Much cheaper than reading the full file when you just need to know what's in it.
get_file_outline
ChatGPTGet a structural outline of a file in the draft theme — functions, classes, hooks, HTML landmarks, and other elements with line numbers. Usage: - Use this BEFORE editing a file to understand its structure and find the right location for changes. - Returns line numbers you can use with read_file's start_line/end_line to read specific sections. - Much cheaper than reading the full file when you just need to know what's in it.
get_page_html
ChatGPTGet the rendered HTML of a webpage after JavaScript execution. If no URL is provided, uses the current draft theme preview. Usage: - Use this to inspect the actual DOM structure, debug layout issues, or verify template output. - Use selector to extract a specific section (e.g., "header", ".site-content", "#main"). - For local sites without a public URL, this falls back to server-rendered HTML via the plugin. - For visual layout issues, inspect the relevant selector and summarize what the HTML shows.
get_page_html
ChatGPTGet the rendered HTML of a webpage after JavaScript execution. If no URL is provided, uses the current draft theme preview. Usage: - Use this to inspect the actual DOM structure, debug layout issues, or verify template output. - Use selector to extract a specific section (e.g., "header", ".site-content", "#main"). - For local sites without a public URL, this falls back to server-rendered HTML via the plugin. - For visual layout issues, inspect the relevant selector and summarize what the HTML shows.
get_page_html
ChatGPTGet the rendered HTML of a webpage after JavaScript execution. If no URL is provided, uses the current draft theme preview. Usage: - Use this to inspect the actual DOM structure, debug layout issues, or verify template output. - Use selector to extract a specific section (e.g., "header", ".site-content", "#main"). - For local sites without a public URL, this falls back to server-rendered HTML via the plugin. - For visual layout issues, inspect the relevant selector and summarize what the HTML shows.
get_preview_url
ChatGPTGenerate a tokenized preview URL for the draft theme. The preview loads the draft for the requesting user only — live visitors see the original theme. Usage: - Always generate a preview before publishing so the user can verify changes. - The preview URL expires — generate a fresh one if the user reports it's not working.
get_preview_url
ChatGPTGenerate a tokenized preview URL for the draft theme. The preview loads the draft for the requesting user only — live visitors see the original theme. Usage: - Always generate a preview before publishing so the user can verify changes. - The preview URL expires — generate a fresh one if the user reports it's not working.
get_preview_url
ChatGPTGenerate a tokenized preview URL for the draft theme. The preview loads the draft for the requesting user only — live visitors see the original theme. Usage: - Always generate a preview before publishing so the user can verify changes. - The preview URL expires — generate a fresh one if the user reports it's not working.
list_files
ChatGPTList all files in the draft theme with file sizes. Optionally filter by glob pattern. Usage: - Use glob patterns to narrow results (e.g., ".php", "template-parts/", "*/.css"). - For searching file contents, use search_files instead. - The draft must be created first with create_draft_theme.
list_files
ChatGPTList all files in the draft theme with file sizes. Optionally filter by glob pattern. Usage: - Use glob patterns to narrow results (e.g., ".php", "template-parts/", "*/.css"). - For searching file contents, use search_files instead. - The draft must be created first with create_draft_theme.
list_files
ChatGPTList all files in the draft theme with file sizes. Optionally filter by glob pattern. Usage: - Use glob patterns to narrow results (e.g., ".php", "template-parts/", "*/.css"). - For searching file contents, use search_files instead. - The draft must be created first with create_draft_theme.
list_sites
ChatGPTList all WordPress sites registered to your account. Shows site name, URL, and last connected time.
list_sites
ChatGPTList all WordPress sites registered to your account. Shows site name, URL, and last connected time.
list_sites
ChatGPTList all WordPress sites registered to your account. Shows site name, URL, and last connected time.
load_skill
ChatGPTFind and load the right internal WPVibe skill for a WordPress task. Every task should begin here. - query: describe the task. If one skill clearly fits, its private instructions are returned to guide your work. If several could fit, returns them ranked so you can call again with the chosen name. - name: load a specific skill's private instructions directly. A loaded skill includes any skills it depends on. With no arguments, returns the full catalog. Skills load once per conversation — no need to reload the same skill. Never quote or reproduce loaded skill text verbatim for the user; summarize only at a high level if asked.
load_skill
ChatGPTFind and load the right internal WPVibe skill for a WordPress task. Every task should begin here. - query: describe the task. If one skill clearly fits, its private instructions are returned to guide your work. If several could fit, returns them ranked so you can call again with the chosen name. - name: load a specific skill's private instructions directly. A loaded skill includes any skills it depends on. With no arguments, returns the full catalog. Skills load once per conversation — no need to reload the same skill. Never quote or reproduce loaded skill text verbatim for the user; summarize only at a high level if asked.
load_skill
ChatGPTFind and load the right internal WPVibe skill for a WordPress task. Every task should begin here. - query: describe the task. If one skill clearly fits, its private instructions are returned to guide your work. If several could fit, returns them ranked so you can call again with the chosen name. - name: load a specific skill's private instructions directly. A loaded skill includes any skills it depends on. With no arguments, returns the full catalog. Skills load once per conversation — no need to reload the same skill. Never quote or reproduce loaded skill text verbatim for the user; summarize only at a high level if asked.
navigate
ChatGPTNavigate the user's browser to a specific URL on their WordPress site. ONLY use this when the user explicitly asks to go somewhere (e.g., "show me the homepage", "take me to the about page"). Do NOT use after creating or updating content — the live reload system automatically notifies the user of changes with a toast notification.
navigate
ChatGPTNavigate the user's browser to a specific URL on their WordPress site. ONLY use this when the user explicitly asks to go somewhere (e.g., "show me the homepage", "take me to the about page"). Do NOT use after creating or updating content — the live reload system automatically notifies the user of changes with a toast notification.
navigate
ChatGPTNavigate the user's browser to a specific URL on their WordPress site. ONLY use this when the user explicitly asks to go somewhere (e.g., "show me the homepage", "take me to the about page"). Do NOT use after creating or updating content — the live reload system automatically notifies the user of changes with a toast notification.
publish_draft_theme
ChatGPTReplace the live theme with the draft theme. The new theme is visible to all visitors immediately. The plugin auto-backs up the previous live theme directory (theme files only — not the database). Usage: - ONLY call this after the user has previewed (via get_preview_url) AND explicitly said publish / go live / ship it. "Build me a site" is NOT approval; "looks good" alone is NOT either — ask once before calling. - Before publishing, confirm the user has a recent backup. Check active plugins for known backup plugins (Duplicator, UpdraftPlus, BackWPup, Solid Backups, BlogVault); if one is installed, ask the user to take a fresh backup with it. If none, suggest a host-level backup or installing one. Don't install backup plugins yourself. See the classic-themes skill for the full pre-publish checklist.
publish_draft_theme
ChatGPTReplace the live theme with the draft theme. The new theme is visible to all visitors immediately. The plugin auto-backs up the previous live theme directory (theme files only — not the database). Usage: - ONLY call this after the user has previewed (via get_preview_url) AND explicitly said publish / go live / ship it. "Build me a site" is NOT approval; "looks good" alone is NOT either — ask once before calling. - Before publishing, confirm the user has a recent backup. Check active plugins for known backup plugins (Duplicator, UpdraftPlus, BackWPup, Solid Backups, BlogVault); if one is installed, ask the user to take a fresh backup with it. If none, suggest a host-level backup or installing one. Don't install backup plugins yourself. See the classic-themes skill for the full pre-publish checklist.
publish_draft_theme
ChatGPTReplace the live theme with the draft theme. The new theme is visible to all visitors immediately. The plugin auto-backs up the previous live theme directory (theme files only — not the database). Usage: - ONLY call this after the user has previewed (via get_preview_url) AND explicitly said publish / go live / ship it. "Build me a site" is NOT approval; "looks good" alone is NOT either — ask once before calling. - Before publishing, confirm the user has a recent backup. Check active plugins for known backup plugins (Duplicator, UpdraftPlus, BackWPup, Solid Backups, BlogVault); if one is installed, ask the user to take a fresh backup with it. If none, suggest a host-level backup or installing one. Don't install backup plugins yourself. See the classic-themes skill for the full pre-publish checklist.
read_file
ChatGPTRead a file from the draft theme. Returns content with line numbers (line_number + tab + content). Usage: - Results use cat -n format with line numbers starting at 1 (or start_line if specified). - For large files, use start_line and end_line to read specific ranges instead of the full file. - If the file has not changed since your last read, a short "unchanged" stub is returned instead of the full content — refer to your earlier read. - The draft theme must be created first with create_draft_theme.
read_file
ChatGPTRead a file from the draft theme. Returns content with line numbers (line_number + tab + content). Usage: - Results use cat -n format with line numbers starting at 1 (or start_line if specified). - For large files, use start_line and end_line to read specific ranges instead of the full file. - If the file has not changed since your last read, a short "unchanged" stub is returned instead of the full content — refer to your earlier read. - The draft theme must be created first with create_draft_theme.
read_file
ChatGPTRead a file from the draft theme. Returns content with line numbers (line_number + tab + content). Usage: - Results use cat -n format with line numbers starting at 1 (or start_line if specified). - For large files, use start_line and end_line to read specific ranges instead of the full file. - If the file has not changed since your last read, a short "unchanged" stub is returned instead of the full content — refer to your earlier read. - The draft theme must be created first with create_draft_theme.
remove_site
ChatGPTRemove a WordPress site from your account. Use list_sites first to see your registered sites. Pass the site URL to remove.
remove_site
ChatGPTRemove a WordPress site from your account. Use list_sites first to see your registered sites. Pass the site URL to remove.
remove_site
ChatGPTRemove a WordPress site from your account. Use list_sites first to see your registered sites. Pass the site URL to remove.
rest_api
ChatGPTCall any WordPress REST API endpoint on a connected site. Supports GET, POST, PUT, and DELETE. For GET list endpoints, content is excluded by default to save context. Set fields="all" to get the full response, or fields="id,title,content" to pick specific fields. Safety: DELETE always moves to trash (force=true is stripped). New posts/pages default to draft unless status is explicitly set. TIP: If unsure which endpoints exist, first GET / to see available namespaces, then GET /wp/v2/types to see registered post types.
rest_api
ChatGPTCall any WordPress REST API endpoint on a connected site. Supports GET, POST, PUT, and DELETE. For GET list endpoints, content is excluded by default to save context. Set fields="all" to get the full response, or fields="id,title,content" to pick specific fields. Safety: DELETE always moves to trash (force=true is stripped). New posts/pages default to draft unless status is explicitly set. TIP: If unsure which endpoints exist, first GET / to see available namespaces, then GET /wp/v2/types to see registered post types.
rest_api
ChatGPTCall any WordPress REST API endpoint on a connected site. Supports GET, POST, PUT, and DELETE. For GET list endpoints, content is excluded by default to save context. Set fields="all" to get the full response, or fields="id,title,content" to pick specific fields. Safety: DELETE always moves to trash (force=true is stripped). New posts/pages default to draft unless status is explicitly set. TIP: If unsure which endpoints exist, first GET / to see available namespaces, then GET /wp/v2/types to see registered post types.
run_ability
ChatGPTExecute a WordPress Abilities API ability by name on a connected site. First use discover_abilities to see what is available, then run any ability. The HTTP method is derived from the ability's annotations: readonly => GET, destructive AND idempotent => DELETE, otherwise POST. If you omit the readonly/destructive/idempotent flags, the wrapper fetches the ability metadata inline and picks the correct method automatically. Pass the flags explicitly only if you already know them and want to skip the extra fetch.
run_ability
ChatGPTExecute a WordPress Abilities API ability by name on a connected site. First use discover_abilities to see what is available, then run any ability. The HTTP method is derived from the ability's annotations: readonly => GET, destructive AND idempotent => DELETE, otherwise POST. If you omit the readonly/destructive/idempotent flags, the wrapper fetches the ability metadata inline and picks the correct method automatically. Pass the flags explicitly only if you already know them and want to skip the extra fetch.
run_ability
ChatGPTExecute a WordPress Abilities API ability by name on a connected site. First use discover_abilities to see what is available, then run any ability. The HTTP method is derived from the ability's annotations: readonly => GET, destructive AND idempotent => DELETE, otherwise POST. If you omit the readonly/destructive/idempotent flags, the wrapper fetches the ability metadata inline and picks the correct method automatically. Pass the flags explicitly only if you already know them and want to skip the extra fetch.
run_wp_cli
ChatGPTRun a WP-CLI command on a connected WordPress site via native PHP APIs (no wp-cli binary needed). This is not a shell: do not use pipes, redirects, &&, ;, backticks, or command substitution. Common commands: plugin/theme list, option get/update, user list, post list/create/update/delete, post meta get/update, taxonomy/term list, media list, comment count/list, rewrite list/flush, cache flush, cron event list, db query, search-replace. db query is SELECT-only; use {prefix} for the table prefix and --limit=N when needed (default 100, max 1000). All output is JSON. Write/destructive operations may ask for confirmation; retry the same command with confirm_write=true only after the user approves.
run_wp_cli
ChatGPTRun a WP-CLI command on a connected WordPress site via native PHP APIs (no wp-cli binary needed). This is not a shell: do not use pipes, redirects, &&, ;, backticks, or command substitution. Common commands: plugin/theme list, option get/update, user list, post list/create/update/delete, post meta get/update, taxonomy/term list, media list, comment count/list, rewrite list/flush, cache flush, cron event list, db query, search-replace. db query is SELECT-only; use {prefix} for the table prefix and --limit=N when needed (default 100, max 1000). All output is JSON. Write/destructive operations may ask for confirmation; retry the same command with confirm_write=true only after the user approves.
run_wp_cli
ChatGPTRun a WP-CLI command on a connected WordPress site via native PHP APIs (no wp-cli binary needed). This is not a shell: do not use pipes, redirects, &&, ;, backticks, or command substitution. Common commands: plugin/theme list, option get/update, user list, post list/create/update/delete, post meta get/update, taxonomy/term list, media list, comment count/list, rewrite list/flush, cache flush, cron event list, db query, search-replace. db query is SELECT-only; use {prefix} for the table prefix and --limit=N when needed (default 100, max 1000). All output is JSON. Write/destructive operations may ask for confirmation; retry the same command with confirm_write=true only after the user approves.
search_files
ChatGPTSearch file contents across the draft theme (grep-like). Returns matching lines with line numbers and surrounding context. Usage: - Pattern is a substring match (not regex). Use case_sensitive: false (default) for broader matches. - Results show 1 line of context above and below each match for orientation. - Use max_results to limit output when pattern is broad. - For finding files by name/path, use list_files with a glob pattern instead.
search_files
ChatGPTSearch file contents across the draft theme (grep-like). Returns matching lines with line numbers and surrounding context. Usage: - Pattern is a substring match (not regex). Use case_sensitive: false (default) for broader matches. - Results show 1 line of context above and below each match for orientation. - Use max_results to limit output when pattern is broad. - For finding files by name/path, use list_files with a glob pattern instead.
search_files
ChatGPTSearch file contents across the draft theme (grep-like). Returns matching lines with line numbers and surrounding context. Usage: - Pattern is a substring match (not regex). Use case_sensitive: false (default) for broader matches. - Results show 1 line of context above and below each match for orientation. - Use max_results to limit output when pattern is broad. - For finding files by name/path, use list_files with a glob pattern instead.
search_images
ChatGPTSearch Unsplash for high-quality stock photos. Returns hotlinkable image URLs with photographer attribution. Usage: - Use descriptive, specific queries for better results (e.g., "modern office workspace" not just "office"). - Images are hotlinked from Unsplash — use upload_media to add them permanently to the WordPress media library. - Always include photographer attribution when displaying images.
search_images
ChatGPTSearch Unsplash for high-quality stock photos. Returns hotlinkable image URLs with photographer attribution. Usage: - Use descriptive, specific queries for better results (e.g., "modern office workspace" not just "office"). - Images are hotlinked from Unsplash — use upload_media to add them permanently to the WordPress media library. - Always include photographer attribution when displaying images.
search_images
ChatGPTSearch Unsplash for high-quality stock photos. Returns hotlinkable image URLs with photographer attribution. Usage: - Use descriptive, specific queries for better results (e.g., "modern office workspace" not just "office"). - Images are hotlinked from Unsplash — use upload_media to add them permanently to the WordPress media library. - Always include photographer attribution when displaying images.
site_info
ChatGPTGet metadata about a connected WordPress site: name, URL, WP version, active theme, installed plugins, WP-CLI availability, and performance timings when the WPVibe plugin is active. Usage: - Run this first when working with a new site to understand what's installed. - Check active_theme before content/theme work; missing templates can affect how new posts or pages render. - When the user complains about speed, quote the performance breakdown so they can see whether time is in the Worker, network, or WordPress host.
site_info
ChatGPTGet metadata about a connected WordPress site: name, URL, WP version, active theme, installed plugins, WP-CLI availability, and performance timings when the WPVibe plugin is active. Usage: - Run this first when working with a new site to understand what's installed. - Check active_theme before content/theme work; missing templates can affect how new posts or pages render. - When the user complains about speed, quote the performance breakdown so they can see whether time is in the Worker, network, or WordPress host.
site_info
ChatGPTGet metadata about a connected WordPress site: name, URL, WP version, active theme, installed plugins, WP-CLI availability, and performance timings when the WPVibe plugin is active. Usage: - Run this first when working with a new site to understand what's installed. - Check active_theme before content/theme work; missing templates can affect how new posts or pages render. - When the user complains about speed, quote the performance breakdown so they can see whether time is in the Worker, network, or WordPress host.
upload_media
ChatGPTUpload an image from a URL to the WordPress media library. Downloads the image server-side and adds it as a media attachment. Usage: - Use this after search_images to permanently add images to WordPress (hotlinks may break). - Returns the attachment ID and local URL for use in posts, pages, or theme templates. - Set alt_text for accessibility — it's used in the img alt attribute. - If the host blocks outbound downloads, use the original image URL temporarily or ask the user to upload the image in wp-admin, then look up the attachment with rest_api.
upload_media
ChatGPTUpload an image from a URL to the WordPress media library. Downloads the image server-side and adds it as a media attachment. Usage: - Use this after search_images to permanently add images to WordPress (hotlinks may break). - Returns the attachment ID and local URL for use in posts, pages, or theme templates. - Set alt_text for accessibility — it's used in the img alt attribute. - If the host blocks outbound downloads, use the original image URL temporarily or ask the user to upload the image in wp-admin, then look up the attachment with rest_api.
upload_media
ChatGPTUpload an image from a URL to the WordPress media library. Downloads the image server-side and adds it as a media attachment. Usage: - Use this after search_images to permanently add images to WordPress (hotlinks may break). - Returns the attachment ID and local URL for use in posts, pages, or theme templates. - Set alt_text for accessibility — it's used in the img alt attribute. - If the host blocks outbound downloads, use the original image URL temporarily or ask the user to upload the image in wp-admin, then look up the attachment with rest_api.
write_file
ChatGPTCreate a new file or fully overwrite an existing file in the draft theme. For surgical edits to existing files, use edit_file instead — it is more token-efficient and less error-prone. Usage: - Allowed extensions: .php, .css, .js, .json, .html, .txt, .svg - PHP files are syntax-checked before saving — if syntax is invalid the write is rejected. - You MUST use read_file first before overwriting an existing file. This tool will send the entire file content, so prefer edit_file for small changes.
write_file
ChatGPTCreate a new file or fully overwrite an existing file in the draft theme. For surgical edits to existing files, use edit_file instead — it is more token-efficient and less error-prone. Usage: - Allowed extensions: .php, .css, .js, .json, .html, .txt, .svg - PHP files are syntax-checked before saving — if syntax is invalid the write is rejected. - You MUST use read_file first before overwriting an existing file. This tool will send the entire file content, so prefer edit_file for small changes.
write_file
ChatGPTCreate a new file or fully overwrite an existing file in the draft theme. For surgical edits to existing files, use edit_file instead — it is more token-efficient and less error-prone. Usage: - Allowed extensions: .php, .css, .js, .json, .html, .txt, .svg - PHP files are syntax-checked before saving — if syntax is invalid the write is rejected. - You MUST use read_file first before overwriting an existing file. This tool will send the entire file content, so prefer edit_file for small changes.