@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,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: diagnosing-bugs
|
|
3
|
+
scope: coding
|
|
4
|
+
metadata:
|
|
5
|
+
nativeReplaces: [systematic-debugging, inspecting-hermes-desktop-dom]
|
|
6
|
+
source: https://github.com/mattpocock/skills (MIT, © 2026 Matt Pocock)
|
|
7
|
+
description: Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Diagnosing Bugs
|
|
11
|
+
|
|
12
|
+
For cross-component tracing and hypothesis testing, consult
|
|
13
|
+
references/systematic-debugging/GUIDE.md. Its supporting files are relative to
|
|
14
|
+
that directory. Use tools actually exposed by this Runtime; upstream repository
|
|
15
|
+
paths and named subagents are not installed capabilities. Diagnose, reproduce,
|
|
16
|
+
fix the cause, and rerun the reproducer before claiming success.
|
|
17
|
+
|
|
18
|
+
For Electron DOM/CSS or stale-renderer diagnosis, read
|
|
19
|
+
references/desktop-dom/GUIDE.md. Match the actual app/build/PID and use an
|
|
20
|
+
authorized loopback target; never relaunch the user's app to obtain CDP.
|
|
21
|
+
|
|
22
|
+
A discipline for hard bugs. Skip phases only when explicitly justified.
|
|
23
|
+
|
|
24
|
+
When exploring the codebase, read `CONTEXT.md` (if it exists) to get a clear mental model of the relevant modules, and check ADRs in the area you're touching.
|
|
25
|
+
|
|
26
|
+
## Phase 1 — Build a feedback loop
|
|
27
|
+
|
|
28
|
+
**This is the skill.** Everything else is mechanical. If you have a **tight** pass/fail signal for the bug — one that goes red on _this_ bug — you will find the cause; bisection, hypothesis-testing, and instrumentation all just consume it. If you don't have one, no amount of staring at code will save you.
|
|
29
|
+
|
|
30
|
+
Spend disproportionate effort here. **Be aggressive. Be creative. Refuse to give up.**
|
|
31
|
+
|
|
32
|
+
### Ways to construct one — try them in roughly this order
|
|
33
|
+
|
|
34
|
+
1. **Failing test** at whatever seam reaches the bug — unit, integration, e2e.
|
|
35
|
+
2. **Curl / HTTP script** against a running dev server.
|
|
36
|
+
3. **CLI invocation** with a fixture input, diffing stdout against a known-good snapshot.
|
|
37
|
+
4. **Headless browser script** (Playwright / Puppeteer) — drives the UI, asserts on DOM/console/network.
|
|
38
|
+
5. **Replay a captured trace.** Save a real network request / payload / event log to disk; replay it through the code path in isolation.
|
|
39
|
+
6. **Throwaway harness.** Spin up a minimal subset of the system (one service, mocked deps) that exercises the bug code path with a single function call.
|
|
40
|
+
7. **Property / fuzz loop.** If the bug is "sometimes wrong output", run 1000 random inputs and look for the failure mode.
|
|
41
|
+
8. **Bisection harness.** If the bug appeared between two known states (commit, dataset, version), automate "boot at state X, check, repeat" so you can `git bisect run` it.
|
|
42
|
+
9. **Differential loop.** Run the same input through old-version vs new-version (or two configs) and diff outputs.
|
|
43
|
+
10. **HITL bash script.** Last resort. If a human must click, drive _them_ with `scripts/hitl-loop.template.sh` so the loop is still structured. Captured output feeds back to you.
|
|
44
|
+
|
|
45
|
+
Build the right feedback loop, and the bug is 90% fixed.
|
|
46
|
+
|
|
47
|
+
### Tighten the loop
|
|
48
|
+
|
|
49
|
+
Treat the loop as a product. Once you have _a_ loop, **tighten** it:
|
|
50
|
+
|
|
51
|
+
- Can I make it faster? (Cache setup, skip unrelated init, narrow the test scope.)
|
|
52
|
+
- Can I make the signal sharper? (Assert on the specific symptom, not "didn't crash".)
|
|
53
|
+
- Can I make it more deterministic? (Pin time, seed RNG, isolate filesystem, freeze network.)
|
|
54
|
+
|
|
55
|
+
A 30-second flaky loop is barely better than no loop; a 2-second deterministic one is tight — a debugging superpower.
|
|
56
|
+
|
|
57
|
+
### Non-deterministic bugs
|
|
58
|
+
|
|
59
|
+
The goal is not a clean repro but a **higher reproduction rate**. Loop the trigger 100×, parallelise, add stress, narrow timing windows, inject sleeps. A 50%-flake bug is debuggable; 1% is not — keep raising the rate until it's debuggable.
|
|
60
|
+
|
|
61
|
+
### When you genuinely cannot build a loop
|
|
62
|
+
|
|
63
|
+
Stop and say so explicitly. List what you tried. Ask the user for: (a) access to whatever environment reproduces it, (b) a captured artifact (HAR file, log dump, core dump, screen recording with timestamps), or (c) permission to add temporary production instrumentation. Do **not** proceed to hypothesise without a loop.
|
|
64
|
+
|
|
65
|
+
### Completion criterion — a tight loop that goes red
|
|
66
|
+
|
|
67
|
+
Phase 1 is done when the loop is **tight** and **red-capable**: you can name **one command** — a script path, a test invocation, a curl — that you have **already run at least once** (paste the invocation and its output), and that is:
|
|
68
|
+
|
|
69
|
+
- [ ] **Red-capable** — it drives the actual bug code path and asserts the **user's exact symptom**, so it can go red on this bug and green once fixed. Not "runs without erroring" — it must be able to _catch this specific bug_.
|
|
70
|
+
- [ ] **Deterministic** — same verdict every run (flaky bugs: a pinned, high reproduction rate, per above).
|
|
71
|
+
- [ ] **Fast** — seconds, not minutes.
|
|
72
|
+
- [ ] **Agent-runnable** — you can run it unattended; a human in the loop only via `scripts/hitl-loop.template.sh`.
|
|
73
|
+
|
|
74
|
+
If you catch yourself reading code to build a theory before this command exists, **stop — jumping straight to a hypothesis is the exact failure this skill prevents.** No red-capable command, no Phase 2.
|
|
75
|
+
|
|
76
|
+
## Phase 2 — Reproduce + minimise
|
|
77
|
+
|
|
78
|
+
Run the loop. Watch it go red — the bug appears.
|
|
79
|
+
|
|
80
|
+
Confirm:
|
|
81
|
+
|
|
82
|
+
- [ ] The loop produces the failure mode the **user** described — not a different failure that happens to be nearby. Wrong bug = wrong fix.
|
|
83
|
+
- [ ] The failure is reproducible across multiple runs (or, for non-deterministic bugs, reproducible at a high enough rate to debug against).
|
|
84
|
+
- [ ] You have captured the exact symptom (error message, wrong output, slow timing) so later phases can verify the fix actually addresses it.
|
|
85
|
+
|
|
86
|
+
### Minimise
|
|
87
|
+
|
|
88
|
+
Once it's red, shrink the repro to the **smallest scenario that still goes red**. Cut inputs, callers, config, data, and steps **one at a time**, re-running the loop after each cut — keep only what's load-bearing for the failure.
|
|
89
|
+
|
|
90
|
+
Why bother: a minimal repro shrinks the hypothesis space in Phase 3 (fewer moving parts left to suspect) and becomes the clean regression test in Phase 5.
|
|
91
|
+
|
|
92
|
+
Done when **every remaining element is load-bearing** — removing any one of them makes the loop go green.
|
|
93
|
+
|
|
94
|
+
Do not proceed until you have reproduced **and** minimised.
|
|
95
|
+
|
|
96
|
+
## Phase 3 — Hypothesise
|
|
97
|
+
|
|
98
|
+
Generate **3–5 ranked hypotheses** before testing any of them. Single-hypothesis generation anchors on the first plausible idea.
|
|
99
|
+
|
|
100
|
+
Each hypothesis must be **falsifiable**: state the prediction it makes.
|
|
101
|
+
|
|
102
|
+
> Format: "If <X> is the cause, then <changing Y> will make the bug disappear / <changing Z> will make it worse."
|
|
103
|
+
|
|
104
|
+
If you cannot state the prediction, the hypothesis is a vibe — discard or sharpen it.
|
|
105
|
+
|
|
106
|
+
**Show the ranked list to the user before testing.** They often have domain knowledge that re-ranks instantly ("we just deployed a change to #3"), or know hypotheses they've already ruled out. Cheap checkpoint, big time saver. Don't block on it — proceed with your ranking if the user is AFK.
|
|
107
|
+
|
|
108
|
+
## Phase 4 — Instrument
|
|
109
|
+
|
|
110
|
+
Each probe must map to a specific prediction from Phase 3. **Change one variable at a time.**
|
|
111
|
+
|
|
112
|
+
Tool preference:
|
|
113
|
+
|
|
114
|
+
1. **Debugger / REPL inspection** if the env supports it. One breakpoint beats ten logs.
|
|
115
|
+
2. **Targeted logs** at the boundaries that distinguish hypotheses.
|
|
116
|
+
3. Never "log everything and grep".
|
|
117
|
+
|
|
118
|
+
**Tag every debug log** with a unique prefix, e.g. `[DEBUG-a4f2]`. Cleanup at the end becomes a single grep. Untagged logs survive; tagged logs die.
|
|
119
|
+
|
|
120
|
+
**Perf branch.** For performance regressions, logs are usually wrong. Instead: establish a baseline measurement (timing harness, `performance.now()`, profiler, query plan), then bisect. Measure first, fix second.
|
|
121
|
+
|
|
122
|
+
## Phase 5 — Fix + regression test
|
|
123
|
+
|
|
124
|
+
Write the regression test **before the fix** — but only if there is a **correct seam** for it.
|
|
125
|
+
|
|
126
|
+
A correct seam is one where the test exercises the **real bug pattern** as it occurs at the call site. If the only available seam is too shallow (single-caller test when the bug needs multiple callers, unit test that can't replicate the chain that triggered the bug), a regression test there gives false confidence.
|
|
127
|
+
|
|
128
|
+
**If no correct seam exists, that itself is the finding.** Note it. The codebase architecture is preventing the bug from being locked down. Flag this for the next phase.
|
|
129
|
+
|
|
130
|
+
If a correct seam exists:
|
|
131
|
+
|
|
132
|
+
1. Turn the minimised repro into a failing test at that seam.
|
|
133
|
+
2. Watch it fail.
|
|
134
|
+
3. Apply the fix.
|
|
135
|
+
4. Watch it pass.
|
|
136
|
+
5. Re-run the Phase 1 feedback loop against the original (un-minimised) scenario.
|
|
137
|
+
|
|
138
|
+
## Phase 6 — Cleanup + post-mortem
|
|
139
|
+
|
|
140
|
+
Required before declaring done:
|
|
141
|
+
|
|
142
|
+
- [ ] Original repro no longer reproduces (re-run the Phase 1 loop)
|
|
143
|
+
- [ ] Regression test passes (or absence of seam is documented)
|
|
144
|
+
- [ ] All `[DEBUG-...]` instrumentation removed (`grep` the prefix)
|
|
145
|
+
- [ ] Throwaway prototypes deleted (or moved to a clearly-marked debug location)
|
|
146
|
+
- [ ] The hypothesis that turned out correct is stated in the commit / PR message — so the next debugger learns
|
|
147
|
+
|
|
148
|
+
**Then ask: what would have prevented this bug?** If the answer involves architectural change (no good test seam, tangled callers, hidden coupling) hand off to the `/improve-codebase-architecture` skill with the specifics. Make the recommendation **after** the fix is in, not before — you have more information now than when you started.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Desktop DOM and CSS Diagnosis
|
|
2
|
+
|
|
3
|
+
Adapted from Hermes inspecting-hermes-desktop-dom; this is a supporting method,
|
|
4
|
+
not an independent Hermes launch protocol.
|
|
5
|
+
|
|
6
|
+
## Target and permissions
|
|
7
|
+
|
|
8
|
+
Inspect the repository's actual Electron harness and startup configuration.
|
|
9
|
+
Prismer uses apps/desktop with a prebuilt Vite WorkspaceShell. A web HMR update
|
|
10
|
+
does not establish that the desktop renderer was rebuilt. Confirm the running
|
|
11
|
+
build, PID, renderer URL and user-data directory before diagnosing stale UI.
|
|
12
|
+
Do not assume Hermes dev-cdp.ts, eval.mjs, cdp.mjs, HERMES_DESKTOP_* or port 9222
|
|
13
|
+
exist in Prismer. These helpers are not bundled here.
|
|
14
|
+
|
|
15
|
+
Use the browser/CDP tool already exposed by the host, or an installed Playwright
|
|
16
|
+
client connected to a user-authorized loopback CDP endpoint. List /json/version
|
|
17
|
+
and /json/list for that exact port; match the renderer URL/title and PID. A port
|
|
18
|
+
list is not permission to inspect another window. Never bind CDP publicly.
|
|
19
|
+
If no endpoint is available, use the project's real harness in a new isolated
|
|
20
|
+
instance with its own task-owned user-data directory and ports. Do not restart,
|
|
21
|
+
kill or relaunch the user's app. Report blocked if an isolated harness is absent.
|
|
22
|
+
|
|
23
|
+
## Read the rendered state
|
|
24
|
+
|
|
25
|
+
First inspect a screenshot at the target viewport. Then query a narrow selector
|
|
26
|
+
from actual DOM evidence. With an existing Playwright Page named page:
|
|
27
|
+
|
|
28
|
+
```javascript
|
|
29
|
+
const facts = await page.locator(selector).evaluate(el => ({
|
|
30
|
+
tag: el.tagName,
|
|
31
|
+
classes: el.className,
|
|
32
|
+
rect: el.getBoundingClientRect().toJSON(),
|
|
33
|
+
display: getComputedStyle(el).display,
|
|
34
|
+
padding: getComputedStyle(el).padding,
|
|
35
|
+
fontWeight: getComputedStyle(el).fontWeight,
|
|
36
|
+
parents: (() => {
|
|
37
|
+
const rows = [];
|
|
38
|
+
let node = el.parentElement;
|
|
39
|
+
while (node && rows.length < 6) {
|
|
40
|
+
rows.push({tag: node.tagName, classes: node.className});
|
|
41
|
+
node = node.parentElement;
|
|
42
|
+
}
|
|
43
|
+
return rows;
|
|
44
|
+
})()
|
|
45
|
+
}));
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Use the matching rule inspector for stylesheet origin/specificity. Inheritance,
|
|
49
|
+
plugin styles and state selectors can override local utility classes; do not
|
|
50
|
+
edit every call site before identifying the winning rule. Re-read computed style,
|
|
51
|
+
geometry and screenshot after the change. Check mobile/desktop dimensions,
|
|
52
|
+
keyboard focus, console and network failures. DOM facts do not replace visual QA.
|
|
53
|
+
|
|
54
|
+
## Evidence and cleanup
|
|
55
|
+
|
|
56
|
+
Record target identity, build, viewport, selector, expected/actual properties,
|
|
57
|
+
the winning rule, screenshot and console errors. Avoid entire DOM dumps or
|
|
58
|
+
session content containing secrets. A DevTools marker alone is not a paused
|
|
59
|
+
exception: collect the stack and source map for runtime faults.
|
|
60
|
+
|
|
61
|
+
Poll readiness with a bounded timeout. End only the test processes you started,
|
|
62
|
+
detach without leaving the target paused, and preserve task-bound evidence.
|
|
63
|
+
Never infer a broken port from an isolated app exiting due to missing backend
|
|
64
|
+
configuration. No actual Electron/CDP live acceptance is implied by this guide.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Nous Research
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Resource provenance
|
|
2
|
+
|
|
3
|
+
## Engineering adaptation (2026-09-23)
|
|
4
|
+
|
|
5
|
+
Source: https://github.com/NousResearch/hermes-agent/tree/1a1f4a59e252e1dc0137e7b2e7bcc8b0381d19c4/skills/software-development/inspecting-hermes-desktop-dom
|
|
6
|
+
|
|
7
|
+
Upstream authors: Hermes Agent.
|
|
8
|
+
Hermes MIT copyright (c) 2025 Nous Research is preserved in LICENSE.
|
|
9
|
+
All bundled references/templates/scripts remain covered by that notice unless
|
|
10
|
+
an additional license is explicitly supplied. External CLI binaries, services,
|
|
11
|
+
accounts and downloaded assets are not redistributed by this skill and retain
|
|
12
|
+
their own terms. No API keys or third-party runtime packages are bundled.
|
|
13
|
+
|
|
14
|
+
Prismer modifications: unique discovery/ownership mapping where applicable,
|
|
15
|
+
resource-path and authorization corrections, bounded helpers, honest readiness
|
|
16
|
+
and verification states. See docs/bugfix223/implementation-engineering.md in the
|
|
17
|
+
source repository for resource mapping, tests and remaining live acceptance.
|
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: systematic-debugging
|
|
3
|
+
description: "4-phase root cause debugging: understand bugs before fixing."
|
|
4
|
+
version: 1.1.0
|
|
5
|
+
author: Hermes Agent (adapted from obra/superpowers)
|
|
6
|
+
license: MIT
|
|
7
|
+
platforms: [linux, macos, windows]
|
|
8
|
+
metadata:
|
|
9
|
+
hermes:
|
|
10
|
+
tags: [debugging, troubleshooting, problem-solving, root-cause, investigation]
|
|
11
|
+
related_skills: [test-driven-development, subagent-driven-development]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Systematic Debugging
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
|
|
18
|
+
Random fixes waste time and create new bugs. Quick patches mask underlying issues.
|
|
19
|
+
|
|
20
|
+
**Core principle:** ALWAYS find root cause before attempting fixes. Symptom fixes are failure.
|
|
21
|
+
|
|
22
|
+
**Violating the letter of this process is violating the spirit of debugging.**
|
|
23
|
+
|
|
24
|
+
## The Iron Law
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If you haven't completed Phase 1, you cannot propose fixes.
|
|
31
|
+
|
|
32
|
+
## The Feedback Loop Rule
|
|
33
|
+
|
|
34
|
+
The feedback loop is the debugging work. Before reading code to build a theory, create or identify a **tight** command that can go red on the user's exact symptom and green when the bug is fixed. A tight loop is fast, deterministic, agent-runnable, and specific enough to catch this bug — not merely "doesn't crash".
|
|
35
|
+
|
|
36
|
+
When a clean repro is hard, spend disproportionate effort building the loop. Guessing without a red-capable loop is the failure mode this skill exists to prevent.
|
|
37
|
+
|
|
38
|
+
## When to Use
|
|
39
|
+
|
|
40
|
+
Use for ANY technical issue:
|
|
41
|
+
- Test failures
|
|
42
|
+
- Bugs in production
|
|
43
|
+
- Unexpected behavior
|
|
44
|
+
- Performance problems
|
|
45
|
+
- Build failures
|
|
46
|
+
- Integration issues
|
|
47
|
+
|
|
48
|
+
**Use this ESPECIALLY when:**
|
|
49
|
+
- Under time pressure (emergencies make guessing tempting)
|
|
50
|
+
- "Just one quick fix" seems obvious
|
|
51
|
+
- You've already tried multiple fixes
|
|
52
|
+
- Previous fix didn't work
|
|
53
|
+
- You don't fully understand the issue
|
|
54
|
+
|
|
55
|
+
**Don't skip when:**
|
|
56
|
+
- Issue seems simple (simple bugs have root causes too)
|
|
57
|
+
- You're in a hurry (rushing guarantees rework)
|
|
58
|
+
- Someone wants it fixed NOW (systematic is faster than thrashing)
|
|
59
|
+
|
|
60
|
+
## The Four Phases
|
|
61
|
+
|
|
62
|
+
You MUST complete each phase before proceeding to the next.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Phase 1: Root Cause Investigation
|
|
67
|
+
|
|
68
|
+
**BEFORE attempting ANY fix:**
|
|
69
|
+
|
|
70
|
+
### 1. Read Error Messages Carefully
|
|
71
|
+
|
|
72
|
+
- Don't skip past errors or warnings
|
|
73
|
+
- They often contain the exact solution
|
|
74
|
+
- Read stack traces completely
|
|
75
|
+
- Note line numbers, file paths, error codes
|
|
76
|
+
|
|
77
|
+
**Action:** Use `read_file` on the relevant source files. Use `search_files` to find the error string in the codebase.
|
|
78
|
+
|
|
79
|
+
### 2. Build a Tight Feedback Loop
|
|
80
|
+
|
|
81
|
+
- Can you trigger the user's exact symptom with one command?
|
|
82
|
+
- Does the command fail for this bug and only pass once the bug is fixed?
|
|
83
|
+
- Is it fast enough to run repeatedly?
|
|
84
|
+
- Is it deterministic? For flaky bugs, can you raise the reproduction rate high enough to debug?
|
|
85
|
+
- If not reproducible → gather more data, don't guess.
|
|
86
|
+
|
|
87
|
+
**Ways to construct a loop — try in roughly this order:**
|
|
88
|
+
|
|
89
|
+
1. **Failing test** at the seam that reaches the bug: unit, integration, or end-to-end.
|
|
90
|
+
2. **HTTP script / curl** against a running dev server.
|
|
91
|
+
3. **CLI invocation** with fixture input, diffing stdout/stderr against expected output.
|
|
92
|
+
4. **Headless browser script** (Playwright/Puppeteer) asserting on DOM, console, or network.
|
|
93
|
+
5. **Replay a captured trace**: HAR, request payload, event log, queue message, or webhook body.
|
|
94
|
+
6. **Throwaway harness** that boots the smallest useful slice of the system and calls the failing path.
|
|
95
|
+
7. **Property / fuzz loop** when the bug is intermittent wrong output over a broad input space.
|
|
96
|
+
8. **Bisection harness** suitable for `git bisect run` when the bug appeared between two known states.
|
|
97
|
+
9. **Differential loop** comparing old vs new version, two configs, two providers, or two datasets.
|
|
98
|
+
10. **Human-in-the-loop script** only as a last resort: script the human steps and capture their result so the loop stays structured.
|
|
99
|
+
|
|
100
|
+
**Tighten the loop once it exists:**
|
|
101
|
+
|
|
102
|
+
- Make it faster: cache setup, narrow scope, skip unrelated initialization.
|
|
103
|
+
- Make the signal sharper: assert the exact symptom, not generic success.
|
|
104
|
+
- Make it more deterministic: pin time, seed randomness, isolate filesystem, freeze network.
|
|
105
|
+
|
|
106
|
+
For non-deterministic bugs, the immediate goal is a higher reproduction rate, not perfection. Run the trigger 100x, parallelize, add stress, narrow timing windows, or inject sleeps. A 50% flake is debuggable; a 1% flake usually is not.
|
|
107
|
+
|
|
108
|
+
**Action:** Use the `terminal` tool to run the tight loop:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Run a specific failing test
|
|
112
|
+
pytest tests/test_module.py::test_name -v
|
|
113
|
+
|
|
114
|
+
# Or run a scripted repro
|
|
115
|
+
python scripts/repro_bug.py
|
|
116
|
+
|
|
117
|
+
# Or run a high-repetition flaky repro
|
|
118
|
+
for i in {1..100}; do pytest tests/test_flake.py::test_name -q || break; done
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 3. Check Recent Changes
|
|
122
|
+
|
|
123
|
+
- What changed that could cause this?
|
|
124
|
+
- Git diff, recent commits
|
|
125
|
+
- New dependencies, config changes
|
|
126
|
+
|
|
127
|
+
**Action:**
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Recent commits
|
|
131
|
+
git log --oneline -10
|
|
132
|
+
|
|
133
|
+
# Uncommitted changes
|
|
134
|
+
git diff
|
|
135
|
+
|
|
136
|
+
# Changes in specific file
|
|
137
|
+
git log -p --follow src/problematic_file.py | head -100
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 4. Gather Evidence in Multi-Component Systems
|
|
141
|
+
|
|
142
|
+
**WHEN system has multiple components (API → service → database, CI → build → deploy):**
|
|
143
|
+
|
|
144
|
+
**BEFORE proposing fixes, add diagnostic instrumentation:**
|
|
145
|
+
|
|
146
|
+
For EACH component boundary:
|
|
147
|
+
- Log what data enters the component
|
|
148
|
+
- Log what data exits the component
|
|
149
|
+
- Verify environment/config propagation
|
|
150
|
+
- Check state at each layer
|
|
151
|
+
|
|
152
|
+
Run once to gather evidence showing WHERE it breaks.
|
|
153
|
+
THEN analyze evidence to identify the failing component.
|
|
154
|
+
THEN investigate that specific component.
|
|
155
|
+
|
|
156
|
+
### 5. Trace Data Flow
|
|
157
|
+
|
|
158
|
+
**WHEN error is deep in the call stack:**
|
|
159
|
+
|
|
160
|
+
- Where does the bad value originate?
|
|
161
|
+
- What called this function with the bad value?
|
|
162
|
+
- Keep tracing upstream until you find the source
|
|
163
|
+
- Fix at the source, not at the symptom
|
|
164
|
+
|
|
165
|
+
**Action:** Use `search_files` to trace references:
|
|
166
|
+
|
|
167
|
+
```python
|
|
168
|
+
# Find where the function is called
|
|
169
|
+
search_files("function_name(", path="src/", file_glob="*.py")
|
|
170
|
+
|
|
171
|
+
# Find where the variable is set
|
|
172
|
+
search_files("variable_name\\s*=", path="src/", file_glob="*.py")
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Phase 1 Completion Checklist
|
|
176
|
+
|
|
177
|
+
- [ ] Error messages fully read and understood
|
|
178
|
+
- [ ] A tight loop command exists and has been run at least once
|
|
179
|
+
- [ ] Loop is red-capable: it asserts the user's exact symptom, not a nearby failure
|
|
180
|
+
- [ ] Loop is deterministic, or a flaky bug has a high enough reproduction rate to debug
|
|
181
|
+
- [ ] Recent changes identified and reviewed
|
|
182
|
+
- [ ] Evidence gathered (logs, state, data flow)
|
|
183
|
+
- [ ] Problem isolated to specific component/code
|
|
184
|
+
- [ ] Root cause hypotheses can be stated and tested
|
|
185
|
+
|
|
186
|
+
**STOP:** Do not proceed to Phase 2 until you understand WHY it's happening.
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Phase 2: Pattern Analysis
|
|
191
|
+
|
|
192
|
+
**Find the pattern before fixing:**
|
|
193
|
+
|
|
194
|
+
### 0. Minimize the Reproduction
|
|
195
|
+
|
|
196
|
+
Once the loop is red, shrink the repro to the smallest scenario that still goes red. Cut inputs, callers, config, data, and steps **one at a time**, re-running the loop after each cut. Keep only what is load-bearing for the failure.
|
|
197
|
+
|
|
198
|
+
Done when removing any remaining element makes the loop go green. A minimal repro narrows the hypothesis space and often becomes the cleanest regression test.
|
|
199
|
+
|
|
200
|
+
### 1. Find Working Examples
|
|
201
|
+
|
|
202
|
+
- Locate similar working code in the same codebase
|
|
203
|
+
- What works that's similar to what's broken?
|
|
204
|
+
|
|
205
|
+
**Action:** Use `search_files` to find comparable patterns:
|
|
206
|
+
|
|
207
|
+
```python
|
|
208
|
+
search_files("similar_pattern", path="src/", file_glob="*.py")
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### 2. Compare Against References
|
|
212
|
+
|
|
213
|
+
- If implementing a pattern, read the reference implementation COMPLETELY
|
|
214
|
+
- Don't skim — read every line
|
|
215
|
+
- Understand the pattern fully before applying
|
|
216
|
+
|
|
217
|
+
### 3. Identify Differences
|
|
218
|
+
|
|
219
|
+
- What's different between working and broken?
|
|
220
|
+
- List every difference, however small
|
|
221
|
+
- Don't assume "that can't matter"
|
|
222
|
+
|
|
223
|
+
### 4. Understand Dependencies
|
|
224
|
+
|
|
225
|
+
- What other components does this need?
|
|
226
|
+
- What settings, config, environment?
|
|
227
|
+
- What assumptions does it make?
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Phase 3: Hypothesis and Testing
|
|
232
|
+
|
|
233
|
+
**Scientific method:**
|
|
234
|
+
|
|
235
|
+
### 1. Form Ranked Falsifiable Hypotheses
|
|
236
|
+
|
|
237
|
+
- Generate 3–5 plausible hypotheses before testing any single one.
|
|
238
|
+
- Rank them by likelihood and cheapness to falsify.
|
|
239
|
+
- State the prediction each hypothesis makes: "If X is the cause, then changing or observing Y should make Z happen."
|
|
240
|
+
- Discard or sharpen any hypothesis that does not make a testable prediction.
|
|
241
|
+
|
|
242
|
+
If the user is present, show the ranked list before testing. They may have domain knowledge that instantly re-ranks it. If the user is AFK, proceed with your ranking.
|
|
243
|
+
|
|
244
|
+
### 2. Test Minimally
|
|
245
|
+
|
|
246
|
+
- Test the highest-ranked hypothesis with the smallest possible probe.
|
|
247
|
+
- Change one variable at a time.
|
|
248
|
+
- Don't fix multiple things at once.
|
|
249
|
+
- Prefer debugger/REPL inspection when available; one breakpoint beats ten logs.
|
|
250
|
+
- If you add logs, tag every temporary line with a unique prefix such as `[DEBUG-a4f2]` so cleanup is a single search.
|
|
251
|
+
|
|
252
|
+
### 3. Verify Before Continuing
|
|
253
|
+
|
|
254
|
+
- Did it work? → Phase 4
|
|
255
|
+
- Didn't work? → Form NEW hypothesis
|
|
256
|
+
- DON'T add more fixes on top
|
|
257
|
+
|
|
258
|
+
### 4. When You Don't Know
|
|
259
|
+
|
|
260
|
+
- Say "I don't understand X"
|
|
261
|
+
- Don't pretend to know
|
|
262
|
+
- Ask the user for help
|
|
263
|
+
- Research more
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Phase 4: Implementation
|
|
268
|
+
|
|
269
|
+
**Fix the root cause, not the symptom:**
|
|
270
|
+
|
|
271
|
+
### 1. Create Failing Test Case
|
|
272
|
+
|
|
273
|
+
- Simplest possible reproduction
|
|
274
|
+
- Automated test if possible
|
|
275
|
+
- MUST have before fixing
|
|
276
|
+
- Use the `test-driven-development` skill
|
|
277
|
+
|
|
278
|
+
### 2. Implement Single Fix
|
|
279
|
+
|
|
280
|
+
- Address the root cause identified
|
|
281
|
+
- ONE change at a time
|
|
282
|
+
- No "while I'm here" improvements
|
|
283
|
+
- No bundled refactoring
|
|
284
|
+
|
|
285
|
+
### 3. Verify Fix
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
# Run the specific regression test
|
|
289
|
+
pytest tests/test_module.py::test_regression -v
|
|
290
|
+
|
|
291
|
+
# Run full suite — no regressions
|
|
292
|
+
pytest tests/ -q
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### 4. If Fix Doesn't Work — The Rule of Three
|
|
296
|
+
|
|
297
|
+
- **STOP.**
|
|
298
|
+
- Count: How many fixes have you tried?
|
|
299
|
+
- If < 3: Return to Phase 1, re-analyze with new information
|
|
300
|
+
- **If ≥ 3: STOP and question the architecture (step 5 below)**
|
|
301
|
+
- DON'T attempt Fix #4 without architectural discussion
|
|
302
|
+
|
|
303
|
+
### 5. If 3+ Fixes Failed: Question Architecture
|
|
304
|
+
|
|
305
|
+
**Pattern indicating an architectural problem:**
|
|
306
|
+
- Each fix reveals new shared state/coupling in a different place
|
|
307
|
+
- Fixes require "massive refactoring" to implement
|
|
308
|
+
- Each fix creates new symptoms elsewhere
|
|
309
|
+
|
|
310
|
+
**STOP and question fundamentals:**
|
|
311
|
+
- Is this pattern fundamentally sound?
|
|
312
|
+
- Are we "sticking with it through sheer inertia"?
|
|
313
|
+
- Should we refactor the architecture vs. continue fixing symptoms?
|
|
314
|
+
|
|
315
|
+
**Discuss with the user before attempting more fixes.**
|
|
316
|
+
|
|
317
|
+
This is NOT a failed hypothesis — this is a wrong architecture.
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## Red Flags — STOP and Follow Process
|
|
322
|
+
|
|
323
|
+
If you catch yourself thinking:
|
|
324
|
+
- "Quick fix for now, investigate later"
|
|
325
|
+
- "Just try changing X and see if it works"
|
|
326
|
+
- "Add multiple changes, run tests"
|
|
327
|
+
- "Skip the test, I'll manually verify"
|
|
328
|
+
- "It's probably X, let me fix that"
|
|
329
|
+
- "I don't fully understand but this might work"
|
|
330
|
+
- "Pattern says X but I'll adapt it differently"
|
|
331
|
+
- "Here are the main problems: [lists fixes without investigation]"
|
|
332
|
+
- Proposing solutions before tracing data flow
|
|
333
|
+
- **"One more fix attempt" (when already tried 2+)**
|
|
334
|
+
- **Each fix reveals a new problem in a different place**
|
|
335
|
+
|
|
336
|
+
**ALL of these mean: STOP. Return to Phase 1.**
|
|
337
|
+
|
|
338
|
+
**If 3+ fixes failed:** Question the architecture (Phase 4 step 5).
|
|
339
|
+
|
|
340
|
+
## Common Rationalizations
|
|
341
|
+
|
|
342
|
+
| Excuse | Reality |
|
|
343
|
+
|--------|---------|
|
|
344
|
+
| "Issue is simple, don't need process" | Simple issues have root causes too. Process is fast for simple bugs. |
|
|
345
|
+
| "Emergency, no time for process" | Systematic debugging is FASTER than guess-and-check thrashing. |
|
|
346
|
+
| "Just try this first, then investigate" | First fix sets the pattern. Do it right from the start. |
|
|
347
|
+
| "I'll write test after confirming fix works" | Untested fixes don't stick. Test first proves it. |
|
|
348
|
+
| "Multiple fixes at once saves time" | Can't isolate what worked. Causes new bugs. |
|
|
349
|
+
| "Reference too long, I'll adapt the pattern" | Partial understanding guarantees bugs. Read it completely. |
|
|
350
|
+
| "I see the problem, let me fix it" | Seeing symptoms ≠ understanding root cause. |
|
|
351
|
+
| "One more fix attempt" (after 2+ failures) | 3+ failures = architectural problem. Question the pattern, don't fix again. |
|
|
352
|
+
|
|
353
|
+
## Quick Reference
|
|
354
|
+
|
|
355
|
+
| Phase | Key Activities | Success Criteria |
|
|
356
|
+
|-------|---------------|------------------|
|
|
357
|
+
| **1. Root Cause** | Read errors, reproduce, check changes, gather evidence, trace data flow | Understand WHAT and WHY |
|
|
358
|
+
| **2. Pattern** | Find working examples, compare, identify differences | Know what's different |
|
|
359
|
+
| **3. Hypothesis** | Form theory, test minimally, one variable at a time | Confirmed or new hypothesis |
|
|
360
|
+
| **4. Implementation** | Create regression test, fix root cause, verify | Bug resolved, all tests pass |
|
|
361
|
+
|
|
362
|
+
## Hermes Agent Integration
|
|
363
|
+
|
|
364
|
+
### Investigation Tools
|
|
365
|
+
|
|
366
|
+
Use these Hermes tools during Phase 1:
|
|
367
|
+
|
|
368
|
+
- **`search_files`** — Find error strings, trace function calls, locate patterns
|
|
369
|
+
- **`read_file`** — Read source code with line numbers for precise analysis
|
|
370
|
+
- **`terminal`** — Run tests, check git history, reproduce bugs
|
|
371
|
+
- **`web_search`/`web_extract`** — Research error messages, library docs
|
|
372
|
+
|
|
373
|
+
### With delegate_task
|
|
374
|
+
|
|
375
|
+
For complex multi-component debugging, dispatch investigation subagents:
|
|
376
|
+
|
|
377
|
+
```python
|
|
378
|
+
delegate_task(
|
|
379
|
+
goal="Investigate why [specific test/behavior] fails",
|
|
380
|
+
context="""
|
|
381
|
+
Follow systematic-debugging skill:
|
|
382
|
+
1. Read the error message carefully
|
|
383
|
+
2. Reproduce the issue
|
|
384
|
+
3. Trace the data flow to find root cause
|
|
385
|
+
4. Report findings — do NOT fix yet
|
|
386
|
+
|
|
387
|
+
Error: [paste full error]
|
|
388
|
+
File: [path to failing code]
|
|
389
|
+
Test command: [exact command]
|
|
390
|
+
""",
|
|
391
|
+
toolsets=['terminal', 'file']
|
|
392
|
+
)
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### With test-driven-development
|
|
396
|
+
|
|
397
|
+
When fixing bugs:
|
|
398
|
+
1. Write a test that reproduces the bug (RED)
|
|
399
|
+
2. Debug systematically to find root cause
|
|
400
|
+
3. Fix the root cause (GREEN)
|
|
401
|
+
4. The test proves the fix and prevents regression
|
|
402
|
+
|
|
403
|
+
## Evidence and sensitive data
|
|
404
|
+
|
|
405
|
+
Record only the smallest inputs/outputs needed to test the hypothesis. Redact
|
|
406
|
+
tokens, tenant identifiers, PII and configuration secrets before logging or
|
|
407
|
+
sharing. Never dump complete environment/Nacos/session state. Use the project's
|
|
408
|
+
actual test runner and source map, not a Hermes-specific wrapper by assumption.
|
|
409
|
+
Report measured reproduction and repair results; there is no validated universal
|
|
410
|
+
time saving or first-time-fix percentage attached to this method.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Nous Research
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|