cli-jaw 0.1.7 → 0.1.9
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/README.ko.md +68 -71
- package/README.md +65 -79
- package/README.zh-CN.md +68 -73
- package/dist/bin/cli-claw.js +96 -0
- package/dist/bin/cli-claw.js.map +1 -0
- package/dist/bin/cli-jaw.js +0 -0
- package/dist/bin/commands/init.js +53 -19
- package/dist/bin/commands/init.js.map +1 -1
- package/dist/bin/postinstall.js +175 -104
- package/dist/bin/postinstall.js.map +1 -1
- package/dist/lib/mcp-sync.js +44 -4
- package/dist/lib/mcp-sync.js.map +1 -1
- package/dist/server.js +22 -103
- package/dist/server.js.map +1 -1
- package/dist/src/cli/acp-client.js +1 -1
- package/dist/src/cli/command-context.js +73 -0
- package/dist/src/cli/command-context.js.map +1 -0
- package/dist/src/core/db.js +1 -1
- package/dist/src/memory/heartbeat.js +2 -1
- package/dist/src/memory/heartbeat.js.map +1 -1
- package/dist/src/orchestrator/collect.js +53 -0
- package/dist/src/orchestrator/collect.js.map +1 -0
- package/dist/src/orchestrator/gateway.js +49 -0
- package/dist/src/orchestrator/gateway.js.map +1 -0
- package/dist/src/telegram/bot.js +32 -119
- package/dist/src/telegram/bot.js.map +1 -1
- package/package.json +7 -7
- package/public/css/sidebar.css +14 -0
- package/public/dist/bundle.js +21 -21
- package/public/dist/bundle.js.map +3 -3
- package/public/index.html +2 -2
- package/public/js/features/settings.js +1 -2
- package/public/js/main.js +0 -1
- package/scripts/check-copilot-gap.js +57 -0
- package/scripts/check-deps-offline.mjs +75 -0
- package/scripts/check-deps-online.sh +26 -0
- package/scripts/i18n-registry.py +208 -0
- package/scripts/postinstall-guard.cjs +63 -0
- package/scripts/release.sh +30 -0
- package/skills_ref/1password/SKILL.md +0 -70
- package/skills_ref/agents-sdk/SKILL.md +0 -155
- package/skills_ref/agents-sdk/references/callable.md +0 -92
- package/skills_ref/agents-sdk/references/codemode.md +0 -207
- package/skills_ref/agents-sdk/references/email.md +0 -146
- package/skills_ref/agents-sdk/references/mcp.md +0 -154
- package/skills_ref/agents-sdk/references/state-scheduling.md +0 -164
- package/skills_ref/agents-sdk/references/streaming-chat.md +0 -178
- package/skills_ref/agents-sdk/references/workflows.md +0 -132
- package/skills_ref/algorithmic-art/LICENSE.txt +0 -202
- package/skills_ref/algorithmic-art/SKILL.md +0 -405
- package/skills_ref/algorithmic-art/templates/generator_template.js +0 -223
- package/skills_ref/algorithmic-art/templates/viewer.html +0 -599
- package/skills_ref/apple-notes/SKILL.md +0 -77
- package/skills_ref/apple-reminders/SKILL.md +0 -118
- package/skills_ref/atlas/SKILL.md +0 -99
- package/skills_ref/brainstorming/SKILL.md +0 -96
- package/skills_ref/browser/SKILL.md +0 -179
- package/skills_ref/canvas-design/LICENSE.txt +0 -202
- package/skills_ref/canvas-design/SKILL.md +0 -130
- package/skills_ref/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
- package/skills_ref/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills_ref/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
- package/skills_ref/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills_ref/changelog-generator/SKILL.md +0 -104
- package/skills_ref/cloudflare-deploy/SKILL.md +0 -207
- package/skills_ref/codebase-orientation/SKILL.md +0 -29
- package/skills_ref/config-file-explainer/SKILL.md +0 -26
- package/skills_ref/context-compression/SKILL.md +0 -265
- package/skills_ref/context-compression/references/evaluation-framework.md +0 -213
- package/skills_ref/context-compression/scripts/compression_evaluator.py +0 -658
- package/skills_ref/data-structure-chooser/SKILL.md +0 -26
- package/skills_ref/debugging-checklist/SKILL.md +0 -26
- package/skills_ref/debugging-helpers/CREATION-LOG.md +0 -119
- package/skills_ref/debugging-helpers/SKILL.md +0 -296
- package/skills_ref/debugging-helpers/condition-based-waiting-example.ts +0 -158
- package/skills_ref/debugging-helpers/condition-based-waiting.md +0 -115
- package/skills_ref/debugging-helpers/defense-in-depth.md +0 -122
- package/skills_ref/debugging-helpers/find-polluter.sh +0 -63
- package/skills_ref/debugging-helpers/root-cause-tracing.md +0 -169
- package/skills_ref/debugging-helpers/test-academic.md +0 -14
- package/skills_ref/debugging-helpers/test-pressure-1.md +0 -58
- package/skills_ref/debugging-helpers/test-pressure-2.md +0 -68
- package/skills_ref/debugging-helpers/test-pressure-3.md +0 -69
- package/skills_ref/deep-research/.env.example +0 -7
- package/skills_ref/deep-research/README.md +0 -246
- package/skills_ref/deep-research/SKILL.md +0 -106
- package/skills_ref/deep-research/requirements.txt +0 -2
- package/skills_ref/deep-research/scripts/research.py +0 -692
- package/skills_ref/dependency-install-helper/SKILL.md +0 -26
- package/skills_ref/dev/SKILL.md +0 -65
- package/skills_ref/dev-backend/SKILL.md +0 -61
- package/skills_ref/dev-data/SKILL.md +0 -76
- package/skills_ref/dev-frontend/LICENSE.txt +0 -177
- package/skills_ref/dev-frontend/SKILL.md +0 -42
- package/skills_ref/dev-testing/LICENSE.txt +0 -202
- package/skills_ref/dev-testing/SKILL.md +0 -96
- package/skills_ref/dev-testing/examples/console_logging.py +0 -35
- package/skills_ref/dev-testing/examples/element_discovery.py +0 -40
- package/skills_ref/dev-testing/examples/static_html_automation.py +0 -33
- package/skills_ref/dev-testing/scripts/with_server.py +0 -106
- package/skills_ref/develop-web-game/SKILL.md +0 -149
- package/skills_ref/differential-review/.claude-plugin/plugin.json +0 -10
- package/skills_ref/differential-review/README.md +0 -109
- package/skills_ref/differential-review/commands/diff-review.md +0 -21
- package/skills_ref/differential-review/skills/differential-review/SKILL.md +0 -220
- package/skills_ref/differential-review/skills/differential-review/adversarial.md +0 -203
- package/skills_ref/differential-review/skills/differential-review/methodology.md +0 -234
- package/skills_ref/differential-review/skills/differential-review/patterns.md +0 -300
- package/skills_ref/differential-review/skills/differential-review/reporting.md +0 -369
- package/skills_ref/dispatching-parallel-agents/SKILL.md +0 -180
- package/skills_ref/doc-coauthoring/SKILL.md +0 -375
- package/skills_ref/docx/LICENSE.txt +0 -30
- package/skills_ref/docx/SKILL.md +0 -481
- package/skills_ref/docx/scripts/__init__.py +0 -1
- package/skills_ref/docx/scripts/accept_changes.py +0 -135
- package/skills_ref/docx/scripts/comment.py +0 -318
- package/skills_ref/docx/scripts/office/helpers/__init__.py +0 -0
- package/skills_ref/docx/scripts/office/helpers/merge_runs.py +0 -199
- package/skills_ref/docx/scripts/office/helpers/simplify_redlines.py +0 -197
- package/skills_ref/docx/scripts/office/pack.py +0 -159
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/skills_ref/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/skills_ref/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/skills_ref/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/skills_ref/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/skills_ref/docx/scripts/office/schemas/mce/mc.xsd +0 -75
- package/skills_ref/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
- package/skills_ref/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
- package/skills_ref/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
- package/skills_ref/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/skills_ref/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/skills_ref/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/skills_ref/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/skills_ref/docx/scripts/office/soffice.py +0 -183
- package/skills_ref/docx/scripts/office/unpack.py +0 -132
- package/skills_ref/docx/scripts/office/validate.py +0 -111
- package/skills_ref/docx/scripts/office/validators/__init__.py +0 -15
- package/skills_ref/docx/scripts/office/validators/base.py +0 -847
- package/skills_ref/docx/scripts/office/validators/docx.py +0 -446
- package/skills_ref/docx/scripts/office/validators/pptx.py +0 -275
- package/skills_ref/docx/scripts/office/validators/redlining.py +0 -247
- package/skills_ref/docx/scripts/templates/comments.xml +0 -3
- package/skills_ref/docx/scripts/templates/commentsExtended.xml +0 -3
- package/skills_ref/docx/scripts/templates/commentsExtensible.xml +0 -3
- package/skills_ref/docx/scripts/templates/commentsIds.xml +0 -3
- package/skills_ref/docx/scripts/templates/people.xml +0 -3
- package/skills_ref/durable-objects/SKILL.md +0 -186
- package/skills_ref/durable-objects/references/rules.md +0 -286
- package/skills_ref/durable-objects/references/testing.md +0 -264
- package/skills_ref/durable-objects/references/workers.md +0 -346
- package/skills_ref/email-draft-polish/SKILL.md +0 -24
- package/skills_ref/error-message-explainer/SKILL.md +0 -27
- package/skills_ref/fal-image-edit/SKILL.md +0 -249
- package/skills_ref/fal-image-edit/scripts/edit-image.sh +0 -199
- package/skills_ref/figma-implement-design/SKILL.md +0 -264
- package/skills_ref/git-worktrees/SKILL.md +0 -218
- package/skills_ref/github/SKILL.md +0 -210
- package/skills_ref/gog/SKILL.md +0 -116
- package/skills_ref/goplaces/SKILL.md +0 -52
- package/skills_ref/himalaya/SKILL.md +0 -257
- package/skills_ref/hugging-face-cli/SKILL.md +0 -186
- package/skills_ref/hugging-face-cli/references/commands.md +0 -954
- package/skills_ref/hugging-face-cli/references/examples.md +0 -374
- package/skills_ref/hugging-face-evaluation/SKILL.md +0 -651
- package/skills_ref/hugging-face-evaluation/examples/.env.example +0 -7
- package/skills_ref/hugging-face-evaluation/examples/USAGE_EXAMPLES.md +0 -382
- package/skills_ref/hugging-face-evaluation/examples/artificial_analysis_to_hub.py +0 -141
- package/skills_ref/hugging-face-evaluation/examples/example_readme_tables.md +0 -135
- package/skills_ref/hugging-face-evaluation/examples/metric_mapping.json +0 -50
- package/skills_ref/hugging-face-evaluation/requirements.txt +0 -20
- package/skills_ref/hugging-face-evaluation/scripts/evaluation_manager.py +0 -1374
- package/skills_ref/hugging-face-evaluation/scripts/inspect_eval_uv.py +0 -104
- package/skills_ref/hugging-face-evaluation/scripts/inspect_vllm_uv.py +0 -317
- package/skills_ref/hugging-face-evaluation/scripts/lighteval_vllm_uv.py +0 -303
- package/skills_ref/hugging-face-evaluation/scripts/run_eval_job.py +0 -98
- package/skills_ref/hugging-face-evaluation/scripts/run_vllm_eval_job.py +0 -331
- package/skills_ref/hugging-face-evaluation/scripts/test_extraction.py +0 -206
- package/skills_ref/hugging-face-model-trainer/SKILL.md +0 -718
- package/skills_ref/hugging-face-model-trainer/references/gguf_conversion.md +0 -296
- package/skills_ref/hugging-face-model-trainer/references/hardware_guide.md +0 -283
- package/skills_ref/hugging-face-model-trainer/references/hub_saving.md +0 -364
- package/skills_ref/hugging-face-model-trainer/references/reliability_principles.md +0 -371
- package/skills_ref/hugging-face-model-trainer/references/trackio_guide.md +0 -189
- package/skills_ref/hugging-face-model-trainer/references/training_methods.md +0 -150
- package/skills_ref/hugging-face-model-trainer/references/training_patterns.md +0 -203
- package/skills_ref/hugging-face-model-trainer/references/troubleshooting.md +0 -282
- package/skills_ref/hugging-face-model-trainer/references/unsloth.md +0 -313
- package/skills_ref/hugging-face-model-trainer/scripts/convert_to_gguf.py +0 -424
- package/skills_ref/hugging-face-model-trainer/scripts/dataset_inspector.py +0 -417
- package/skills_ref/hugging-face-model-trainer/scripts/estimate_cost.py +0 -150
- package/skills_ref/hugging-face-model-trainer/scripts/train_dpo_example.py +0 -106
- package/skills_ref/hugging-face-model-trainer/scripts/train_grpo_example.py +0 -89
- package/skills_ref/hugging-face-model-trainer/scripts/train_sft_example.py +0 -122
- package/skills_ref/hugging-face-model-trainer/scripts/unsloth_sft_example.py +0 -512
- package/skills_ref/imagegen/SKILL.md +0 -174
- package/skills_ref/insecure-defaults/.claude-plugin/plugin.json +0 -10
- package/skills_ref/insecure-defaults/README.md +0 -45
- package/skills_ref/insecure-defaults/skills/insecure-defaults/SKILL.md +0 -117
- package/skills_ref/insecure-defaults/skills/insecure-defaults/references/examples.md +0 -409
- package/skills_ref/jupyter-notebook/SKILL.md +0 -107
- package/skills_ref/linear/SKILL.md +0 -87
- package/skills_ref/linter-fix-guide/SKILL.md +0 -27
- package/skills_ref/log-summarizer/SKILL.md +0 -27
- package/skills_ref/mcp-builder/LICENSE.txt +0 -202
- package/skills_ref/mcp-builder/SKILL.md +0 -236
- package/skills_ref/mcp-builder/reference/evaluation.md +0 -602
- package/skills_ref/mcp-builder/reference/mcp_best_practices.md +0 -249
- package/skills_ref/mcp-builder/reference/node_mcp_server.md +0 -970
- package/skills_ref/mcp-builder/reference/python_mcp_server.md +0 -719
- package/skills_ref/mcp-builder/scripts/connections.py +0 -151
- package/skills_ref/mcp-builder/scripts/evaluation.py +0 -373
- package/skills_ref/mcp-builder/scripts/example_evaluation.xml +0 -22
- package/skills_ref/mcp-builder/scripts/requirements.txt +0 -2
- package/skills_ref/memory/SKILL.md +0 -129
- package/skills_ref/modern-python/.claude-plugin/plugin.json +0 -10
- package/skills_ref/modern-python/README.md +0 -66
- package/skills_ref/modern-python/hooks/hooks.json +0 -16
- package/skills_ref/modern-python/hooks/setup-shims.bats +0 -70
- package/skills_ref/modern-python/hooks/setup-shims.sh +0 -24
- package/skills_ref/modern-python/hooks/shims/pip +0 -27
- package/skills_ref/modern-python/hooks/shims/pip-shim.bats +0 -45
- package/skills_ref/modern-python/hooks/shims/pip3 +0 -27
- package/skills_ref/modern-python/hooks/shims/pipx +0 -41
- package/skills_ref/modern-python/hooks/shims/pipx-shim.bats +0 -64
- package/skills_ref/modern-python/hooks/shims/python +0 -26
- package/skills_ref/modern-python/hooks/shims/python-shim.bats +0 -53
- package/skills_ref/modern-python/hooks/shims/python3 +0 -26
- package/skills_ref/modern-python/hooks/shims/uv +0 -27
- package/skills_ref/modern-python/hooks/shims/uv-shim.bats +0 -47
- package/skills_ref/modern-python/skills/modern-python/SKILL.md +0 -333
- package/skills_ref/modern-python/skills/modern-python/references/dependabot.md +0 -43
- package/skills_ref/modern-python/skills/modern-python/references/migration-checklist.md +0 -141
- package/skills_ref/modern-python/skills/modern-python/references/pep723-scripts.md +0 -259
- package/skills_ref/modern-python/skills/modern-python/references/prek.md +0 -211
- package/skills_ref/modern-python/skills/modern-python/references/pyproject.md +0 -254
- package/skills_ref/modern-python/skills/modern-python/references/ruff-config.md +0 -240
- package/skills_ref/modern-python/skills/modern-python/references/security-setup.md +0 -255
- package/skills_ref/modern-python/skills/modern-python/references/testing.md +0 -284
- package/skills_ref/modern-python/skills/modern-python/references/uv-commands.md +0 -200
- package/skills_ref/modern-python/skills/modern-python/templates/dependabot.yml +0 -36
- package/skills_ref/modern-python/skills/modern-python/templates/pre-commit-config.yaml +0 -66
- package/skills_ref/nano-banana-pro/SKILL.md +0 -58
- package/skills_ref/netlify-deploy/SKILL.md +0 -233
- package/skills_ref/notion/SKILL.md +0 -304
- package/skills_ref/notion-knowledge-capture/SKILL.md +0 -56
- package/skills_ref/notion-meeting-intelligence/SKILL.md +0 -60
- package/skills_ref/notion-research-documentation/SKILL.md +0 -59
- package/skills_ref/notion-spec-to-implementation/SKILL.md +0 -58
- package/skills_ref/obsidian/SKILL.md +0 -81
- package/skills_ref/openai-docs/SKILL.md +0 -56
- package/skills_ref/openhue/SKILL.md +0 -112
- package/skills_ref/pdf/SKILL.md +0 -69
- package/skills_ref/postgres/README.md +0 -77
- package/skills_ref/postgres/SKILL.md +0 -129
- package/skills_ref/postgres/connections.example.json +0 -34
- package/skills_ref/postgres/requirements.txt +0 -1
- package/skills_ref/postgres/scripts/query.py +0 -262
- package/skills_ref/pptx/LICENSE.txt +0 -30
- package/skills_ref/pptx/SKILL.md +0 -232
- package/skills_ref/pptx/editing.md +0 -205
- package/skills_ref/pptx/pptxgenjs.md +0 -420
- package/skills_ref/pptx/scripts/__init__.py +0 -0
- package/skills_ref/pptx/scripts/add_slide.py +0 -195
- package/skills_ref/pptx/scripts/clean.py +0 -286
- package/skills_ref/pptx/scripts/office/helpers/__init__.py +0 -0
- package/skills_ref/pptx/scripts/office/helpers/merge_runs.py +0 -199
- package/skills_ref/pptx/scripts/office/helpers/simplify_redlines.py +0 -197
- package/skills_ref/pptx/scripts/office/pack.py +0 -159
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/skills_ref/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/skills_ref/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/skills_ref/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/skills_ref/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/skills_ref/pptx/scripts/office/schemas/mce/mc.xsd +0 -75
- package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
- package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
- package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
- package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/skills_ref/pptx/scripts/office/soffice.py +0 -183
- package/skills_ref/pptx/scripts/office/unpack.py +0 -132
- package/skills_ref/pptx/scripts/office/validate.py +0 -111
- package/skills_ref/pptx/scripts/office/validators/__init__.py +0 -15
- package/skills_ref/pptx/scripts/office/validators/base.py +0 -847
- package/skills_ref/pptx/scripts/office/validators/docx.py +0 -446
- package/skills_ref/pptx/scripts/office/validators/pptx.py +0 -275
- package/skills_ref/pptx/scripts/office/validators/redlining.py +0 -247
- package/skills_ref/pptx/scripts/thumbnail.py +0 -289
- package/skills_ref/property-based-testing/.claude-plugin/plugin.json +0 -9
- package/skills_ref/property-based-testing/README.md +0 -47
- package/skills_ref/property-based-testing/skills/property-based-testing/README.md +0 -88
- package/skills_ref/property-based-testing/skills/property-based-testing/SKILL.md +0 -123
- package/skills_ref/property-based-testing/skills/property-based-testing/references/design.md +0 -191
- package/skills_ref/property-based-testing/skills/property-based-testing/references/generating.md +0 -204
- package/skills_ref/property-based-testing/skills/property-based-testing/references/interpreting-failures.md +0 -239
- package/skills_ref/property-based-testing/skills/property-based-testing/references/libraries.md +0 -130
- package/skills_ref/property-based-testing/skills/property-based-testing/references/refactoring.md +0 -181
- package/skills_ref/property-based-testing/skills/property-based-testing/references/reviewing.md +0 -209
- package/skills_ref/property-based-testing/skills/property-based-testing/references/strategies.md +0 -124
- package/skills_ref/react-best-practices/AGENTS.md +0 -2934
- package/skills_ref/react-best-practices/README.md +0 -123
- package/skills_ref/react-best-practices/SKILL.md +0 -136
- package/skills_ref/react-best-practices/metadata.json +0 -15
- package/skills_ref/react-best-practices/rules/_sections.md +0 -46
- package/skills_ref/react-best-practices/rules/_template.md +0 -28
- package/skills_ref/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
- package/skills_ref/react-best-practices/rules/advanced-init-once.md +0 -42
- package/skills_ref/react-best-practices/rules/advanced-use-latest.md +0 -39
- package/skills_ref/react-best-practices/rules/async-api-routes.md +0 -38
- package/skills_ref/react-best-practices/rules/async-defer-await.md +0 -80
- package/skills_ref/react-best-practices/rules/async-dependencies.md +0 -51
- package/skills_ref/react-best-practices/rules/async-parallel.md +0 -28
- package/skills_ref/react-best-practices/rules/async-suspense-boundaries.md +0 -99
- package/skills_ref/react-best-practices/rules/bundle-barrel-imports.md +0 -59
- package/skills_ref/react-best-practices/rules/bundle-conditional.md +0 -31
- package/skills_ref/react-best-practices/rules/bundle-defer-third-party.md +0 -49
- package/skills_ref/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
- package/skills_ref/react-best-practices/rules/bundle-preload.md +0 -50
- package/skills_ref/react-best-practices/rules/client-event-listeners.md +0 -74
- package/skills_ref/react-best-practices/rules/client-localstorage-schema.md +0 -71
- package/skills_ref/react-best-practices/rules/client-passive-event-listeners.md +0 -48
- package/skills_ref/react-best-practices/rules/client-swr-dedup.md +0 -56
- package/skills_ref/react-best-practices/rules/js-batch-dom-css.md +0 -107
- package/skills_ref/react-best-practices/rules/js-cache-function-results.md +0 -80
- package/skills_ref/react-best-practices/rules/js-cache-property-access.md +0 -28
- package/skills_ref/react-best-practices/rules/js-cache-storage.md +0 -70
- package/skills_ref/react-best-practices/rules/js-combine-iterations.md +0 -32
- package/skills_ref/react-best-practices/rules/js-early-exit.md +0 -50
- package/skills_ref/react-best-practices/rules/js-hoist-regexp.md +0 -45
- package/skills_ref/react-best-practices/rules/js-index-maps.md +0 -37
- package/skills_ref/react-best-practices/rules/js-length-check-first.md +0 -49
- package/skills_ref/react-best-practices/rules/js-min-max-loop.md +0 -82
- package/skills_ref/react-best-practices/rules/js-set-map-lookups.md +0 -24
- package/skills_ref/react-best-practices/rules/js-tosorted-immutable.md +0 -57
- package/skills_ref/react-best-practices/rules/rendering-activity.md +0 -26
- package/skills_ref/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
- package/skills_ref/react-best-practices/rules/rendering-conditional-render.md +0 -40
- package/skills_ref/react-best-practices/rules/rendering-content-visibility.md +0 -38
- package/skills_ref/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
- package/skills_ref/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
- package/skills_ref/react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
- package/skills_ref/react-best-practices/rules/rendering-svg-precision.md +0 -28
- package/skills_ref/react-best-practices/rules/rendering-usetransition-loading.md +0 -75
- package/skills_ref/react-best-practices/rules/rerender-defer-reads.md +0 -39
- package/skills_ref/react-best-practices/rules/rerender-dependencies.md +0 -45
- package/skills_ref/react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
- package/skills_ref/react-best-practices/rules/rerender-derived-state.md +0 -29
- package/skills_ref/react-best-practices/rules/rerender-functional-setstate.md +0 -74
- package/skills_ref/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
- package/skills_ref/react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
- package/skills_ref/react-best-practices/rules/rerender-memo.md +0 -44
- package/skills_ref/react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
- package/skills_ref/react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
- package/skills_ref/react-best-practices/rules/rerender-transitions.md +0 -40
- package/skills_ref/react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
- package/skills_ref/react-best-practices/rules/server-after-nonblocking.md +0 -73
- package/skills_ref/react-best-practices/rules/server-auth-actions.md +0 -96
- package/skills_ref/react-best-practices/rules/server-cache-lru.md +0 -41
- package/skills_ref/react-best-practices/rules/server-cache-react.md +0 -76
- package/skills_ref/react-best-practices/rules/server-dedup-props.md +0 -65
- package/skills_ref/react-best-practices/rules/server-parallel-fetching.md +0 -83
- package/skills_ref/react-best-practices/rules/server-serialization.md +0 -38
- package/skills_ref/receiving-code-review/SKILL.md +0 -213
- package/skills_ref/registry.json +0 -1493
- package/skills_ref/render-deploy/SKILL.md +0 -462
- package/skills_ref/requesting-code-review/SKILL.md +0 -105
- package/skills_ref/requesting-code-review/code-reviewer.md +0 -146
- package/skills_ref/screen-capture/SKILL.md +0 -162
- package/skills_ref/security-best-practices/LICENSE.txt +0 -201
- package/skills_ref/security-best-practices/SKILL.md +0 -86
- package/skills_ref/security-best-practices/agents/openai.yaml +0 -4
- package/skills_ref/security-best-practices/references/golang-general-backend-security.md +0 -826
- package/skills_ref/security-best-practices/references/javascript-express-web-server-security.md +0 -1158
- package/skills_ref/security-best-practices/references/javascript-general-web-frontend-security.md +0 -747
- package/skills_ref/security-best-practices/references/javascript-jquery-web-frontend-security.md +0 -678
- package/skills_ref/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md +0 -1144
- package/skills_ref/security-best-practices/references/javascript-typescript-react-web-frontend-security.md +0 -990
- package/skills_ref/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md +0 -791
- package/skills_ref/security-best-practices/references/python-django-web-server-security.md +0 -882
- package/skills_ref/security-best-practices/references/python-fastapi-web-server-security.md +0 -1036
- package/skills_ref/security-best-practices/references/python-flask-web-server-security.md +0 -705
- package/skills_ref/security-ownership-map/LICENSE.txt +0 -201
- package/skills_ref/security-ownership-map/SKILL.md +0 -206
- package/skills_ref/security-ownership-map/agents/openai.yaml +0 -4
- package/skills_ref/security-ownership-map/references/neo4j-import.md +0 -60
- package/skills_ref/security-ownership-map/scripts/build_ownership_map.py +0 -956
- package/skills_ref/security-ownership-map/scripts/community_maintainers.py +0 -544
- package/skills_ref/security-ownership-map/scripts/query_ownership.py +0 -483
- package/skills_ref/security-ownership-map/scripts/run_ownership_map.py +0 -200
- package/skills_ref/security-threat-model/LICENSE.txt +0 -201
- package/skills_ref/security-threat-model/SKILL.md +0 -81
- package/skills_ref/security-threat-model/agents/openai.yaml +0 -4
- package/skills_ref/security-threat-model/references/prompt-template.md +0 -255
- package/skills_ref/security-threat-model/references/security-controls-and-assets.md +0 -32
- package/skills_ref/sentry/SKILL.md +0 -123
- package/skills_ref/skill-creator/SKILL.md +0 -372
- package/skills_ref/sora/SKILL.md +0 -153
- package/skills_ref/speech/SKILL.md +0 -144
- package/skills_ref/spotify-player/SKILL.md +0 -64
- package/skills_ref/static-analysis/.claude-plugin/plugin.json +0 -8
- package/skills_ref/static-analysis/README.md +0 -65
- package/skills_ref/static-analysis/agents/semgrep-scanner.md +0 -71
- package/skills_ref/static-analysis/agents/semgrep-triager.md +0 -107
- package/skills_ref/static-analysis/skills/codeql/SKILL.md +0 -119
- package/skills_ref/static-analysis/skills/codeql/references/diagnostic-query-templates.md +0 -339
- package/skills_ref/static-analysis/skills/codeql/references/language-details.md +0 -207
- package/skills_ref/static-analysis/skills/codeql/references/performance-tuning.md +0 -111
- package/skills_ref/static-analysis/skills/codeql/references/ruleset-catalog.md +0 -63
- package/skills_ref/static-analysis/skills/codeql/references/threat-models.md +0 -44
- package/skills_ref/static-analysis/skills/codeql/workflows/build-database.md +0 -669
- package/skills_ref/static-analysis/skills/codeql/workflows/create-data-extensions.md +0 -536
- package/skills_ref/static-analysis/skills/codeql/workflows/run-analysis.md +0 -436
- package/skills_ref/static-analysis/skills/sarif-parsing/SKILL.md +0 -479
- package/skills_ref/static-analysis/skills/sarif-parsing/resources/jq-queries.md +0 -162
- package/skills_ref/static-analysis/skills/sarif-parsing/resources/sarif_helpers.py +0 -331
- package/skills_ref/static-analysis/skills/semgrep/SKILL.md +0 -431
- package/skills_ref/static-analysis/skills/semgrep/references/rulesets.md +0 -162
- package/skills_ref/static-analysis/skills/semgrep/references/scanner-task-prompt.md +0 -102
- package/skills_ref/static-analysis/skills/semgrep/references/triage-task-prompt.md +0 -122
- package/skills_ref/static-analysis/skills/semgrep/scripts/merge_triaged_sarif.py +0 -252
- package/skills_ref/summarize/SKILL.md +0 -87
- package/skills_ref/tdd/SKILL.md +0 -371
- package/skills_ref/tdd/testing-anti-patterns.md +0 -299
- package/skills_ref/telegram-send/SKILL.md +0 -99
- package/skills_ref/terraform/README.md +0 -105
- package/skills_ref/terraform/code-generation/.claude-plugin/plugin.json +0 -30
- package/skills_ref/terraform/code-generation/skills/azure-verified-modules/SKILL.md +0 -613
- package/skills_ref/terraform/code-generation/skills/terraform-style-guide/SKILL.md +0 -353
- package/skills_ref/terraform/code-generation/skills/terraform-test/SKILL.md +0 -1669
- package/skills_ref/terraform/module-generation/.claude-plugin/plugin.json +0 -30
- package/skills_ref/terraform/module-generation/skills/refactor-module/SKILL.md +0 -538
- package/skills_ref/terraform/module-generation/skills/terraform-stacks/SKILL.md +0 -468
- package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/api-monitoring.md +0 -543
- package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/component-blocks.md +0 -476
- package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/deployment-blocks.md +0 -391
- package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/examples.md +0 -1529
- package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/linked-stacks.md +0 -187
- package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/troubleshooting.md +0 -671
- package/skills_ref/terraform/provider-development/.claude-plugin/plugin.json +0 -13
- package/skills_ref/terraform/provider-development/skills/new-terraform-provider/SKILL.md +0 -25
- package/skills_ref/terraform/provider-development/skills/new-terraform-provider/assets/main.go +0 -40
- package/skills_ref/terraform/provider-development/skills/provider-actions/SKILL.md +0 -478
- package/skills_ref/terraform/provider-development/skills/provider-resources/SKILL.md +0 -599
- package/skills_ref/terraform/provider-development/skills/run-acceptance-tests/SKILL.md +0 -41
- package/skills_ref/theme-factory/LICENSE.txt +0 -202
- package/skills_ref/theme-factory/SKILL.md +0 -59
- package/skills_ref/theme-factory/theme-showcase.pdf +0 -0
- package/skills_ref/theme-factory/themes/arctic-frost.md +0 -19
- package/skills_ref/theme-factory/themes/botanical-garden.md +0 -19
- package/skills_ref/theme-factory/themes/desert-rose.md +0 -19
- package/skills_ref/theme-factory/themes/forest-canopy.md +0 -19
- package/skills_ref/theme-factory/themes/golden-hour.md +0 -19
- package/skills_ref/theme-factory/themes/midnight-galaxy.md +0 -19
- package/skills_ref/theme-factory/themes/modern-minimalist.md +0 -19
- package/skills_ref/theme-factory/themes/ocean-depths.md +0 -19
- package/skills_ref/theme-factory/themes/sunset-boulevard.md +0 -19
- package/skills_ref/theme-factory/themes/tech-innovation.md +0 -19
- package/skills_ref/things-mac/SKILL.md +0 -86
- package/skills_ref/tmux/SKILL.md +0 -153
- package/skills_ref/transcribe/SKILL.md +0 -81
- package/skills_ref/trello/SKILL.md +0 -95
- package/skills_ref/tts/SKILL.md +0 -99
- package/skills_ref/vercel-deploy/SKILL.md +0 -115
- package/skills_ref/video-downloader/SKILL.md +0 -99
- package/skills_ref/video-downloader/scripts/download_video.py +0 -145
- package/skills_ref/video-frames/SKILL.md +0 -46
- package/skills_ref/vision-click/SKILL.md +0 -128
- package/skills_ref/weather/SKILL.md +0 -112
- package/skills_ref/web-artifacts-builder/LICENSE.txt +0 -202
- package/skills_ref/web-artifacts-builder/SKILL.md +0 -74
- package/skills_ref/web-artifacts-builder/scripts/bundle-artifact.sh +0 -54
- package/skills_ref/web-artifacts-builder/scripts/init-artifact.sh +0 -322
- package/skills_ref/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/skills_ref/web-perf/SKILL.md +0 -193
- package/skills_ref/web-routing/SKILL.md +0 -26
- package/skills_ref/whatsapp/SKILL.md +0 -255
- package/skills_ref/whatsapp/assets/agent-app-integration-example.json +0 -35
- package/skills_ref/whatsapp/assets/databases-example.json +0 -11
- package/skills_ref/whatsapp/assets/function-decide-route-interactive-buttons.json +0 -6
- package/skills_ref/whatsapp/assets/functions-example.json +0 -5
- package/skills_ref/whatsapp/assets/workflow-agent-simple.json +0 -31
- package/skills_ref/whatsapp/assets/workflow-api-template-wait-agent.json +0 -59
- package/skills_ref/whatsapp/assets/workflow-customer-support-intake-agent.json +0 -56
- package/skills_ref/whatsapp/assets/workflow-decision.json +0 -83
- package/skills_ref/whatsapp/assets/workflow-interactive-buttons-decide-ai.json +0 -89
- package/skills_ref/whatsapp/assets/workflow-interactive-buttons-decide-function.json +0 -88
- package/skills_ref/whatsapp/assets/workflow-linear.json +0 -53
- package/skills_ref/whatsapp/package.json +0 -10
- package/skills_ref/whatsapp/references/app-integrations.md +0 -89
- package/skills_ref/whatsapp/references/databases-reference.md +0 -21
- package/skills_ref/whatsapp/references/execution-context.md +0 -42
- package/skills_ref/whatsapp/references/function-contracts.md +0 -55
- package/skills_ref/whatsapp/references/functions-payloads.md +0 -87
- package/skills_ref/whatsapp/references/functions-reference.md +0 -133
- package/skills_ref/whatsapp/references/graph-contract.md +0 -145
- package/skills_ref/whatsapp/references/node-types.md +0 -430
- package/skills_ref/whatsapp/references/triggers.md +0 -20
- package/skills_ref/whatsapp/references/workflow-overview.md +0 -22
- package/skills_ref/whatsapp/references/workflow-reference.md +0 -123
- package/skills_ref/whatsapp/scripts/configure-prop.js +0 -113
- package/skills_ref/whatsapp/scripts/create-connect-token.js +0 -38
- package/skills_ref/whatsapp/scripts/create-function.js +0 -64
- package/skills_ref/whatsapp/scripts/create-integration.js +0 -137
- package/skills_ref/whatsapp/scripts/create-row.js +0 -47
- package/skills_ref/whatsapp/scripts/create-trigger.js +0 -88
- package/skills_ref/whatsapp/scripts/create-workflow.js +0 -85
- package/skills_ref/whatsapp/scripts/delete-integration.js +0 -44
- package/skills_ref/whatsapp/scripts/delete-row.js +0 -49
- package/skills_ref/whatsapp/scripts/delete-trigger.js +0 -44
- package/skills_ref/whatsapp/scripts/deploy-function.js +0 -47
- package/skills_ref/whatsapp/scripts/edit-graph.js +0 -289
- package/skills_ref/whatsapp/scripts/get-action-schema.js +0 -44
- package/skills_ref/whatsapp/scripts/get-context-value.js +0 -80
- package/skills_ref/whatsapp/scripts/get-execution-event.js +0 -55
- package/skills_ref/whatsapp/scripts/get-execution.js +0 -44
- package/skills_ref/whatsapp/scripts/get-function.js +0 -43
- package/skills_ref/whatsapp/scripts/get-graph.js +0 -85
- package/skills_ref/whatsapp/scripts/get-table.js +0 -45
- package/skills_ref/whatsapp/scripts/get-workflow.js +0 -44
- package/skills_ref/whatsapp/scripts/invoke-function.js +0 -60
- package/skills_ref/whatsapp/scripts/lib/databases/args.js +0 -87
- package/skills_ref/whatsapp/scripts/lib/databases/filters.js +0 -30
- package/skills_ref/whatsapp/scripts/lib/databases/kapso-api.js +0 -70
- package/skills_ref/whatsapp/scripts/lib/functions/args.js +0 -55
- package/skills_ref/whatsapp/scripts/lib/functions/kapso-api.js +0 -70
- package/skills_ref/whatsapp/scripts/lib/workflows/args.js +0 -53
- package/skills_ref/whatsapp/scripts/lib/workflows/kapso-api.js +0 -123
- package/skills_ref/whatsapp/scripts/lib/workflows/result.js +0 -16
- package/skills_ref/whatsapp/scripts/list-accounts.js +0 -62
- package/skills_ref/whatsapp/scripts/list-apps.js +0 -42
- package/skills_ref/whatsapp/scripts/list-execution-events.js +0 -61
- package/skills_ref/whatsapp/scripts/list-executions.js +0 -53
- package/skills_ref/whatsapp/scripts/list-function-invocations.js +0 -53
- package/skills_ref/whatsapp/scripts/list-functions.js +0 -41
- package/skills_ref/whatsapp/scripts/list-integrations.js +0 -41
- package/skills_ref/whatsapp/scripts/list-provider-models.js +0 -48
- package/skills_ref/whatsapp/scripts/list-tables.js +0 -41
- package/skills_ref/whatsapp/scripts/list-triggers.js +0 -44
- package/skills_ref/whatsapp/scripts/list-whatsapp-phone-numbers.js +0 -56
- package/skills_ref/whatsapp/scripts/list-workflows.js +0 -44
- package/skills_ref/whatsapp/scripts/openapi-explore.mjs +0 -1273
- package/skills_ref/whatsapp/scripts/query-rows.js +0 -71
- package/skills_ref/whatsapp/scripts/reload-props.js +0 -110
- package/skills_ref/whatsapp/scripts/resume-execution.js +0 -75
- package/skills_ref/whatsapp/scripts/search-actions.js +0 -64
- package/skills_ref/whatsapp/scripts/update-execution-status.js +0 -51
- package/skills_ref/whatsapp/scripts/update-function.js +0 -65
- package/skills_ref/whatsapp/scripts/update-graph.js +0 -154
- package/skills_ref/whatsapp/scripts/update-integration.js +0 -82
- package/skills_ref/whatsapp/scripts/update-row.js +0 -51
- package/skills_ref/whatsapp/scripts/update-trigger.js +0 -60
- package/skills_ref/whatsapp/scripts/update-workflow-settings.js +0 -67
- package/skills_ref/whatsapp/scripts/upsert-row.js +0 -64
- package/skills_ref/whatsapp/scripts/validate-graph.js +0 -293
- package/skills_ref/whatsapp/scripts/variables-delete.js +0 -37
- package/skills_ref/whatsapp/scripts/variables-list.js +0 -55
- package/skills_ref/whatsapp/scripts/variables-set.js +0 -39
- package/skills_ref/writing-plans/SKILL.md +0 -116
- package/skills_ref/xlsx/LICENSE.txt +0 -30
- package/skills_ref/xlsx/SKILL.md +0 -292
- package/skills_ref/xlsx/scripts/office/helpers/__init__.py +0 -0
- package/skills_ref/xlsx/scripts/office/helpers/merge_runs.py +0 -199
- package/skills_ref/xlsx/scripts/office/helpers/simplify_redlines.py +0 -197
- package/skills_ref/xlsx/scripts/office/pack.py +0 -159
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/skills_ref/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/skills_ref/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/skills_ref/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/skills_ref/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/skills_ref/xlsx/scripts/office/schemas/mce/mc.xsd +0 -75
- package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
- package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
- package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
- package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/skills_ref/xlsx/scripts/office/soffice.py +0 -183
- package/skills_ref/xlsx/scripts/office/unpack.py +0 -132
- package/skills_ref/xlsx/scripts/office/validate.py +0 -111
- package/skills_ref/xlsx/scripts/office/validators/__init__.py +0 -15
- package/skills_ref/xlsx/scripts/office/validators/base.py +0 -847
- package/skills_ref/xlsx/scripts/office/validators/docx.py +0 -446
- package/skills_ref/xlsx/scripts/office/validators/pptx.py +0 -275
- package/skills_ref/xlsx/scripts/office/validators/redlining.py +0 -247
- package/skills_ref/xlsx/scripts/recalc.py +0 -184
- package/skills_ref/xurl/SKILL.md +0 -461
package/public/index.html
CHANGED
|
@@ -171,13 +171,13 @@
|
|
|
171
171
|
<div>
|
|
172
172
|
<label data-i18n="label.permissions">권한</label>
|
|
173
173
|
<div class="perm-toggle">
|
|
174
|
-
<span class="perm-btn active" style="cursor:default;
|
|
174
|
+
<span class="perm-btn active" style="cursor:default;width:100%;padding:6px 14px">⚡ Auto</span>
|
|
175
175
|
</div>
|
|
176
176
|
</div>
|
|
177
177
|
|
|
178
178
|
<div>
|
|
179
179
|
<label data-i18n="label.workingDir">작업 디렉토리</label>
|
|
180
|
-
<
|
|
180
|
+
<span id="inpCwd" class="cwd-display">~/.cli-jaw</span>
|
|
181
181
|
</div>
|
|
182
182
|
|
|
183
183
|
<hr style="border:none;border-top:1px solid var(--border);margin:4px 0">
|
|
@@ -130,7 +130,7 @@ export async function loadSettings() {
|
|
|
130
130
|
if (Array.from(selCli.options).some(o => o.value === s.cli)) {
|
|
131
131
|
selCli.value = s.cli;
|
|
132
132
|
}
|
|
133
|
-
document.getElementById('inpCwd').
|
|
133
|
+
document.getElementById('inpCwd').textContent = s.workingDir;
|
|
134
134
|
document.getElementById('headerCli').textContent = s.cli;
|
|
135
135
|
setPerm(s.permissions, false);
|
|
136
136
|
|
|
@@ -204,7 +204,6 @@ export async function installMcpGlobal() {
|
|
|
204
204
|
export async function updateSettings() {
|
|
205
205
|
const s = {
|
|
206
206
|
cli: document.getElementById('selCli').value,
|
|
207
|
-
workingDir: document.getElementById('inpCwd').value,
|
|
208
207
|
};
|
|
209
208
|
document.getElementById('headerCli').textContent = s.cli;
|
|
210
209
|
await apiJson('/api/settings', 'PUT', s);
|
package/public/js/main.js
CHANGED
|
@@ -106,7 +106,6 @@ document.querySelector('.sidebar-save-bar .btn-save').addEventListener('click',
|
|
|
106
106
|
document.getElementById('selCli').addEventListener('change', () => onCliChange());
|
|
107
107
|
document.getElementById('selModel').addEventListener('change', () => saveActiveCliSettings());
|
|
108
108
|
document.getElementById('selEffort').addEventListener('change', () => saveActiveCliSettings());
|
|
109
|
-
document.getElementById('inpCwd').addEventListener('change', updateSettings);
|
|
110
109
|
document.querySelector('[data-action="addEmployee"]').addEventListener('click', addEmployee);
|
|
111
110
|
|
|
112
111
|
// ── Employees (Event Delegation) ──
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = path.dirname(__filename);
|
|
8
|
+
const ROOT = path.resolve(__dirname, '..');
|
|
9
|
+
|
|
10
|
+
const checks = [
|
|
11
|
+
{
|
|
12
|
+
name: 'CLI registry has copilot',
|
|
13
|
+
file: 'src/cli-registry.js',
|
|
14
|
+
needle: 'copilot:',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'Server exposes /api/cli-registry',
|
|
18
|
+
file: 'server.js',
|
|
19
|
+
needle: "app.get('/api/cli-registry'",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Settings page includes copilot model select',
|
|
23
|
+
file: 'public/index.html',
|
|
24
|
+
needle: 'id="modelCopilot"',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'Frontend loads registry from API',
|
|
28
|
+
file: 'public/js/constants.js',
|
|
29
|
+
needle: "fetch('/api/cli-registry')",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'Employees UI uses dynamic CLI keys',
|
|
33
|
+
file: 'public/js/features/employees.js',
|
|
34
|
+
needle: 'getCliKeys()',
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const rows = checks.map((item) => {
|
|
39
|
+
const fullPath = path.join(ROOT, item.file);
|
|
40
|
+
const content = fs.existsSync(fullPath) ? fs.readFileSync(fullPath, 'utf8') : '';
|
|
41
|
+
const ok = content.includes(item.needle);
|
|
42
|
+
return { ...item, ok };
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
console.log('\nCopilot gap check\n');
|
|
46
|
+
for (const row of rows) {
|
|
47
|
+
const icon = row.ok ? 'OK' : 'MISSING';
|
|
48
|
+
console.log(`- ${icon}: ${row.name} (${row.file})`);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const failed = rows.filter(r => !r.ok);
|
|
52
|
+
if (failed.length) {
|
|
53
|
+
console.error(`\nMissing ${failed.length} required item(s).`);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
console.log('\nAll checks passed.');
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// ─── Offline Dependency Check ────────────────────────
|
|
3
|
+
// Phase 9.7 — package-lock.json 기반 오프라인 취약 버전 검증
|
|
4
|
+
// 네트워크 없이도 알려진 advisory 범위와 비교 가능
|
|
5
|
+
|
|
6
|
+
import fs from 'node:fs';
|
|
7
|
+
import path from 'node:path';
|
|
8
|
+
|
|
9
|
+
const lockPath = path.resolve('package-lock.json');
|
|
10
|
+
if (!fs.existsSync(lockPath)) {
|
|
11
|
+
console.error('[deps] package-lock.json not found');
|
|
12
|
+
process.exit(2);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const lock = JSON.parse(fs.readFileSync(lockPath, 'utf8'));
|
|
16
|
+
const pkgs = lock.packages || {};
|
|
17
|
+
|
|
18
|
+
function ver(p) { return pkgs[p]?.version || null; }
|
|
19
|
+
|
|
20
|
+
function semver(v) {
|
|
21
|
+
const m = String(v || '').match(/^(\d+)\.(\d+)\.(\d+)/);
|
|
22
|
+
return m ? [+m[1], +m[2], +m[3]] : null;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function lt(a, b) {
|
|
26
|
+
for (let i = 0; i < 3; i++) { if (a[i] !== b[i]) return a[i] < b[i]; }
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function gte(a, b) { return !lt(a, b); }
|
|
31
|
+
|
|
32
|
+
function inRange(v, lo, hi) {
|
|
33
|
+
const sv = semver(v);
|
|
34
|
+
return sv && gte(sv, semver(lo)) && lt(sv, semver(hi));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// ─── Advisory Rules ──────────────────────────────────
|
|
38
|
+
const rules = [
|
|
39
|
+
{
|
|
40
|
+
pkg: 'node_modules/ws',
|
|
41
|
+
test: v => inRange(v, '8.0.0', '8.17.1'),
|
|
42
|
+
adv: 'GHSA-3h5v-q93c-6h6q',
|
|
43
|
+
why: 'DoS via infinite loop',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
pkg: 'node_modules/node-fetch',
|
|
47
|
+
test: v => inRange(v, '3.0.0', '3.1.1') || lt(semver(v), semver('2.6.7')),
|
|
48
|
+
adv: 'GHSA-r683-j2x4-v87g',
|
|
49
|
+
why: 'header forwarding to third-party',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
pkg: 'node_modules/grammy/node_modules/node-fetch',
|
|
53
|
+
test: v => lt(semver(v), semver('2.6.7')),
|
|
54
|
+
adv: 'GHSA-r683-j2x4-v87g',
|
|
55
|
+
why: 'transitive dependency',
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
// ─── Check ───────────────────────────────────────────
|
|
60
|
+
let fail = 0;
|
|
61
|
+
for (const r of rules) {
|
|
62
|
+
const v = ver(r.pkg);
|
|
63
|
+
if (!v) {
|
|
64
|
+
console.log(`SKIP ${r.pkg} (not installed)`);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (r.test(v)) {
|
|
68
|
+
fail++;
|
|
69
|
+
console.error(`FAIL ${r.pkg}@${v} → ${r.adv} (${r.why})`);
|
|
70
|
+
} else {
|
|
71
|
+
console.log(`PASS ${r.pkg}@${v}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
process.exit(fail > 0 ? 1 : 0);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# ─── Online Dependency Check ─────────────────────────
|
|
3
|
+
# Phase 9.7 — npm audit + outdated + semgrep (네트워크 필요)
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
|
|
6
|
+
mkdir -p .artifacts
|
|
7
|
+
|
|
8
|
+
echo '[online] npm audit'
|
|
9
|
+
npm audit --json > .artifacts/npm-audit.json 2>&1 || {
|
|
10
|
+
echo '[online] audit failed (network or registry issue)'
|
|
11
|
+
cat .artifacts/npm-audit.json
|
|
12
|
+
# non-fatal — offline gate에서 이미 검증됨
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
echo '[online] npm outdated'
|
|
16
|
+
npm outdated --json > .artifacts/npm-outdated.json 2>&1 || true
|
|
17
|
+
|
|
18
|
+
if command -v semgrep >/dev/null; then
|
|
19
|
+
echo '[online] semgrep scan'
|
|
20
|
+
semgrep ci --json --json-output .artifacts/semgrep.json 2>/dev/null || true
|
|
21
|
+
semgrep ci --sarif --sarif-output .artifacts/semgrep.sarif 2>/dev/null || true
|
|
22
|
+
else
|
|
23
|
+
echo '[online] semgrep not installed — skipping'
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
echo '[online] done — check .artifacts/'
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Add dual-key i18n fields to skills registry.
|
|
3
|
+
|
|
4
|
+
For each skill:
|
|
5
|
+
- name_ko = current name
|
|
6
|
+
- name_en = English name
|
|
7
|
+
- desc_ko = current description
|
|
8
|
+
- desc_en = English description
|
|
9
|
+
- Preserves original name/description for backward compat
|
|
10
|
+
"""
|
|
11
|
+
import json
|
|
12
|
+
from pathlib import Path
|
|
13
|
+
|
|
14
|
+
REGISTRY = Path(__file__).resolve().parent.parent / 'skills_ref' / 'registry.json'
|
|
15
|
+
|
|
16
|
+
# Manual name translations (19 skills with Korean names)
|
|
17
|
+
NAME_EN = {
|
|
18
|
+
'himalaya': 'Email (Himalaya)',
|
|
19
|
+
'github': 'GitHub',
|
|
20
|
+
'skill-creator': 'Skill Creator',
|
|
21
|
+
'weather': 'Weather',
|
|
22
|
+
'video-frames': 'Video Frames',
|
|
23
|
+
'summarize': 'URL Summarizer',
|
|
24
|
+
'goplaces': 'Places Search',
|
|
25
|
+
'nano-banana-pro': 'Image Gen (Gemini)',
|
|
26
|
+
'browser': 'Browser Control',
|
|
27
|
+
'develop-web-game': 'Web Game Dev',
|
|
28
|
+
'figma-implement-design': 'Figma → Code',
|
|
29
|
+
'notion-knowledge-capture': 'Notion Knowledge Capture',
|
|
30
|
+
'notion-meeting-intelligence': 'Notion Meeting Intelligence',
|
|
31
|
+
'notion-research-documentation': 'Notion Research Documentation',
|
|
32
|
+
'notion-spec-to-implementation': 'Notion Spec → Tasks',
|
|
33
|
+
'sora': 'Sora Video',
|
|
34
|
+
'transcribe': 'Speech → Text',
|
|
35
|
+
'imagegen': 'Image Gen (OpenAI)',
|
|
36
|
+
'pdf': 'PDF Reader/Writer',
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
# Full description translations for all 107 skills
|
|
40
|
+
DESC_EN = {
|
|
41
|
+
'notion': 'Notion page/DB CRUD via curl API calls. Complements Codex notion-* skills.',
|
|
42
|
+
'trello': 'Trello board/list/card management via curl REST API.',
|
|
43
|
+
'obsidian': 'Obsidian vault note creation, search, and tag management.',
|
|
44
|
+
'things-mac': 'Things 3 todo add/complete/search. AppleScript + URL scheme.',
|
|
45
|
+
'apple-notes': 'Apple Notes create/search. AppleScript-based.',
|
|
46
|
+
'apple-reminders': 'Apple Reminders add/complete/list management. AppleScript-based.',
|
|
47
|
+
'apple-messages': 'Send iMessage/SMS via AppleScript.',
|
|
48
|
+
'linear': 'Linear issue/project/cycle management via GraphQL API.',
|
|
49
|
+
'bear': 'Bear note markdown editing/archiving. x-callback-url scheme.',
|
|
50
|
+
'google-calendar': 'gcalcli-based Google Calendar event CRUD.',
|
|
51
|
+
'himalaya': 'Terminal email read/write/reply/search. Gmail/Outlook supported.',
|
|
52
|
+
'gog': 'Gmail, Calendar, Drive, Sheets, Docs integrated management.',
|
|
53
|
+
'xurl': 'Tweet post/search/reply/DM/media upload.',
|
|
54
|
+
'telegram-send': 'Send voice/photo/document directly via Telegram local API.',
|
|
55
|
+
'github': 'GitHub gh CLI integration: issues, PRs, CI, code review, API + PR comments, CI debugging, auto-fix.',
|
|
56
|
+
'tmux': 'tmux session remote control. Send keystrokes + read output.',
|
|
57
|
+
'skill-creator': 'Auto-generate new SKILL.md. Template + guidelines provided.',
|
|
58
|
+
'weather': 'wttr.in weather/forecast lookup. No API key needed.',
|
|
59
|
+
'video-frames': 'Extract video frames/segments with ffmpeg.',
|
|
60
|
+
'summarize': 'Summarize URLs, YouTube videos, and files to text.',
|
|
61
|
+
'goplaces': 'Google Places API for location, reviews, and business hours search.',
|
|
62
|
+
'1password': '1Password CLI for password/document/OTP lookup.',
|
|
63
|
+
'nano-banana-pro': 'Generate/edit images with Gemini 3 Pro. Different model from Codex imagegen.',
|
|
64
|
+
'spotify-player': 'Spotify play/pause/search/playlist management.',
|
|
65
|
+
'openhue': 'Hue light/scene control. "Dim living room to 50%"',
|
|
66
|
+
'browser': 'Chrome browser automation. Identify elements via ref snapshots → click/type.',
|
|
67
|
+
'vision-click': 'Vision-based coordinate clicking. Codex CLI only. Screenshot → AI coordinate → pixel click.',
|
|
68
|
+
'tts': 'macOS say command text-to-speech. Multi-language, file output.',
|
|
69
|
+
'screen-capture': 'macOS screenshot/webcam/recording. Full/region/window/multi-monitor. Default fallback when tool-specific capture unavailable.',
|
|
70
|
+
'atlas': 'Control ChatGPT Atlas app. macOS only.',
|
|
71
|
+
'cloudflare-deploy': 'Deploy to Cloudflare Workers/Pages. wrangler CLI.',
|
|
72
|
+
'develop-web-game': 'Web game development + Playwright test loop.',
|
|
73
|
+
'figma-implement-design': 'Convert Figma designs to 1:1 code. Requires Figma MCP.',
|
|
74
|
+
'jupyter-notebook': '.ipynb create/edit. Bundled Python script.',
|
|
75
|
+
'netlify-deploy': 'Deploy Netlify sites. netlify CLI.',
|
|
76
|
+
'notion-knowledge-capture': 'Conversation → Notion wiki/FAQ/HOW-TO capture. Notion MCP.',
|
|
77
|
+
'notion-meeting-intelligence': 'Meeting prep (per-attendee context, agenda). Notion MCP.',
|
|
78
|
+
'notion-research-documentation': 'Notion multi-source → report/comparison synthesis. Notion MCP.',
|
|
79
|
+
'notion-spec-to-implementation': 'PRD/spec → implementation plan + auto task creation. Notion MCP.',
|
|
80
|
+
'render-deploy': 'Deploy Render services. Blueprint YAML.',
|
|
81
|
+
'sentry': 'Sentry issue/event lookup. Bundled Python script.',
|
|
82
|
+
'sora': 'Sora video generation/management. OpenAI API.',
|
|
83
|
+
'speech': 'OpenAI TTS voice synthesis. Bundled Python script.',
|
|
84
|
+
'transcribe': 'OpenAI Whisper speech-to-text + speaker diarization.',
|
|
85
|
+
'vercel-deploy': 'Vercel project deployment.',
|
|
86
|
+
'memory': 'Long-term memory across sessions. Stored in markdown files, grep search.',
|
|
87
|
+
'imagegen': 'Generate/edit images via OpenAI Images API.',
|
|
88
|
+
'openai-docs': 'OpenAI product/API official documentation reference. Build guides.',
|
|
89
|
+
'pdf': 'PDF read/create/edit/review. reportlab/pdfplumber/pypdf + nano-pdf natural language editing.',
|
|
90
|
+
'frontend-design': 'Unique, production-grade frontend UI/page design and implementation.',
|
|
91
|
+
'docx': '.docx document create/edit/read. Visual verification (soffice→PDF→PNG), tracked changes, python-docx.',
|
|
92
|
+
'xlsx': '.xlsx/.xlsm/.csv/.tsv file create/edit/analyze/format. Includes pandas data analysis.',
|
|
93
|
+
'webapp-testing': 'Playwright-based web app interaction/verification/debugging test skill.',
|
|
94
|
+
'mcp-builder': 'Design/implement MCP servers for external API integration.',
|
|
95
|
+
'pptx': 'Presentation (.pptx) create/edit/analyze skill.',
|
|
96
|
+
'doc-coauthoring': 'Structured planning/spec/document co-authoring workflow skill.',
|
|
97
|
+
'web-artifacts-builder': 'React/Tailwind complex web artifact creation skill.',
|
|
98
|
+
'theme-factory': 'Apply reusable themes to document/slide/HTML outputs.',
|
|
99
|
+
'web-routing': 'Guide skill for routing browser requests to browser/webapp-testing.',
|
|
100
|
+
'algorithmic-art': 'p5.js generative art. Algorithm-based visual artwork creation.',
|
|
101
|
+
'canvas-design': 'Create PNG/PDF visual designs via Canvas API.',
|
|
102
|
+
'react-best-practices': 'React code patterns, performance optimization, component design best practices.',
|
|
103
|
+
'web-perf': 'Core Web Vitals audit. Lighthouse/CrUX-based performance analysis.',
|
|
104
|
+
'agents-sdk': 'Cloudflare Workers AI Agents SDK usage guide.',
|
|
105
|
+
'durable-objects': 'Cloudflare Durable Objects (RPC+SQLite+WebSocket) stateful workers.',
|
|
106
|
+
'static-analysis': 'CodeQL+Semgrep+SARIF static security analysis.',
|
|
107
|
+
'insecure-defaults': 'Detect hardcoded secrets, weak crypto, and insecure defaults.',
|
|
108
|
+
'modern-python': 'uv+ruff+ty+pytest Python best practices.',
|
|
109
|
+
'differential-review': 'Security-focused diff review. Analyze security impact of code changes.',
|
|
110
|
+
'property-based-testing': 'Multi-language property-based testing (Hypothesis/fast-check etc.).',
|
|
111
|
+
'security-best-practices': 'Language-specific security vulnerability pattern review.',
|
|
112
|
+
'security-ownership-map': 'Codebase owner/bus-factor mapping.',
|
|
113
|
+
'security-threat-model': 'Per-repo threat model generation (STRIDE/DREAD).',
|
|
114
|
+
'hugging-face-cli': 'HF Hub CLI for model/dataset/space management.',
|
|
115
|
+
'hugging-face-model-trainer': 'TRL: SFT/DPO/GRPO model training.',
|
|
116
|
+
'hugging-face-evaluation': 'vLLM/lighteval model evaluation and benchmarks.',
|
|
117
|
+
'fal-image-edit': 'fal.ai AI image editing (style transfer, object removal).',
|
|
118
|
+
'brainstorming': 'Pre-coding idea refinement → design document creation (obra/superpowers).',
|
|
119
|
+
'writing-plans': '2-5 minute task decomposition. File paths/code/verification included.',
|
|
120
|
+
'tdd': 'RED-GREEN-REFACTOR TDD cycle enforcement.',
|
|
121
|
+
'requesting-code-review': 'Internal agent code review. Severity-based blocking.',
|
|
122
|
+
'receiving-code-review': 'Code review feedback reception and response patterns.',
|
|
123
|
+
'dispatching-parallel-agents': 'Parallel sub-agent dispatch patterns.',
|
|
124
|
+
'debugging-helpers': 'Systematic debugging helpers.',
|
|
125
|
+
'git-worktrees': 'git worktree-based isolated branch workflow.',
|
|
126
|
+
'codebase-orientation': 'Project entrypoint/module/build mapping. Onboarding guide.',
|
|
127
|
+
'debugging-checklist': 'Reproduce → isolate → log → hypothesis verification debugging checklist.',
|
|
128
|
+
'error-message-explainer': 'Compiler/runtime error → cause + fix suggestions.',
|
|
129
|
+
'config-file-explainer': 'Config file structure/keys/defaults explanation.',
|
|
130
|
+
'data-structure-chooser': 'Data structure time/space tradeoff recommendations.',
|
|
131
|
+
'log-summarizer': 'Log grouping + first failure identification + action suggestions.',
|
|
132
|
+
'linter-fix-guide': 'Lint rule explanation + pattern examples + minimal fix suggestions.',
|
|
133
|
+
'dependency-install-helper': 'Platform-specific dependency installation steps + verification commands.',
|
|
134
|
+
'changelog-generator': 'git commit → changelog/release notes generation.',
|
|
135
|
+
'video-downloader': 'yt-dlp wrapper. YouTube/media download.',
|
|
136
|
+
'email-draft-polish': 'Email draft tone adjustment/formatting.',
|
|
137
|
+
'postgres': 'PostgreSQL read-only queries. Schema exploration.',
|
|
138
|
+
'deep-research': 'Multi-step research agent. Search → analyze → summarize.',
|
|
139
|
+
'context-compression': 'Context compression strategies. Long session optimization.',
|
|
140
|
+
'ios-simulator': 'iOS Simulator control. App build/run/test.',
|
|
141
|
+
'apple-hig-skills': 'Apple HIG 14 guides (foundations/platforms/components/patterns).',
|
|
142
|
+
'whatsapp': 'WhatsApp message automation (automate-whatsapp).',
|
|
143
|
+
'aws-skills': 'AWS infrastructure automation (CDK/CloudFormation/Lambda).',
|
|
144
|
+
'terraform': 'HashiCorp Terraform HCL/modules/providers IaC.',
|
|
145
|
+
'kreuzberg': '62+ format text extraction (PDF/DOCX/PPTX/images etc.).',
|
|
146
|
+
'dev': 'Common development guide. Modular dev, self-reference patterns, skills_ref exploration, changelog.',
|
|
147
|
+
'dev-frontend': 'Frontend role guide. Unique UI/UX implementation, component design, aesthetic standards.',
|
|
148
|
+
'dev-backend': 'Backend role guide. Express.js patterns, SQLite, error handling, security basics.',
|
|
149
|
+
'dev-data': 'Data role guide. ETL pipelines, CSV/JSON processing, SQL queries, analysis.',
|
|
150
|
+
'dev-testing': 'Debugging phase only. Playwright web app testing, recon-action pattern.',
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
def main():
|
|
154
|
+
with open(REGISTRY) as f:
|
|
155
|
+
data = json.load(f)
|
|
156
|
+
|
|
157
|
+
skills = data['skills']
|
|
158
|
+
updated = 0
|
|
159
|
+
|
|
160
|
+
for skill_id, skill in skills.items():
|
|
161
|
+
name = skill.get('name', skill_id)
|
|
162
|
+
desc = skill.get('description', '')
|
|
163
|
+
|
|
164
|
+
# Set ko fields
|
|
165
|
+
skill['name_ko'] = name
|
|
166
|
+
skill['desc_ko'] = desc
|
|
167
|
+
|
|
168
|
+
# Set en fields
|
|
169
|
+
has_ko_name = any('\uac00' <= c <= '\ud7af' for c in name)
|
|
170
|
+
if has_ko_name:
|
|
171
|
+
skill['name_en'] = NAME_EN.get(skill_id, name)
|
|
172
|
+
else:
|
|
173
|
+
skill['name_en'] = name
|
|
174
|
+
|
|
175
|
+
skill['desc_en'] = DESC_EN.get(skill_id, desc)
|
|
176
|
+
updated += 1
|
|
177
|
+
|
|
178
|
+
# Reorder keys: keep original order, insert i18n fields after description
|
|
179
|
+
new_skills = {}
|
|
180
|
+
for skill_id, skill in skills.items():
|
|
181
|
+
ordered = {}
|
|
182
|
+
for k, v in skill.items():
|
|
183
|
+
ordered[k] = v
|
|
184
|
+
if k == 'name':
|
|
185
|
+
ordered['name_ko'] = skill['name_ko']
|
|
186
|
+
ordered['name_en'] = skill['name_en']
|
|
187
|
+
elif k == 'description':
|
|
188
|
+
ordered['desc_ko'] = skill['desc_ko']
|
|
189
|
+
ordered['desc_en'] = skill['desc_en']
|
|
190
|
+
# Remove duplicates from natural ordering
|
|
191
|
+
new_skills[skill_id] = ordered
|
|
192
|
+
|
|
193
|
+
data['skills'] = new_skills
|
|
194
|
+
|
|
195
|
+
with open(REGISTRY, 'w') as f:
|
|
196
|
+
json.dump(data, f, indent=4, ensure_ascii=False)
|
|
197
|
+
|
|
198
|
+
print(f'Updated {updated} skills with i18n fields')
|
|
199
|
+
|
|
200
|
+
# Verify
|
|
201
|
+
missing_en = [k for k, v in new_skills.items() if not v.get('desc_en')]
|
|
202
|
+
if missing_en:
|
|
203
|
+
print(f'WARNING: {len(missing_en)} skills missing desc_en: {missing_en}')
|
|
204
|
+
else:
|
|
205
|
+
print('All skills have desc_en ✓')
|
|
206
|
+
|
|
207
|
+
if __name__ == '__main__':
|
|
208
|
+
main()
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* postinstall-guard.cjs — Cross-platform guard for postinstall.
|
|
4
|
+
*
|
|
5
|
+
* 1. Node version check (fail-fast before any build attempt)
|
|
6
|
+
* 2. dist/bin/postinstall.js exists? → exit 0
|
|
7
|
+
* 3. Dev clone fallback: local tsc → build → exit 0
|
|
8
|
+
* - No local tsc → exit 1 with clear instruction
|
|
9
|
+
* - tsc fails → exit 1
|
|
10
|
+
*
|
|
11
|
+
* Intentionally CommonJS (.cjs) — runs without compilation,
|
|
12
|
+
* cross-platform (Windows cmd.exe compatible).
|
|
13
|
+
*/
|
|
14
|
+
const fs = require('fs');
|
|
15
|
+
const { execFileSync } = require('child_process');
|
|
16
|
+
const path = require('path');
|
|
17
|
+
|
|
18
|
+
// ─── 1. Node version fail-fast ──────────────────────
|
|
19
|
+
const major = parseInt(process.versions.node.split('.')[0], 10);
|
|
20
|
+
if (major < 22) {
|
|
21
|
+
console.error(`[jaw:init] ❌ Node.js >= 22 required (current: ${process.version})`);
|
|
22
|
+
console.error(`[jaw:init] Install: https://nodejs.org or nvm install 22`);
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// ─── 2. dist/ exists? ───────────────────────────────
|
|
27
|
+
const root = path.join(__dirname, '..');
|
|
28
|
+
const target = path.join(root, 'dist', 'bin', 'postinstall.js');
|
|
29
|
+
|
|
30
|
+
if (fs.existsSync(target)) {
|
|
31
|
+
// Registry install or already built — proceed directly
|
|
32
|
+
process.exit(0);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// ─── 3. Dev clone: build with local tsc ─────────────
|
|
36
|
+
// Check both unix and Windows (.cmd) shim paths
|
|
37
|
+
const binDir = path.join(root, 'node_modules', '.bin');
|
|
38
|
+
const localTsc = [
|
|
39
|
+
path.join(binDir, 'tsc'),
|
|
40
|
+
path.join(binDir, 'tsc.cmd'),
|
|
41
|
+
path.join(binDir, 'tsc.ps1'),
|
|
42
|
+
].find(p => fs.existsSync(p));
|
|
43
|
+
|
|
44
|
+
if (!localTsc) {
|
|
45
|
+
console.error('[jaw:init] ❌ dist/ not found and typescript not installed locally');
|
|
46
|
+
console.error(' Run: npm install --ignore-scripts && npm run build && node dist/bin/postinstall.js');
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
console.log('[jaw:init] dist/ not found, building...');
|
|
51
|
+
try {
|
|
52
|
+
// execFileSync avoids shell parsing issues with spaces in paths
|
|
53
|
+
execFileSync(localTsc, [], { stdio: 'inherit', cwd: root, timeout: 60000 });
|
|
54
|
+
} catch {
|
|
55
|
+
console.error('[jaw:init] ❌ build failed — run manually:');
|
|
56
|
+
console.error(' npm run build && node dist/bin/postinstall.js');
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (!fs.existsSync(target)) {
|
|
61
|
+
console.error('[jaw:init] ❌ tsc completed but dist/bin/postinstall.js not found');
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# release.sh — 빌드 + 버전업 + npm publish를 한 번에 처리
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
echo "🦈 cli-jaw release script"
|
|
6
|
+
echo "========================="
|
|
7
|
+
|
|
8
|
+
# 1. TypeScript 빌드
|
|
9
|
+
echo "📦 Building backend (tsc)..."
|
|
10
|
+
./node_modules/.bin/tsc
|
|
11
|
+
|
|
12
|
+
# 2. Frontend 번들링
|
|
13
|
+
echo "📦 Building frontend (esbuild)..."
|
|
14
|
+
node esbuild.config.mjs
|
|
15
|
+
|
|
16
|
+
# 3. 버전 bump (patch)
|
|
17
|
+
BUMP=${1:-patch} # 기본 patch, 인자로 minor/major 가능
|
|
18
|
+
echo "⬆️ Version bump: $BUMP"
|
|
19
|
+
npm version "$BUMP" --no-git-tag-version
|
|
20
|
+
|
|
21
|
+
VERSION=$(node -p "require('./package.json').version")
|
|
22
|
+
echo "📌 New version: $VERSION"
|
|
23
|
+
|
|
24
|
+
# 4. npm publish
|
|
25
|
+
echo "🚀 Publishing to npm..."
|
|
26
|
+
npm publish --access public
|
|
27
|
+
|
|
28
|
+
echo ""
|
|
29
|
+
echo "✅ cli-jaw@$VERSION published!"
|
|
30
|
+
echo " Install: npm install -g cli-jaw"
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 1password
|
|
3
|
-
description: Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
|
|
4
|
-
homepage: https://developer.1password.com/docs/cli/get-started/
|
|
5
|
-
metadata:
|
|
6
|
-
{
|
|
7
|
-
"openclaw":
|
|
8
|
-
{
|
|
9
|
-
"emoji": "🔐",
|
|
10
|
-
"requires": { "bins": ["op"] },
|
|
11
|
-
"install":
|
|
12
|
-
[
|
|
13
|
-
{
|
|
14
|
-
"id": "brew",
|
|
15
|
-
"kind": "brew",
|
|
16
|
-
"formula": "1password-cli",
|
|
17
|
-
"bins": ["op"],
|
|
18
|
-
"label": "Install 1Password CLI (brew)",
|
|
19
|
-
},
|
|
20
|
-
],
|
|
21
|
-
},
|
|
22
|
-
}
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
# 1Password CLI
|
|
26
|
-
|
|
27
|
-
Follow the official CLI get-started steps. Don't guess install commands.
|
|
28
|
-
|
|
29
|
-
## References
|
|
30
|
-
|
|
31
|
-
- `references/get-started.md` (install + app integration + sign-in flow)
|
|
32
|
-
- `references/cli-examples.md` (real `op` examples)
|
|
33
|
-
|
|
34
|
-
## Workflow
|
|
35
|
-
|
|
36
|
-
1. Check OS + shell.
|
|
37
|
-
2. Verify CLI present: `op --version`.
|
|
38
|
-
3. Confirm desktop app integration is enabled (per get-started) and the app is unlocked.
|
|
39
|
-
4. REQUIRED: create a fresh tmux session for all `op` commands (no direct `op` calls outside tmux).
|
|
40
|
-
5. Sign in / authorize inside tmux: `op signin` (expect app prompt).
|
|
41
|
-
6. Verify access inside tmux: `op whoami` (must succeed before any secret read).
|
|
42
|
-
7. If multiple accounts: use `--account` or `OP_ACCOUNT`.
|
|
43
|
-
|
|
44
|
-
## REQUIRED tmux session (T-Max)
|
|
45
|
-
|
|
46
|
-
The shell tool uses a fresh TTY per command. To avoid re-prompts and failures, always run `op` inside a dedicated tmux session with a fresh socket/session name.
|
|
47
|
-
|
|
48
|
-
Example (see `tmux` skill for socket conventions, do not reuse old session names):
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
SOCKET_DIR="${OPENCLAW_TMUX_SOCKET_DIR:-${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/openclaw-tmux-sockets}}"
|
|
52
|
-
mkdir -p "$SOCKET_DIR"
|
|
53
|
-
SOCKET="$SOCKET_DIR/openclaw-op.sock"
|
|
54
|
-
SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"
|
|
55
|
-
|
|
56
|
-
tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
|
|
57
|
-
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op signin --account my.1password.com" Enter
|
|
58
|
-
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op whoami" Enter
|
|
59
|
-
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op vault list" Enter
|
|
60
|
-
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
|
|
61
|
-
tmux -S "$SOCKET" kill-session -t "$SESSION"
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Guardrails
|
|
65
|
-
|
|
66
|
-
- Never paste secrets into logs, chat, or code.
|
|
67
|
-
- Prefer `op run` / `op inject` over writing secrets to disk.
|
|
68
|
-
- If sign-in without app integration is needed, use `op account add`.
|
|
69
|
-
- If a command returns "account is not signed in", re-run `op signin` inside tmux and authorize in the app.
|
|
70
|
-
- Do not run `op` outside tmux; stop and ask if tmux is unavailable.
|