Include xll-miniapp prototype, PRD resources, annotation directory sync, agent skills, and cloud publishing setup. Co-authored-by: Cursor <cursoragent@cursor.com>
2.4 KiB
2.4 KiB
name, description
| name | description |
|---|---|
| extract-annotation-source | Use when an Axhub prototype URL needs its PRD, directory, or annotation context read from window.__AXHUB_ANNOTATION_SOURCE__, especially for prototype-as-PRD review, agent context gathering, or annotation extraction with Playwright, Browser, Chrome, or an equivalent page evaluator. |
Extract Annotation Source
Read Axhub prototype context from the runtime snapshot. Treat the page as read-only.
Workflow
- Open the requested prototype URL with Playwright, Browser, Chrome, or an equivalent tool that can evaluate page JavaScript.
- Wait until the app renders, then poll briefly for
window.__AXHUB_ANNOTATION_SOURCE__. - Evaluate and return that value. Do not modify the object or write anything back to
window. - If the value is missing, report the URL, page title, relevant console errors, and that the annotation runtime snapshot was not published.
Minimal page evaluation:
await page.waitForFunction(() => window.__AXHUB_ANNOTATION_SOURCE__, { timeout: 10000 });
const source = await page.evaluate(() => window.__AXHUB_ANNOTATION_SOURCE__);
What To Report
- Directory / PRD outline from
source.directory. - Markdown or PRD entries from directory nodes with
type: "markdown". - Annotation count and the important node fields:
id,title,pageId,locator,annotationText,aiPrompt,color, andcontrols. - Source handoff from
source.sourcewhen present. Reportrootandmanifest; when source is needed, read the manifest and relevant files viaroot. - Mention whether images are attached by checking
images.length; do not download images unless the user asks.
Data Shape
type AnnotationSourceRuntimeSnapshot = {
directory: AnnotationDirectory | null;
nodes: AnnotationNode[];
source?: {
root?: string;
manifest?: string;
};
};
directory.nodesis the prototype tree. Node types arefolder,route,link, andmarkdown.nodesis the full annotation list, independent of current page, selected state, and color filter.- Each annotation node includes
id,index, optionaltitle, optionalpageId,locator,aiPrompt,annotationText,hasMarkdown,color,images, optionalcontrols,createdAt, andupdatedAt. sourceis only a source-code discovery reference. In HTML published with source included,manifestpoints tosource/manifest.json; resolve its paths relative tosource.root.