@prismer/runtime 2.0.8 → 2.2.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4004 -0
- package/README.md +34 -12
- package/apc/skills/FIELD-DICTIONARY.md +111 -0
- package/apc/skills/bug-reproduce/SKILL.md +150 -0
- package/apc/skills/bug-reproduce/skill.json +96 -0
- package/apc/skills/code-review/SKILL.md +198 -0
- package/apc/skills/code-review/skill.json +124 -0
- package/apc/skills/design-review/SKILL.md +122 -0
- package/apc/skills/design-review/skill.json +88 -0
- package/apc/skills/doc-sync/SKILL.md +168 -0
- package/apc/skills/doc-sync/skill.json +81 -0
- package/apc/skills/env-doctor/SKILL.md +194 -0
- package/apc/skills/env-doctor/skill.json +209 -0
- package/apc/skills/git-ops/SKILL.md +189 -0
- package/apc/skills/git-ops/skill.json +94 -0
- package/apc/skills/impact-trace/SKILL.md +168 -0
- package/apc/skills/impact-trace/skill.json +104 -0
- package/apc/skills/observability/SKILL.md +195 -0
- package/apc/skills/observability/skill.json +116 -0
- package/apc/skills/release-db-config-sync/SKILL.md +186 -0
- package/apc/skills/release-db-config-sync/skill.json +109 -0
- package/apc/skills/release-ota-promote/SKILL.md +195 -0
- package/apc/skills/release-ota-promote/skill.json +176 -0
- package/apc/skills/release-preflight/SKILL.md +174 -0
- package/apc/skills/release-preflight/skill.json +175 -0
- package/apc/skills/release-rollback/SKILL.md +214 -0
- package/apc/skills/release-rollback/skill.json +230 -0
- package/apc/skills/release-tag/SKILL.md +194 -0
- package/apc/skills/release-tag/skill.json +94 -0
- package/apc/skills/releasing-prod/SKILL.md +49 -0
- package/apc/skills/releasing-test/SKILL.md +144 -0
- package/apc/skills/sdk-release/SKILL.md +200 -0
- package/apc/skills/spec-intake/SKILL.md +169 -0
- package/apc/skills/spec-intake/skill.json +93 -0
- package/apc/skills/test-result-feedback/SKILL.md +239 -0
- package/apc/skills/test-result-feedback/skill.json +193 -0
- package/apc/skills/test-runner/SKILL.md +169 -0
- package/apc/skills/test-runner/skill.json +103 -0
- package/apc/skills/ui-align/SKILL.md +209 -0
- package/apc/skills/ui-align/skill.json +114 -0
- package/apc/skills/ui-canvas/SKILL.md +148 -0
- package/apc/skills/ui-canvas/skill.json +127 -0
- package/built-in-skills/agent-coordination/SKILL.md +77 -38
- package/built-in-skills/agent-meta/SKILL.md +12 -0
- package/built-in-skills/assets/SKILL.md +9 -7
- package/built-in-skills/browser-use/SKILL.md +93 -0
- package/built-in-skills/canvas-design/SKILL.md +4 -3
- package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-OFL.txt +93 -0
- package/built-in-skills/canvas-design/canvas-fonts/InstrumentSerif-OFL.txt +93 -0
- package/built-in-skills/canvas-design/canvas-fonts/LICENSE-SOURCES.md +16 -0
- package/built-in-skills/claim-agent-ownership/SKILL.md +10 -5
- package/built-in-skills/claude-api/SKILL.md +2 -1
- package/built-in-skills/claude-api/python/claude-api/README.md +2 -2
- package/built-in-skills/claude-api/python/claude-api/tool-use.md +9 -5
- package/built-in-skills/claude-api/python/managed-agents/README.md +11 -1
- package/built-in-skills/claude-api/shared/error-codes.md +4 -4
- package/built-in-skills/claude-api/shared/managed-agents-client-patterns.md +4 -2
- package/built-in-skills/claude-api/shared/managed-agents-core.md +1 -2
- package/built-in-skills/claude-api/shared/managed-agents-events.md +41 -22
- package/built-in-skills/claude-api/shared/managed-agents-multiagent.md +5 -3
- package/built-in-skills/claude-api/shared/managed-agents-self-hosted-sandboxes.md +1 -1
- package/built-in-skills/claude-api/shared/managed-agents-tools.md +2 -3
- package/built-in-skills/claude-api/shared/model-migration.md +3 -3
- package/built-in-skills/claude-api/shared/models.md +1 -1
- package/built-in-skills/claude-api/typescript/claude-api/batches.md +1 -1
- package/built-in-skills/claude-api/typescript/claude-api/files-api.md +3 -1
- package/built-in-skills/claude-api/typescript/claude-api/tool-use.md +8 -2
- package/built-in-skills/claude-api/typescript/managed-agents/README.md +8 -2
- package/built-in-skills/codebase-design/DEEPENING.md +37 -0
- package/built-in-skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
- package/built-in-skills/codebase-design/LICENSE +21 -0
- package/built-in-skills/codebase-design/SKILL.md +130 -0
- package/built-in-skills/codebase-design/references/requesting-code-review/GUIDE.md +291 -0
- package/built-in-skills/codebase-design/references/requesting-code-review/LICENSE +21 -0
- package/built-in-skills/codebase-design/references/requesting-code-review/LICENSE.superpowers +21 -0
- package/built-in-skills/codebase-design/references/requesting-code-review/NOTICE.md +37 -0
- package/built-in-skills/codebase-design/references/sdlc-review/GUIDE.md +130 -0
- package/built-in-skills/codebase-design/references/sdlc-review/LICENSE +21 -0
- package/built-in-skills/codebase-design/references/sdlc-review/NOTICE.md +17 -0
- package/built-in-skills/codebase-design/references/simplify-code/GUIDE.md +269 -0
- package/built-in-skills/codebase-design/references/simplify-code/LICENSE +21 -0
- package/built-in-skills/codebase-design/references/simplify-code/NOTICE.md +37 -0
- package/built-in-skills/competitor-intelligence/LICENSE +21 -0
- package/built-in-skills/competitor-intelligence/NOTICE.md +6 -0
- package/built-in-skills/competitor-intelligence/SKILL.md +125 -0
- package/built-in-skills/competitor-intelligence/scripts/watch_state.py +160 -0
- package/built-in-skills/conversation-compaction/SKILL.md +117 -0
- package/built-in-skills/council-creator/SKILL.md +427 -0
- package/built-in-skills/diagnosing-bugs/LICENSE +21 -0
- package/built-in-skills/diagnosing-bugs/SKILL.md +148 -0
- package/built-in-skills/diagnosing-bugs/references/desktop-dom/GUIDE.md +64 -0
- package/built-in-skills/diagnosing-bugs/references/desktop-dom/LICENSE +21 -0
- package/built-in-skills/diagnosing-bugs/references/desktop-dom/NOTICE.md +17 -0
- package/built-in-skills/diagnosing-bugs/references/systematic-debugging/GUIDE.md +410 -0
- package/built-in-skills/diagnosing-bugs/references/systematic-debugging/LICENSE +21 -0
- package/built-in-skills/diagnosing-bugs/references/systematic-debugging/LICENSE.superpowers +21 -0
- package/built-in-skills/diagnosing-bugs/references/systematic-debugging/NOTICE.md +37 -0
- package/built-in-skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
- package/built-in-skills/doc-coauthoring/SKILL.md +7 -0
- package/built-in-skills/doc-coauthoring/references/humanizer/GUIDE.md +647 -0
- package/built-in-skills/doc-coauthoring/references/humanizer/LICENSE +21 -0
- package/built-in-skills/doc-coauthoring/references/humanizer/LICENSE.hermes +21 -0
- package/built-in-skills/doc-coauthoring/references/humanizer/PROVENANCE.md +7 -0
- package/built-in-skills/document-actions/LICENSE +21 -0
- package/built-in-skills/document-actions/NOTICE.md +21 -0
- package/built-in-skills/document-actions/SKILL.md +46 -0
- package/built-in-skills/domain-modeling/ADR-FORMAT.md +47 -0
- package/built-in-skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
- package/built-in-skills/domain-modeling/LICENSE +21 -0
- package/built-in-skills/domain-modeling/SKILL.md +76 -0
- package/built-in-skills/evidence-citations/LICENSE +21 -0
- package/built-in-skills/evidence-citations/NOTICE.md +21 -0
- package/built-in-skills/evidence-citations/SKILL.md +46 -0
- package/built-in-skills/evidence-citations/references/citation-formats.md +68 -0
- package/built-in-skills/evidence-citations/references/grounding-rationale.md +64 -0
- package/built-in-skills/evidence-citations/scripts/sources.py +720 -0
- package/built-in-skills/frontend-design/SKILL.md +7 -0
- package/built-in-skills/frontend-design/references/claude-design/GUIDE.md +650 -0
- package/built-in-skills/frontend-design/references/claude-design/LICENSE +21 -0
- package/built-in-skills/frontend-design/references/claude-design/LICENSE.hermes +21 -0
- package/built-in-skills/frontend-design/references/claude-design/PROVENANCE.md +7 -0
- package/built-in-skills/human-approval/SKILL.md +17 -2
- package/built-in-skills/image-generate/SKILL.md +107 -301
- package/built-in-skills/image-generate/scripts/generate-and-deliver.mjs +310 -0
- package/built-in-skills/ingest/SKILL.md +13 -45
- package/built-in-skills/internal-comms/SKILL.md +1 -0
- package/built-in-skills/liteparse/SKILL.md +130 -110
- package/built-in-skills/mcp-builder/SKILL.md +1 -0
- package/built-in-skills/mcp-builder/reference/evaluation.md +11 -2
- package/built-in-skills/mcp-builder/reference/node_mcp_server.md +34 -5
- package/built-in-skills/mcp-builder/reference/python_mcp_server.md +6 -2
- package/built-in-skills/mcp-builder/scripts/connections.py +1 -1
- package/built-in-skills/mcp-builder/scripts/evaluation.py +52 -34
- package/built-in-skills/mcp-builder/scripts/requirements.txt +2 -2
- package/built-in-skills/meeting-actions/LICENSE +21 -0
- package/built-in-skills/meeting-actions/NOTICE.md +21 -0
- package/built-in-skills/meeting-actions/SKILL.md +48 -0
- package/built-in-skills/memory/SKILL.md +444 -55
- package/built-in-skills/memory/references/llm-wiki/GUIDE.md +468 -0
- package/built-in-skills/memory/references/llm-wiki/LICENSE +21 -0
- package/built-in-skills/memory/references/llm-wiki/NOTICE.md +4 -0
- package/built-in-skills/memory/references/llm-wiki/scripts/lint_wiki.py +84 -0
- package/built-in-skills/memory/references/llm-wiki/scripts/requirements.txt +1 -0
- package/built-in-skills/memory/references/llm-wiki/templates/SCHEMA.md +19 -0
- package/built-in-skills/memory/references/llm-wiki/templates/index.md +9 -0
- package/built-in-skills/memory/references/llm-wiki/templates/log.md +4 -0
- package/built-in-skills/memory-dream/SKILL.md +332 -0
- package/built-in-skills/memory-import/SKILL.md +51 -0
- package/built-in-skills/office-artifacts/NOTICE.md +15 -0
- package/built-in-skills/office-artifacts/SKILL.md +37 -4
- package/built-in-skills/office-artifacts/references/RESOURCE-LIMITS.md +44 -0
- package/built-in-skills/office-artifacts/references/document-generation/GUIDE.md +105 -0
- package/built-in-skills/office-artifacts/references/docx/GUIDE.md +196 -0
- package/built-in-skills/office-artifacts/references/docx/LICENSE +21 -0
- package/built-in-skills/office-artifacts/references/docx/NOTICE.md +21 -0
- package/built-in-skills/office-artifacts/references/docx/references/revisions-and-comments.md +88 -0
- package/built-in-skills/office-artifacts/references/docx/scripts/docx_comments.py +292 -0
- package/built-in-skills/office-artifacts/references/docx/scripts/docx_common.py +93 -0
- package/built-in-skills/office-artifacts/references/docx/scripts/docx_create.py +177 -0
- package/built-in-skills/office-artifacts/references/docx/scripts/docx_edit.py +250 -0
- package/built-in-skills/office-artifacts/references/docx/scripts/docx_read.py +169 -0
- package/built-in-skills/office-artifacts/references/docx/scripts/docx_revisions.py +149 -0
- package/built-in-skills/office-artifacts/references/docx/scripts/docx_template.py +70 -0
- package/built-in-skills/office-artifacts/references/docx/scripts/docx_validate.py +155 -0
- package/built-in-skills/office-artifacts/references/docx/tests/test_docx_skill.py +525 -0
- package/built-in-skills/office-artifacts/references/pdf/GUIDE.md +125 -0
- package/built-in-skills/office-artifacts/references/pdf/LICENSE +21 -0
- package/built-in-skills/office-artifacts/references/pdf/NOTICE.md +21 -0
- package/built-in-skills/office-artifacts/references/pdf/references/forms.md +99 -0
- package/built-in-skills/office-artifacts/references/pdf/references/nano-pdf-editing.md +40 -0
- package/built-in-skills/office-artifacts/references/pdf/references/ocr-extraction.md +165 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/_raster.py +87 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/extract_marker.py +95 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/extract_pymupdf.py +107 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_create.py +153 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_fill_form.py +97 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_form_layout.py +168 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_make_form.py +145 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_merge.py +50 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_meta.py +123 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_page_image.py +101 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_read.py +153 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_secure.py +71 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_split.py +86 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_stamp.py +145 -0
- package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_watermark.py +51 -0
- package/built-in-skills/office-artifacts/references/pdf/tests/test_pdf_skill.py +414 -0
- package/built-in-skills/office-artifacts/references/powerpoint/GUIDE.md +220 -0
- package/built-in-skills/office-artifacts/references/powerpoint/LICENSE +21 -0
- package/built-in-skills/office-artifacts/references/powerpoint/NOTICE.md +21 -0
- package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_create.py +214 -0
- package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_edit.py +442 -0
- package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_from_template.py +88 -0
- package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_read.py +131 -0
- package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_render.py +104 -0
- package/built-in-skills/office-artifacts/references/powerpoint/tests/test_powerpoint_skill.py +478 -0
- package/built-in-skills/office-artifacts/references/xlsx/GUIDE.md +196 -0
- package/built-in-skills/office-artifacts/references/xlsx/LICENSE +21 -0
- package/built-in-skills/office-artifacts/references/xlsx/NOTICE.md +21 -0
- package/built-in-skills/office-artifacts/references/xlsx/references/restructuring.md +74 -0
- package/built-in-skills/office-artifacts/references/xlsx/scripts/csv_to_xlsx.py +108 -0
- package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_create.py +259 -0
- package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_edit.py +269 -0
- package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_read.py +160 -0
- package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_recalc.py +111 -0
- package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_restructure.py +418 -0
- package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_to_csv.py +69 -0
- package/built-in-skills/office-artifacts/references/xlsx/tests/test_xlsx_skill.py +542 -0
- package/built-in-skills/office-artifacts/tests/test_resource_regressions.py +272 -0
- package/built-in-skills/okr/SKILL.md +154 -0
- package/built-in-skills/persona/SKILL.md +81 -0
- package/built-in-skills/persona-generator/SKILL.md +296 -0
- package/built-in-skills/pkf-svg/SKILL.md +258 -0
- package/built-in-skills/pkf-svg/references/architecture-diagram/GUIDE.md +148 -0
- package/built-in-skills/pkf-svg/references/architecture-diagram/LICENSE +21 -0
- package/built-in-skills/pkf-svg/references/architecture-diagram/LICENSE.hermes +21 -0
- package/built-in-skills/pkf-svg/references/architecture-diagram/PROVENANCE.md +7 -0
- package/built-in-skills/pkf-svg/references/architecture-diagram/templates/template.html +345 -0
- package/built-in-skills/pkf-writing/SKILL.md +258 -0
- package/built-in-skills/prismer-airtable/LICENSE +21 -0
- package/built-in-skills/prismer-airtable/NOTICE.md +11 -0
- package/built-in-skills/prismer-airtable/SKILL.md +248 -0
- package/built-in-skills/prismer-airtable/scripts/airtable_client.py +76 -0
- package/built-in-skills/prismer-apple-notes/LICENSE +21 -0
- package/built-in-skills/prismer-apple-notes/NOTICE.md +17 -0
- package/built-in-skills/prismer-apple-notes/SKILL.md +118 -0
- package/built-in-skills/prismer-apple-notes/scripts/readiness.py +47 -0
- package/built-in-skills/prismer-apple-reminders/LICENSE +21 -0
- package/built-in-skills/prismer-apple-reminders/NOTICE.md +17 -0
- package/built-in-skills/prismer-apple-reminders/SKILL.md +155 -0
- package/built-in-skills/prismer-apple-reminders/scripts/readiness.py +47 -0
- package/built-in-skills/prismer-ascii-video/LICENSE +21 -0
- package/built-in-skills/prismer-ascii-video/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-ascii-video/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-ascii-video/README.md +290 -0
- package/built-in-skills/prismer-ascii-video/SKILL.md +252 -0
- package/built-in-skills/prismer-ascii-video/provenance/category-DESCRIPTION.md +3 -0
- package/built-in-skills/prismer-ascii-video/references/architecture.md +807 -0
- package/built-in-skills/prismer-ascii-video/references/composition.md +900 -0
- package/built-in-skills/prismer-ascii-video/references/effects.md +1877 -0
- package/built-in-skills/prismer-ascii-video/references/inputs.md +693 -0
- package/built-in-skills/prismer-ascii-video/references/optimization.md +688 -0
- package/built-in-skills/prismer-ascii-video/references/scenes.md +1018 -0
- package/built-in-skills/prismer-ascii-video/references/shaders.md +1408 -0
- package/built-in-skills/prismer-ascii-video/references/troubleshooting.md +360 -0
- package/built-in-skills/prismer-baoyu-infographic/LICENSE +21 -0
- package/built-in-skills/prismer-baoyu-infographic/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-baoyu-infographic/LICENSE.origin +21 -0
- package/built-in-skills/prismer-baoyu-infographic/PORT_NOTES.md +37 -0
- package/built-in-skills/prismer-baoyu-infographic/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-baoyu-infographic/SKILL.md +240 -0
- package/built-in-skills/prismer-baoyu-infographic/references/analysis-framework.md +182 -0
- package/built-in-skills/prismer-baoyu-infographic/references/base-prompt.md +43 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/bento-grid.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/binary-comparison.md +48 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/bridge.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/circular-flow.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/comic-strip.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/comparison-matrix.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/dashboard.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/dense-modules.md +72 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/funnel.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/hierarchical-layers.md +48 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/hub-spoke.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/iceberg.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/isometric-map.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/jigsaw.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/linear-progression.md +48 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/periodic-table.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/story-mountain.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/structural-breakdown.md +48 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/tree-branching.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/venn-diagram.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/layouts/winding-roadmap.md +41 -0
- package/built-in-skills/prismer-baoyu-infographic/references/structured-content-template.md +244 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/aged-academia.md +36 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/bold-graphic.md +36 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/chalkboard.md +61 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/claymation.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/corporate-memphis.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/craft-handmade.md +44 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/cyberpunk-neon.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/hand-drawn-edu.md +63 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/ikea-manual.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/kawaii.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/knolling.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/lego-brick.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/morandi-journal.md +60 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/origami.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/pixel-art.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/pop-laboratory.md +48 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/retro-pop-grid.md +47 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/storybook-watercolor.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/subway-map.md +29 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/technical-schematic.md +36 -0
- package/built-in-skills/prismer-baoyu-infographic/references/styles/ui-wireframe.md +29 -0
- package/built-in-skills/prismer-blocked-page-recovery/LICENSE +21 -0
- package/built-in-skills/prismer-blocked-page-recovery/NOTICE.md +17 -0
- package/built-in-skills/prismer-blocked-page-recovery/SKILL.md +158 -0
- package/built-in-skills/prismer-blocked-page-recovery/scripts/recover_page.py +311 -0
- package/built-in-skills/prismer-box/LICENSE +21 -0
- package/built-in-skills/prismer-box/NOTICE.md +11 -0
- package/built-in-skills/prismer-box/SKILL.md +147 -0
- package/built-in-skills/prismer-box/references/bulk-operations.md +43 -0
- package/built-in-skills/prismer-box/references/cli-guide.md +133 -0
- package/built-in-skills/prismer-box/references/content-workflows.md +86 -0
- package/built-in-skills/prismer-box/references/hubs.md +77 -0
- package/built-in-skills/prismer-box/references/oauth-setup.md +92 -0
- package/built-in-skills/prismer-box/references/rest-api.md +37 -0
- package/built-in-skills/prismer-box/references/sdk-development.md +85 -0
- package/built-in-skills/prismer-box/references/search-and-ai.md +147 -0
- package/built-in-skills/prismer-box/references/troubleshooting.md +33 -0
- package/built-in-skills/prismer-box/references/webhooks-and-events.md +43 -0
- package/built-in-skills/prismer-codebase-inspection/LICENSE +21 -0
- package/built-in-skills/prismer-codebase-inspection/NOTICE.md +17 -0
- package/built-in-skills/prismer-codebase-inspection/SKILL.md +141 -0
- package/built-in-skills/prismer-computer-use/LICENSE +21 -0
- package/built-in-skills/prismer-computer-use/NOTICE.md +17 -0
- package/built-in-skills/prismer-computer-use/SKILL.md +372 -0
- package/built-in-skills/prismer-design-md/LICENSE +21 -0
- package/built-in-skills/prismer-design-md/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-design-md/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-design-md/SKILL.md +227 -0
- package/built-in-skills/prismer-design-md/templates/starter.md +99 -0
- package/built-in-skills/prismer-email-inbox-triage/LICENSE +21 -0
- package/built-in-skills/prismer-email-inbox-triage/NOTICE.md +11 -0
- package/built-in-skills/prismer-email-inbox-triage/SKILL.md +116 -0
- package/built-in-skills/prismer-findmy/LICENSE +21 -0
- package/built-in-skills/prismer-findmy/NOTICE.md +17 -0
- package/built-in-skills/prismer-findmy/SKILL.md +150 -0
- package/built-in-skills/prismer-findmy/scripts/readiness.py +47 -0
- package/built-in-skills/prismer-gif-search/LICENSE +21 -0
- package/built-in-skills/prismer-gif-search/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-gif-search/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-gif-search/SKILL.md +97 -0
- package/built-in-skills/prismer-gif-search/scripts/tenor.py +81 -0
- package/built-in-skills/prismer-github/LICENSE +21 -0
- package/built-in-skills/prismer-github/NOTICE.md +17 -0
- package/built-in-skills/prismer-github/SKILL.md +74 -0
- package/built-in-skills/prismer-github/references/auth.md +91 -0
- package/built-in-skills/prismer-github/references/ci-troubleshooting.md +193 -0
- package/built-in-skills/prismer-github/references/code-review.md +465 -0
- package/built-in-skills/prismer-github/references/conventional-commits.md +81 -0
- package/built-in-skills/prismer-github/references/github-api-cheatsheet.md +177 -0
- package/built-in-skills/prismer-github/references/issue-to-pr.md +74 -0
- package/built-in-skills/prismer-github/references/issues.md +336 -0
- package/built-in-skills/prismer-github/references/pr-workflow.md +346 -0
- package/built-in-skills/prismer-github/references/repo-management.md +484 -0
- package/built-in-skills/prismer-github/references/review-output-template.md +84 -0
- package/built-in-skills/prismer-github/scripts/ensure-gh.py +132 -0
- package/built-in-skills/prismer-github/scripts/gh-env.sh +25 -0
- package/built-in-skills/prismer-github/scripts/git-credential-token.py +68 -0
- package/built-in-skills/prismer-github/scripts/github-api.py +71 -0
- package/built-in-skills/prismer-github/scripts/github-context.py +28 -0
- package/built-in-skills/prismer-github/templates/bug-report.md +35 -0
- package/built-in-skills/prismer-github/templates/feature-request.md +31 -0
- package/built-in-skills/prismer-github/templates/pr-body-bugfix.md +35 -0
- package/built-in-skills/prismer-github/templates/pr-body-feature.md +33 -0
- package/built-in-skills/prismer-google-workspace/LICENSE +21 -0
- package/built-in-skills/prismer-google-workspace/NOTICE.md +11 -0
- package/built-in-skills/prismer-google-workspace/SKILL.md +369 -0
- package/built-in-skills/prismer-google-workspace/references/daily-brief.md +65 -0
- package/built-in-skills/prismer-google-workspace/references/gmail-search-syntax.md +63 -0
- package/built-in-skills/prismer-google-workspace/scripts/_hermes_home.py +17 -0
- package/built-in-skills/prismer-google-workspace/scripts/_private_state.py +39 -0
- package/built-in-skills/prismer-google-workspace/scripts/google_api.py +1339 -0
- package/built-in-skills/prismer-google-workspace/scripts/gws_bridge.py +121 -0
- package/built-in-skills/prismer-google-workspace/scripts/setup.py +563 -0
- package/built-in-skills/prismer-google-workspace/tests/test_productivity_regressions.py +214 -0
- package/built-in-skills/prismer-hermes-agent/LICENSE +21 -0
- package/built-in-skills/prismer-hermes-agent/NOTICE.md +17 -0
- package/built-in-skills/prismer-hermes-agent/SKILL.md +247 -0
- package/built-in-skills/prismer-hermes-agent/references/background-systems.md +108 -0
- package/built-in-skills/prismer-hermes-agent/references/cli-reference.md +158 -0
- package/built-in-skills/prismer-hermes-agent/references/configuration.md +96 -0
- package/built-in-skills/prismer-hermes-agent/references/contributor-guide.md +151 -0
- package/built-in-skills/prismer-hermes-agent/references/delegate-task-concurrency-diagnosis.md +47 -0
- package/built-in-skills/prismer-hermes-agent/references/desktop-plugins.md +215 -0
- package/built-in-skills/prismer-hermes-agent/references/native-mcp.md +351 -0
- package/built-in-skills/prismer-hermes-agent/references/petdex.md +82 -0
- package/built-in-skills/prismer-hermes-agent/references/portal-auth-for-third-party-apps.md +135 -0
- package/built-in-skills/prismer-hermes-agent/references/project-context-files.md +55 -0
- package/built-in-skills/prismer-hermes-agent/references/providers-and-models.md +81 -0
- package/built-in-skills/prismer-hermes-agent/references/security-privacy.md +73 -0
- package/built-in-skills/prismer-hermes-agent/references/slash-commands.md +119 -0
- package/built-in-skills/prismer-hermes-agent/references/themes.md +134 -0
- package/built-in-skills/prismer-hermes-agent/references/troubleshooting.md +87 -0
- package/built-in-skills/prismer-hermes-agent/references/tui-widgets.md +144 -0
- package/built-in-skills/prismer-hermes-agent/references/webhooks.md +219 -0
- package/built-in-skills/prismer-hermes-agent/references/windows-quirks.md +64 -0
- package/built-in-skills/prismer-hermes-agent/templates/clock.mjs +51 -0
- package/built-in-skills/prismer-hermes-agent/templates/plugin.js +97 -0
- package/built-in-skills/prismer-hermes-agent/templates/skin.yaml +49 -0
- package/built-in-skills/prismer-himalaya/LICENSE +21 -0
- package/built-in-skills/prismer-himalaya/NOTICE.md +11 -0
- package/built-in-skills/prismer-himalaya/SKILL.md +340 -0
- package/built-in-skills/prismer-himalaya/references/configuration.md +227 -0
- package/built-in-skills/prismer-himalaya/references/message-composition.md +206 -0
- package/built-in-skills/prismer-himalaya/scripts/compose_draft.py +48 -0
- package/built-in-skills/prismer-im-collab/SKILL.md +27 -7
- package/built-in-skills/prismer-imessage/LICENSE +21 -0
- package/built-in-skills/prismer-imessage/NOTICE.md +17 -0
- package/built-in-skills/prismer-imessage/SKILL.md +128 -0
- package/built-in-skills/prismer-imessage/scripts/readiness.py +47 -0
- package/built-in-skills/prismer-manim-video/LICENSE +21 -0
- package/built-in-skills/prismer-manim-video/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-manim-video/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-manim-video/README.md +23 -0
- package/built-in-skills/prismer-manim-video/SKILL.md +279 -0
- package/built-in-skills/prismer-manim-video/references/animation-design-thinking.md +161 -0
- package/built-in-skills/prismer-manim-video/references/animations.md +282 -0
- package/built-in-skills/prismer-manim-video/references/camera-and-3d.md +135 -0
- package/built-in-skills/prismer-manim-video/references/decorations.md +202 -0
- package/built-in-skills/prismer-manim-video/references/equations.md +216 -0
- package/built-in-skills/prismer-manim-video/references/graphs-and-data.md +163 -0
- package/built-in-skills/prismer-manim-video/references/mobjects.md +333 -0
- package/built-in-skills/prismer-manim-video/references/paper-explainer.md +255 -0
- package/built-in-skills/prismer-manim-video/references/production-quality.md +190 -0
- package/built-in-skills/prismer-manim-video/references/rendering.md +187 -0
- package/built-in-skills/prismer-manim-video/references/scene-planning.md +118 -0
- package/built-in-skills/prismer-manim-video/references/troubleshooting.md +135 -0
- package/built-in-skills/prismer-manim-video/references/updaters-and-trackers.md +260 -0
- package/built-in-skills/prismer-manim-video/references/visual-design.md +124 -0
- package/built-in-skills/prismer-manim-video/scripts/setup.sh +15 -0
- package/built-in-skills/prismer-maps/LICENSE +21 -0
- package/built-in-skills/prismer-maps/NOTICE.md +11 -0
- package/built-in-skills/prismer-maps/SKILL.md +240 -0
- package/built-in-skills/prismer-maps/scripts/maps_client.py +1324 -0
- package/built-in-skills/prismer-node-inspect-debugger/LICENSE +21 -0
- package/built-in-skills/prismer-node-inspect-debugger/NOTICE.md +17 -0
- package/built-in-skills/prismer-node-inspect-debugger/SKILL.md +347 -0
- package/built-in-skills/prismer-notion/LICENSE +21 -0
- package/built-in-skills/prismer-notion/NOTICE.md +11 -0
- package/built-in-skills/prismer-notion/SKILL.md +495 -0
- package/built-in-skills/prismer-notion/references/block-types.md +112 -0
- package/built-in-skills/prismer-obsidian/LICENSE +21 -0
- package/built-in-skills/prismer-obsidian/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-obsidian/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-obsidian/SKILL.md +80 -0
- package/built-in-skills/prismer-obsidian/provenance/category-DESCRIPTION.md +3 -0
- package/built-in-skills/prismer-obsidian/scripts/write_note.py +84 -0
- package/built-in-skills/prismer-p5js/LICENSE +21 -0
- package/built-in-skills/prismer-p5js/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-p5js/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-p5js/README.md +64 -0
- package/built-in-skills/prismer-p5js/SKILL.md +574 -0
- package/built-in-skills/prismer-p5js/references/animation.md +439 -0
- package/built-in-skills/prismer-p5js/references/color-systems.md +355 -0
- package/built-in-skills/prismer-p5js/references/core-api.md +410 -0
- package/built-in-skills/prismer-p5js/references/export-pipeline.md +534 -0
- package/built-in-skills/prismer-p5js/references/interaction.md +398 -0
- package/built-in-skills/prismer-p5js/references/shapes-and-geometry.md +300 -0
- package/built-in-skills/prismer-p5js/references/troubleshooting.md +532 -0
- package/built-in-skills/prismer-p5js/references/typography.md +302 -0
- package/built-in-skills/prismer-p5js/references/visual-effects.md +905 -0
- package/built-in-skills/prismer-p5js/references/webgl-and-3d.md +423 -0
- package/built-in-skills/prismer-p5js/scripts/export-frames.js +91 -0
- package/built-in-skills/prismer-p5js/scripts/render.sh +113 -0
- package/built-in-skills/prismer-p5js/scripts/serve.sh +25 -0
- package/built-in-skills/prismer-p5js/scripts/setup.sh +87 -0
- package/built-in-skills/prismer-p5js/templates/viewer.html +401 -0
- package/built-in-skills/prismer-popular-web-designs/LICENSE +21 -0
- package/built-in-skills/prismer-popular-web-designs/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-popular-web-designs/LICENSE.origin +21 -0
- package/built-in-skills/prismer-popular-web-designs/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-popular-web-designs/SKILL.md +218 -0
- package/built-in-skills/prismer-popular-web-designs/templates/airbnb.md +259 -0
- package/built-in-skills/prismer-popular-web-designs/templates/airtable.md +102 -0
- package/built-in-skills/prismer-popular-web-designs/templates/apple.md +326 -0
- package/built-in-skills/prismer-popular-web-designs/templates/bmw.md +193 -0
- package/built-in-skills/prismer-popular-web-designs/templates/cal.md +272 -0
- package/built-in-skills/prismer-popular-web-designs/templates/claude.md +325 -0
- package/built-in-skills/prismer-popular-web-designs/templates/clay.md +317 -0
- package/built-in-skills/prismer-popular-web-designs/templates/clickhouse.md +294 -0
- package/built-in-skills/prismer-popular-web-designs/templates/cohere.md +279 -0
- package/built-in-skills/prismer-popular-web-designs/templates/coinbase.md +142 -0
- package/built-in-skills/prismer-popular-web-designs/templates/composio.md +320 -0
- package/built-in-skills/prismer-popular-web-designs/templates/cursor.md +322 -0
- package/built-in-skills/prismer-popular-web-designs/templates/elevenlabs.md +278 -0
- package/built-in-skills/prismer-popular-web-designs/templates/expo.md +294 -0
- package/built-in-skills/prismer-popular-web-designs/templates/figma.md +233 -0
- package/built-in-skills/prismer-popular-web-designs/templates/framer.md +259 -0
- package/built-in-skills/prismer-popular-web-designs/templates/hashicorp.md +291 -0
- package/built-in-skills/prismer-popular-web-designs/templates/ibm.md +345 -0
- package/built-in-skills/prismer-popular-web-designs/templates/intercom.md +159 -0
- package/built-in-skills/prismer-popular-web-designs/templates/kraken.md +138 -0
- package/built-in-skills/prismer-popular-web-designs/templates/linear.app.md +380 -0
- package/built-in-skills/prismer-popular-web-designs/templates/lovable.md +311 -0
- package/built-in-skills/prismer-popular-web-designs/templates/minimax.md +270 -0
- package/built-in-skills/prismer-popular-web-designs/templates/mintlify.md +339 -0
- package/built-in-skills/prismer-popular-web-designs/templates/miro.md +121 -0
- package/built-in-skills/prismer-popular-web-designs/templates/mistral.ai.md +274 -0
- package/built-in-skills/prismer-popular-web-designs/templates/mongodb.md +279 -0
- package/built-in-skills/prismer-popular-web-designs/templates/notion.md +322 -0
- package/built-in-skills/prismer-popular-web-designs/templates/nvidia.md +306 -0
- package/built-in-skills/prismer-popular-web-designs/templates/ollama.md +280 -0
- package/built-in-skills/prismer-popular-web-designs/templates/opencode.ai.md +294 -0
- package/built-in-skills/prismer-popular-web-designs/templates/pinterest.md +243 -0
- package/built-in-skills/prismer-popular-web-designs/templates/posthog.md +269 -0
- package/built-in-skills/prismer-popular-web-designs/templates/raycast.md +281 -0
- package/built-in-skills/prismer-popular-web-designs/templates/replicate.md +274 -0
- package/built-in-skills/prismer-popular-web-designs/templates/resend.md +316 -0
- package/built-in-skills/prismer-popular-web-designs/templates/revolut.md +198 -0
- package/built-in-skills/prismer-popular-web-designs/templates/runwayml.md +257 -0
- package/built-in-skills/prismer-popular-web-designs/templates/sanity.md +370 -0
- package/built-in-skills/prismer-popular-web-designs/templates/sentry.md +275 -0
- package/built-in-skills/prismer-popular-web-designs/templates/spacex.md +207 -0
- package/built-in-skills/prismer-popular-web-designs/templates/spotify.md +259 -0
- package/built-in-skills/prismer-popular-web-designs/templates/stripe.md +335 -0
- package/built-in-skills/prismer-popular-web-designs/templates/supabase.md +268 -0
- package/built-in-skills/prismer-popular-web-designs/templates/superhuman.md +265 -0
- package/built-in-skills/prismer-popular-web-designs/templates/together.ai.md +276 -0
- package/built-in-skills/prismer-popular-web-designs/templates/uber.md +308 -0
- package/built-in-skills/prismer-popular-web-designs/templates/vercel.md +323 -0
- package/built-in-skills/prismer-popular-web-designs/templates/voltagent.md +336 -0
- package/built-in-skills/prismer-popular-web-designs/templates/warp.md +266 -0
- package/built-in-skills/prismer-popular-web-designs/templates/webflow.md +105 -0
- package/built-in-skills/prismer-popular-web-designs/templates/wise.md +186 -0
- package/built-in-skills/prismer-popular-web-designs/templates/x.ai.md +270 -0
- package/built-in-skills/prismer-popular-web-designs/templates/zapier.md +341 -0
- package/built-in-skills/prismer-product-price-monitor/LICENSE +21 -0
- package/built-in-skills/prismer-product-price-monitor/NOTICE.md +11 -0
- package/built-in-skills/prismer-product-price-monitor/SKILL.md +97 -0
- package/built-in-skills/prismer-product-price-monitor/scripts/watch_state.py +116 -0
- package/built-in-skills/prismer-python-debugpy/LICENSE +21 -0
- package/built-in-skills/prismer-python-debugpy/NOTICE.md +17 -0
- package/built-in-skills/prismer-python-debugpy/SKILL.md +377 -0
- package/built-in-skills/prismer-python-debugpy/scripts/dap_client.py +68 -0
- package/built-in-skills/prismer-songsee/LICENSE +21 -0
- package/built-in-skills/prismer-songsee/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-songsee/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-songsee/SKILL.md +91 -0
- package/built-in-skills/prismer-songwriting-and-ai-music/LICENSE +21 -0
- package/built-in-skills/prismer-songwriting-and-ai-music/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-songwriting-and-ai-music/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-songwriting-and-ai-music/SKILL.md +317 -0
- package/built-in-skills/prismer-spike/LICENSE +21 -0
- package/built-in-skills/prismer-spike/LICENSE.gsd +21 -0
- package/built-in-skills/prismer-spike/NOTICE.md +17 -0
- package/built-in-skills/prismer-spike/SKILL.md +212 -0
- package/built-in-skills/prismer-teams-meeting-pipeline/LICENSE +21 -0
- package/built-in-skills/prismer-teams-meeting-pipeline/NOTICE.md +11 -0
- package/built-in-skills/prismer-teams-meeting-pipeline/SKILL.md +156 -0
- package/built-in-skills/prismer-xurl/LICENSE +21 -0
- package/built-in-skills/prismer-xurl/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-xurl/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-xurl/SKILL.md +444 -0
- package/built-in-skills/prismer-xurl/provenance/category-DESCRIPTION.md +3 -0
- package/built-in-skills/prismer-youtube-content/LICENSE +21 -0
- package/built-in-skills/prismer-youtube-content/LICENSE.hermes +21 -0
- package/built-in-skills/prismer-youtube-content/PROVENANCE.md +7 -0
- package/built-in-skills/prismer-youtube-content/SKILL.md +86 -0
- package/built-in-skills/prismer-youtube-content/provenance/category-DESCRIPTION.md +3 -0
- package/built-in-skills/prismer-youtube-content/references/output-formats.md +56 -0
- package/built-in-skills/prismer-youtube-content/scripts/fetch_transcript.py +146 -0
- package/built-in-skills/proactivity/SKILL.md +84 -0
- package/built-in-skills/remotion/SKILL.md +431 -0
- package/built-in-skills/research-arxiv/LICENSE +21 -0
- package/built-in-skills/research-arxiv/NOTICE.md +4 -0
- package/built-in-skills/research-arxiv/SKILL.md +263 -0
- package/built-in-skills/research-arxiv/scripts/search_arxiv.py +111 -0
- package/built-in-skills/role-builder/SKILL.md +209 -0
- package/built-in-skills/role-builder/scripts/author-role.mjs +350 -0
- package/built-in-skills/role-builder/scripts/ingest-role.mjs +121 -0
- package/built-in-skills/role-builder/scripts/instantiate-and-run.mjs +304 -0
- package/built-in-skills/role-builder/scripts/operation-harness.mjs +269 -0
- package/built-in-skills/skill-creator/LICENSE.prismer +21 -0
- package/built-in-skills/skill-creator/NOTICE.md +18 -0
- package/built-in-skills/skill-creator/SKILL.md +182 -421
- package/built-in-skills/skill-creator/eval-viewer/generate_review.py +20 -31
- package/built-in-skills/skill-creator/eval-viewer/viewer.html +35 -23
- package/built-in-skills/skill-creator/references/external-library-import.md +110 -0
- package/built-in-skills/skill-creator/references/hermes-agent-skill-authoring/GUIDE.md +220 -0
- package/built-in-skills/skill-creator/references/hermes-agent-skill-authoring/LICENSE +21 -0
- package/built-in-skills/skill-creator/references/skill-authoring/GUIDE.md +134 -0
- package/built-in-skills/{skill-authoring/skill.json → skill-creator/references/skill-authoring/draft-contract.json} +3 -3
- package/built-in-skills/skill-creator/references/skill-builder/GUIDE.md +167 -0
- package/built-in-skills/skill-creator/references/skill-builder/scripts/ingest.mjs +93 -0
- package/built-in-skills/skill-creator/scripts/aggregate_benchmark.py +3 -2
- package/built-in-skills/skill-creator/scripts/import-library.mjs +498 -0
- package/built-in-skills/skill-creator/scripts/improve_description.py +14 -16
- package/built-in-skills/skill-creator/scripts/package_skill.py +16 -9
- package/built-in-skills/skill-creator/scripts/quick_validate.py +22 -5
- package/built-in-skills/skill-creator/scripts/run_eval.py +63 -144
- package/built-in-skills/skill-creator/scripts/run_loop.py +24 -16
- package/built-in-skills/slack-gif-creator/SKILL.md +20 -0
- package/built-in-skills/slack-gif-creator/core/gif_builder.py +13 -2
- package/built-in-skills/slack-gif-creator/core/validators.py +17 -7
- package/built-in-skills/tasks/SKILL.md +39 -24
- package/built-in-skills/tdd/LICENSE +21 -0
- package/built-in-skills/tdd/SKILL.md +117 -0
- package/built-in-skills/tdd/mocking.md +59 -0
- package/built-in-skills/tdd/refactoring.md +10 -0
- package/built-in-skills/tdd/references/test-driven-development/GUIDE.md +356 -0
- package/built-in-skills/tdd/references/test-driven-development/LICENSE +21 -0
- package/built-in-skills/tdd/references/test-driven-development/LICENSE.superpowers +21 -0
- package/built-in-skills/tdd/references/test-driven-development/NOTICE.md +37 -0
- package/built-in-skills/tdd/tests.md +61 -0
- package/built-in-skills/team/SKILL.md +3 -2
- package/built-in-skills/web-artifacts-builder/SKILL.md +4 -3
- package/built-in-skills/web-artifacts-builder/scripts/bundle-artifact.sh +9 -7
- package/built-in-skills/web-artifacts-builder/scripts/init-artifact.sh +28 -55
- package/built-in-skills/webapp-qa/LICENSE +21 -0
- package/built-in-skills/webapp-qa/NOTICE.md +37 -0
- package/built-in-skills/webapp-qa/SKILL.md +41 -0
- package/built-in-skills/webapp-qa/references/dogfood/GUIDE.md +161 -0
- package/built-in-skills/webapp-qa/references/issue-taxonomy.md +109 -0
- package/built-in-skills/webapp-qa/templates/dogfood-report-template.md +86 -0
- package/built-in-skills/webapp-testing/SKILL.md +10 -2
- package/built-in-skills/webapp-testing/examples/console_logging.py +10 -4
- package/built-in-skills/webapp-testing/examples/element_discovery.py +11 -4
- package/built-in-skills/webapp-testing/examples/static_html_automation.py +14 -9
- package/built-in-skills/webapp-testing/scripts/with_server.py +34 -10
- package/built-in-skills/wechat-pay/SKILL.md +59 -0
- package/built-in-skills/weekly-review/LICENSE +21 -0
- package/built-in-skills/weekly-review/NOTICE.md +21 -0
- package/built-in-skills/weekly-review/SKILL.md +49 -0
- package/components/eaas-pi-components.manifest.json +37 -0
- package/dist/cli.cjs +75799 -20210
- package/dist/cli.js +75900 -20248
- package/dist/index.cjs +76159 -20082
- package/dist/index.d.cts +4766 -766
- package/dist/index.d.ts +4766 -766
- package/dist/index.js +76040 -19960
- package/package.json +42 -6
- package/plugins/memory/prismer/__init__.py +1215 -0
- package/plugins/memory/prismer/plugin.yaml +8 -0
- package/plugins/memory/prismer/tool-schemas.generated.json +257 -0
- package/plugins/tools/prismer-recall/__init__.py +282 -0
- package/plugins/tools/prismer-recall/plugin.yaml +15 -0
- package/built-in-skills/memory-curation/SKILL.md +0 -135
- package/built-in-skills/skill-authoring/SKILL.md +0 -124
- package/built-in-skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory-dream
|
|
3
|
+
scope: common
|
|
4
|
+
role_scope: orchestrator-only
|
|
5
|
+
description: |
|
|
6
|
+
Curate the workspace memory wiki as its appointed orchestrator. Trigger on a
|
|
7
|
+
Cloud-scheduled Dream task or a user's direct curation request. Inspect candidates
|
|
8
|
+
for orphan leaves, near-duplicates, stale pages, remote conflicts and oversized
|
|
9
|
+
hubs; browse the graph, cluster leaves into INDEX/hub/leaf structure, maintain
|
|
10
|
+
authored overview prose, split hubs, merge duplicates and verify/report changes.
|
|
11
|
+
Use memory_curate and memory_browse; preserve machine-generated hub TOCs and
|
|
12
|
+
graph-derived INDEX Contents. Orchestrator-only: write verbs reject other actors
|
|
13
|
+
with 403. Follow the body for safe mutation and verification procedures.
|
|
14
|
+
applies_to: [hermes, claude-code, codex]
|
|
15
|
+
version: 4
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Memory Dream — orchestrator-driven consolidation
|
|
19
|
+
|
|
20
|
+
> **Memory pages are PKF (`.pkf`).** When you fold or merge page bodies, the body syntax
|
|
21
|
+
> (sections, typed links, frontmatter) comes from the **`pkf-writing`** skill — load it
|
|
22
|
+
> when you author body content, and validate the result before persisting. This skill
|
|
23
|
+
> only governs the graph: what to merge, where to attach, and how to keep INDEX/hub
|
|
24
|
+
> ownership straight.
|
|
25
|
+
|
|
26
|
+
> **Candidate boundary.** Dream sees authoritative **Memory Pages**, not “all PKF.” A
|
|
27
|
+
> message-inline PKF or Library `.pkf` Asset remains outside this loop. Runtime
|
|
28
|
+
> automatically classifies durable claims from validated inline PKF; Asset handling
|
|
29
|
+
> still uses the `memory` skill. Explicitly materialize authoritative inline bytes only
|
|
30
|
+
> when the user requests exact preservation. Only a resulting Memory Page participates
|
|
31
|
+
> in candidates, revisions, merges and hub TOCs.
|
|
32
|
+
|
|
33
|
+
You are (when appointed) the **workspace memory orchestrator**. Your job is the "Dream
|
|
34
|
+
phase": periodically reorganize the memory wiki so it stays coherent as it grows — merge
|
|
35
|
+
duplicate hubs, attach satellite pages under the right hub, supersede stale/contradicted
|
|
36
|
+
pages, keep the top-level INDEX lean, maintain every hub's `#overview` plus the INDEX's
|
|
37
|
+
authored semantic sections, and split hubs that have grown oversized.
|
|
38
|
+
|
|
39
|
+
There is one automatic trigger authority: the **Cloud SchedulerService** sweeps every
|
|
40
|
+
six hours, applies the 24-hour cadence gate plus authoritative wiki-health signals
|
|
41
|
+
(orphan ratio, oversized INDEX, frontier duplicate cluster, or page-growth burst),
|
|
42
|
+
deduplicates in-flight work, and dispatches one hidden `memory-dream` task to the bound
|
|
43
|
+
workspace orchestrator. The Cloud performs no Memory LLM reasoning. The appointed
|
|
44
|
+
orchestrator executes this skill in its own Runtime and is the sole automatic write
|
|
45
|
+
actor. A user can also ask that orchestrator to curate immediately; ordinary per-page
|
|
46
|
+
queries do not trigger Dream. The retired daemon `FF_MEMORY_DREAM_ENABLED` scheduler is
|
|
47
|
+
not an active trigger path.
|
|
48
|
+
|
|
49
|
+
> **Authority gate.** The curation write verbs only work for the **appointed workspace
|
|
50
|
+
> orchestrator** (the workspace owner, or the agent set as `orchestratorAgentId`).
|
|
51
|
+
> If you are not the orchestrator, every write verb returns `403 orchestrator_only` —
|
|
52
|
+
> that is expected, not a bug. Do not retry; write-time placement discipline (the
|
|
53
|
+
> **memory** skill's browse-first flow) is what every agent does, and it is enough.
|
|
54
|
+
|
|
55
|
+
**Owner vs orchestrator vs deputy (product209/16 MA-2):**
|
|
56
|
+
|
|
57
|
+
- The **owner** (human) and the **appointed orchestrator**
|
|
58
|
+
(`orchestratorAgentId`) are the only Dream write actors. The owner speaking
|
|
59
|
+
through an agent does NOT grant it Dream rights — the agent itself must hold
|
|
60
|
+
the orchestrator binding. Dream never back-derives authority from "the owner
|
|
61
|
+
is talking to me".
|
|
62
|
+
- A **deputy** does NOT inherit Dream from its bound member — not even when
|
|
63
|
+
the bound member is the owner. A deputy runs Dream write verbs only if the
|
|
64
|
+
deputy agent itself is the appointed `orchestratorAgentId`.
|
|
65
|
+
- `candidates` is the READ half and works for any agent in scope; the write
|
|
66
|
+
verbs (`promote_to_hub` / `supersede` / `rebuild_index` and the section-level
|
|
67
|
+
`section_merge` / `section_supersede` / `rewire`) are the gated half.
|
|
68
|
+
- `403 orchestrator_only` and `202 approval deferred` are final per-request
|
|
69
|
+
verdicts — do not retry, and do not route around them through another agent.
|
|
70
|
+
|
|
71
|
+
## The verbs
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
memory_curate(op="candidates") # READ what needs work (any agent)
|
|
75
|
+
memory_curate(op="candidates", kind="orphans") # one surface; limit caps per kind
|
|
76
|
+
memory_browse(query="<topic>") # READ the structure: {index, hubs[+snippet], nearest}
|
|
77
|
+
memory_curate(op="promote_to_hub", pageId="<id>",
|
|
78
|
+
childPaths=["<path>", …]) # leaf → hub AND attach children (orchestrator only)
|
|
79
|
+
memory_curate(op="supersede", pageId="<id>",
|
|
80
|
+
reason="merged into <path>") # archive + mark stale (orchestrator only)
|
|
81
|
+
memory_curate(op="rebuild_index") # regenerate hub TOCs; INDEX Contents stays graph-derived (orchestrator only)
|
|
82
|
+
memory_curate(op="section_merge", pageId="<winnerPageId>",
|
|
83
|
+
targetSection="<winnerSlug>", sourcePageId="<loserPageId>",
|
|
84
|
+
sourceSection="<loserSlug>",
|
|
85
|
+
mergedContent="<merged body>") # fold ONE near-duplicate section (memory211 W5)
|
|
86
|
+
memory_curate(op="section_supersede", pageId="<pageId>",
|
|
87
|
+
section="<slug>") # retire ONE section in place (memory211 W5)
|
|
88
|
+
memory_curate(op="rewire", linkId="<linkId>",
|
|
89
|
+
toPageId="<id>") # re-point a broken/wrong link (memory211 W5)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
- `candidates` is the READ half: `{candidates:{orphans,duplicates,stale,conflicts,oversized}}`
|
|
93
|
+
— unplaced leaves (no outgoing `child-of`/`parent` edge to a live hub; an INDEX
|
|
94
|
+
`index-anchor` only guarantees reachability and therefore still counts as flat), near-duplicate clusters
|
|
95
|
+
(`duplicate_cluster:<peerIds>`), stale pages, remote-conflict pages, and oversized
|
|
96
|
+
hub/INDEX advisories (`kind="oversized"` — size is recorded, never machine-enforced;
|
|
97
|
+
splitting is YOUR call). It does NOT cluster or decide; that is YOUR LLM's job.
|
|
98
|
+
- **`promote_to_hub` takes `childPaths[]`** — pass the member pages' paths (exactly as
|
|
99
|
+
candidates/browse returned them) and the cloud attaches them under the new hub as
|
|
100
|
+
`child-of` children **in the same call**. Do not promote a hollow hub and re-anchor
|
|
101
|
+
members one by one afterwards.
|
|
102
|
+
- `rebuild_index` is the ONLY **hub** `#toc` writer. It emits a complete strict PKF
|
|
103
|
+
`<section>` with stable `data-sid`, one navigation entry per graph child and the
|
|
104
|
+
child's frontmatter `description`. Structural `child-of` remains child→hub in the
|
|
105
|
+
graph; downward TOC links are navigation, never inverted placement edges. Hub
|
|
106
|
+
`<h2 id="overview">` prose is agent territory and survives rebuild.
|
|
107
|
+
- Top INDEX is different: its Contents is derived live from the graph and there is no
|
|
108
|
+
stored machine `#toc` to rebuild or edit. Its authored semantic sections are the
|
|
109
|
+
orchestrator's editorial territory.
|
|
110
|
+
- **Section verbs (memory211 W5)** — the granularity drift happens at SECTION level, so
|
|
111
|
+
curation does too. `section_merge` rewrites the winner's section with `mergedContent`,
|
|
112
|
+
splices the loser section out of its page, and the CLOUD writes the
|
|
113
|
+
`supersedes` + `derived-from` provenance edges for you — a merge with no edge trail is
|
|
114
|
+
an unfinished merge. `section_supersede` retires one section (optionally pointing at the
|
|
115
|
+
surviving one). `rewire` fixes a single broken/wrong link without a page rewrite.
|
|
116
|
+
- There is no `run_dream` cloud-LLM op — `candidates` (read) + the write ops are
|
|
117
|
+
the whole surface (memory203/13 §0.5: all memory LLM runs in your runtime, never the
|
|
118
|
+
cloud's).
|
|
119
|
+
|
|
120
|
+
Enactment is the native `memory_curate` TOOL (the same tool surface every agent already
|
|
121
|
+
holds, alongside `memory_search` / `memory_load` / `memory_browse` / `memory_write`). Do
|
|
122
|
+
NOT look for a separate "memory-dream tool" or shell — `memory_curate` IS the enactment
|
|
123
|
+
surface. (A `prismer memory curate …` CLI exists for shell contexts; the TOOL is primary.)
|
|
124
|
+
If a curate response is `degraded:true`, no authoritative Cloud mutation occurred;
|
|
125
|
+
report the degraded state and never describe the requested convergence as completed.
|
|
126
|
+
|
|
127
|
+
## The convergence loop (keep it tight)
|
|
128
|
+
|
|
129
|
+
Run the loop end-to-end in a handful of calls — `memory_browse` gives you the whole
|
|
130
|
+
structure in ONE call, so you never need long exploratory search/load spelunking:
|
|
131
|
+
|
|
132
|
+
**STEP 1 — READ the candidates.**
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
memory_curate(op="candidates")
|
|
136
|
+
# → { ok:true, candidates: {
|
|
137
|
+
# orphans: { items:[ {pageId, path, reason:"orphan"}, … ], total },
|
|
138
|
+
# duplicates: { items:[ {pageId, path, reason:"duplicate_cluster:<peerIds>"}, … ], total },
|
|
139
|
+
# stale: { items:[ {pageId, path, reason}, … ], total },
|
|
140
|
+
# conflicts: { items:[ {pageId, path, reason:"remote-conflict",
|
|
141
|
+
# metadata:{…, latestTwoVersionSummaries}}, … ], total },
|
|
142
|
+
# oversized: { items:[ {pageId, path, reason:"oversized:toc_entries,body_chars",
|
|
143
|
+
# metadata:{bodyChars, tocEntries, softThresholds, advisory:true}}, … ], total } } }
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**STEP 1b — REVIEW the conflicts.** `memory_curate(op="candidates", kind="conflicts")`
|
|
147
|
+
lists pages whose current head landed via a remote-conflict LWW merge (two devices
|
|
148
|
+
diverged); each item carries the latest two version summaries (changeSummary /
|
|
149
|
+
authoredBy / createdAt) so you can judge which side won. For each one, confirm the
|
|
150
|
+
head is correct — `memory_load` it and check the LWW winner didn't clobber the better
|
|
151
|
+
content; if it did, `memory_write` the corrected body. Conflict is a STATE, not a
|
|
152
|
+
brand: a curation touch or clean rewrite of the page clears it (an identical-content
|
|
153
|
+
rewrite is a no-op and does NOT), so a reviewed page drops off this list on the next
|
|
154
|
+
`candidates` read.
|
|
155
|
+
|
|
156
|
+
**STEP 1c — REVIEW the oversized hubs.** `memory_curate(op="candidates",
|
|
157
|
+
kind="oversized")` lists hubs whose body chars or stored TOC entry count exceeds the
|
|
158
|
+
advisory soft thresholds, plus INDEX advisories based on its authored body size (its
|
|
159
|
+
Contents is graph-derived). These are **split suggestions, never enforcement** — a
|
|
160
|
+
lean hub (overview + TOC) keeps every multi-hop recall fast. For a hub with too many
|
|
161
|
+
children, split by sub-topic: pick the natural anchor leaf of each sub-cluster,
|
|
162
|
+
`promote_to_hub` it WITH its `childPaths`, and the moved children drop out of the
|
|
163
|
+
parent's TOC on the next rebuild. A hub that is oversized because its overview prose
|
|
164
|
+
grew into an essay: move the essay's durable content into a leaf under the hub and
|
|
165
|
+
shrink the overview back to a summary. Use your judgment — an advisory you deliberately
|
|
166
|
+
leave alone (and say so in the report) is a valid outcome.
|
|
167
|
+
|
|
168
|
+
**STEP 2 — BROWSE the structure.**
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
memory_browse(query="<dominant candidate topic>")
|
|
172
|
+
# → { index, hubs:[{path,title,pageType,snippet}], nearest:[…] }
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
One call shows you which hubs already exist and what each is about — decide whether a
|
|
176
|
+
candidate cluster belongs under an EXISTING hub (attach, don't mint a duplicate hub) or
|
|
177
|
+
needs a new one. Spot-check individual members with `memory_load` only where the title
|
|
178
|
+
is ambiguous; do not load every page.
|
|
179
|
+
|
|
180
|
+
**STEP 3 — DECIDE clusters (your LLM — this is the point).** Group the orphan leaves by
|
|
181
|
+
topic. A cluster is a set of leaves that genuinely share one topic and deserve a single
|
|
182
|
+
hub above them. For duplicate clusters, decide:
|
|
183
|
+
|
|
184
|
+
- Same topic, one is a clear superset → **merge** (fold content, supersede the loser).
|
|
185
|
+
- Adjacent but distinct → **link, don't merge** (write with `relation="related"` or a
|
|
186
|
+
typed `<a rel="related">` with a canonical href) — merging distinct facts loses recall
|
|
187
|
+
precision.
|
|
188
|
+
- Ambiguous / high-stakes → **do not enact**; leave it for human review. When unsure,
|
|
189
|
+
prefer leaving two pages over deleting one.
|
|
190
|
+
|
|
191
|
+
**STEP 4 — ENACT per cluster: promote WITH children.**
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
memory_curate(op="promote_to_hub",
|
|
195
|
+
pageId="<id of the cluster's natural anchor page>",
|
|
196
|
+
childPaths=["project/helios-billing.pkf",
|
|
197
|
+
"project/helios-db-choice.pkf",
|
|
198
|
+
"project/helios-deploy.pkf", …])
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
One call: the anchor becomes a hub AND every member is attached under it as a child.
|
|
202
|
+
For a cluster that belongs under an EXISTING hub (found in STEP 2), don't promote —
|
|
203
|
+
attach the members to that hub (`memory_write` the member with
|
|
204
|
+
`parentHubPath="<existing hub path>"`; use `op="append-section"` rather than a
|
|
205
|
+
full-page rewrite when touching someone else's page). For merge losers and garbage:
|
|
206
|
+
`memory_curate(op="supersede", pageId="…", reason="…")`.
|
|
207
|
+
|
|
208
|
+
**STEP 5 — REBUILD hub navigation once per batch.**
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
memory_curate(op="rebuild_index")
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Each touched hub's strict PKF `#toc` regenerates with child descriptions. The top INDEX
|
|
215
|
+
Contents changes automatically because it is a live graph projection—no INDEX body
|
|
216
|
+
revision is minted. Leaves that now have a hub parent drop out of the flat top level.
|
|
217
|
+
|
|
218
|
+
**STEP 6 — MAINTAIN authored prose (your editorial duty).** After the structure settles,
|
|
219
|
+
read the INDEX and touched hubs. Refresh each hub's `<h2 id="overview">` and any stale
|
|
220
|
+
authored INDEX semantic section. Reuse the loaded section's existing `data-sid`; for a
|
|
221
|
+
new section, run `pkf_mint_sids`, then `pkf_validate` on the complete resulting page
|
|
222
|
+
before persisting. Section-operation content is a complete `<section>…</section>`:
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
memory_write(
|
|
226
|
+
path="project/helios.pkf",
|
|
227
|
+
op="rewrite-section",
|
|
228
|
+
section="overview",
|
|
229
|
+
content="<section><h2 id=\"overview\" data-sid=\"<reuse-or-minted-sec-id>\">Overview</h2><p>Helios is the Q3 billing replatform —
|
|
230
|
+
auth, billing and deploy decisions live here; the postmortems under it record why
|
|
231
|
+
rate limits were re-tuned twice. Start at <a href=\"<canonical href from browse>\"
|
|
232
|
+
rel=\"references\">the API spec</a>.</p></section>")
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
A hub you just promoted has no overview yet — `op="append-section", section="overview"`
|
|
236
|
+
seeds it. Never touch the `#toc` section while you are in there.
|
|
237
|
+
|
|
238
|
+
**STEP 7 — VERIFY and REPORT.** Call `memory_curate(op="candidates")` again — the
|
|
239
|
+
orphans you clustered should be gone. Then **report the structural changes in your
|
|
240
|
+
reply**: which hubs you created/promoted, how many children each absorbed, what you
|
|
241
|
+
superseded and why, which overviews you wrote/refreshed, which oversized advisories you
|
|
242
|
+
split or deliberately left, and the before→after orphan count. A convergence run that
|
|
243
|
+
ends without a structural report is unverifiable.
|
|
244
|
+
|
|
245
|
+
### Worked example — 8 scattered `project/helios-*` leaves → one hub
|
|
246
|
+
|
|
247
|
+
`candidates` returns 8 orphan leaves hanging off INDEX directly (`project/helios-auth.pkf`,
|
|
248
|
+
`project/helios-billing.pkf`, `project/helios-db-choice.pkf`, `project/helios-deploy.pkf`,
|
|
249
|
+
`project/helios-api-spec.pkf`, `project/helios-rate-limits.pkf`, `project/helios-oncall.pkf`,
|
|
250
|
+
`project/helios-postmortem-0420.pkf`).
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
# 1-2. read candidates + browse — no existing helios hub, all 8 are one topic
|
|
254
|
+
memory_curate(op="candidates", kind="orphans")
|
|
255
|
+
memory_browse(query="helios project")
|
|
256
|
+
|
|
257
|
+
# 3. decide: ONE cluster; helios-auth is the natural anchor
|
|
258
|
+
|
|
259
|
+
# 4. promote the anchor WITH the other 7 attached in the same call
|
|
260
|
+
memory_curate(op="promote_to_hub", pageId="<id-of-helios-auth>",
|
|
261
|
+
childPaths=["project/helios-billing.pkf", "project/helios-db-choice.pkf",
|
|
262
|
+
"project/helios-deploy.pkf", "project/helios-api-spec.pkf",
|
|
263
|
+
"project/helios-rate-limits.pkf", "project/helios-oncall.pkf",
|
|
264
|
+
"project/helios-postmortem-0420.pkf"])
|
|
265
|
+
|
|
266
|
+
# the 0420 postmortem is superseded by a newer incident page → archive it
|
|
267
|
+
memory_curate(op="supersede", pageId="<id-of-helios-postmortem-0420>",
|
|
268
|
+
reason="merged into project/helios-auth#incidents")
|
|
269
|
+
|
|
270
|
+
# 5. rebuild once — hub #toc regenerates; INDEX Contents follows the graph live
|
|
271
|
+
memory_curate(op="rebuild_index")
|
|
272
|
+
|
|
273
|
+
# 6. seed the new hub's overview (the machine never writes this prose)
|
|
274
|
+
memory_write(path="project/helios-auth.pkf", op="append-section", section="overview",
|
|
275
|
+
content="<section><h2 id=\"overview\" data-sid=\"<minted-sec-id>\">Overview</h2><p>Helios project knowledge —
|
|
276
|
+
auth is the anchor; billing/db/deploy/api-spec/rate-limits/oncall hang
|
|
277
|
+
under it. The 0420 postmortem is archived into #incidents.</p></section>")
|
|
278
|
+
|
|
279
|
+
# 7. verify: orphans 8 → 0 for this topic; REPORT the delta in your reply
|
|
280
|
+
memory_curate(op="candidates", kind="orphans")
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Result: the derived INDEX Contents shows one described hub entry instead of 8 bare leaves; the facts
|
|
284
|
+
are reachable `INDEX → hub → leaf`, and the hub opens with prose that says what lives
|
|
285
|
+
there. The flat star collapsed into a readable tree — in ~7 tool calls.
|
|
286
|
+
|
|
287
|
+
## Folding content on a merge
|
|
288
|
+
|
|
289
|
+
When one page absorbs a true duplicate: copy any durable fact the survivor lacks into
|
|
290
|
+
the survivor's matching section (`memory_write` with `op="append-section"` /
|
|
291
|
+
`op="rewrite-section"` — never a whole-page rewrite of a page another agent authored;
|
|
292
|
+
the section body follows `pkf-writing`), then `supersede` the loser with a reason naming
|
|
293
|
+
the survivor's path. The loser is archived, not hard-deleted — it stays for audit and
|
|
294
|
+
redirect.
|
|
295
|
+
|
|
296
|
+
## Stop conditions
|
|
297
|
+
|
|
298
|
+
- Enact only **clear** merges; one ambiguous call left un-enacted is better than one
|
|
299
|
+
wrong merge that destroys recall.
|
|
300
|
+
- Batch a handful of clusters, `rebuild_index` ONCE, verify, report, stop. Do not loop
|
|
301
|
+
the whole graph every tick — Dream is incremental.
|
|
302
|
+
- Never hand-write a hub `#toc`; `rebuild_index` is its only writer. Never store an
|
|
303
|
+
INDEX TOC copy—the reader derives Contents. Hub overviews and authored INDEX semantic
|
|
304
|
+
sections are your editorial territory.
|
|
305
|
+
|
|
306
|
+
## Anti-patterns
|
|
307
|
+
|
|
308
|
+
- ❌ Promoting a hollow hub (no `childPaths`) and then re-anchoring members one at a
|
|
309
|
+
time — pass the children in the promote call.
|
|
310
|
+
- ❌ Hand-writing `child-of` links inside a HUB pointing down at leaves — `child-of`
|
|
311
|
+
edges point FROM the child TO the hub; the structural params get this right for you.
|
|
312
|
+
- ❌ Hand-editing a hub `#toc`, or creating a stored INDEX `#toc`; declare edges +
|
|
313
|
+
`rebuild_index`. Leaving hubs with no overview prose is its own anti-pattern.
|
|
314
|
+
- ❌ Treating message-inline/Asset PKF as a Dream candidate before it becomes an
|
|
315
|
+
authoritative Memory Page.
|
|
316
|
+
- ❌ Whole-page-rewriting another agent's page to fold in one fact — append a section
|
|
317
|
+
(`op="append-section"`).
|
|
318
|
+
- ❌ Treating an `oversized` advisory as an order — it is a split *suggestion*; splitting
|
|
319
|
+
a coherent hub just to satisfy a threshold destroys navigability. Judge, then report.
|
|
320
|
+
- ❌ Merging two pages because they share a topic word — they may carry distinct facts.
|
|
321
|
+
Read them first; merge only clear duplicates.
|
|
322
|
+
- ❌ Hard-deleting. You `supersede` (reversible archive), never destroy.
|
|
323
|
+
- ❌ Running the whole graph every tick. Dream is incremental: a handful of clear
|
|
324
|
+
merges, one rebuild_index, verify, stop.
|
|
325
|
+
- ❌ Enacting an ambiguous/high-stakes merge. Leave it for human review; Dream cannot
|
|
326
|
+
reconstruct a wrongly-merged page.
|
|
327
|
+
- ❌ Retrying a `403 orchestrator_only` — you are not the appointed orchestrator; that
|
|
328
|
+
is correct, not an error.
|
|
329
|
+
- ❌ A deputy assuming Dream rights because its bound member is the owner — the
|
|
330
|
+
deputy agent itself must be the appointed `orchestratorAgentId`.
|
|
331
|
+
- ❌ Ending a convergence run without reporting the structural delta (hubs created,
|
|
332
|
+
children attached, pages superseded, orphan count before→after).
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory-import
|
|
3
|
+
scope: common
|
|
4
|
+
description: Bulk-import an external knowledge base into Prismer memory via the three-layer import pipeline (07 §3.1). Use when the user asks to import/migrate documents, a knowledge base, or notes into workspace memory. Layer 1 lands raw documents (zero LLM, instantly searchable); Layer 2 is YOUR distillation work — you read the landed documents and write candidate pages; Layer 3 commits candidates through the memory evolution gate. Distinct from the native memory_write tool face (that is for single, in-conversation writes).
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Memory Import
|
|
8
|
+
|
|
9
|
+
Bulk-import external material into workspace memory through a **session** — the
|
|
10
|
+
unit of quota, audit, and gate evaluation. Three layers, two of which are yours:
|
|
11
|
+
|
|
12
|
+
## Layer 1 — land the documents (zero LLM, do this first)
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
cloud memory imports open --workspace <ws> # → { id }
|
|
16
|
+
cloud memory imports write-documents <id> --workspace <ws> --documents '[{"name":"…","content":"…"}]'
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Raw documents become searchable in seconds. No quality bar here — that is Layer 2's job.
|
|
20
|
+
|
|
21
|
+
## Layer 2 — distill (YOUR LLM, your compute)
|
|
22
|
+
|
|
23
|
+
Read the landed documents, then author candidate pages and submit them:
|
|
24
|
+
|
|
25
|
+
- One page per coherent topic, attached under the right hub (`<hub>/<topic>.pkf`, relative to the Memory root; do not prepend another `memory/`).
|
|
26
|
+
- Every candidate MUST carry the `memory` frontmatter block — the pipeline rejects
|
|
27
|
+
the whole batch otherwise:
|
|
28
|
+
`{"type":"note","title":"…","description":"…","memory":{"memoryRole":"knowledge|procedure|action_result","source":"<where this came from, in words a human can read>"}}`.
|
|
29
|
+
- Distill, don't dump: conclusions and procedures, not transcripts. The raw
|
|
30
|
+
documents stay in Layer 1 as the reference layer.
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
cloud memory imports write-batch <id> --workspace <ws> --candidates '[{"pagePath":"…","contentDiff":"<full PKF body>"}]'
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Layer 3 — commit (cloud-side gate, zero negotiation)
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
cloud memory imports commit <id> --workspace <ws> # runs the evolution gate
|
|
40
|
+
cloud memory imports status <id> --workspace <ws> # per-candidate verdicts
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The gate REJECTS batches that lose retrieval coverage (a candidate replacing a
|
|
44
|
+
page must not delete its keywords) or lack metadata. A rejected commit is final
|
|
45
|
+
for the session: read the verdict, fix the candidates, open a NEW session, resubmit.
|
|
46
|
+
Never re-submit an identical rejected batch — the Ledger rejects same-shape
|
|
47
|
+
candidates for 30 days.
|
|
48
|
+
|
|
49
|
+
**Routing**: raw archive / small batch → L1 + owner review. Knowledge-base
|
|
50
|
+
migration / high-quality distillation → L1 → L2 → L3 (semantic work on YOUR
|
|
51
|
+
compute; the cloud only gates and records).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Imported Office resources
|
|
2
|
+
|
|
3
|
+
The docx, pdf, powerpoint and xlsx resource trees derive from NousResearch/hermes-agent
|
|
4
|
+
skills/productivity at commit 1a1f4a59e252e1dc0137e7b2e7bcc8b0381d19c4.
|
|
5
|
+
Their individual LICENSE files are retained unchanged (MIT, 2026); upstream entry
|
|
6
|
+
documents are retained as GUIDE.md under each format directory. Existing Prismer
|
|
7
|
+
document-generation resources and aliases remain in place.
|
|
8
|
+
|
|
9
|
+
Prismer modifications: bounded original-text replacements, revision-aware reading,
|
|
10
|
+
relationship source isolation, comment persistence, strict template preflight,
|
|
11
|
+
real form flattening, attachment collision handling, Unicode font validation,
|
|
12
|
+
page selection/rendering limits, extraction adapters, literal CSV values,
|
|
13
|
+
tokenized formula references and table/dimension metadata, recursive slide edits,
|
|
14
|
+
independent slide background duplication and isolated renderer outputs. Regression
|
|
15
|
+
tests and known capability limits accompany these modifications.
|
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: office-artifacts
|
|
3
|
+
scope: persistence
|
|
4
|
+
metadata:
|
|
5
|
+
aliases: [document-generation]
|
|
6
|
+
nativeReplaces: [docx, pdf, powerpoint, xlsx]
|
|
3
7
|
description: Generate real DOCX, PPTX, XLSX, PDF, CSV files using python-docx / python-pptx / openpyxl / reportlab by writing them into the dispatch artifacts dir, then explicitly deliver each one with `cloud deliver <abs-path>`. Use whenever the user asks for documents, slides, spreadsheets, reports, or PDFs.
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
# Office Artifacts
|
|
7
11
|
|
|
12
|
+
## Format-specific resources
|
|
13
|
+
|
|
14
|
+
Read [resource limits](references/RESOURCE-LIMITS.md) for dependency tiers,
|
|
15
|
+
unsupported structures, Unicode fonts and optional extractor licensing.
|
|
16
|
+
|
|
17
|
+
Read only the guide for the requested format: references/docx/GUIDE.md,
|
|
18
|
+
references/pdf/GUIDE.md, references/powerpoint/GUIDE.md or references/xlsx/GUIDE.md.
|
|
19
|
+
Each guide's scripts and references are relative to its own directory, not the
|
|
20
|
+
workspace or this skill root. Use the installed office Python interpreter below.
|
|
21
|
+
For CJK text, references/document-generation/GUIDE.md is authoritative for fonts
|
|
22
|
+
and PDF rendering; do not use ReportLab with unsupported CFF Noto collections.
|
|
23
|
+
Treat upstream installation suggestions as optional dependency checks, not
|
|
24
|
+
permission to modify the system. Verify generated files by reopening them and
|
|
25
|
+
inspect rendered pages/slides when a renderer is available; otherwise report
|
|
26
|
+
that visual verification was not performed. Always follow this entry's Prismer
|
|
27
|
+
delivery contract instead of upstream host-specific output conventions.
|
|
28
|
+
|
|
8
29
|
Produce real binary office files (not markdown-as-PDF) by writing each
|
|
9
30
|
one into the **artifacts dir** (`$PRISMER_ARTIFACTS_DIR` /
|
|
10
31
|
`<artifacts_dir>` from `<execution_context>`). Prose-only completions are
|
|
@@ -76,7 +97,7 @@ every file you want the user to receive.
|
|
|
76
97
|
|
|
77
98
|
Lie-guard (`src/im/ws/handler.ts`) **as of release201/30 §8 is
|
|
78
99
|
warn-only telemetry**, not a destructive interceptor — the audit
|
|
79
|
-
banner ("
|
|
100
|
+
banner ("Team Manager 声明已生成文件但未真正落盘") that used to render in
|
|
80
101
|
red is removed. The detector still logs a `[warn] claim/asset
|
|
81
102
|
disagreement (warn-only, see release201/30 §8)` for ops dashboards
|
|
82
103
|
when text claims a file but `assetIds` is empty. That signal helps
|
|
@@ -102,9 +123,21 @@ If (1)-(3) fail, your reply must start with `无法生成文件
|
|
|
102
123
|
## Runtime baseline (release 201)
|
|
103
124
|
|
|
104
125
|
Sandbox image bakes `python-docx`, `python-pptx`, `openpyxl`,
|
|
105
|
-
`reportlab`, `pandas`, `pillow`, `numpy`, `imageio`, apt `file
|
|
106
|
-
|
|
107
|
-
|
|
126
|
+
`reportlab`, `pandas`, `pillow`, `numpy`, `imageio`, apt `file` — all of
|
|
127
|
+
them inside the image venv interpreter **`/home/user/.venv/bin/python3`**
|
|
128
|
+
(NOT the system `/usr/bin/python3`, which has NONE of these libraries).
|
|
129
|
+
Always run generator scripts with that interpreter, e.g.
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
/home/user/.venv/bin/python3 generate_report.py
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
If an `import docx` (or `pptx` / `openpyxl` / `reportlab`) probe fails, DO
|
|
136
|
+
NOT conclude the dependency is missing until you have retried under
|
|
137
|
+
`/home/user/.venv/bin/python3` — a failure under the system python only
|
|
138
|
+
means you probed the wrong interpreter. Only when the import ALSO fails
|
|
139
|
+
under the venv interpreter, fail the task with `module 'X' missing —
|
|
140
|
+
rebuild sandbox image`. Do not `pip install` on the fly.
|
|
108
141
|
|
|
109
142
|
## Resolving the output directory
|
|
110
143
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Imported resource execution contract
|
|
2
|
+
|
|
3
|
+
Use absolute script paths relative to the chosen format GUIDE.md directory.
|
|
4
|
+
Never install packages into the shared runtime merely because an upstream guide
|
|
5
|
+
includes an installation command. Reopen outputs and inspect rendered pages before
|
|
6
|
+
claiming visual correctness; the parent office-artifacts delivery contract applies.
|
|
7
|
+
|
|
8
|
+
## Runtime tiers
|
|
9
|
+
|
|
10
|
+
- Core DOCX: Python 3.10+, python-docx and lxml. Accepted text includes insertions
|
|
11
|
+
and excludes deletions/moveFrom. Structural/table/property revisions remain
|
|
12
|
+
unresolved: this is not a full Word revision engine or OOXML XSD validator.
|
|
13
|
+
- Core PDF: pypdf (flatten tested on 6.x), reportlab, Pillow and pdfplumber where
|
|
14
|
+
the chosen helper imports it. Flatten needs pypdf's `flatten=True` field update;
|
|
15
|
+
older versions fail before output rather than label an interactive file flat.
|
|
16
|
+
AES requires cryptography. Rendering uses pypdfium2 or Poppler, with a 120-second
|
|
17
|
+
subprocess bound and DPI 1..600. Native renderer memory is still a sandbox concern.
|
|
18
|
+
- PDF creation: JSON `font_file` selects a local TrueType font with verified glyph
|
|
19
|
+
coverage. Non-WinAnsi content without it is rejected before output. Font licensing
|
|
20
|
+
and embedding rights belong to the supplied font. Bold/italic currently use the
|
|
21
|
+
supplied font face; use a custom recipe for separate style faces. CFF collections
|
|
22
|
+
are not supported by this helper. Render CJK output to verify layout.
|
|
23
|
+
- Optional PyMuPDF: pymupdf; Markdown adds pymupdf4llm; tables add pandas/tabulate.
|
|
24
|
+
Its page selection is ZERO-based, unlike the other PDF helper CLIs (ONE-based).
|
|
25
|
+
PyMuPDF has separate AGPL/commercial licensing, not the resource's MIT grant.
|
|
26
|
+
- Optional Marker: marker-pdf/model downloads and its separate model/library
|
|
27
|
+
licensing, storage and accelerator budget. Output adapter is fixture-tested,
|
|
28
|
+
not proof that model inference or arbitrary installed versions work.
|
|
29
|
+
- Core XLSX: openpyxl. Formula rewrite uses tokens, including whole-row/column
|
|
30
|
+
references; structured/external references are preserved. Partial deletion of
|
|
31
|
+
table columns and header-only deletion fail before saving because dependent
|
|
32
|
+
structured formulas cannot yet be rewritten. Column insertion updates table
|
|
33
|
+
columns, header names and filter indices. Charts/images, validation formulas,
|
|
34
|
+
conditional-format rule formulas and table calculated-column formulas are not
|
|
35
|
+
automatically repaired; rebuild/review them before delivery. CSV formulas are
|
|
36
|
+
always literal imported data, including under type inference.
|
|
37
|
+
- Core PPTX: python-pptx/Pillow. Grouped text is supported; copying slides with
|
|
38
|
+
nested charts is rejected. Rendering requires LibreOffice and Poppler, uses a
|
|
39
|
+
private profile/work directory and returns only this invocation's pages. Existing
|
|
40
|
+
unrelated images in the destination are not a render result. Recalculation of
|
|
41
|
+
spreadsheets also requires LibreOffice; openpyxl alone does not calculate cells.
|
|
42
|
+
|
|
43
|
+
Input files are untrusted data. Native parsers/models should run in a bounded
|
|
44
|
+
task sandbox. No helper confers remote write permissions or installs a scheduler.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: document-generation
|
|
3
|
+
scope: common
|
|
4
|
+
description: Generate Word/PDF documents with correct CJK fonts (no tofu boxes). Industry-standard font semantics — 宋体/黑体/SimSun/Times New Roman resolve to the Noto CJK faces installed in the image via fontconfig aliases. Use whenever the task produces a .docx, .pdf, or rendered document containing Chinese/Japanese/Korean text.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Document Generation (Word / PDF, CJK-safe)
|
|
8
|
+
|
|
9
|
+
The image ships `python-docx` + `reportlab` and the full Noto CJK family
|
|
10
|
+
(Sans + Serif, .ttc). Font semantics are handled by
|
|
11
|
+
`/etc/fonts/conf.d/99-cjk-semantics.conf` — renderers resolve conventional
|
|
12
|
+
Chinese font names to the right Noto face automatically. Do NOT install extra
|
|
13
|
+
font packages; use the mapping below.
|
|
14
|
+
|
|
15
|
+
## Font semantics (industry-standard mapping)
|
|
16
|
+
|
|
17
|
+
| Scenario | Conventional name | Resolves to (image) |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| 官文/学术正文(宋体等效) | 宋体 / SimSun / Times New Roman | **Noto Serif CJK SC** |
|
|
20
|
+
| 标题/正文(黑体等效) | 黑体 / SimHei | **Noto Sans CJK SC** |
|
|
21
|
+
| 楷体(无开源 Noto 楷体,Serif 兜底) | 楷体 / KaiTi / 仿宋 | Noto Serif CJK SC |
|
|
22
|
+
| 代码/等宽 | Courier New / Monospace | DejaVu Sans Mono + Noto fallback |
|
|
23
|
+
|
|
24
|
+
Rule of thumb: **serif (Noto Serif CJK SC) for official/academic documents,
|
|
25
|
+
sans (Noto Sans CJK SC) for UI/headings** — same convention as Times New Roman
|
|
26
|
+
vs Arial in Western docs.
|
|
27
|
+
|
|
28
|
+
## Word (.docx) — python-docx
|
|
29
|
+
|
|
30
|
+
Word stores font *names*, not glyphs — the rendering machine resolves them.
|
|
31
|
+
Two cases:
|
|
32
|
+
|
|
33
|
+
**A. User opens the docx on their desktop (Word/WPS has 宋体/SimSun)** — write
|
|
34
|
+
conventional names so it renders correctly on THEIR machine:
|
|
35
|
+
|
|
36
|
+
```python
|
|
37
|
+
from docx import Document
|
|
38
|
+
from docx.shared import Pt
|
|
39
|
+
from docx.enum.text import WD_ALIGN_PARAGRAPH
|
|
40
|
+
|
|
41
|
+
doc = Document()
|
|
42
|
+
# set east-asian font properly (both ascii + eastAsia, or Word ignores it):
|
|
43
|
+
style = doc.styles['Normal']
|
|
44
|
+
style.font.name = 'Times New Roman' # ascii
|
|
45
|
+
style.font.size = Pt(12)
|
|
46
|
+
style.element.rPr.rFonts.set('{http://schemas.openxmlformats.org/wordprocessingml/2006/main}eastAsia', '宋体')
|
|
47
|
+
p = doc.add_paragraph('中文正文——宋体五号')
|
|
48
|
+
doc.save('/workspace/output.docx')
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**B. The sandbox itself must render/convert the docx to PDF** — use Noto names
|
|
52
|
+
so fontconfig resolves locally (LibreOffice may not be installed; prefer
|
|
53
|
+
generating PDF directly with reportlab instead of converting).
|
|
54
|
+
|
|
55
|
+
## PDF — weasyprint (HTML→PDF, PREFERRED — industry standard for CJK)
|
|
56
|
+
|
|
57
|
+
**reportlab cannot render Noto CJK** (CFF/PostScript outlines — a reportlab
|
|
58
|
+
limitation, verified 2026-08-07). The industry-standard CJK PDF path is
|
|
59
|
+
**HTML/CSS → weasyprint**: CSS font-family resolves via fontconfig, the
|
|
60
|
+
aliases make conventional names work directly, and it ships in the image.
|
|
61
|
+
|
|
62
|
+
```python
|
|
63
|
+
from weasyprint import HTML
|
|
64
|
+
|
|
65
|
+
html = '''<html><head><style>
|
|
66
|
+
body { font-family: '宋体', 'Noto Serif CJK SC', serif; font-size: 12pt; }
|
|
67
|
+
h1 { font-family: '黑体', 'Noto Sans CJK SC', sans-serif; }
|
|
68
|
+
code { font-family: 'Courier New', monospace; }
|
|
69
|
+
</style></head><body>
|
|
70
|
+
<h1>中文标题——黑体</h1>
|
|
71
|
+
<p>中文正文——宋体等效。混合 ASCII text works too.</p>
|
|
72
|
+
</body></html>'''
|
|
73
|
+
HTML(string=html).write_pdf('/workspace/output.pdf')
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
pandoc is also present — `pandoc input.md -o output.pdf
|
|
77
|
+
--pdf-engine=weasyprint` is a valid markdown→PDF pipeline.
|
|
78
|
+
|
|
79
|
+
## PDF — reportlab (programmatic; ASCII/Latin only for CJK)
|
|
80
|
+
|
|
81
|
+
reportlab 5.0 rejects Noto CJK .ttc files (`postscript outlines are not
|
|
82
|
+
supported` — CFF outlines). Use reportlab only for Latin/ASCII documents, or
|
|
83
|
+
for PDFs whose text never contains CJK. For CJK content use weasyprint above.
|
|
84
|
+
|
|
85
|
+
```html
|
|
86
|
+
<style>
|
|
87
|
+
body { font-family: '宋体', 'Noto Serif CJK SC', serif; font-size: 12pt; }
|
|
88
|
+
h1 { font-family: '黑体', 'Noto Sans CJK SC', sans-serif; }
|
|
89
|
+
</style>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Verification
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
fc-match '宋体' # → Noto Serif CJK SC (alias working)
|
|
96
|
+
fc-match '黑体' # → Noto Sans CJK SC
|
|
97
|
+
fc-list | grep -c 'Noto.*CJK' # faces present
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Output contract
|
|
101
|
+
|
|
102
|
+
- Deliver the file as a task asset (`cloud file send` / attach) — never paste
|
|
103
|
+
document content as chat text.
|
|
104
|
+
- Verify the PDF opens (pdfplumber is installed) and contains the expected
|
|
105
|
+
Chinese text — tofu boxes are a FAIL, not a delivery.
|