| name | creative-context |
| description | Reuse creative context across generation while respecting explicit context choices, pinned packs, provenance, and opt-out state. Use when generating or refining any creative output, or when the user references saved or approved context. |
| scope | both |
| metadata | {"internal":true} |
Creative Context
Use the shared creative-context library to reuse verified source material
without turning prior work into an invisible global prompt.
Reuse ladder
Apply the first viable option in this exact order:
- Reuse an approved native asset, component, or template unchanged.
- Compose approved native pieces without flattening or recreating them.
- Duplicate and lightly adapt a real approved example.
- Generate new work conditioned on narrowly retrieved references.
- Generate net-new work only when the relevant corpus is empty.
Do not skip directly to imitation or net-new generation when an approved native
primitive already fits.
Retrieval procedure
Retrieve context in this order, stopping as soon as the current request is
sufficiently grounded. Keep factual evidence, visual/style references,
voice/terminology, and structural/layout examples in separate queries so one
role cannot silently stand in for another:
- Follow the user's explicit instructions and the object currently selected in
the app.
- Read the
creative-context application-state record. If pinnedPackId is
set, replay that immutable pack. Otherwise honor selectedContextId; when it
is unset, let retrieval use Default plus at most one app-bound or
semantically matching specialty context. currentPackId is the receipt from
the latest materialized generation, not a replacement for context selection.
- Call
search-creative-context with a narrow query for exact facts, visual
language, audience guidance, prior decisions, or reusable references.
- Call
get-context-item only for the specific search result versions
needed for the work. Preserve source and version provenance.
- Fall back to app-local design systems, assets, documents, and current-user
instructions when the shared library has no relevant evidence.
Do not load the whole library or paste large source dumps into a prompt.
Context packs are generation snapshots; do not silently rewrite a historical
pack after it has been used.
For an inbound Creative Context machine-protocol A2A request, call
creative-context-a2a exactly once with its opaque requestToken, then return
the action's responseToken verbatim. Never decode or broaden the request.
Context opt-out
The single state key is creative-context:
{
"contextMode": "auto",
"selectedContextId": null,
"currentPackId": null,
"pinnedPackId": null
}
When contextMode is off, do not search, select, or apply saved creative
context for subsequent generations. Do not restore a previous pack
automatically. Historical output may keep its original pack provenance. A
one-turn instruction such as "ignore the library for this version" wins for
that turn, but does not change the saved preference unless the user asks.
When the user corrects reused context, call record-context-feedback against
the exact item/version and signal whether it was unhelpful, incorrect, or
outdated. Never invent a source or silently overwrite source history.
Submitting to a governed context
To submit a document to a governed Creative Context, use the Context tab or
manage-context-membership; the app flushes live collaboration and captures
one immutable Markdown version. Reuse only its opaque native clone reference.
Use operation="submit-latest" with a Library membership id when its native
update status reports update-available.
Content reuse
Search voice, terminology, audience, and factual evidence as separate intents.
Use voice/style examples to guide phrasing, but only exact evidence item
versions may support factual claims. Preserve the returned contextPackId
and short reuse labels with the document generation provenance. A published
brand profile can guide tone automatically; it never overrides the user's
current brief, and it must not turn an unsupported prior claim into a fact.
When an approved app-created document already fits, call
clone-creative-context-document with its exact item and version ids before
rewriting from excerpts. The typed action resolves the approved private
Markdown/document payload through Content's normal create path; generic context
actions never expose that payload.