一键导入
changelog
Adds changelog entries to readme.txt following keepachangelog format. Use when updating the Unreleased section or documenting changes for a release.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Adds changelog entries to readme.txt following keepachangelog format. Use when updating the Unreleased section or documenting changes for a release.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Reproducibly capture in-product UI screenshots (admin popovers, settings teasers, dashboard widgets) used as embedded images in premium upsell teasers. Use whenever a teaser image needs refreshing after the underlying UI changes.
Guides implementation of structured action links on log events. Use when adding get_action_links() to a logger or migrating from get_log_row_details_output().
Enforces active voice for logger messages and the Event Details API. Use when writing a new logger class or modifying message arrays in getInfo().
How to design and regenerate marketing screenshots for the wordpress.org plugin page (banner-1544x500.png, screenshot-1.png, etc). Covers the event mix that converts, the reproducible WordPress Playground pipeline that bakes it, and every non-obvious gotcha from previous shoots. Use when refreshing screenshot-1.png, banners, or any image showing the Simple History event log.
Guidance for writing and running tests in Simple History. Covers which framework to use, how to run existing tests, and how to create new ones (including the codegen recording workflow).
Surface and triage local issues that are safe and quick for an AI to implement and easy for a human to verify. Use when the user wants to "knock out issues", asks for "quick wins", "low-hanging fruit", "what's easy to do right now", or wants a batch of small tasks to work through in one session.
| name | changelog |
| description | Adds changelog entries to readme.txt following keepachangelog format. Use when updating the Unreleased section or documenting changes for a release. |
| allowed-tools | Read, Edit |
Add entries to the Simple History plugin's readme.txt changelog.
## Changelog → ### Unreleased- Fixed post creation via Gutenberg autosave not being logged. [#599](https://github.com/bonny/WordPress-Simple-History/issues/599)
- (hyphen + 3 spaces)Changelogs are for humans, not machines. Write for both technical and non-technical WordPress users.
Write for the user:
Be honest and complete:
🧪 **Experimental** — prefix (see "Experimental features" section below)Keep it concise:
Helpers::get_filtered_history_url())Too long → tightened (real example):
❌ New installs now create the history tables with `$wpdb->get_charset_collate()` (matching
WordPress core's pattern since 4.2) instead of a hardcoded `CHARSET=utf8`. On modern hosts
this means tables are created as `utf8mb4`, so they can store 4-byte UTF-8 characters
like emoji in event context — previously a post title with an emoji could silently drop
the entire context row, leaving log entries like `Updated ""` with no user attribution.
The contexts table's `key` index is now a 191-char prefix index so it stays under
InnoDB's 767-byte limit on older row formats. Existing installs are unchanged by this
release; a follow-up will add an opt-in conversion path for older tables.
✅ New installs create history tables as `utf8mb4` (using `$wpdb->get_charset_collate()`),
so emoji and other 4-byte UTF-8 characters in event context are preserved instead of
silently dropping the entire context row. Existing installs are unchanged; an opt-in
conversion path for older tables will follow.
What was cut: WP core history ("since 4.2"), the broken-log example (Updated ""), and the InnoDB 767-byte index reasoning. What was kept: the user-visible effect (emoji preserved, context not dropped) and the scope note (existing installs unchanged, follow-up coming).
Don't write:
Use these standard categories from Keep a Changelog:
Features gated behind the experimental features setting use a consistent format that signals the gating and invites curiosity.
Format:
- 🧪 **Experimental** — Description of the feature, written like any other entry.
Rules:
🧪 **Experimental** — (test-tube emoji + bold label + em-dash + space).Preamble in Unreleased:
The Unreleased section starts with a one-line blockquote that explains what the marker means. This lives once at the top of Unreleased — don't duplicate it in older releases:
> 🧪 **Experimental** entries are gated behind the experimental features setting (Settings → Simple History → Experimental). Enable it to try them, then share feedback so we know what to ship for everyone.
Why this format:
Examples:
✅ 🧪 **Experimental** — Failed application password authentication on REST API and XML-RPC requests is now logged as a warning…
✅ 🧪 **Experimental** — "History" column on post and page list tables showing recent activity at a glance.
❌ "History" column on post and page list tables… (experimental) (trailing tag — old format)
❌ "History" column on post and page list tables… Requires experimental features to be enabled. (boilerplate phrase — superseded by the 🧪 prefix)
❌ 🧪 History column… (missing **Experimental** label)
Always maintain an ### Unreleased section at the top of the changelog. This lets users see what's coming and makes it easy to promote entries into a versioned release.
When releasing, move Unreleased entries into a new versioned section with the release date.
At release time, besides the changelog, add the in-plugin "Highlights in this version" notice that users see when they update. It's separate from readme.txt:
inc/services/class-simple-history-updates.phpadd_filter( 'simple_history/pluginlogger/plugin_updated_details/simple-history/X.Y.Z', [ $this, 'on_plugin_updated_details_X_Y_Z' ] ); in loaded()on_plugin_updated_details_X_Y_Z() method returning 3 short highlight bullets + the release-post link (copy the previous version's method)Preview it with the dev WP-CLI command (needs SIMPLE_HISTORY_DEV). Note the subcommand uses underscores, not dashes:
docker compose run --rm wpcli_mariadb \
simple-history dev add_plugin_update_message --prev-version=<PREV> --version=<NEW>
This logs a fake "plugin updated" event; the highlights render in its event-details panel in wp-admin. --version defaults to the installed version. Premium has its own on_plugin_updated_details_* in the premium plugin — preview with --plugin=simple-history-premium/simple-history-premium.php.
✅ Post creation via Gutenberg autosave not being logged, causing email reports to show 0 posts created.
✅ Developer mode badge to improve debugging workflow.
✅ Performance on sites with large activity logs improved by optimizing database queries.
✅ `simple_history_log()` function — use `SimpleHistory\log()` instead. Will be removed in 6.0.
❌ Added developer mode badge (redundant — heading already says "Added")
❌ Fixed post creation (redundant — heading already says "Fixed")
❌ Bug fixes
❌ Updated code
❌ Refactored SimpleHistoryLogQuery class
❌ Various improvements and optimizations
readme.txt (project root)## Changelog → ### Unreleased## Changelog