@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,81 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Bounded Tenor search/download; credential stays out of command arguments."""
|
|
3
|
+
import argparse
|
|
4
|
+
import json
|
|
5
|
+
import os
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
import struct
|
|
8
|
+
import sys
|
|
9
|
+
from urllib.parse import urlencode, urlparse
|
|
10
|
+
from urllib.request import Request, build_opener, HTTPRedirectHandler
|
|
11
|
+
|
|
12
|
+
MAX_GIF = 20 * 1024 * 1024
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def validate_media_url(url):
|
|
16
|
+
parsed = urlparse(url)
|
|
17
|
+
if parsed.scheme != 'https' or parsed.hostname not in ('media.tenor.com', 'c.tenor.com') or parsed.username or parsed.password or parsed.port not in (None, 443):
|
|
18
|
+
raise ValueError('Untrusted media URL')
|
|
19
|
+
return url
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def validate_gif(data):
|
|
23
|
+
if len(data) < 14 or data[:6] not in (b'GIF87a', b'GIF89a') or data[-1:] != b';':
|
|
24
|
+
raise ValueError('Invalid GIF payload')
|
|
25
|
+
width, height = struct.unpack('<HH', data[6:10])
|
|
26
|
+
if not width or not height or width * height > 40_000_000:
|
|
27
|
+
raise ValueError('GIF dimensions exceed limit')
|
|
28
|
+
return data
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class NoRedirect(HTTPRedirectHandler):
|
|
32
|
+
def redirect_request(self, req, fp, code, msg, headers, newurl):
|
|
33
|
+
raise ValueError('Redirects are not accepted')
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def fetch(url, limit, mime):
|
|
37
|
+
# Do not include exception URLs in errors: search URLs contain the API key.
|
|
38
|
+
try:
|
|
39
|
+
with build_opener(NoRedirect()).open(Request(url, headers={'Accept': mime}), timeout=20) as response:
|
|
40
|
+
if response.status != 200 or response.headers.get_content_type() != mime:
|
|
41
|
+
raise ValueError('Unexpected HTTP response or MIME')
|
|
42
|
+
payload = response.read(limit + 1)
|
|
43
|
+
if len(payload) > limit:
|
|
44
|
+
raise ValueError('Response exceeds size limit')
|
|
45
|
+
return payload
|
|
46
|
+
except Exception:
|
|
47
|
+
raise ValueError('Tenor request failed (HTTP, MIME, timeout or size limit); credential redacted') from None
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def search(query, limit=5):
|
|
51
|
+
key = os.environ.get('TENOR_API_KEY')
|
|
52
|
+
if not key:
|
|
53
|
+
raise ValueError('TENOR_API_KEY is required')
|
|
54
|
+
if not query.strip() or len(query) > 1000 or not 1 <= limit <= 50:
|
|
55
|
+
raise ValueError('Invalid query or limit')
|
|
56
|
+
params = urlencode({'q': query, 'limit': limit, 'key': key, 'media_filter': 'gif,tinygif', 'contentfilter': 'high'})
|
|
57
|
+
data = json.loads(fetch('https://tenor.googleapis.com/v2/search?' + params, 2 * 1024 * 1024, 'application/json'))
|
|
58
|
+
if not isinstance(data, dict) or not isinstance(data.get('results'), list):
|
|
59
|
+
raise ValueError('Malformed Tenor result')
|
|
60
|
+
return data['results']
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
if __name__ == '__main__':
|
|
64
|
+
parser = argparse.ArgumentParser(description=__doc__)
|
|
65
|
+
parser.add_argument('query')
|
|
66
|
+
parser.add_argument('--limit', type=int, default=5)
|
|
67
|
+
parser.add_argument('--output', help='Download first GIF to a new task-owned file')
|
|
68
|
+
args = parser.parse_args()
|
|
69
|
+
try:
|
|
70
|
+
results = search(args.query, args.limit)
|
|
71
|
+
if args.output:
|
|
72
|
+
if not results:
|
|
73
|
+
raise ValueError('No results; no file written')
|
|
74
|
+
url = validate_media_url(results[0]['media_formats']['gif']['url'])
|
|
75
|
+
payload = validate_gif(fetch(url, MAX_GIF, 'image/gif'))
|
|
76
|
+
with Path(args.output).open('xb') as target:
|
|
77
|
+
target.write(payload)
|
|
78
|
+
print(json.dumps(results, ensure_ascii=False))
|
|
79
|
+
except Exception:
|
|
80
|
+
print('GIF search/download failed; check configuration, response and new output path. No credentials logged.', file=sys.stderr)
|
|
81
|
+
sys.exit(1)
|
|
@@ -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/github
|
|
6
|
+
|
|
7
|
+
Upstream authors: Ben Barclay (benbarclay), 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,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: prismer-github
|
|
3
|
+
scope: coding
|
|
4
|
+
description: "GitHub via gh CLI: PRs, issues, reviews, repos, auth."
|
|
5
|
+
version: 2.0.0
|
|
6
|
+
author: Ben Barclay (benbarclay), Hermes Agent
|
|
7
|
+
license: MIT
|
|
8
|
+
platforms: [ linux, macos, windows ]
|
|
9
|
+
metadata:
|
|
10
|
+
nativeReplaces: [ github ]
|
|
11
|
+
hermes:
|
|
12
|
+
tags: [ github, gh, git, pull-requests, issues, code-review, repos, auth, ci ]
|
|
13
|
+
category: software-development
|
|
14
|
+
related_skills: [ codebase-inspection, requesting-code-review ]
|
|
15
|
+
requiresExplicitGrant: true
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Prismer execution contract
|
|
19
|
+
|
|
20
|
+
This is the uniquely named `prismer-github` skill, adapted from Hermes.
|
|
21
|
+
Use the actual tools exposed by the executing host; examples using terminal,
|
|
22
|
+
process, delegate_task, vision_analyze or browser_* are not tool registrations.
|
|
23
|
+
Missing dependencies do not hide this skill. Report command startup, version,
|
|
24
|
+
account/permissions and task-specific live verification separately. Use task-owned
|
|
25
|
+
artifact paths and existing user authorization; do not change shared accounts,
|
|
26
|
+
Runtime/provider configuration, global security settings or unrelated work.
|
|
27
|
+
See NOTICE.md and LICENSE for resource provenance. Runtime availability and
|
|
28
|
+
upstream-entry suppression are owned by the integration layer.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# GitHub
|
|
32
|
+
|
|
33
|
+
Work GitHub end to end with the `gh` CLI (REST fallback where noted): auth,
|
|
34
|
+
issues, the PR lifecycle, issue-to-PR delivery, code review, and repo
|
|
35
|
+
management. This skill consolidates six former skills; each workflow lives
|
|
36
|
+
complete in its reference file — ALWAYS read the matching reference before
|
|
37
|
+
starting that workflow, the body below only routes.
|
|
38
|
+
|
|
39
|
+
## Routing
|
|
40
|
+
|
|
41
|
+
| Task | Read first |
|
|
42
|
+
|---|---|
|
|
43
|
+
| Auth broken / new machine / token or SSH setup / gh login | `references/auth.md` |
|
|
44
|
+
| Create, triage, label, assign, close issues | `references/issues.md` |
|
|
45
|
+
| Branch, commit, open PR, watch CI, merge | `references/pr-workflow.md` |
|
|
46
|
+
| Carry an ISSUE to a verified PR (full delivery loop) | `references/issue-to-pr.md` |
|
|
47
|
+
| Review someone's PR: diffs, inline comments, verdict | `references/code-review.md` |
|
|
48
|
+
| Clone/create/fork repos, remotes, releases | `references/repo-management.md` |
|
|
49
|
+
|
|
50
|
+
Supporting assets: `scripts/gh-env.sh` + `scripts/git-credential-token.py`
|
|
51
|
+
(auth helpers), `templates/` (PR bodies, bug report, feature request),
|
|
52
|
+
`references/ci-troubleshooting.md`, `references/conventional-commits.md`,
|
|
53
|
+
`references/github-api-cheatsheet.md`, `references/review-output-template.md`.
|
|
54
|
+
|
|
55
|
+
## Core discipline (applies to every workflow)
|
|
56
|
+
|
|
57
|
+
- Before use, resolve SKILL_ROOT to this installed directory and run
|
|
58
|
+
`python3 "$SKILL_ROOT/scripts/ensure-gh.py"`. Missing gh is automatically installed
|
|
59
|
+
within existing host permissions, then version and auth are checked separately.
|
|
60
|
+
Read `references/auth.md` for account and target repository permission gates.
|
|
61
|
+
- Prefer `gh` over raw REST; drop to `gh api` only for endpoints the
|
|
62
|
+
porcelain lacks (the cheatsheet lists them).
|
|
63
|
+
- Never report CI green without checking `gh pr checks` yourself; never
|
|
64
|
+
claim merged without verifying `state,mergedAt`.
|
|
65
|
+
- Read full context before writing: `gh issue view --comments` /
|
|
66
|
+
`gh pr view --comments` — decisions live in threads, not titles.
|
|
67
|
+
- Sweep for duplicates before creating anything:
|
|
68
|
+
`gh pr list --search` / `gh issue list --search`.
|
|
69
|
+
|
|
70
|
+
## Verification
|
|
71
|
+
|
|
72
|
+
- The workflow's own reference file defines done for that task.
|
|
73
|
+
- Cross-cutting: every claim about remote state (CI, merge, release,
|
|
74
|
+
issue state) is backed by a fresh `gh` read, never memory.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# GitHub Installation and Authentication
|
|
2
|
+
|
|
3
|
+
Installation, authentication and repository authorization are three separate gates.
|
|
4
|
+
The skill stays discoverable when gh is absent. Never ask users to manually install
|
|
5
|
+
an ordinary missing tool when the host can install it within its existing permissions.
|
|
6
|
+
|
|
7
|
+
## 1. Tool readiness
|
|
8
|
+
|
|
9
|
+
Resolve SKILL_ROOT to this installed skill's absolute directory, not the repository cwd.
|
|
10
|
+
Run `python3 "$SKILL_ROOT/scripts/ensure-gh.py"`. It checks an existing gh first,
|
|
11
|
+
installs only if missing, verifies `gh --version`, then independently checks
|
|
12
|
+
`gh auth status --hostname github.com`. Python 3.10+ is required for these helpers.
|
|
13
|
+
|
|
14
|
+
Host choices: existing Homebrew on macOS/Linux, winget on Windows, otherwise official
|
|
15
|
+
checksummed release binary on Linux/macOS into ~/.local/bin. No sudo, global account
|
|
16
|
+
changes, shell startup edits or account login. Use the returned executable path
|
|
17
|
+
when ~/.local/bin is not on PATH. Do not reinstall an existing but broken command
|
|
18
|
+
silently. Install failures/offline/unsupported architectures are explicit blockers,
|
|
19
|
+
not authentication failures. A git/curl fallback remains usable with suitable credentials.
|
|
20
|
+
|
|
21
|
+
Official installation sources (verified 2026-09-23):
|
|
22
|
+
- https://cli.github.com/
|
|
23
|
+
- https://github.com/cli/cli/blob/trunk/docs/install_linux.md
|
|
24
|
+
- https://github.com/cli/cli/releases
|
|
25
|
+
|
|
26
|
+
`--check-only` disables installation. It still performs read-only auth checking
|
|
27
|
+
when gh exists; this is not an offline-only mode.
|
|
28
|
+
|
|
29
|
+
## 2. Independent identity and auth
|
|
30
|
+
|
|
31
|
+
Use already-injected GH_TOKEN/GITHUB_TOKEN for github.com or the host-specific
|
|
32
|
+
credential mechanism supplied by Runtime. Do not inspect another user's .env,
|
|
33
|
+
auth.json or credential-store automatically. Do not print tokens, put them in
|
|
34
|
+
remote URLs, write hosts.yml, change global git helpers or run setup-git.
|
|
35
|
+
|
|
36
|
+
If authentication is missing, state that installation succeeded but authentication
|
|
37
|
+
did not. For an explicitly authorized account-linking task, use the official
|
|
38
|
+
`gh auth login --hostname HOST --web` device flow with the intended account.
|
|
39
|
+
The user completes the browser step; never type approval blindly. In headless
|
|
40
|
+
Runtime tasks request secure credential injection from the owner instead.
|
|
41
|
+
Do not implement ad-hoc OAuth polling or plaintext keyring fallbacks.
|
|
42
|
+
|
|
43
|
+
Prefer repository-scoped fine-grained tokens with the minimum permissions needed
|
|
44
|
+
for the requested operation and an expiry. Classic repo/workflow scopes are broad;
|
|
45
|
+
do not request them unless the actual API requires them.
|
|
46
|
+
|
|
47
|
+
## 3. Target repository permission
|
|
48
|
+
|
|
49
|
+
Verify the exact host and owner/repo. `gh api --hostname HOST user --jq .login`
|
|
50
|
+
identifies the account; `gh repo view OWNER/REPO --json viewerPermission` checks
|
|
51
|
+
the target repository. READ is not permission to push, merge, manage secrets or
|
|
52
|
+
delete. API permission, org SSO and branch rules can further restrict an operation.
|
|
53
|
+
Use explicit --repo/--hostname on remote commands when cwd is ambiguous.
|
|
54
|
+
|
|
55
|
+
`git ls-remote` proves only read transport access, never push permission.
|
|
56
|
+
SSH access is independent of REST auth. Reuse existing SSH keys/host aliases only
|
|
57
|
+
for the named account. Key generation, key registration and SSH config edits
|
|
58
|
+
require an account-management task; do not overwrite keys or disable host checking.
|
|
59
|
+
|
|
60
|
+
## 4. Git/curl fallback
|
|
61
|
+
|
|
62
|
+
`source "$SKILL_ROOT/scripts/gh-env.sh"` locates sibling helpers using BASH_SOURCE,
|
|
63
|
+
parses origin strictly, and distinguishes gh/none/token-unverified. It does not
|
|
64
|
+
install tools, source dotenv files or read shared credentials. Bash is required;
|
|
65
|
+
on native Windows use ensure-gh.py and gh directly.
|
|
66
|
+
|
|
67
|
+
For github.com only, injected GITHUB_TOKEN may be used by curl against
|
|
68
|
+
https://api.github.com. Use --fail-with-body, a timeout, structured JSON and full
|
|
69
|
+
pagination; do not send the token to origin URLs. For Enterprise, bind credentials
|
|
70
|
+
to the explicitly verified host and its API root; do not reuse github.com tokens.
|
|
71
|
+
Use stdin/config or a secure client if process arguments are observable by other
|
|
72
|
+
tenants; never log Authorization headers.
|
|
73
|
+
|
|
74
|
+
The retained git-credential-token.py parser supports explicit, user-authorized
|
|
75
|
+
migration of a specified credential-store file. It requires an explicit file
|
|
76
|
+
argument and writes the token to stdout: capture privately, never run it as a
|
|
77
|
+
diagnostic or allow terminal output to be included in conversation evidence.
|
|
78
|
+
|
|
79
|
+
## Troubleshooting and verification
|
|
80
|
+
|
|
81
|
+
- Tool unavailable: report install/version result and usable fallback separately.
|
|
82
|
+
- Authentication missing/expired: request scoped account linking or injection;
|
|
83
|
+
do not delete cached credentials globally.
|
|
84
|
+
- 403: distinguish scope, org SSO, branch protection and repository membership.
|
|
85
|
+
- Multiple accounts: select the exact host/account; do not overwrite hosts.yml.
|
|
86
|
+
- Read succeeded but write failed: do not elevate scopes or retry mutation blindly.
|
|
87
|
+
- Login timed out: stop, keep existing config, report a blocked auth step.
|
|
88
|
+
- Delivery uncertain: read back the intended issue/PR/review before retrying.
|
|
89
|
+
|
|
90
|
+
Never claim installation, login, repository access, a write, or CI success from
|
|
91
|
+
another gate's result.
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# CI Troubleshooting Quick Reference
|
|
2
|
+
|
|
3
|
+
> Prismer scope: read auth.md first. All mutations below are examples for an
|
|
4
|
+
> explicitly authorized target/action, never an automatic checklist. Preserve the
|
|
5
|
+
> current dirty tree and long-lived branch; resolve the actual base branch and
|
|
6
|
+
> do not switch, commit, push, publish, merge, delete branches or send reviews
|
|
7
|
+
> unless requested. Use structured JSON for dynamic payloads, not shell string
|
|
8
|
+
> interpolation. Public visibility requires explicit intent. Collection reads
|
|
9
|
+
> must use scripts/github-api.py (complete Link pagination) or gh api --paginate;
|
|
10
|
+
> porcelain list limits and single-page curl output are not a complete inventory.
|
|
11
|
+
> Run shell pipelines with pipefail, record each exit status, and read back writes.
|
|
12
|
+
|
|
13
|
+
Common CI failure patterns and how to diagnose them from the logs.
|
|
14
|
+
|
|
15
|
+
## Reading CI Logs
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# With gh
|
|
19
|
+
gh run view <RUN_ID> --log-failed
|
|
20
|
+
|
|
21
|
+
# With curl — download and extract
|
|
22
|
+
curl --fail-with-body -sS --max-time 30 -L -H "Authorization: token $GITHUB_TOKEN" \
|
|
23
|
+
https://api.github.com/repos/$GH_OWNER/$GH_REPO/actions/runs/<RUN_ID>/logs \
|
|
24
|
+
-o ~/.hermes/cache/scratch/ci-logs.zip && unzip -o ~/.hermes/cache/scratch/ci-logs.zip -d ~/.hermes/cache/scratch/ci-logs
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Common Failure Patterns
|
|
28
|
+
|
|
29
|
+
### Test Failures
|
|
30
|
+
|
|
31
|
+
**Signatures in logs:**
|
|
32
|
+
```
|
|
33
|
+
FAILED tests/test_foo.py::test_bar - AssertionError
|
|
34
|
+
E assert 42 == 43
|
|
35
|
+
ERROR tests/test_foo.py - ModuleNotFoundError
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Diagnosis:**
|
|
39
|
+
1. Find the test file and line number from the traceback
|
|
40
|
+
2. Use `read_file` to read the failing test
|
|
41
|
+
3. Check if it's a logic error in the code or a stale test assertion
|
|
42
|
+
4. Look for `ModuleNotFoundError` — usually a missing dependency in CI
|
|
43
|
+
|
|
44
|
+
**Common fixes:**
|
|
45
|
+
- Update assertion to match new expected behavior
|
|
46
|
+
- Add missing dependency to requirements.txt / pyproject.toml
|
|
47
|
+
- Fix flaky test (add retry, mock external service, fix race condition)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### Lint / Formatting Failures
|
|
52
|
+
|
|
53
|
+
**Signatures in logs:**
|
|
54
|
+
```
|
|
55
|
+
src/auth.py:45:1: E302 expected 2 blank lines, got 1
|
|
56
|
+
src/models.py:12:80: E501 line too long (95 > 88 characters)
|
|
57
|
+
error: would reformat src/utils.py
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Diagnosis:**
|
|
61
|
+
1. Read the specific file:line numbers mentioned
|
|
62
|
+
2. Check which linter is complaining (flake8, ruff, black, isort, mypy)
|
|
63
|
+
|
|
64
|
+
**Common fixes:**
|
|
65
|
+
- Run the formatter locally: `black .`, `isort .`, `ruff check --fix .`
|
|
66
|
+
- Fix the specific style violation by editing the file
|
|
67
|
+
- If using `patch`, make sure to match existing indentation style
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
### Type Check Failures (mypy / pyright)
|
|
72
|
+
|
|
73
|
+
**Signatures in logs:**
|
|
74
|
+
```
|
|
75
|
+
src/api.py:23: error: Argument 1 to "process" has incompatible type "str"; expected "int"
|
|
76
|
+
src/models.py:45: error: Missing return statement
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Diagnosis:**
|
|
80
|
+
1. Read the file at the mentioned line
|
|
81
|
+
2. Check the function signature and what's being passed
|
|
82
|
+
|
|
83
|
+
**Common fixes:**
|
|
84
|
+
- Add type cast or conversion
|
|
85
|
+
- Fix the function signature
|
|
86
|
+
- Add `# type: ignore` comment as last resort (with explanation)
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
### Build / Compilation Failures
|
|
91
|
+
|
|
92
|
+
**Signatures in logs:**
|
|
93
|
+
```
|
|
94
|
+
ModuleNotFoundError: No module named 'some_package'
|
|
95
|
+
ERROR: Could not find a version that satisfies the requirement foo==1.2.3
|
|
96
|
+
npm ERR! Could not resolve dependency
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Diagnosis:**
|
|
100
|
+
1. Check requirements.txt / package.json for the missing or incompatible dependency
|
|
101
|
+
2. Compare local vs CI Python/Node version
|
|
102
|
+
|
|
103
|
+
**Common fixes:**
|
|
104
|
+
- Add missing dependency to requirements file
|
|
105
|
+
- Pin compatible version
|
|
106
|
+
- Update lockfile (`pip freeze`, `npm install`)
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
### Permission / Auth Failures
|
|
111
|
+
|
|
112
|
+
**Signatures in logs:**
|
|
113
|
+
```
|
|
114
|
+
fatal: could not read Username for 'https://github.com': No such device or address
|
|
115
|
+
Error: Resource not accessible by integration
|
|
116
|
+
403 Forbidden
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Diagnosis:**
|
|
120
|
+
1. Check if the workflow needs special permissions (token scopes)
|
|
121
|
+
2. Check if secrets are configured (missing `GITHUB_TOKEN` or custom secrets)
|
|
122
|
+
|
|
123
|
+
**Common fixes:**
|
|
124
|
+
- Add `permissions:` block to workflow YAML
|
|
125
|
+
- Verify secrets exist: `gh secret list` or check repo settings
|
|
126
|
+
- For fork PRs: some secrets aren't available by design
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
### Timeout Failures
|
|
131
|
+
|
|
132
|
+
**Signatures in logs:**
|
|
133
|
+
```
|
|
134
|
+
Error: The operation was canceled.
|
|
135
|
+
The job running on runner ... has exceeded the maximum execution time
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Diagnosis:**
|
|
139
|
+
1. Check which step timed out
|
|
140
|
+
2. Look for infinite loops, hung processes, or slow network calls
|
|
141
|
+
|
|
142
|
+
**Common fixes:**
|
|
143
|
+
- Add timeout to the specific step: `timeout-minutes: 10`
|
|
144
|
+
- Fix the underlying performance issue
|
|
145
|
+
- Split into parallel jobs
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Docker / Container Failures
|
|
150
|
+
|
|
151
|
+
**Signatures in logs:**
|
|
152
|
+
```
|
|
153
|
+
docker: Error response from daemon
|
|
154
|
+
failed to solve: ... not found
|
|
155
|
+
COPY failed: file not found in build context
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Diagnosis:**
|
|
159
|
+
1. Check Dockerfile for the failing step
|
|
160
|
+
2. Verify the referenced files exist in the repo
|
|
161
|
+
|
|
162
|
+
**Common fixes:**
|
|
163
|
+
- Fix path in COPY/ADD command
|
|
164
|
+
- Update base image tag
|
|
165
|
+
- Add missing file to `.dockerignore` exclusion or remove from it
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Auto-Fix Decision Tree
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
CI Failed
|
|
173
|
+
├── Test failure
|
|
174
|
+
│ ├── Assertion mismatch → update test or fix logic
|
|
175
|
+
│ └── Import/module error → add dependency
|
|
176
|
+
├── Lint failure → run formatter, fix style
|
|
177
|
+
├── Type error → fix types
|
|
178
|
+
├── Build failure
|
|
179
|
+
│ ├── Missing dep → add to requirements
|
|
180
|
+
│ └── Version conflict → update pins
|
|
181
|
+
├── Permission error → update workflow permissions (needs user)
|
|
182
|
+
└── Timeout → investigate perf (may need user input)
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Re-running After Fix
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
git add <fixed_files> && git commit -m "fix: resolve CI failure" && git push
|
|
189
|
+
|
|
190
|
+
# Then monitor
|
|
191
|
+
gh pr checks --watch 2>/dev/null || \
|
|
192
|
+
echo "Poll with: curl --fail-with-body -sS --max-time 30 -H 'Authorization: token ...' https://api.github.com/repos/.../commits/$(git rev-parse HEAD)/status"
|
|
193
|
+
```
|