What’s new.
Every release across the library, newest first. Skills improve when something is learned in client delivery — this is that, made visible.
24 Sep 2026
1Visibility set to `public` (was `members`).
23 Sep 2026
1Visibility set to `public` (was `members`).
20 Sep 2026
2Visibility set to members: the skill is served to members and staff and shown on the site, under the library's default for a new skill. The batch script's usage example names a placeholder campaign and tree-relative paths, not a real project. No change to the method.
Visibility set to members: the skill is served to members and staff and shown on the site, under the library's default for a new skill. No change to the method.
19 Sep 2026
1Initial Ascend library submission. Added catalogue metadata, a standard client output root, portable dependency guidance, cross-platform verification commands, and the supplied references and verification scripts.
18 Sep 2026
19Ascend library submission of the supplied 2.14.0 release. Added library metadata, standard package locations and project-relative setup guidance. Removed project-specific client identities from the bundled registry while preserving its schema. Campaign constants derive action colour, type voice and CTA treatment once per batch.
Every work product now lands in the standard output tree (docs/SKILL-FORMAT.md, "Where a skill writes"): an analysis or scorecard kept as a file goes to `clients/<client>/marketing/ad-performance/YYYY-MM-DD.md`; the tracker stays the record. No change to the thresholds or the approval boundary.
Declares that it writes no local work product (`writes: []`): the tracker sheet is the record. No change to the method.
Every work product now lands in the standard output tree (docs/SKILL-FORMAT.md, "Where a skill writes"): the spec, plan and review log for a run move from `<project-root>/.build-loop/<slug>/` to `.ascend/build-loop/<slug>/`, the agent-state directory under the repository being changed. No change to the loop.
Every work product now lands in the standard output tree (docs/SKILL-FORMAT.md, "Where a skill writes"): a blueprint selection kept as a file goes to `clients/<client>/marketing/blueprints/`. The selection itself is unchanged and still answered in chat by default.
Every work product now lands in the standard output tree (docs/SKILL-FORMAT.md, "Where a skill writes"): a spec too long for the goal line goes to `.ascend/goals/<task-slug>/PLAN.md`, agent state under the project, rather than an unnamed `PLAN.md`. No change to the prompt itself.
Declares that it writes no work product (`writes: []`); secrets live in `~/.secrets/`, a tool's own place, as before. No change to the method.
Declares that it writes no work product (`writes: []`): what it produces is software in the repository it runs in, by that repository's conventions. No change to the method.
Declares that it writes no work product (`writes: []`): it is reference knowledge, not an executor. No change to the SOPs.
Every work product now lands in the standard output tree (docs/SKILL-FORMAT.md, "Where a skill writes"): the evidence for a verdict, the frame strip, the manifest and the report, is written under `clients/<client>/creative/qa/<asset-slug>/` and nowhere else, so a verdict can be re-checked later. No change to the gates.
Every work product now lands in the standard output tree (docs/SKILL-FORMAT.md, "Where a skill writes"): assets are created under `clients/<client>/creative/<campaign>/` before upload, and the Drive folder is named as a folder, not a path. No change to the method.
Breaking: the carousel folder moves. Every work product now lands in the standard output tree (docs/SKILL-FORMAT.md, "Where a skill writes"): a carousel is written to `clients/<client>/creative/carousels/<n>/` (slides and `copy.md`, with `production/` for prompts, renders and specs) and the client's profile is read from `clients/<client>/assets/carousel-profile.json`, instead of `{client}/Carousel {n}/` and `_production/` wherever the session happened to be. File names inside the folder are unchanged. No change to the method.
Breaking: the carousel folder moves. Every work product now lands in the standard output tree (docs/SKILL-FORMAT.md, "Where a skill writes"): a carousel is written to `clients/<client>/creative/carousels/<n>/` (slides and `copy.md`, with `production/` for prompts, renders and specs) and the client's profile is read from `clients/<client>/assets/carousel-profile.json`, instead of `{client}/Carousel {n}/` and `_production/` wherever the session happened to be. File names inside the folder are unchanged. No change to the method.
Declares that it writes no work product (`writes: []`). No change to the reference.
Declares that it writes no local work product (`writes: []`): Notion is the record. No change to the method.
Declares that it writes no work product of its own (`writes: []`): the status file is `status-pulse`'s, which now lands in the standard output tree. No change to the loop.
Declares that it writes no work product (`writes: []`): handoffs and goal contracts are agent state under `.ascend/handoffs/`, as before. No change to the method.
Breaking: the status directory moves. Every work product now lands in the standard output tree (docs/SKILL-FORMAT.md, "Where a skill writes"): the default `statusDir` is `operations/status` under the workspace root (the nearest ancestor holding `.ascend/` or `.git/`), and a task that is one client's reports at `clients/<client>/operations/status`; a status file is for a person, so it no longer lives under `.ascend/`, which is for what machines read back. Anyone who relied on `.ascend/status` points `statusDir` at it, or moves the files. The script's default changed to match. No change to the protocol.
Declares that it writes no work product (`writes: []`); the token cache stays in `~/.secrets/xero/`, a tool's own place. No change to the method.
16 Sep 2026
26Visibility set to public for the library review, so every member sees the skill in the catalogue and through the connector. The method is unchanged.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Visibility set to public for the library review, so every member sees the skill in the catalogue and through the connector. The method is unchanged.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Visibility set to public for the library review, so every member sees the skill in the catalogue and through the connector. The method is unchanged.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Visibility set to public for the library review, so every member sees the skill in the catalogue and through the connector. The method is unchanged.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Visibility set to public for the library review, so every member sees the skill in the catalogue and through the connector. The method is unchanged.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Visibility set to public for the library review, so every member sees the skill in the catalogue and through the connector. The method is unchanged.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Visibility set to public for the library review, so every member sees the skill in the catalogue and through the connector. The method is unchanged.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Visibility set to public for the library review, so every member sees the skill in the catalogue and through the connector. The method is unchanged.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
Added the five preview fields the catalogue shows: what it does, who it is for, what you need, how it works and what it does not do. No change to the method.
15 Sep 2026
6Result counting is now configured per client, not hardcoded to `lead`.
`includeItemsFromAllDrives` is a `files.list` parameter, not an every-call one. The skill said to pass it together with `supportsAllDrives` on every call. The Python discovery client validates parameters against the API schema before sending, so on `files.get`, `files.create`, `files.update`, `files.copy` and `files.delete` it raises a `TypeError` locally and nothing reaches Drive. The first upload would have failed. A table now says which flag goes on which call. Found in review by constructing the requests against the installed discovery schema.
Breaking. The universal edition. Same story, copy, candid-photo, typography and QA workflow as the ChatGPT edition; the image step is the only thing that changed, and it changed completely.
Points at the universal edition. The runtime note at the top now names `ig-carousel-factory` as the skill to use when there is no native image tool, instead of only describing the limitation. Adds the rule that the two editions must not be mixed inside one carousel, because the engines render the same prompt differently and the sequence stops looking like one set.
Removed the last two client identifiers from the references: a client's Instagram handle in the copy framework's worked CTA, and a client's palette named as the example contrast treatment in the readability reference. Both are now generic placeholders. The Portability Checklist forbids client identifiers in shipped skill content, and the validator's denylist did not carry these two, which is how they survived the first pass.
`pulse.py` no longer crashes when the project path is not ASCII. The script's own strings were ASCII, but the status-file path interpolated into them comes from the project root. A project under a non-ASCII folder name, on a console running a legacy code page, raised `UnicodeEncodeError` at the one line whose job is to say "nothing is wrong, carry on", and exited 1. Reproduced with a Chinese-named folder under `PYTHONIOENCODING=cp1252`. stdout and stderr are now reconfigured to replace unencodable characters, so the path degrades to `?` and the exit code stays 0.
11 Sep 2026
1Unified the copy and visual approval into one format: a shared overview, identical per-slide copy/scene/placement/contrast/emphasis fields, caption, and a single approval request. Recommend or reuse a client base contrast treatment and disclose scene-specific exceptions. Permanent preferences require explicit client-level adoption. The approved treatment is passed to workers and prompts, and verified in QA.
10 Sep 2026
6Promoted the repeated-authenticity photo handoff after the operator approved indoor, outdoor and transit photographs from a full-workflow trial. Each was generated once from the original portrait with no edits or retries. The recipe keeps the casual smartphone wide-lens opening and reinforces ordinary available light, shared wide perspective, candid activity, texture and background focus across four scene-adapted paragraphs. Removed instructions that would strip out this deliberate repetition.
Changed the authentic-photo opening to "Casual smartphone wide-lens photo" while keeping the 13mm-equivalent cue, shared perspective, available light and focus instructions. After inspecting a reviewed carousel, added concept and pixel checks for credible paper and documents, purposeful actions, and a consistent camera-holder position. Rejects abstract placeholder reports used as lesson props; incidental paper and supplied document assets are still supported. Photo prompts start with the capture sentence, with use-case and provenance headers kept in records. No new image trial was run.
Replaced generative QA edits with fresh complete-slide replacements from the original client and source references, from the first failure onward, covering text, layout, contrast, likeness, photo quality and unsafe framing or ratio. Removed the earlier edit-input and outpainting instructions. Preserves approved copy and design intent, exact request records, and at most two replacement calls per slide; stricter one-shot or stop rules still win. Authorised safe trim and proportional resize remain automatic. No repair chains, and no failed render used as an input.
Revised photo contrast after reviewing a carousel and the operator's backing examples. Removed local photo fades and patches. Contrast support now uses uniform whole-photo dimming or snug line-by-line backing, including headline and support, with distinct emphasis inside the backing. Removed the earlier emphasis-only restriction and documented compositor support for phrase reversal over line backing. Kept the photo and lens recipe, two hooks, text-only gradient slides and automatic verified normalisation. No new images were generated.
Keeps the compact phone-camera recipe with one brief instruction to replace the portrait reference's lighting and viewpoint. Uses action-linked expressions and a consistent wide-camera perspective with natural facial and body proportions.
Moved version narratives and experimental evidence out of runtime guidance, removed routine archived-trial retrieval, made correction budgets ceilings, and stopped serial edits when the first correction degrades the photo or fails to help. No images were used to validate this cleanup.
9 Sep 2026
1Condensed range covering 1.9.8 through 1.9.15.
17 Aug 2026
17Breaking, three ways:
Breaking: `references/client-sheets.md` no longer contains client sheet ids, names, prefixes, ICPs or targets. They come from `.ascend/media-buying.json` — the same config the `ad-performance-analysis` skill reads. If a client isn't in the config, the skill asks rather than guessing.
Breaking: references to skills that aren't in this marketplace are gone. If you were relying on the loop invoking `superpowers:brainstorming`, `superpowers:verification-before-completion`, or `html-output`, those steps are now described in plain instructions instead.
- Replaced the named individual with role-neutral language, including in the trigger description, where "Gabriel's blueprint catalog" made the reference read as someone else's private file rather than the reference bundled with this skill. - Changelog moved out of `SKILL.md` into this file.
Breaking: removed Step 0, which told you to read `../superprompt/references/goal-mode.md` before doing anything. That file has never existed in this marketplace — the `superprompt` skill was never imported — so Step 0 was unrunnable and the skill's first instruction was a dead end.
Windows is now a first-class path, not a footnote. The skill was a POSIX shell recipe with a one-line "chmod doesn't work on Windows" caveat. A Windows user following it ended up with a secret in a file readable by every account on the machine, having seen no error.
Breaking: the hardcoded list of one team's existing `~/.secrets` folders and their key names is gone. The skill now tells you to list `~/.secrets` and reuse what's there.
- Removed the absolute path to the source analysis (`PLAYBOOKS.md`) and to `AUTONOMY_LADDER.md`. Both lived on one machine. The ladder is now stated inline — it's six words and reproducing it costs less than a broken reference. The analysis is described as "in the ops workspace, not bundled with this skill", which is the truth. - Replaced every named individual with a role: "the agent", "the principal", "the COO", "the media buyer". Named staff in a standing reference go stale the moment someone changes job. - Generalised the client-specific rules — a named client's plan-change freeze and notice-period rule are now "where a client has a standing freeze, enforce it", which is the actual policy. - Generalised the R15 examples from three named internal workflows to the shape of the thing. - Changelog moved out of `SKILL.md` into this file.
Breaking: Gate 8's proven-claims check no longer names a specific account's file paths or price story. Point it at your own account's winning copy instead.
Breaking: the skill no longer assumes `google_drive_utils.py` exists. Every code example was an import of a helper at an absolute path on one machine, so on any other machine the entire skill was unusable — and it read as though the functions were bundled.
Breaking, and necessary: the previous version would have failed on the first API call. It was written from memory and never tested against a live account. Everything below was wrong, not merely out of date.
Breaking, and it fixes a contradiction that made the skill fail: the previous version declared `Notion-Version: 2025-09-03` and listed a data-source id for every database, but every example called the pre-2025-09-03 endpoint `POST /v1/databases/{id}/query`. The config and the code disagreed. Queries now go to `POST /v1/data_sources/{data_source_id}/query`.
Breaking: the status file path is no longer hardcoded. This skill now defers to `status-pulse` for where state lives, so the two can't disagree.
Breaking: handoffs default to `.ascend/handoffs/` in the project root instead of one person's `~/Ascend Brain/_System/handoffs/`. Override with `sessionRestart.handoffDir` in `.ascend/skills.json`.
Breaking: `scripts/pulse.sh` is replaced by `scripts/pulse.py`. Update any command that invoked the old path.
Breaking: the status file location and the Slack recipient are now configuration, not hardcoded paths. If you were relying on the old defaults, add `.ascend/skills.json` to your project root — see the Setup section.
Breaking: all references to the private `BU-1504A-xero_api.py` helper and its access guide are gone — they lived at an absolute path on one machine and were unusable everywhere else. The skill now documents the API directly. If you have a local helper, wire it up yourself.
23 Jul 2026
16Imported into the ascend-skills marketplace.
Imported into the ascend-skills marketplace. v2 schema (2026-04-30): concept-level testing rows.
Imported into the ascend-skills marketplace.
Initial release. Imported into the ascend-skills marketplace. Eight map archetypes, admission tests per archetype, a named-framework catalog, and a blueprint selection contract format. Ships four evals.
Imported into the ascend-skills marketplace.
Imported into the ascend-skills marketplace.
Initial release. Imported into the ascend-skills marketplace.
Imported into the ascend-skills marketplace. Distilled from a six-month ops analysis covering Dec 2025 → Jun 2026.
Imported into the ascend-skills marketplace. Written 2026-07-03 after a batch where frame spot-checking passed 7 of 8 videos and a real watch passed 1 of 8.
Imported into the ascend-skills marketplace.
Imported into the ascend-skills marketplace.
Imported into the ascend-skills marketplace.
Imported into the ascend-skills marketplace.
Imported into the ascend-skills marketplace.
Imported into the ascend-skills marketplace.
Imported into the ascend-skills marketplace.
Showing the latest 20 releases.
