From cfec837876ad6b7d7cd7ad58c914cdcb626bd34d Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Thu, 19 Mar 2026 14:50:37 +0100 Subject: [PATCH] build(packaging): add .skill/.zip artifacts, bundle, and packages index --- package/PACKAGES_INDEX.md | 69 ++++++++++++++++++ .../bundles/mechanical-skills-collection.zip | Bin 0 -> 50884 bytes .../per-skill/bearings-seals-selection.skill | Bin 0 -> 1469 bytes .../per-skill/bearings-seals-selection.zip | Bin 0 -> 1469 bytes package/per-skill/calculation-report.skill | Bin 0 -> 1453 bytes package/per-skill/calculation-report.zip | Bin 0 -> 1453 bytes .../per-skill/cnc-sheet-casting-forging.skill | Bin 0 -> 1487 bytes .../per-skill/cnc-sheet-casting-forging.zip | Bin 0 -> 1487 bytes package/per-skill/design-review-fmea.skill | Bin 0 -> 1471 bytes package/per-skill/design-review-fmea.zip | Bin 0 -> 1471 bytes package/per-skill/dfm-dfa-review.skill | Bin 0 -> 1472 bytes package/per-skill/dfm-dfa-review.zip | Bin 0 -> 1472 bytes .../dynamics-vibrations-analysis.skill | Bin 0 -> 1481 bytes .../dynamics-vibrations-analysis.zip | Bin 0 -> 1481 bytes .../energy-efficiency-analysis.skill | Bin 0 -> 1477 bytes .../per-skill/energy-efficiency-analysis.zip | Bin 0 -> 1477 bytes .../failure-root-cause-analysis.skill | Bin 0 -> 1471 bytes .../per-skill/failure-root-cause-analysis.zip | Bin 0 -> 1471 bytes .../per-skill/fatigue-fracture-analysis.skill | Bin 0 -> 1508 bytes .../per-skill/fatigue-fracture-analysis.zip | Bin 0 -> 1508 bytes package/per-skill/fea-cfd-review.skill | Bin 0 -> 1466 bytes package/per-skill/fea-cfd-review.zip | Bin 0 -> 1466 bytes package/per-skill/fluid-analysis.skill | Bin 0 -> 1472 bytes package/per-skill/fluid-analysis.zip | Bin 0 -> 1472 bytes package/per-skill/gear-design.skill | Bin 0 -> 1470 bytes package/per-skill/gear-design.zip | Bin 0 -> 1470 bytes package/per-skill/heat-treatment.skill | Bin 0 -> 1476 bytes package/per-skill/heat-treatment.zip | Bin 0 -> 1476 bytes package/per-skill/joints-design.skill | Bin 0 -> 1470 bytes package/per-skill/joints-design.zip | Bin 0 -> 1470 bytes .../machine-elements-selection.skill | Bin 0 -> 1491 bytes .../per-skill/machine-elements-selection.zip | Bin 0 -> 1491 bytes .../per-skill/material-failure-modes.skill | Bin 0 -> 1465 bytes package/per-skill/material-failure-modes.zip | Bin 0 -> 1465 bytes package/per-skill/materials-metallurgy.skill | Bin 0 -> 1476 bytes package/per-skill/materials-metallurgy.zip | Bin 0 -> 1476 bytes .../per-skill/mechanical-orchestrator.skill | Bin 0 -> 1544 bytes package/per-skill/mechanical-orchestrator.zip | Bin 0 -> 1544 bytes package/per-skill/modal-analysis.skill | Bin 0 -> 1461 bytes package/per-skill/modal-analysis.zip | Bin 0 -> 1461 bytes .../per-skill/pressure-loss-pump-piping.skill | Bin 0 -> 1471 bytes .../per-skill/pressure-loss-pump-piping.zip | Bin 0 -> 1471 bytes package/per-skill/process-selection.skill | Bin 0 -> 1474 bytes package/per-skill/process-selection.zip | Bin 0 -> 1474 bytes .../per-skill/quality-metrology-plan.skill | Bin 0 -> 1473 bytes package/per-skill/quality-metrology-plan.zip | Bin 0 -> 1473 bytes package/per-skill/reliability-analysis.skill | Bin 0 -> 1476 bytes package/per-skill/reliability-analysis.zip | Bin 0 -> 1476 bytes .../per-skill/shafts-couplings-design.skill | Bin 0 -> 1473 bytes package/per-skill/shafts-couplings-design.zip | Bin 0 -> 1473 bytes .../per-skill/should-cost-estimation.skill | Bin 0 -> 1467 bytes package/per-skill/should-cost-estimation.zip | Bin 0 -> 1467 bytes package/per-skill/spring-design.skill | Bin 0 -> 1456 bytes package/per-skill/spring-design.zip | Bin 0 -> 1456 bytes .../standards-compliance-check.skill | Bin 0 -> 1523 bytes .../per-skill/standards-compliance-check.zip | Bin 0 -> 1523 bytes package/per-skill/structural-analysis.skill | Bin 0 -> 1489 bytes package/per-skill/structural-analysis.zip | Bin 0 -> 1489 bytes package/per-skill/technical-report.skill | Bin 0 -> 1446 bytes package/per-skill/technical-report.zip | Bin 0 -> 1446 bytes package/per-skill/test-plan-validation.skill | Bin 0 -> 1464 bytes package/per-skill/test-plan-validation.zip | Bin 0 -> 1464 bytes package/per-skill/thermal-analysis.skill | Bin 0 -> 1474 bytes package/per-skill/thermal-analysis.zip | Bin 0 -> 1474 bytes .../per-skill/thermal-expansion-stress.skill | Bin 0 -> 1461 bytes .../per-skill/thermal-expansion-stress.zip | Bin 0 -> 1461 bytes package/per-skill/tolerance-gdt-fits.skill | Bin 0 -> 1479 bytes package/per-skill/tolerance-gdt-fits.zip | Bin 0 -> 1479 bytes package/per-skill/tribology-lubrication.skill | Bin 0 -> 1480 bytes package/per-skill/tribology-lubrication.zip | Bin 0 -> 1480 bytes package/upload-md/bearings-seals-selection.md | 65 +++++++++++++++++ package/upload-md/calculation-report.md | 65 +++++++++++++++++ .../upload-md/cnc-sheet-casting-forging.md | 65 +++++++++++++++++ package/upload-md/design-review-fmea.md | 65 +++++++++++++++++ package/upload-md/dfm-dfa-review.md | 65 +++++++++++++++++ .../upload-md/dynamics-vibrations-analysis.md | 65 +++++++++++++++++ .../upload-md/energy-efficiency-analysis.md | 65 +++++++++++++++++ .../upload-md/failure-root-cause-analysis.md | 65 +++++++++++++++++ .../upload-md/fatigue-fracture-analysis.md | 65 +++++++++++++++++ package/upload-md/fea-cfd-review.md | 65 +++++++++++++++++ package/upload-md/fluid-analysis.md | 65 +++++++++++++++++ package/upload-md/gear-design.md | 65 +++++++++++++++++ package/upload-md/heat-treatment.md | 65 +++++++++++++++++ package/upload-md/joints-design.md | 65 +++++++++++++++++ .../upload-md/machine-elements-selection.md | 65 +++++++++++++++++ package/upload-md/material-failure-modes.md | 65 +++++++++++++++++ package/upload-md/materials-metallurgy.md | 65 +++++++++++++++++ package/upload-md/mechanical-orchestrator.md | 65 +++++++++++++++++ package/upload-md/modal-analysis.md | 65 +++++++++++++++++ .../upload-md/pressure-loss-pump-piping.md | 65 +++++++++++++++++ package/upload-md/process-selection.md | 65 +++++++++++++++++ package/upload-md/quality-metrology-plan.md | 65 +++++++++++++++++ package/upload-md/reliability-analysis.md | 65 +++++++++++++++++ package/upload-md/shafts-couplings-design.md | 65 +++++++++++++++++ package/upload-md/should-cost-estimation.md | 65 +++++++++++++++++ package/upload-md/spring-design.md | 65 +++++++++++++++++ .../upload-md/standards-compliance-check.md | 65 +++++++++++++++++ package/upload-md/structural-analysis.md | 65 +++++++++++++++++ package/upload-md/technical-report.md | 65 +++++++++++++++++ package/upload-md/test-plan-validation.md | 65 +++++++++++++++++ package/upload-md/thermal-analysis.md | 65 +++++++++++++++++ package/upload-md/thermal-expansion-stress.md | 65 +++++++++++++++++ package/upload-md/tolerance-gdt-fits.md | 65 +++++++++++++++++ package/upload-md/tribology-lubrication.md | 65 +++++++++++++++++ 104 files changed, 2279 insertions(+) create mode 100644 package/PACKAGES_INDEX.md create mode 100644 package/bundles/mechanical-skills-collection.zip create mode 100644 package/per-skill/bearings-seals-selection.skill create mode 100644 package/per-skill/bearings-seals-selection.zip create mode 100644 package/per-skill/calculation-report.skill create mode 100644 package/per-skill/calculation-report.zip create mode 100644 package/per-skill/cnc-sheet-casting-forging.skill create mode 100644 package/per-skill/cnc-sheet-casting-forging.zip create mode 100644 package/per-skill/design-review-fmea.skill create mode 100644 package/per-skill/design-review-fmea.zip create mode 100644 package/per-skill/dfm-dfa-review.skill create mode 100644 package/per-skill/dfm-dfa-review.zip create mode 100644 package/per-skill/dynamics-vibrations-analysis.skill create mode 100644 package/per-skill/dynamics-vibrations-analysis.zip create mode 100644 package/per-skill/energy-efficiency-analysis.skill create mode 100644 package/per-skill/energy-efficiency-analysis.zip create mode 100644 package/per-skill/failure-root-cause-analysis.skill create mode 100644 package/per-skill/failure-root-cause-analysis.zip create mode 100644 package/per-skill/fatigue-fracture-analysis.skill create mode 100644 package/per-skill/fatigue-fracture-analysis.zip create mode 100644 package/per-skill/fea-cfd-review.skill create mode 100644 package/per-skill/fea-cfd-review.zip create mode 100644 package/per-skill/fluid-analysis.skill create mode 100644 package/per-skill/fluid-analysis.zip create mode 100644 package/per-skill/gear-design.skill create mode 100644 package/per-skill/gear-design.zip create mode 100644 package/per-skill/heat-treatment.skill create mode 100644 package/per-skill/heat-treatment.zip create mode 100644 package/per-skill/joints-design.skill create mode 100644 package/per-skill/joints-design.zip create mode 100644 package/per-skill/machine-elements-selection.skill create mode 100644 package/per-skill/machine-elements-selection.zip create mode 100644 package/per-skill/material-failure-modes.skill create mode 100644 package/per-skill/material-failure-modes.zip create mode 100644 package/per-skill/materials-metallurgy.skill create mode 100644 package/per-skill/materials-metallurgy.zip create mode 100644 package/per-skill/mechanical-orchestrator.skill create mode 100644 package/per-skill/mechanical-orchestrator.zip create mode 100644 package/per-skill/modal-analysis.skill create mode 100644 package/per-skill/modal-analysis.zip create mode 100644 package/per-skill/pressure-loss-pump-piping.skill create mode 100644 package/per-skill/pressure-loss-pump-piping.zip create mode 100644 package/per-skill/process-selection.skill create mode 100644 package/per-skill/process-selection.zip create mode 100644 package/per-skill/quality-metrology-plan.skill create mode 100644 package/per-skill/quality-metrology-plan.zip create mode 100644 package/per-skill/reliability-analysis.skill create mode 100644 package/per-skill/reliability-analysis.zip create mode 100644 package/per-skill/shafts-couplings-design.skill create mode 100644 package/per-skill/shafts-couplings-design.zip create mode 100644 package/per-skill/should-cost-estimation.skill create mode 100644 package/per-skill/should-cost-estimation.zip create mode 100644 package/per-skill/spring-design.skill create mode 100644 package/per-skill/spring-design.zip create mode 100644 package/per-skill/standards-compliance-check.skill create mode 100644 package/per-skill/standards-compliance-check.zip create mode 100644 package/per-skill/structural-analysis.skill create mode 100644 package/per-skill/structural-analysis.zip create mode 100644 package/per-skill/technical-report.skill create mode 100644 package/per-skill/technical-report.zip create mode 100644 package/per-skill/test-plan-validation.skill create mode 100644 package/per-skill/test-plan-validation.zip create mode 100644 package/per-skill/thermal-analysis.skill create mode 100644 package/per-skill/thermal-analysis.zip create mode 100644 package/per-skill/thermal-expansion-stress.skill create mode 100644 package/per-skill/thermal-expansion-stress.zip create mode 100644 package/per-skill/tolerance-gdt-fits.skill create mode 100644 package/per-skill/tolerance-gdt-fits.zip create mode 100644 package/per-skill/tribology-lubrication.skill create mode 100644 package/per-skill/tribology-lubrication.zip create mode 100644 package/upload-md/bearings-seals-selection.md create mode 100644 package/upload-md/calculation-report.md create mode 100644 package/upload-md/cnc-sheet-casting-forging.md create mode 100644 package/upload-md/design-review-fmea.md create mode 100644 package/upload-md/dfm-dfa-review.md create mode 100644 package/upload-md/dynamics-vibrations-analysis.md create mode 100644 package/upload-md/energy-efficiency-analysis.md create mode 100644 package/upload-md/failure-root-cause-analysis.md create mode 100644 package/upload-md/fatigue-fracture-analysis.md create mode 100644 package/upload-md/fea-cfd-review.md create mode 100644 package/upload-md/fluid-analysis.md create mode 100644 package/upload-md/gear-design.md create mode 100644 package/upload-md/heat-treatment.md create mode 100644 package/upload-md/joints-design.md create mode 100644 package/upload-md/machine-elements-selection.md create mode 100644 package/upload-md/material-failure-modes.md create mode 100644 package/upload-md/materials-metallurgy.md create mode 100644 package/upload-md/mechanical-orchestrator.md create mode 100644 package/upload-md/modal-analysis.md create mode 100644 package/upload-md/pressure-loss-pump-piping.md create mode 100644 package/upload-md/process-selection.md create mode 100644 package/upload-md/quality-metrology-plan.md create mode 100644 package/upload-md/reliability-analysis.md create mode 100644 package/upload-md/shafts-couplings-design.md create mode 100644 package/upload-md/should-cost-estimation.md create mode 100644 package/upload-md/spring-design.md create mode 100644 package/upload-md/standards-compliance-check.md create mode 100644 package/upload-md/structural-analysis.md create mode 100644 package/upload-md/technical-report.md create mode 100644 package/upload-md/test-plan-validation.md create mode 100644 package/upload-md/thermal-analysis.md create mode 100644 package/upload-md/thermal-expansion-stress.md create mode 100644 package/upload-md/tolerance-gdt-fits.md create mode 100644 package/upload-md/tribology-lubrication.md diff --git a/package/PACKAGES_INDEX.md b/package/PACKAGES_INDEX.md new file mode 100644 index 0000000..1c9d296 --- /dev/null +++ b/package/PACKAGES_INDEX.md @@ -0,0 +1,69 @@ +# PACKAGES INDEX + +- Generated: 2026-03-19 13:49:16 UTC +- Skills root: `/home/davide/cev-skills/skill` +- Valid skills packaged: 34 +- Package formats: `.skill` + `.zip` (per skill) +- Bundle: `mechanical-skills-collection.zip` +- Validation status: PASS + +## Included Skills + +- `bearings-seals-selection` (source dir: `bearings-seals-selection`, declared name: `bearings-seals-selection`) +- `calculation-report` (source dir: `calculation-report`, declared name: `calculation-report`) +- `cnc-sheet-casting-forging` (source dir: `cnc-sheet-casting-forging`, declared name: `cnc-sheet-casting-forging`) +- `design-review-fmea` (source dir: `design-review-fmea`, declared name: `design-review-fmea`) +- `dfm-dfa-review` (source dir: `dfm-dfa-review`, declared name: `dfm-dfa-review`) +- `dynamics-vibrations-analysis` (source dir: `dynamics-vibrations-analysis`, declared name: `dynamics-vibrations-analysis`) +- `energy-efficiency-analysis` (source dir: `energy-efficiency-analysis`, declared name: `energy-efficiency-analysis`) +- `failure-root-cause-analysis` (source dir: `failure-root-cause-analysis`, declared name: `failure-root-cause-analysis`) +- `fatigue-fracture-analysis` (source dir: `fatigue-fracture-analysis`, declared name: `fatigue-fracture-analysis`) +- `fea-cfd-review` (source dir: `fea-cfd-review`, declared name: `fea-cfd-review`) +- `fluid-analysis` (source dir: `fluid-analysis`, declared name: `fluid-analysis`) +- `gear-design` (source dir: `gear-design`, declared name: `gear-design`) +- `heat-treatment` (source dir: `heat-treatment`, declared name: `heat-treatment`) +- `joints-design` (source dir: `joints-design`, declared name: `joints-design`) +- `machine-elements-selection` (source dir: `machine-elements-selection`, declared name: `machine-elements-selection`) +- `material-failure-modes` (source dir: `material-failure-modes`, declared name: `material-failure-modes`) +- `materials-metallurgy` (source dir: `materials-metallurgy`, declared name: `materials-metallurgy`) +- `mechanical-orchestrator` (source dir: `mechanical-orchestrator`, declared name: `mechanical-orchestrator`) +- `modal-analysis` (source dir: `modal-analysis`, declared name: `modal-analysis`) +- `pressure-loss-pump-piping` (source dir: `pressure-loss-pump-piping`, declared name: `pressure-loss-pump-piping`) +- `process-selection` (source dir: `process-selection`, declared name: `process-selection`) +- `quality-metrology-plan` (source dir: `quality-metrology-plan`, declared name: `quality-metrology-plan`) +- `reliability-analysis` (source dir: `reliability-analysis`, declared name: `reliability-analysis`) +- `shafts-couplings-design` (source dir: `shafts-couplings-design`, declared name: `shafts-couplings-design`) +- `should-cost-estimation` (source dir: `should-cost-estimation`, declared name: `should-cost-estimation`) +- `spring-design` (source dir: `spring-design`, declared name: `spring-design`) +- `standards-compliance-check` (source dir: `standards-compliance-check`, declared name: `standards-compliance-check`) +- `structural-analysis` (source dir: `structural-analysis`, declared name: `structural-analysis`) +- `technical-report` (source dir: `technical-report`, declared name: `technical-report`) +- `test-plan-validation` (source dir: `test-plan-validation`, declared name: `test-plan-validation`) +- `thermal-analysis` (source dir: `thermal-analysis`, declared name: `thermal-analysis`) +- `thermal-expansion-stress` (source dir: `thermal-expansion-stress`, declared name: `thermal-expansion-stress`) +- `tolerance-gdt-fits` (source dir: `tolerance-gdt-fits`, declared name: `tolerance-gdt-fits`) +- `tribology-lubrication` (source dir: `tribology-lubrication`, declared name: `tribology-lubrication`) + +## Warnings + +- None + +## Skipped + +- None + +## Validation + +- [x] package count check: expected 68, found 68 +- [x] bearings-seals-selection.skill: OK +- [x] bearings-seals-selection.zip: OK +- [x] calculation-report.skill: OK +- [x] calculation-report.zip: OK +- [x] cnc-sheet-casting-forging.skill: OK +- [x] cnc-sheet-casting-forging.zip: OK +- [x] bundle contains all valid skill directories + +## Output Paths + +- `packages/per-skill/` +- `packages/bundles/` diff --git a/package/bundles/mechanical-skills-collection.zip b/package/bundles/mechanical-skills-collection.zip new file mode 100644 index 0000000000000000000000000000000000000000..66ff2f08e1efade688584b8c5f44e1bb3b7afdb7 GIT binary patch literal 50884 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 literal 0 HcmV?d00001 diff --git a/package/per-skill/bearings-seals-selection.skill b/package/per-skill/bearings-seals-selection.skill new file mode 100644 index 0000000000000000000000000000000000000000..c0fd0c726ef0bea785af18f7d54c0631a0b3aa77 GIT binary patch literal 1469 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 ZP)h{{000000RRC2HUIzsa|HkZ001X|xMTnT literal 0 HcmV?d00001 diff --git a/package/per-skill/design-review-fmea.zip b/package/per-skill/design-review-fmea.zip new file mode 100644 index 0000000000000000000000000000000000000000..ef5f0faa9d7f9bc975b9b702b27c74fc262a5e37 GIT binary patch literal 1471 zcmV;w1wi^xO9KQH000080OVqGTx%Ide@z7d09y(G00;m808>jzOiV6qWNlVWZyPrd zz3;CekV^_^Wip&dGGU$xMMy=L zU9YZ-m-b^doS>9g+8A0;uptFvW#FdK5A}({OgSD`xBwqVZ79|9pF&}Dj>-f-Sh;`? zd=7e02Hi{*q>{1YXdJ1xv)+1}%RnnNpd`ryKTFj0SEPk_A~0fn@WKz4n0Ym$mw%;Flc*SD?fhkWZl19)EPcJK3SIMA(Pc-LHJ9HxA^i z1!(jTO%Nw}Eh9Pa={c*tcD8*>nU>nH2ap4tm9nlFkkoxS$@-*K0V+XJ6;p`un5@Wi zZ1U`zvGz2MtafMpPHzc25_>dozX-;ZD4<;ol&hLlm6CS6)3}h>n_)ErZ<8i!*_Udn zp+rEgT7JilCxWm5`d6u~N|qpZhy%q-=HYt_!LzHLntWkEphjw_jDZtut97v~D*^95 z-ttg5GXhyp)vO1YCGTs-2TFYbz1zeCl8zloH2q)d!0v~q5O$S0H*8XDZlHBywy?%L ziw~zpOW^+r4z%l$sdTDyut{$t!89OnC(~iFW@_uTu;7xk>}35C_Ani5>+i(=Vf=B{ zx!Zhx-2C;xleA6Q(~!R85%=+hg6}CU$dxz-;QbN<1U8G@vCLoJt(*PJFx>oWB)kZ) zHjP5E+*pSd0MbV3T@w$l|9R35Z-HR$Spq9{-A4H>_i`mWZ_lGi_Ch50ucg47erG9c z%z4*u>oc(+sZ<;$qrd}UvSFxCF!R*Ce=(@+cX3T7Hgv1;7{Nn+)^4-d{K-WEoH5~bz!OQVik|ruquvU&`!M$B3B@!$ zF$*)*n~7aorpDK7U7OIW<}vcrY14rR6#hdmFwXGi;3+T>^Y%P#WK3Gjef?q>1V1*J z)|U)dA#-ow?N>5TtDu-NQ^7ElNrYF8JPy%Nd2mhO0V^u=RKQLFt4*5G>Ft&S{sT}; z0Rj{Q6aWAK2ms__b6jf~Mt@BO003JG000O80000000000005+c00000Q%gxqOfGF? ZP)h{{000000RRC2HUIzsa|HkZ001X|xMTnT literal 0 HcmV?d00001 diff --git a/package/per-skill/dfm-dfa-review.skill b/package/per-skill/dfm-dfa-review.skill new file mode 100644 index 0000000000000000000000000000000000000000..8962a95a3479349215d5d6c580762ebcbe60e453 GIT binary patch literal 1472 zcmV;x1wZ;wO9KQH000080OVqGT#ZI{K28My080u000;m808>jzOiV6qWL;KGkJ~m7 zz3W#H$R!0V2Ti|#y*Zm~ut2t(ZW;tV($dIcO_3^xwB!BteKV9DCkF$vNDgP-y!S?J z+cv>YbYuEqYWu;qi4KmAO;6k)C z7F`8CCnOzurx(b957D9y%fuC?lCk5|c``32y9+Lt9_;8*(n5y5BwL>n&6I1TpCr_S z)iivqbM*tY6Y!>*3WbA9F-+3Kmzk!S5V9n!b}^;M8Xak7I{_EDK;v)b*@G;g>$hfO zA3B1XlN?~M19dMIvmFT4(AOEc+oj^>elWn-iWVlvtOP;7I}p4wOo5{Qnq9Too@@dM zCY$yKZK0IqvXcR8P-SiZmzegVist9Fxl1qtRpT|g|0~22bYUer55D29SA%sTiJV-A zJYTQP8(|g1JGcaz%{bk;*`rZY?4cgbX^atM!l^MrpIls4e5!Q7lmmj+Hx6gO=5_PS z+S~$UZo84XeXaQlPf?$Dz*A7-k?0JkuoHxMCV3nP3Iw;-&94X-CsCxa*#ILLL_S6n z7wE*6M72G|VE~dUP3Rwfvu=J{o4*R4+@QDuCCPvSgH{Lp=yEr^zKBE|JZ;_lE|-SR zgPgShiyop0>LuUHNY4lQn$5v_x4h#_b8XlskOQ36vTg+sZayYh6fS>0YgK`QlZJ{Z z#CT$-@*GHs+bV&W!9gIA7vsSC#W@(ZAb?$22$n&>Z1;LR4nmHo&R2q#Uh|73A+%YN zIyK_@+IooI@Up6@fzdJblx~E4ZyZ!EW_s@Is}8JLm<(wNS_)|OE74+Q-Q&9lG5iY+ zGEBO9bPtb|eF~xS=p#723^>5&#fB7*ANc~8@3%4TD_!oznZ(h+WfqEvu!1NKrv^tL zJwo;Z7kczX_;aqacWifw;1p1`*P$@FZd}%DVbQbp>FoF#_BftuzaQ20;rD5>x!HX9 zviaweOv`1G=2XP6=td^myDQl~5zok#BnII9h(3CnRO48dx3AZW=bH^K+-TcDCB;r+_oLC%8jgY z@PE@?cKxxw5DPlu;xP~v9;i{MYu>}bxp{Lno!qlpC5E_&)#8IA4vO=D2^Wu86hVBt zH^Sbkb8%!aTt{`K9ZqvKR4hvi9cZlHezuMXJ7jzm$QV+8qOS>0y7MP6YC#IczYQ!Ivd^Omcel@V5qz_ z^#ew#&|%lh_FJ8zRZv2iv0wt~_`%1FbQswWlEplN2coDfqd-3U1gvGe4BqZ`67YXe zO928D0~7!N00;o&Vsl)LMs_|<1poj`3IG5I00000000000001_fdBvi08>jzOiV6q aWKc^51^@s60096205$*s0CWWa0002(bg#4k literal 0 HcmV?d00001 diff --git a/package/per-skill/dfm-dfa-review.zip b/package/per-skill/dfm-dfa-review.zip new file mode 100644 index 0000000000000000000000000000000000000000..8962a95a3479349215d5d6c580762ebcbe60e453 GIT binary patch literal 1472 zcmV;x1wZ;wO9KQH000080OVqGT#ZI{K28My080u000;m808>jzOiV6qWL;KGkJ~m7 zz3W#H$R!0V2Ti|#y*Zm~ut2t(ZW;tV($dIcO_3^xwB!BteKV9DCkF$vNDgP-y!S?J z+cv>YbYuEqYWu;qi4KmAO;6k)C z7F`8CCnOzurx(b957D9y%fuC?lCk5|c``32y9+Lt9_;8*(n5y5BwL>n&6I1TpCr_S z)iivqbM*tY6Y!>*3WbA9F-+3Kmzk!S5V9n!b}^;M8Xak7I{_EDK;v)b*@G;g>$hfO zA3B1XlN?~M19dMIvmFT4(AOEc+oj^>elWn-iWVlvtOP;7I}p4wOo5{Qnq9Too@@dM zCY$yKZK0IqvXcR8P-SiZmzegVist9Fxl1qtRpT|g|0~22bYUer55D29SA%sTiJV-A zJYTQP8(|g1JGcaz%{bk;*`rZY?4cgbX^atM!l^MrpIls4e5!Q7lmmj+Hx6gO=5_PS z+S~$UZo84XeXaQlPf?$Dz*A7-k?0JkuoHxMCV3nP3Iw;-&94X-CsCxa*#ILLL_S6n z7wE*6M72G|VE~dUP3Rwfvu=J{o4*R4+@QDuCCPvSgH{Lp=yEr^zKBE|JZ;_lE|-SR zgPgShiyop0>LuUHNY4lQn$5v_x4h#_b8XlskOQ36vTg+sZayYh6fS>0YgK`QlZJ{Z z#CT$-@*GHs+bV&W!9gIA7vsSC#W@(ZAb?$22$n&>Z1;LR4nmHo&R2q#Uh|73A+%YN zIyK_@+IooI@Up6@fzdJblx~E4ZyZ!EW_s@Is}8JLm<(wNS_)|OE74+Q-Q&9lG5iY+ zGEBO9bPtb|eF~xS=p#723^>5&#fB7*ANc~8@3%4TD_!oznZ(h+WfqEvu!1NKrv^tL zJwo;Z7kczX_;aqacWifw;1p1`*P$@FZd}%DVbQbp>FoF#_BftuzaQ20;rD5>x!HX9 zviaweOv`1G=2XP6=td^myDQl~5zok#BnII9h(3CnRO48dx3AZW=bH^K+-TcDCB;r+_oLC%8jgY z@PE@?cKxxw5DPlu;xP~v9;i{MYu>}bxp{Lno!qlpC5E_&)#8IA4vO=D2^Wu86hVBt zH^Sbkb8%!aTt{`K9ZqvKR4hvi9cZlHezuMXJ7jzm$QV+8qOS>0y7MP6YC#IczYQ!Ivd^Omcel@V5qz_ z^#ew#&|%lh_FJ8zRZv2iv0wt~_`%1FbQswWlEplN2coDfqd-3U1gvGe4BqZ`67YXe zO928D0~7!N00;o&Vsl)LMs_|<1poj`3IG5I00000000000001_fdBvi08>jzOiV6q aWKc^51^@s60096205$*s0CWWa0002(bg#4k literal 0 HcmV?d00001 diff --git a/package/per-skill/dynamics-vibrations-analysis.skill b/package/per-skill/dynamics-vibrations-analysis.skill new file mode 100644 index 0000000000000000000000000000000000000000..9e1495755474573e97aec3609dad0fe00191bd14 GIT binary patch literal 1481 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 K0GI^;0001!a={z` literal 0 HcmV?d00001 diff --git a/package/per-skill/fatigue-fracture-analysis.zip b/package/per-skill/fatigue-fracture-analysis.zip new file mode 100644 index 0000000000000000000000000000000000000000..624589601bac81e2403818e18fcf846884fc940f GIT binary patch literal 1508 zcmVjzOiV6qWL;LvZX7od zyw6t<@I?W3)`;^0bdzPv5MWu36vN1oB71fiamXSQMZda)vk~XC#>UGfmm|gBHWs}@oTnv}$rfpN+4Wx9iYTd7r%g;*ZOgT>! ziW*{4=4iY#%13Qo*lpF9Osb47tNiS|SBH@T?J40KshaVFPvV}e9{W#n$3_`k@T_(z z9?G~;6l_g87%c2{a{9?5jcN9-R7-Ln<&8R!w`)Zkg+!i`E5*}mTTO8|a?097#7Y5Y zkVsH&P=#_)Ru`?1r+1SpWVc-ppt@J5@~=?&%^KrsMXG!CO5H#GL%3s4-8=G*i^~*T zOufei9tE0F2WPZLDLWU45|B~3&T~u+Gy%xQNxPs9u8gXn;5_TZr~=?RNiUFcF6e+x zHuw6Vxdo(i42ZXp)>twwV`m?e!&$N_)-u!% ztdq8uV>|so->OT9c^f!ncOAV);c^yv6>c=4-Aw&|S(GGsYy^+?E744)Mf!md!(xDE*1#V>m$kbAy zuy-j2k;6ryX(ogOV?gSdQp^$^X%;;J7rsE^U(MjN5o(`0jD0m1)SUQ01|?AUQgPM; zp&I%=BX_-2+}#c*7Edl`Va1%HA@odWB|zbyGfK72d(z1tQC50ZmE}?RvZHd-j4E6E zzsB@D_;~1k-m(xTY4;D5{#Kb=Sj`D>-C@=>!2iOkmsANdRrajszHvFOF!eZ zaWizRrf4A<$!UxcWWuR2TG&T*Meu2Q0aNw}+P*lPam>d%T_ZV+675@$dmgI0U|(dq8&Y-Nc+c)0X;zBCxm<|YMb^bk!D1Nl)#az4=a z0%P=U`IZaKtznNK2RJKbT{9rL`<&oQxcp_+ssNRtsD|lcYb?*E6a&T-?(G?6usD(C zn~-}JVmAe0!D>j0Si*Ix{=Y0y{oFP+^&;VxW2^~St0l2x$MZtk58<}7T6yu_#lF!3zbV`JX^`#YWvCn^-Ub2DcPbL4%Jv~cM&c-<%3 zJ30VD&sHR2{y%46@AfIi=SG=Zu8&;}e9lZ07FS@^@$7Uwrx4OI$Iz#*%%QbT>$2V@ zf?Gh@UZ%n5%($$#!lKX8tJUfy>|tCy`d;iFMxWsD-POmhSARe9oLy#cNmT~eB~P~Z zXVQJ3JR?`)7=ZV4icr=hI>$19eY0JBUnb$z86B_)u-1_%%M0DG0zlq@;k%&j7uE3k zU#n<%3zYJ}+}~iC;6}$HR{r;7y-c16Ss>>yPb;SkO|g9+Obu zfg)wxeSnMS?(NxxaxY?+nBFW{ji*W+1m^)$E*`MRqIkT8J-X7g&aUhrw@_Bv;dE}M zie+x01C7PsSNn*t#EjPfk0S9X`i>A;T?n=NIP|B{#57%*g<%@Z$o4Gb;tO6h?q!)( z&0OTovy26vO!yDIz#PLHgYADL=Iv?B$b96Njy{_LF$|5Ds=Zve3K@9(8dBFXNt>XU zGGoOQlo5ni40jmW51hq3f(NW9epiWiFj&io8NA-@IN-lfO928D0~7!N00;o(Vsl&! zHp?<{1poku3IG5I00000000000001_fdBvi08>jzOiV6qWKc^51^@s60096205$*s K0GI^;0001!a={z` literal 0 HcmV?d00001 diff --git a/package/per-skill/fea-cfd-review.skill b/package/per-skill/fea-cfd-review.skill new file mode 100644 index 0000000000000000000000000000000000000000..4af43b7110d0aa0298a0db1f800f25f24066eb87 GIT binary patch literal 1466 zcmV;r1x5N$O9KQH000080OewHTs9;30!Re_07eP`00;m808>jzOiV6qWOY_uZ`?Kz zeAlm7ATKF!I-}_q;J1qt2L|FgwHpL|q^Z@3wL~iX@a6pLJG+#wmjVTBKqr#R-PxI0 zwQbvYGw~($Y+BoQZRBUiho<9Xqnon}{*tbu%g&mS>LP`nuHWx2uCCwF6gnOg8Q)QI zQyGn%ARD=Jk8X7NxTVjDDGx4DdUE4Phk-pmbHqEQlJH>CQ=%N`*^I6;na?97&Sk!c zoXVKfhU{R*k^P==D3wX`!|M>KW9vF5*CQ7*9uw}vpS(@jgR)F_+%_%hZC*+CB-!8B zVw+d5=tbGp37>YY~t*f33u?6s83 zrlsrRt^B}hSTWRC##)|Hsb%EmG5|AZ0Da&vagN6gF2Kv)SWdO>$4~^8BiZ0lT+O(p zkHK_gP2x(kuAo4Bv?J5&$?Uz$rQ;2CC`t3cV~M6dMV>j=NIyuZTcc@=wayJq#up@z zi#9U?X0EBQe|9nWNm}Sa~eVbnQ&?d9Xz18toT&LfGN)iTHipw>KM&WTUbs= zskH;!r&{wFo+7%@0Z&0G4a_T?!cGw4h2^nl2oK!aHa{a=m_&$VG6AEMDIWrb1v+sg z5o^bx?}4N$60$cQko~fyKMI~)uebsw$$)(Vt)B7Er@NEuib%x4&bH03a;di?$XN?8 z=pmZ0_~^Ne^t|V9d38WFzRYuN*aOG`&T3g#0!V5;MK}{Ke_6GvK*8~R#dL8%k>|u| zxLB3do|HwX_G>ZrC|k5yXLp-DXakUj+CaUs{oYH#iIh&du6c$Mfj2G59UC!zjo`%7 zmsL#>%nq^Rcqt@&>yVRp>Du87i-ZcypfV0LwKsRxeYI|lg?vJ;-6S6_rj zYn`1-W*-@j0d&@6_~R_i-}0*?s)7`|Cjl<}yrk zEMi=IDFf~OnSAd#&B&D{2H^b^1JpIC*0C&a-)tA}ryVZb{p%vK2(WhR1eN85a##T% z@9IRkTa+W~f3CujEl|t7@P9+skhS1@E4|$4&RZ~VZ%!9MA@|?wKsNm@I@sCMuHUvN zVnI*x8Ni*w16As*`v50T&D*mnF~dc)_+XF^7Qwm4qzeZuiZC8-V396Yy^AwD zNY3Y#b~v4?v0_oVYQCUU;b}CrQnCVBe-%G%M08mQ-0u%!j z000080OewHTs9;30!Re_07eP`00;m800000000000HlEc0000}OG!*jE^TB`O9ci1 U000010096t0001P1poj50Jy5QzyJUM literal 0 HcmV?d00001 diff --git a/package/per-skill/fea-cfd-review.zip b/package/per-skill/fea-cfd-review.zip new file mode 100644 index 0000000000000000000000000000000000000000..4af43b7110d0aa0298a0db1f800f25f24066eb87 GIT binary patch literal 1466 zcmV;r1x5N$O9KQH000080OewHTs9;30!Re_07eP`00;m808>jzOiV6qWOY_uZ`?Kz zeAlm7ATKF!I-}_q;J1qt2L|FgwHpL|q^Z@3wL~iX@a6pLJG+#wmjVTBKqr#R-PxI0 zwQbvYGw~($Y+BoQZRBUiho<9Xqnon}{*tbu%g&mS>LP`nuHWx2uCCwF6gnOg8Q)QI zQyGn%ARD=Jk8X7NxTVjDDGx4DdUE4Phk-pmbHqEQlJH>CQ=%N`*^I6;na?97&Sk!c zoXVKfhU{R*k^P==D3wX`!|M>KW9vF5*CQ7*9uw}vpS(@jgR)F_+%_%hZC*+CB-!8B zVw+d5=tbGp37>YY~t*f33u?6s83 zrlsrRt^B}hSTWRC##)|Hsb%EmG5|AZ0Da&vagN6gF2Kv)SWdO>$4~^8BiZ0lT+O(p zkHK_gP2x(kuAo4Bv?J5&$?Uz$rQ;2CC`t3cV~M6dMV>j=NIyuZTcc@=wayJq#up@z zi#9U?X0EBQe|9nWNm}Sa~eVbnQ&?d9Xz18toT&LfGN)iTHipw>KM&WTUbs= zskH;!r&{wFo+7%@0Z&0G4a_T?!cGw4h2^nl2oK!aHa{a=m_&$VG6AEMDIWrb1v+sg z5o^bx?}4N$60$cQko~fyKMI~)uebsw$$)(Vt)B7Er@NEuib%x4&bH03a;di?$XN?8 z=pmZ0_~^Ne^t|V9d38WFzRYuN*aOG`&T3g#0!V5;MK}{Ke_6GvK*8~R#dL8%k>|u| zxLB3do|HwX_G>ZrC|k5yXLp-DXakUj+CaUs{oYH#iIh&du6c$Mfj2G59UC!zjo`%7 zmsL#>%nq^Rcqt@&>yVRp>Du87i-ZcypfV0LwKsRxeYI|lg?vJ;-6S6_rj zYn`1-W*-@j0d&@6_~R_i-}0*?s)7`|Cjl<}yrk zEMi=IDFf~OnSAd#&B&D{2H^b^1JpIC*0C&a-)tA}ryVZb{p%vK2(WhR1eN85a##T% z@9IRkTa+W~f3CujEl|t7@P9+skhS1@E4|$4&RZ~VZ%!9MA@|?wKsNm@I@sCMuHUvN zVnI*x8Ni*w16As*`v50T&D*mnF~dc)_+XF^7Qwm4qzeZuiZC8-V396Yy^AwD zNY3Y#b~v4?v0_oVYQCUU;b}CrQnCVBe-%G%M08mQ-0u%!j z000080OewHTs9;30!Re_07eP`00;m800000000000HlEc0000}OG!*jE^TB`O9ci1 U000010096t0001P1poj50Jy5QzyJUM literal 0 HcmV?d00001 diff --git a/package/per-skill/fluid-analysis.skill b/package/per-skill/fluid-analysis.skill new file mode 100644 index 0000000000000000000000000000000000000000..9e05e7dc0b25baa7577ad2f7c37900e32c4d0f57 GIT binary patch literal 1472 zcmV;x1wZ;wO9KQH000080OewHT+N6=^iBl;06+==00;m808>jzOiV6qWL;KGZ`?Kz zz3W#H$R!0<8#Mg_d~=*QH4xXX-5}_Zrba7vB~sy#yV?Buz8Okey9XOuksQvvdGC$d zwrzr)=)&}4@m*_!9Z&4J>4;tObM`S@n46F(Va3?c8Tz*T&=dF{k7hk)`j`xboexCG zhn?XQXPS6xJ~Np-Ujyg?=*{eBx$KDsd+;%B46>;8)cXzl@7SXo^B z`iETh2WsBa=p{3zfLQH_G)FU$8*K0nWxpt|%yUdx%hu|;I9VUe(dWVBWCPDOQOKx{ z%cN-X#&8CXHg(+EBbHH&?@p6 zbCLrLN}%qgVzxb@8u~UPce_;F-1G+cS_3joo>^Hjr|1YhQ(7rd`08sh~5T3_RH4%S@7h0#T6(?1{4^yI^d7aceC$`NW{a&w#~0{X>cRR zSqre}A)25D@=`{6KEPDP%lz^VrZv}wJ%SwItd?~pfN*o4;7hpt`>It1ilL~A>0)al zPh6ya;05A?YVxwz&-#Acbp)>R)kSVIwv_z1VdUqdg#pBOh z$gt(O?2>d1csw{k*fLsq=CP8PciN*XU-!Jgl6H1s4IxiPkzh&vusxb^&RRIt~W!hGo4L7Dv`*tzNHTkHe`p{Z9QJP7mkK&E=;r zmw!LXlw2lgPDNacE@YN{c&6P4;u*P;!~neaDWc1h3LVSx_U(2teoQ}1z-Rr(BEVW_ zqAo9d!wLX-4~p-Cxm#o->wm4Pku8wQgOGn?uAync_f~qj(Ve%T>&~7pf;=8xia<8~ zAtJbR=Uu;T&%}b5xQrNu3J)YHR$)HE#<_X-Y((jp$5#R1fMP8^G-9tf_ZV~Wh(%Gw z;|=`L=PGuwWe>fDywVP*xwf!1v(Agp*(2d)SXFn?FPCL5$Y{bZFCRPdksjzOiV6q aWKc^51^@s60096205$*s0CWWa0002H&ASu; literal 0 HcmV?d00001 diff --git a/package/per-skill/fluid-analysis.zip b/package/per-skill/fluid-analysis.zip new file mode 100644 index 0000000000000000000000000000000000000000..9e05e7dc0b25baa7577ad2f7c37900e32c4d0f57 GIT binary patch literal 1472 zcmV;x1wZ;wO9KQH000080OewHT+N6=^iBl;06+==00;m808>jzOiV6qWL;KGZ`?Kz zz3W#H$R!0<8#Mg_d~=*QH4xXX-5}_Zrba7vB~sy#yV?Buz8Okey9XOuksQvvdGC$d zwrzr)=)&}4@m*_!9Z&4J>4;tObM`S@n46F(Va3?c8Tz*T&=dF{k7hk)`j`xboexCG zhn?XQXPS6xJ~Np-Ujyg?=*{eBx$KDsd+;%B46>;8)cXzl@7SXo^B z`iETh2WsBa=p{3zfLQH_G)FU$8*K0nWxpt|%yUdx%hu|;I9VUe(dWVBWCPDOQOKx{ z%cN-X#&8CXHg(+EBbHH&?@p6 zbCLrLN}%qgVzxb@8u~UPce_;F-1G+cS_3joo>^Hjr|1YhQ(7rd`08sh~5T3_RH4%S@7h0#T6(?1{4^yI^d7aceC$`NW{a&w#~0{X>cRR zSqre}A)25D@=`{6KEPDP%lz^VrZv}wJ%SwItd?~pfN*o4;7hpt`>It1ilL~A>0)al zPh6ya;05A?YVxwz&-#Acbp)>R)kSVIwv_z1VdUqdg#pBOh z$gt(O?2>d1csw{k*fLsq=CP8PciN*XU-!Jgl6H1s4IxiPkzh&vusxb^&RRIt~W!hGo4L7Dv`*tzNHTkHe`p{Z9QJP7mkK&E=;r zmw!LXlw2lgPDNacE@YN{c&6P4;u*P;!~neaDWc1h3LVSx_U(2teoQ}1z-Rr(BEVW_ zqAo9d!wLX-4~p-Cxm#o->wm4Pku8wQgOGn?uAync_f~qj(Ve%T>&~7pf;=8xia<8~ zAtJbR=Uu;T&%}b5xQrNu3J)YHR$)HE#<_X-Y((jp$5#R1fMP8^G-9tf_ZV~Wh(%Gw z;|=`L=PGuwWe>fDywVP*xwf!1v(Agp*(2d)SXFn?FPCL5$Y{bZFCRPdksjzOiV6q aWKc^51^@s60096205$*s0CWWa0002H&ASu; literal 0 HcmV?d00001 diff --git a/package/per-skill/gear-design.skill b/package/per-skill/gear-design.skill new file mode 100644 index 0000000000000000000000000000000000000000..3f0c6acd34d4decc2f9b399d7930649e5c8d04fd GIT binary patch literal 1470 zcmV;v1wr~yO9KQH000080OewHT-ASZ9!v!Q07nV{00;m808>jzOiV6qWL;KGZ`?Kz zz3W#DkV^`z)@b?#_~tlqU?8qjr$Nvoml~~DOQgb&U9W$A-wdUV(}QhUB!@F^-g~3A zZ5wYUzN9^y*mj)U-Z%JTqnon}{*pdmfpRp?Q(Y$GJ34T5y|YI4P#+@A;mEqrr^%&+ z*IW9MnDXEfrAIf8bR5|8L3RyHCE>xO$3$iqO4j@FD@>f@X+u#WQ{s`WT(O}XLLMmP z$SHB!(By0kv&-4}{YA2+@A0sq5H->+JgwOxrH(`2r)|@s+U8ZQ=v^(fdG(6!cmK*Q z2X5Z+=p@0!-i6qX$abWO?O;4=9f|$kc}D4ePpQmvh*^u*BD*jNNJob}6^GeG_8CQ{ zGAWoyJ7u6}VwYNT#4<%TDR@m?VC~pC!LAL_;VgFqZ03@YykvS4Y)MUW&-}d!CoMQ> z9s-Zw=V3#m>$!$xAY&2Co@$H-{#IN>>bWwj~ z8>Wd-ftGXGv~*Lvb_lCs#ZhA!Yk5YsmI-9aNY$VN0Do<>A&V=x_AgQi!6O2&?p9hqKFX761t9V+cm(!!LkD0%P{dFEUr{Uo98jHWTxI>901 z3lhjh8yW%iikUyS82lvdd!2cj86iu=stqxQq|uRPHWP4>3pD=KJdfbX4!NECjD00# z)EwnNQX%D~;$(V8HT*Oqce7O7-1Y=~4S`asB;m#!gJtwg$)!NypBKc^aKOaG@r1JC zBcUxEvs`u}H_fQBw*PC0kNp^q&Cgr9iIBdk@g=dp6;3MaN=S5`X~ta_y>X(39Gyj; zZ?^QdxDjc995Ll~#%b&35sjKc2jOT=LkJ)fP7R@h5fqmdpQ;)#<$$2|jl&t2!O~y0 zbPbSGYX`QEwdNOiitt7UJO!mRFt2b5J3)wNmdBnU1#oNI{EBd45;2m=1dLLqd<+y8 z=){)3y98BLLi)x7vfsA!SHY9$47dU%$$)(Vtq%C%^WDjHMI_?jY1`&^xzyVcrh^&X@-AhbYr{T+9N?^$buECT=2L__;qvEIs|r+tqAI2k<0(0n z=VV}$7iyMgcU}09u&f+j#J@vAYHaGUYqi)kmR($}UN+*6IH3#`uu;|3Ohbu4oR;)X zjrhNk0P?4_tZI_rc8DFvOQGRgw_d#T_`-re3#XBw+@a7`=Mq&`{@uU76T?3fBEzYx zQFky(*{4Y>qdtM%ZRCUFBY+&mkW|wDXAZ2s+lBC0iE}F@inoE)Nys7+^P)YR>K%jr z2-ykK(51|_1#Bg5nx>{ z4ASL=bXWl(b!^i8q8(ZPdzFrCfnFX&0UNr3um#^c>E%Xu-hs1wbG`@~dH7KYvguDz z!j(Pm`eS=078I4rh^eUXK$qed^Z{O;nzt|JlzUdwT*jlpr$^`&=N_{z9I+_U_CyxBo?KCiUH=~S&1%hEzj(X1}Nnn-{#CVUylKvJjTCxl4!TB+TJzC8~pq3Oyj z5t<#uq;+U~$qorG6RV0&KVz2RAoB_Tp%<8D_}-8q0R4ft=V7B$(oJp|A!`AB{PIpLDP?Bzn6gj0Z>Z; z0u%!j000080OewHT-ASZ9!v!Q07nV{00;m800000000000HlEc0000}OG!*jE^TB` YO9ci1000010096t0001T1poj509&oP6951J literal 0 HcmV?d00001 diff --git a/package/per-skill/gear-design.zip b/package/per-skill/gear-design.zip new file mode 100644 index 0000000000000000000000000000000000000000..3f0c6acd34d4decc2f9b399d7930649e5c8d04fd GIT binary patch literal 1470 zcmV;v1wr~yO9KQH000080OewHT-ASZ9!v!Q07nV{00;m808>jzOiV6qWL;KGZ`?Kz zz3W#DkV^`z)@b?#_~tlqU?8qjr$Nvoml~~DOQgb&U9W$A-wdUV(}QhUB!@F^-g~3A zZ5wYUzN9^y*mj)U-Z%JTqnon}{*pdmfpRp?Q(Y$GJ34T5y|YI4P#+@A;mEqrr^%&+ z*IW9MnDXEfrAIf8bR5|8L3RyHCE>xO$3$iqO4j@FD@>f@X+u#WQ{s`WT(O}XLLMmP z$SHB!(By0kv&-4}{YA2+@A0sq5H->+JgwOxrH(`2r)|@s+U8ZQ=v^(fdG(6!cmK*Q z2X5Z+=p@0!-i6qX$abWO?O;4=9f|$kc}D4ePpQmvh*^u*BD*jNNJob}6^GeG_8CQ{ zGAWoyJ7u6}VwYNT#4<%TDR@m?VC~pC!LAL_;VgFqZ03@YykvS4Y)MUW&-}d!CoMQ> z9s-Zw=V3#m>$!$xAY&2Co@$H-{#IN>>bWwj~ z8>Wd-ftGXGv~*Lvb_lCs#ZhA!Yk5YsmI-9aNY$VN0Do<>A&V=x_AgQi!6O2&?p9hqKFX761t9V+cm(!!LkD0%P{dFEUr{Uo98jHWTxI>901 z3lhjh8yW%iikUyS82lvdd!2cj86iu=stqxQq|uRPHWP4>3pD=KJdfbX4!NECjD00# z)EwnNQX%D~;$(V8HT*Oqce7O7-1Y=~4S`asB;m#!gJtwg$)!NypBKc^aKOaG@r1JC zBcUxEvs`u}H_fQBw*PC0kNp^q&Cgr9iIBdk@g=dp6;3MaN=S5`X~ta_y>X(39Gyj; zZ?^QdxDjc995Ll~#%b&35sjKc2jOT=LkJ)fP7R@h5fqmdpQ;)#<$$2|jl&t2!O~y0 zbPbSGYX`QEwdNOiitt7UJO!mRFt2b5J3)wNmdBnU1#oNI{EBd45;2m=1dLLqd<+y8 z=){)3y98BLLi)x7vfsA!SHY9$47dU%$$)(Vtq%C%^WDjHMI_?jY1`&^xzyVcrh^&X@-AhbYr{T+9N?^$buECT=2L__;qvEIs|r+tqAI2k<0(0n z=VV}$7iyMgcU}09u&f+j#J@vAYHaGUYqi)kmR($}UN+*6IH3#`uu;|3Ohbu4oR;)X zjrhNk0P?4_tZI_rc8DFvOQGRgw_d#T_`-re3#XBw+@a7`=Mq&`{@uU76T?3fBEzYx zQFky(*{4Y>qdtM%ZRCUFBY+&mkW|wDXAZ2s+lBC0iE}F@inoE)Nys7+^P)YR>K%jr z2-ykK(51|_1#Bg5nx>{ z4ASL=bXWl(b!^i8q8(ZPdzFrCfnFX&0UNr3um#^c>E%Xu-hs1wbG`@~dH7KYvguDz z!j(Pm`eS=078I4rh^eUXK$qed^Z{O;nzt|JlzUdwT*jlpr$^`&=N_{z9I+_U_CyxBo?KCiUH=~S&1%hEzj(X1}Nnn-{#CVUylKvJjTCxl4!TB+TJzC8~pq3Oyj z5t<#uq;+U~$qorG6RV0&KVz2RAoB_Tp%<8D_}-8q0R4ft=V7B$(oJp|A!`AB{PIpLDP?Bzn6gj0Z>Z; z0u%!j000080OewHT-ASZ9!v!Q07nV{00;m800000000000HlEc0000}OG!*jE^TB` YO9ci1000010096t0001T1poj509&oP6951J literal 0 HcmV?d00001 diff --git a/package/per-skill/heat-treatment.skill b/package/per-skill/heat-treatment.skill new file mode 100644 index 0000000000000000000000000000000000000000..5bd12e84bd258aeea8e9db9404e37dd293607816 GIT binary patch literal 1476 zcmV;#1v~msO9KQH000080OewHT#4djUQz`B0BH&U00;m808>jzOiV6qWL;KGZ`(K! zz3W#D&`TGvTx|CX$jwcgZh+0Eo3<$SNK+$=Yl>7!%C7V4_svjt(jF4XA~~FS^WGb^ zZQBGh@)ZqiN?Q{Cj~q(Vakj}##l>(%e}1<{xg=9~ccMNf{9yK(Oz6mXA5WQFpporh zg0sdG0=ZpS)91`o2A3)Co%eJcIPifJ-Z9M?4<_#sW*g^1gGn6+7j`QuJWibS(Hey4 zcq+q+5~6l9!Xp>Xne&P|mrG2N@QRR^#0XewOPqIuJQ33FIQD&BH!bRJUT9(T=~8s_ z;sxDr|6^O+ft$DNon)AiN=&Usy8d}(9Cj|SCP#UmCS0zFXq8oRt>F*%&&jsVUy7vwLQ-b6cRG^$4yKeUe$ zb^>pQGbK_#2P;=<)X{{wH@3{lY@K)IRHHrc*V!fPzYTIla~-`05PAf8O02epak8H2DDF zi#%Vi>CNms(f~P9F71TV)=eIb8e<0uX--3oAQMgvv4bbft|&fLKVZrMLF*fbGs@Cm z)^rV!b882-`&#oeJVk=u0Z&0G56ovcg`FV8Bgm8A z7wE*Ho-Bi^K4AhT0J7iK^v{eZ*DJ0-NiyJ&L8}A)_;UB+Q^~>J*3Iv7X|NvTtOXeK z5KT}+`CdkPKJd3f2jkuH4sJWuhJ6G%z*#NpS^&w-hXkL(<&S5rDo|?3iYdf+%1-4u zItwUEnuX=qjuN=g_H?ld?0GWO+A`$1*E*EqDf)~}Fi6)Ud)+p96SReA^L_Q?*){1n zCxA~&rl&@xf(C~ZP+nFwU(h^a3ZyGxvjRN~#<`Udf_G#uyt`8u3oA}`P2u!_rldAhi62bqwZH)WMpWtn_Xhq2c+(GTnx?*%lZXnZQgknXxQVhnD)KS15AQ6 zn$m3k`m*`=qfFCf(w_T!CA03`Gc7-Go{%d`48Z##MM!N_;bU3ezFsebfHt^r^JFQq z2(UH_nRI#KA65X!TOIgxzsN||Kb=)1TOgeW5yOgZpmD+XPI|f0op+$`&Ri~nTpqp` zg>3p;M6t1#U4N`E#Dci;>@g}89!ONIgWki|bMxle$a0VBpUU2oe7I2T73UsfFCMWd zD*1Q|zjURFUu+tR&>>!Fhts*bES9B(4m4K7Kl@39M`nC3$ZS&6;%^9%>7`P;jeUEW zRrQ;tG7Hl+*g^bS=f~%QIsLc{uj)4XiL=ZJ8CCd&USP06urdz@7T#Xwjt)#Wx@DT2 z3+O8^seal>6*>Vs*?z5~wF*ioGt3x^I+O63BOONey<{;B;DIQr$b7&~1#6i(y*Im^ z1pFURO928D0~7!N00;o(Vsl)H;$&V@1pokP3IG5I00000000000001_fdBvi08>jz eOiV6qWKc^51^@s60096205$*s0C)ue00018ZlxOl literal 0 HcmV?d00001 diff --git a/package/per-skill/heat-treatment.zip b/package/per-skill/heat-treatment.zip new file mode 100644 index 0000000000000000000000000000000000000000..5bd12e84bd258aeea8e9db9404e37dd293607816 GIT binary patch literal 1476 zcmV;#1v~msO9KQH000080OewHT#4djUQz`B0BH&U00;m808>jzOiV6qWL;KGZ`(K! zz3W#D&`TGvTx|CX$jwcgZh+0Eo3<$SNK+$=Yl>7!%C7V4_svjt(jF4XA~~FS^WGb^ zZQBGh@)ZqiN?Q{Cj~q(Vakj}##l>(%e}1<{xg=9~ccMNf{9yK(Oz6mXA5WQFpporh zg0sdG0=ZpS)91`o2A3)Co%eJcIPifJ-Z9M?4<_#sW*g^1gGn6+7j`QuJWibS(Hey4 zcq+q+5~6l9!Xp>Xne&P|mrG2N@QRR^#0XewOPqIuJQ33FIQD&BH!bRJUT9(T=~8s_ z;sxDr|6^O+ft$DNon)AiN=&Usy8d}(9Cj|SCP#UmCS0zFXq8oRt>F*%&&jsVUy7vwLQ-b6cRG^$4yKeUe$ zb^>pQGbK_#2P;=<)X{{wH@3{lY@K)IRHHrc*V!fPzYTIla~-`05PAf8O02epak8H2DDF zi#%Vi>CNms(f~P9F71TV)=eIb8e<0uX--3oAQMgvv4bbft|&fLKVZrMLF*fbGs@Cm z)^rV!b882-`&#oeJVk=u0Z&0G56ovcg`FV8Bgm8A z7wE*Ho-Bi^K4AhT0J7iK^v{eZ*DJ0-NiyJ&L8}A)_;UB+Q^~>J*3Iv7X|NvTtOXeK z5KT}+`CdkPKJd3f2jkuH4sJWuhJ6G%z*#NpS^&w-hXkL(<&S5rDo|?3iYdf+%1-4u zItwUEnuX=qjuN=g_H?ld?0GWO+A`$1*E*EqDf)~}Fi6)Ud)+p96SReA^L_Q?*){1n zCxA~&rl&@xf(C~ZP+nFwU(h^a3ZyGxvjRN~#<`Udf_G#uyt`8u3oA}`P2u!_rldAhi62bqwZH)WMpWtn_Xhq2c+(GTnx?*%lZXnZQgknXxQVhnD)KS15AQ6 zn$m3k`m*`=qfFCf(w_T!CA03`Gc7-Go{%d`48Z##MM!N_;bU3ezFsebfHt^r^JFQq z2(UH_nRI#KA65X!TOIgxzsN||Kb=)1TOgeW5yOgZpmD+XPI|f0op+$`&Ri~nTpqp` zg>3p;M6t1#U4N`E#Dci;>@g}89!ONIgWki|bMxle$a0VBpUU2oe7I2T73UsfFCMWd zD*1Q|zjURFUu+tR&>>!Fhts*bES9B(4m4K7Kl@39M`nC3$ZS&6;%^9%>7`P;jeUEW zRrQ;tG7Hl+*g^bS=f~%QIsLc{uj)4XiL=ZJ8CCd&USP06urdz@7T#Xwjt)#Wx@DT2 z3+O8^seal>6*>Vs*?z5~wF*ioGt3x^I+O63BOONey<{;B;DIQr$b7&~1#6i(y*Im^ z1pFURO928D0~7!N00;o(Vsl)H;$&V@1pokP3IG5I00000000000001_fdBvi08>jz eOiV6qWKc^51^@s60096205$*s0C)ue00018ZlxOl literal 0 HcmV?d00001 diff --git a/package/per-skill/joints-design.skill b/package/per-skill/joints-design.skill new file mode 100644 index 0000000000000000000000000000000000000000..ffd5115711136e0d2b695525877c6e907d735309 GIT binary patch literal 1470 zcmV;v1wr~yO9KQH000080OewHTy9&HWlRMC05u8#00;m808>jzOiV6qWL;KGkJ~m7 zz3W#DkV^_!UNrpz_U3G|!4}~!MmaHJHG+xjNqjV#Z zr-CIQLfyVIv6I#u5vIsSf=9lJUdPr6PPQRB+{+z>oaPK9OQrY0W@&^+)LYJ9VWc%p zoQBYqNQF(@H~e33e&#RPMWlT2nz6YH<0X&6se@vS%at%~8J#ip&ZF_jHcS(v^wP&| z)6#wRR(~KG&H$EN##)}yrUm?%7%DUXpWbmmdGWL=vy8p5XUc3tR!mOcPmBHtrXy>F zr9zW2e0#DZ)62>1yi2*m+&i>X>cC}=rd~y!In_)*XsSn3${1^(E1HbYC?MrB$q0hQH3J-7Fn94?O{2L*UZnL<%Y97%XFEg;fP8{J3INNe4_!98YK~?x7FMG3moj z;O*!;Mr`v}n&4PG<)OJ>oe3llMUh8jg~dgD|EDLRWfU#;nNb|cCF zIijR?#@*JXE>FeAjCJ;%buY+aBJQCjC5gA6_QB=j3iMy1_}#wYDTKmjzixA z$s$K+-grRv%bNbmxKeomSD>U7uouwkfDd1uEw0Nd5eFw*H^1sby&XZ$+JM0fF@)kD z-^-}n@A+$@gBjiOpCq2^z&?N+;B0B@P63hTeS|IH;or_$EkFqrRWXGaPvVL^M^(>k z)QbiXd^emOAsM^RGfv3p<{O~0zgbN5B3A@4cAmE2R3V_qRqLl(UC0puT1q-K>hxvs z$U(A1OJPp!9HxD%)O+oqakbC$TyHEmv+x+gQmhJ`)vZ*Cm2*#TAJyA0BuKF3>dGBl zQO^|s3ya=^(QV{|<0HTuwW}iI|FZ?Y-fctJSF${)FR7n_$)W^NS$VF0+B>W}Lds6r zg$aF9_MH3doS0o?_yjaPmNhUqJ1p_qSQw>D>Fn_(?QuBOX+IU8hr?rwrDpTTr_Dbf zbVDxNGsUcS#kab`-d>6JnPo<;tT_Ph`xv09sVE#_{rA;+aeUg~ft&xlLxTWov#_Rw z7os5oK2pgk2=d$Ir#{-?9Ams(8crj?AJqoD*HF~ za_YDBg;-FLc2n7KtMeu_c*zKT!MVqN3r7T14j&$1j4oA` zs~HosNojg!7S^b@ zgBo*L6d#jA!ONDawo=|$mW7}@3BNE4Y%siBsPW^y2E4s2n6eq&G8X=L#v>aGDF7xE6XS98^R868-1@;%ma9!ib}c&aI%24ESG*XyPYQd7f?$9 z0u%!j000080OewHTy9&HWlRMC05u8#00;m800000000000HlEc0000}OG!*jE^TB` YO9ci1000010096t0001T1poj50GM;RLI3~& literal 0 HcmV?d00001 diff --git a/package/per-skill/joints-design.zip b/package/per-skill/joints-design.zip new file mode 100644 index 0000000000000000000000000000000000000000..ffd5115711136e0d2b695525877c6e907d735309 GIT binary patch literal 1470 zcmV;v1wr~yO9KQH000080OewHTy9&HWlRMC05u8#00;m808>jzOiV6qWL;KGkJ~m7 zz3W#DkV^_!UNrpz_U3G|!4}~!MmaHJHG+xjNqjV#Z zr-CIQLfyVIv6I#u5vIsSf=9lJUdPr6PPQRB+{+z>oaPK9OQrY0W@&^+)LYJ9VWc%p zoQBYqNQF(@H~e33e&#RPMWlT2nz6YH<0X&6se@vS%at%~8J#ip&ZF_jHcS(v^wP&| z)6#wRR(~KG&H$EN##)}yrUm?%7%DUXpWbmmdGWL=vy8p5XUc3tR!mOcPmBHtrXy>F zr9zW2e0#DZ)62>1yi2*m+&i>X>cC}=rd~y!In_)*XsSn3${1^(E1HbYC?MrB$q0hQH3J-7Fn94?O{2L*UZnL<%Y97%XFEg;fP8{J3INNe4_!98YK~?x7FMG3moj z;O*!;Mr`v}n&4PG<)OJ>oe3llMUh8jg~dgD|EDLRWfU#;nNb|cCF zIijR?#@*JXE>FeAjCJ;%buY+aBJQCjC5gA6_QB=j3iMy1_}#wYDTKmjzixA z$s$K+-grRv%bNbmxKeomSD>U7uouwkfDd1uEw0Nd5eFw*H^1sby&XZ$+JM0fF@)kD z-^-}n@A+$@gBjiOpCq2^z&?N+;B0B@P63hTeS|IH;or_$EkFqrRWXGaPvVL^M^(>k z)QbiXd^emOAsM^RGfv3p<{O~0zgbN5B3A@4cAmE2R3V_qRqLl(UC0puT1q-K>hxvs z$U(A1OJPp!9HxD%)O+oqakbC$TyHEmv+x+gQmhJ`)vZ*Cm2*#TAJyA0BuKF3>dGBl zQO^|s3ya=^(QV{|<0HTuwW}iI|FZ?Y-fctJSF${)FR7n_$)W^NS$VF0+B>W}Lds6r zg$aF9_MH3doS0o?_yjaPmNhUqJ1p_qSQw>D>Fn_(?QuBOX+IU8hr?rwrDpTTr_Dbf zbVDxNGsUcS#kab`-d>6JnPo<;tT_Ph`xv09sVE#_{rA;+aeUg~ft&xlLxTWov#_Rw z7os5oK2pgk2=d$Ir#{-?9Ams(8crj?AJqoD*HF~ za_YDBg;-FLc2n7KtMeu_c*zKT!MVqN3r7T14j&$1j4oA` zs~HosNojg!7S^b@ zgBo*L6d#jA!ONDawo=|$mW7}@3BNE4Y%siBsPW^y2E4s2n6eq&G8X=L#v>aGDF7xE6XS98^R868-1@;%ma9!ib}c&aI%24ESG*XyPYQd7f?$9 z0u%!j000080OewHTy9&HWlRMC05u8#00;m800000000000HlEc0000}OG!*jE^TB` YO9ci1000010096t0001T1poj50GM;RLI3~& literal 0 HcmV?d00001 diff --git a/package/per-skill/machine-elements-selection.skill b/package/per-skill/machine-elements-selection.skill new file mode 100644 index 0000000000000000000000000000000000000000..691e7fd12079a41bb6cf24f8026d334878f1e2ec GIT binary patch literal 1491 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 literal 0 HcmV?d00001 diff --git a/package/per-skill/materials-metallurgy.zip b/package/per-skill/materials-metallurgy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ce2170e2865f0bfd452959b36a599b078b2611dd GIT binary patch literal 1476 zcmV;#1v~msO9KQH000080OewHTniD)h*AXr0DKAn00;m808>jzOiV6qWL;KGZ`(K! zz3W#H=%ou-4z~LR04=%)&!QFJQL&nN$a<0K1>N;u?o8Zkv5lN1c?YgP~MD^yP z#trJae?_8t^Ts@E|HWB%py~q+PSR%bxUU{i!+?vL-uiOO1wfpqDa53JXz6Vjt@GyS zQg2eUo}~((P&(&Pu|{#60IZEI*Y+qyMzS0{;;j_%1=2c1hqKh0kkgbCuQk)#&}6Qd z2ITwNSs*M4UDUlYQw$9;m#ES4-k{;SzeIYZZ`nn}zw;8lx(R~@mF>teNjnLRa=MHb zAT*lqJWz;)7L9~Dw5aQ>{CPjDa;e(oA*)E^>j!-%Qg0wrr8x zx!c&6Iicn#2N?7~-E+lkJ3=+|eM0VbuDH7E4DhuE#2Ov5GDMq-o+-r?DEzpfmxco- zHV!A0754^hp_t^dlW~w$lS=!aL)>>mI95Ne&25BHs8TQK{Vfwq(3zI#Jedi1U3J!p zCQ@__@_e^8@3R|_2FMXP)e}xPZW_?2F|?46=5$tlA6l41c1iIm+5uAz2wL7aoN?*2 zu6|jY8-UDp(^IoAHDBN<@*5oR6qL9pTHq9Rf)Fnxj~zjR;MThO72#%MvB>}ad z069wm7Cl50)J%Sqk)HSTJsB9Bo8NJwsWj{fRj> zaCtU!mZwTagmM8cuB-@bO;e z!~4#*YxvxDJ;OrrE$v)(6Gn;R0!~(a{va)V z6ohR0Qv|VT&b$6tpNR!waUL)t6&}b_IBY(Frd++h7+3B^y%S?y)Qh=qLZ>))7}$I4qW>g$^`UvtPU#g}<-6{pd!o_R*dn8Gjg0z(ZSA2JJi65gI?jt)yVx_Oc; z1uQx(pEOd1D!P^JH#$~}poB7g#z@q8gwGr4FtYC?i>U_>L{Uj*gM1_kSo6H;2D{ry z!2bYHO928D0~7!N00;o(Vsl&z5zB~D1poki3IG5I00000000000001_fdBvi08>jz eOiV6qWKc^51^@s60096205$*s0C)ue0002g-m5tP literal 0 HcmV?d00001 diff --git a/package/per-skill/mechanical-orchestrator.skill b/package/per-skill/mechanical-orchestrator.skill new file mode 100644 index 0000000000000000000000000000000000000000..7fc13030d0fc3cfeab42bb5159fd30f8a23d5ec8 GIT binary patch literal 1544 zcmV+j2KV_;O9KQH000080OewHTnl}Ey_N+406q%<00;m808>jzOiV6qWPMgmZ`?Kz zz3W#DkV^urHfZ_<__lH4z(8H6PJ^IFE;U-QmPnOD?RxX;`-YU{O@Q`bU@elvnK$pf zVO`giHv?bMz_v5qS<}}c+KweflR~T-78~7|T<}+P9fL^Sguys}ae~+%oM(>CAL#is zj!+vS*)WVfKM_K?gQtHcEMrZ!^jVlv=Y-_Z^*xh9c)}B%|>{!_+5-7*wtn zdWj2IWJ4{kIZV7k7>mD0=)M=e)@uNu{8Q;(tvFeihnnBqR zws~@`hB~7r@*!!o63o+O1Bjo--dUIW^R}wduIdHdJtKdA*{kZs3%cL`%{I9sSMN}# z=KD=<|Isv=#xcZ{6UYsjdwg=J0MR}A5P=M`lxfIp0I-r!oQaLp=A?*4HWGXWS*u=f z0HGYtazkNCzEK2i82R}O+89n`tP*ZbTK=!CN7K7z#y8)N@Y>A$ zsoeNbTHMgB*EFi@(Dwi;9zQ<2U?NA2E;2@$W>L-&E&2AgVnI0 zo?{tnc?33=3EIgCqj&Uy!@wz?H@E;FkvmJtbsr`L@(ii?#uahkz;D4cWR0+til&4e zXA2#?9L&MHG&SI6gOY5iyP4vQK;)5AiS$ZC-Oad_I==&tA{xUb74}CLgIDC}W#VCE zgq$K)ZHVYbj*c{w8GwskkmK)0WvSUCx0MyxH%UUxY5`tJin`~D#k7oSKyKu2=8CJ^ zmVmDz5O8oJxvygkmeI3J#S9ewxu9VV2TV-t&nPQC657Hs>1Ahf!-y(N`@e+vsI;nn z*wRge>t!il%3!gknZD>eL&PGlTjNwaDT0LC>dltk&a`b^lvG3C-l{<%@6bSIIj1fJ zkO`-{(7@s*moh#@V_?b=LCY71Gq9s=_2YK-Sg6`QmYOf{RGIb;cq&TLF)wf`J3)xA ztUp_ZRKcxn^%KIu!&I9l5io+Irc(%;t> z+?n|dfhlGg){DWExp)8mP6yITh6H;omj0dRflVL5>^kz%@d+UIns%1+_pE`xHv14B z3u$iEpVZgDXi=i5yu9iTr&`CLK0+#Jj81(~7AT7sYYf2qF$QRB z$V$huetol@ou78NaQEyXx(Kj#Gkfy#OgO9nkay+jazE=v*Z*8(qg$Yr2W9_;ZXjyK z_fC7c$vf}ByMtLTf<7L;Re^5$T~)BN>#kq7E3u#^!2^h!3=cG^UO^w=<5Io7m{IO) z8H9iXk~Mfxh5W>T(slP9Db+&n&(0@}h$D(@YwB9FXAw_oR3S_Gw(=_bsjzOiV6qWKc^51^@s60096205$*s0K5eN0000N{@=X- literal 0 HcmV?d00001 diff --git a/package/per-skill/mechanical-orchestrator.zip b/package/per-skill/mechanical-orchestrator.zip new file mode 100644 index 0000000000000000000000000000000000000000..7fc13030d0fc3cfeab42bb5159fd30f8a23d5ec8 GIT binary patch literal 1544 zcmV+j2KV_;O9KQH000080OewHTnl}Ey_N+406q%<00;m808>jzOiV6qWPMgmZ`?Kz zz3W#DkV^urHfZ_<__lH4z(8H6PJ^IFE;U-QmPnOD?RxX;`-YU{O@Q`bU@elvnK$pf zVO`giHv?bMz_v5qS<}}c+KweflR~T-78~7|T<}+P9fL^Sguys}ae~+%oM(>CAL#is zj!+vS*)WVfKM_K?gQtHcEMrZ!^jVlv=Y-_Z^*xh9c)}B%|>{!_+5-7*wtn zdWj2IWJ4{kIZV7k7>mD0=)M=e)@uNu{8Q;(tvFeihnnBqR zws~@`hB~7r@*!!o63o+O1Bjo--dUIW^R}wduIdHdJtKdA*{kZs3%cL`%{I9sSMN}# z=KD=<|Isv=#xcZ{6UYsjdwg=J0MR}A5P=M`lxfIp0I-r!oQaLp=A?*4HWGXWS*u=f z0HGYtazkNCzEK2i82R}O+89n`tP*ZbTK=!CN7K7z#y8)N@Y>A$ zsoeNbTHMgB*EFi@(Dwi;9zQ<2U?NA2E;2@$W>L-&E&2AgVnI0 zo?{tnc?33=3EIgCqj&Uy!@wz?H@E;FkvmJtbsr`L@(ii?#uahkz;D4cWR0+til&4e zXA2#?9L&MHG&SI6gOY5iyP4vQK;)5AiS$ZC-Oad_I==&tA{xUb74}CLgIDC}W#VCE zgq$K)ZHVYbj*c{w8GwskkmK)0WvSUCx0MyxH%UUxY5`tJin`~D#k7oSKyKu2=8CJ^ zmVmDz5O8oJxvygkmeI3J#S9ewxu9VV2TV-t&nPQC657Hs>1Ahf!-y(N`@e+vsI;nn z*wRge>t!il%3!gknZD>eL&PGlTjNwaDT0LC>dltk&a`b^lvG3C-l{<%@6bSIIj1fJ zkO`-{(7@s*moh#@V_?b=LCY71Gq9s=_2YK-Sg6`QmYOf{RGIb;cq&TLF)wf`J3)xA ztUp_ZRKcxn^%KIu!&I9l5io+Irc(%;t> z+?n|dfhlGg){DWExp)8mP6yITh6H;omj0dRflVL5>^kz%@d+UIns%1+_pE`xHv14B z3u$iEpVZgDXi=i5yu9iTr&`CLK0+#Jj81(~7AT7sYYf2qF$QRB z$V$huetol@ou78NaQEyXx(Kj#Gkfy#OgO9nkay+jazE=v*Z*8(qg$Yr2W9_;ZXjyK z_fC7c$vf}ByMtLTf<7L;Re^5$T~)BN>#kq7E3u#^!2^h!3=cG^UO^w=<5Io7m{IO) z8H9iXk~Mfxh5W>T(slP9Db+&n&(0@}h$D(@YwB9FXAw_oR3S_Gw(=_bsjzOiV6qWKc^51^@s60096205$*s0K5eN0000N{@=X- literal 0 HcmV?d00001 diff --git a/package/per-skill/modal-analysis.skill b/package/per-skill/modal-analysis.skill new file mode 100644 index 0000000000000000000000000000000000000000..0266e156befc87777ece722eac15652aeca78023 GIT binary patch literal 1461 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 ZP)h{{000000RRC2HUIzsa|HkZ005p{s&4=Q literal 0 HcmV?d00001 diff --git a/package/per-skill/pressure-loss-pump-piping.zip b/package/per-skill/pressure-loss-pump-piping.zip new file mode 100644 index 0000000000000000000000000000000000000000..e5f4797e778ee068909609e4ec286f4dd92755d1 GIT binary patch literal 1471 zcmV;w1wi^xO9KQH000080OewHT*cyj+f4-k06Yo+00;m808>jzOiV6qWL;KGZ`?Kz zz3W#DkV^`zHfZ_<__lH4#6TRoc7vctni{QGOQgb&-E4k+-wdU#(?gK8NDgP-y!VD} z+cw@zd_i;MluG1w3@Np9ndWwOv-A6=<7A_ovkU%$KAgH}%IGY4&c_g+2+MBo$$2}L z4*SoMNFs6CkOaej#&=XhZs~Jk%7aUkp4>RnabV8}j`+q@5`LKUl*l}Wl4*3FDY@@B zxS@ef_d{SxJhGMKHuUN4;lqYPT&|(foFoAEJ$9sR)1unu1>LO)encF)lOQ|fc2~=7 zUc8{&$A2W|ft$BHI!P?CcOkYTvK(n*I~eb*8HxQK>2Z|nQkmxvGxZ_X;<_*y=jrJ3 zKsg$pW)sk{SR>W$6&3PfnNVkx>^@ z?>x$mY{N7$64xp&nwGAL*EV1^tng_pV=d1p(lUWZ8CV&#g5GnOILFfl7vN)WEH5NM z*9DOi+2A{;7s!E+0j;+Nov*;45V9vbGQFJ4-n(2n-cW~<7CLk#n))m9%(+JTNkZKi zO=GNeZfG*TAc0)8j}ZuSO@;lz#o#CD+Dkw=GeUwo8{`&aNE#h!W-|d7xj^IZ<{1(( zkI3!ZUhFF=qvj|F68M0+mx`0=8P)K&8M&LK;^w+1;A;p>np{dsi8%(#=$Ud#fx;ip z_@v>0iHYM0WkH{43&$*%oybiys;uq*0`c}^I5t0T=_lcSJPFVWOmM){%ksa7R)taB-DS8_n@D!BNz`VjK>;xgcv;6ECngh4C&94X-CeffM z0vM%C@GuGsbmBsy(~d*m14$Jl6mL8r`)x~q7W{I(;tG@`1NI5DI^Z9l?@q2OA`u4* z+cv+;rRt4b3oz&*nxO9Sqm1;t=Wm$~W^~Ip2zagydjL7WSuN{Q07=bVgel?j@2gf7 zs02k-Od-Zoaw^Zo3T%mxWhG!yonTFT^OZFyquyET!-6n7hEehnF&Fd>*PWJYYF42{ zpi4_Cr$($@8xE;cT2?h7@HoVd2WN+6eZ@0rcUEWDu*YF>E%Xu-hiKbbG`_Axc`y$ zvgwnserM0S{@9+01@)vdV(=+E(4cq&y@zk7=FPL2v^)?ntVN;*uZqws&OPQ@IAT#` z@Nf-7bh)ZqWZ)nRpI6%9bgDLrWoe-Ujn&at!wB*i!SG*IfL#cY=%rG-4SjnaMncn- zSs0(*4r0hUAUfF%sm}Cc(h1|k$tbvrvW?=MP(TP@}>~5mZ8#*X1|w!{{m1; z0Rj{Q6aWAK2ms|`b6myZecMe1002A+000O80000000000005+c00000Q%gxqOfGF? ZP)h{{000000RRC2HUIzsa|HkZ005p{s&4=Q literal 0 HcmV?d00001 diff --git a/package/per-skill/process-selection.skill b/package/per-skill/process-selection.skill new file mode 100644 index 0000000000000000000000000000000000000000..fdd51ca3e4d1f2b60aed4914968a4c1acb1b17dd GIT binary patch literal 1474 zcmV;z1wHyuO9KQH000080OewHToNtv2v7w809y(G00;m808>jzOiV6qWNlVWZ`(K! zz3W#H=%ou-F1GsxP47#yWkC+f*%4!&wAxyYkDUzt1Wr`EbWMfSU8vpH`z*2RDqgLNHyY+0E$ z#6cgNO<5mo({Sbk;mJ4VYtW5r^CgkV9V6PF``#Qo@^qkxcVwo72b=Z@ui14k7k6Rm z8?)6Njof9d8EwpF@(qr-kn+mp&{MSD;l@Mgr(wQ%u$dy;9=m+X(X!8JUDbf1dSyP( zH$0wks9wD?_uH@X??Bai>RGZ&`{3n7lwh5yB2a))#hgMiXm3Rf}qB-&e52qH3l5hcAx|1BZYx-Jgsm6ULti$ zrRr^%1eBBXOjv{q zq3#w|Xq~J7!>*)4{=hN#K^pfu(=dW#*o9RWB2=K!k!H5wzh0*CH={sqx5(|>VeFey zM$Pe(i{+YRTS7JH6mqw7#no+VfUh+m)4(YyD^wKdnRZrz!k-IDX*ghFV}C+faSxF= zidil@86HMdS=#>;;=b*}vHE#!ZX$d^MR-Z+Zxf{=c%>pbPtaXTZ(7TugB;l*&$nyy zZel3Zf*djBdc1G3-N=C27)+$yd>Nirax#OCm$^WBM?NhHFsvUT;lTT`rI;qvE2s|r+tq6(%E<0-MqvzTJN zg~RMe*f9VIJ9b!ccC=d-#LXeS_$aCzN6-K}atOT;Lh=J_O`REZ0hxs4id{)COc6kv zIjd78Zm+$E>P?zgH8)T?M40!Lu`ptN@Vrp!d$3`&lxw{`aC7*#en72=Q0u26`5J@1&P2-FXM9?(F#@NaNv0 z0m!C5MF1Oj-u1`&Oe_c~O+Ch-!UH)fX+OfkQ}ym*Jn^%7B}TWX)#5`Vw2E_!5f_eF z6h%DV!W%gkp^GImwC3|dJDg6%QL((tP&N0(I|BSL;Zs27kQx+yM~GxzE4Ay;*5|n- zG+mg5N$OoE-mJ6YONREI=RsARWu>exGeO1@{-GBbV)(!i@9#)>d!8{m9C_e*ax4Y3 zg_ov$wn!B^?HbvBtz)zZN+{D!7=b!}@ChRwM)s{_F?QgAC@PbF*%h$n`O@}wx08VX z0#Hi<0u%!j000080OewHToNtv2v7w809y(G00;m800000000000HlEc0000}OG!*j cE^TB`O9ci1000010096t0001X1poj509BN=@Bjb+ literal 0 HcmV?d00001 diff --git a/package/per-skill/process-selection.zip b/package/per-skill/process-selection.zip new file mode 100644 index 0000000000000000000000000000000000000000..fdd51ca3e4d1f2b60aed4914968a4c1acb1b17dd GIT binary patch literal 1474 zcmV;z1wHyuO9KQH000080OewHToNtv2v7w809y(G00;m808>jzOiV6qWNlVWZ`(K! zz3W#H=%ou-F1GsxP47#yWkC+f*%4!&wAxyYkDUzt1Wr`EbWMfSU8vpH`z*2RDqgLNHyY+0E$ z#6cgNO<5mo({Sbk;mJ4VYtW5r^CgkV9V6PF``#Qo@^qkxcVwo72b=Z@ui14k7k6Rm z8?)6Njof9d8EwpF@(qr-kn+mp&{MSD;l@Mgr(wQ%u$dy;9=m+X(X!8JUDbf1dSyP( zH$0wks9wD?_uH@X??Bai>RGZ&`{3n7lwh5yB2a))#hgMiXm3Rf}qB-&e52qH3l5hcAx|1BZYx-Jgsm6ULti$ zrRr^%1eBBXOjv{q zq3#w|Xq~J7!>*)4{=hN#K^pfu(=dW#*o9RWB2=K!k!H5wzh0*CH={sqx5(|>VeFey zM$Pe(i{+YRTS7JH6mqw7#no+VfUh+m)4(YyD^wKdnRZrz!k-IDX*ghFV}C+faSxF= zidil@86HMdS=#>;;=b*}vHE#!ZX$d^MR-Z+Zxf{=c%>pbPtaXTZ(7TugB;l*&$nyy zZel3Zf*djBdc1G3-N=C27)+$yd>Nirax#OCm$^WBM?NhHFsvUT;lTT`rI;qvE2s|r+tq6(%E<0-MqvzTJN zg~RMe*f9VIJ9b!ccC=d-#LXeS_$aCzN6-K}atOT;Lh=J_O`REZ0hxs4id{)COc6kv zIjd78Zm+$E>P?zgH8)T?M40!Lu`ptN@Vrp!d$3`&lxw{`aC7*#en72=Q0u26`5J@1&P2-FXM9?(F#@NaNv0 z0m!C5MF1Oj-u1`&Oe_c~O+Ch-!UH)fX+OfkQ}ym*Jn^%7B}TWX)#5`Vw2E_!5f_eF z6h%DV!W%gkp^GImwC3|dJDg6%QL((tP&N0(I|BSL;Zs27kQx+yM~GxzE4Ay;*5|n- zG+mg5N$OoE-mJ6YONREI=RsARWu>exGeO1@{-GBbV)(!i@9#)>d!8{m9C_e*ax4Y3 zg_ov$wn!B^?HbvBtz)zZN+{D!7=b!}@ChRwM)s{_F?QgAC@PbF*%h$n`O@}wx08VX z0#Hi<0u%!j000080OewHToNtv2v7w809y(G00;m800000000000HlEc0000}OG!*j cE^TB`O9ci1000010096t0001X1poj509BN=@Bjb+ literal 0 HcmV?d00001 diff --git a/package/per-skill/quality-metrology-plan.skill b/package/per-skill/quality-metrology-plan.skill new file mode 100644 index 0000000000000000000000000000000000000000..19331045ba7a2cbd2043ec2fb4c6aadbe8d3fc64 GIT binary patch literal 1473 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 literal 0 HcmV?d00001 diff --git a/package/per-skill/reliability-analysis.zip b/package/per-skill/reliability-analysis.zip new file mode 100644 index 0000000000000000000000000000000000000000..b41e53553ef189dfce9f30c869bc2c1cdc2b3424 GIT binary patch literal 1476 zcmV;#1v~msO9KQH000080OewHTo=5tyHW)J08I)200;m808>jzOiV6qWL;KGZ`(K! zz3W#D&`TGvU2OLY$Sp~mB0#h0CM}9RGStZ8nj%$_vg`c%eKV9?rw0SFNDgP-y!S@y z^|}dW;0sFZoq2NJmE+n3n3D@z>SCgSZEu3J#?zQ$ zJK2)SgqHF#7asD4zGSA-yG(iKyr)CYf%ly7j%mtxFnNa~PjM>esZcR#%O$Vq?(@~n ziVh|v6YxH{yj#)Waz<`)XXiX)8*({6zD@B^dK$e6dDE;>ZS(3yA(u<3&8t^*|MVZ* z;`ZFU!xl*|b8s=OJ#zKuMV{B6r*Vv_C=Oa;8wcY89UN{hNH>oraVRJ;PlJMqL~{W? zCbfBOP!uC;lVd=*nYbyC_oCWo`!5|A0Ef+{4_n`o!pe4BuU>y9r1GOg16JdLp~f=S@`y?;6Npp*m_Zxp1IK|&I<9a5UUtSx@8kdoAg~Ix!Yx}>(wCj94G{0`>CPDwI!*f!9n>Z_HDjCsvrV)3&>5LO4l;kY(e7m8m z$$6v!a->|=BTid4LW?xS7NXId`Y3F~sXn%_fXNlbrz!?a*&}Fu<8THn-ZZ~$=o%pB zwe8vNYRzYOis-xpo`O>DnHM;Poglen+@Ch!DvX0!Fz|IYf#xbYe&% z)|O+}0ZCOPWDkLDnm;!5&muM83X~)R4jHuCuSDAAwCMD(uT4!O4Xe@~M zaH?|*{v)IUgLZutDlK)kE}Ly)m<9yybu9GG_VaozEc&c1TRdOG9{OW#{k{4=96t@F zG?yR0UjF+iBXb_7B~9X8d?AzV{h5LvIFHDcB?jRAlp+K+sNAtEZ{Kca`^OY)>GFq> z$Rfa6W}`08tiuWbc?Y6z1KrQ!k@e4uc4P|#^B@vf(G8R>_})n`SGw~KwA-4~MG(ou zODV{vzeNg{_O$D-&52l$RGvIWqQV1V>e%}Ln&#%}Y*4vpbxn+M(Jh!wu~VEo47+&1 zqG;ps7B1;ZmAsg3Y~kcY`@llS_LJP=_d?BokaMYkq#sKPO=z#@IVw*WGY~%f;CT?&YSI4 z0{#zBO928D0~7!N00;o(Vsl&jz eOiV6qWKc^51^@s60096205$*s0C)ue0000~HJ|YS literal 0 HcmV?d00001 diff --git a/package/per-skill/shafts-couplings-design.skill b/package/per-skill/shafts-couplings-design.skill new file mode 100644 index 0000000000000000000000000000000000000000..c2a5202c8c2d8539e762d7e0ee49e94a78cea1e6 GIT binary patch literal 1473 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 V000000RRC2HUIzsZv_AV001O`prrr+ literal 0 HcmV?d00001 diff --git a/package/per-skill/should-cost-estimation.zip b/package/per-skill/should-cost-estimation.zip new file mode 100644 index 0000000000000000000000000000000000000000..e1e95ba4d93a6143ddacb771b79f8daee0303c35 GIT binary patch literal 1467 zcmV;s1w{H#O9KQH000080OewHT;q_*G)V;j07VJ_00;m808>jzOiV6qWK~v8Z`(K! zz3W#D&`TGv9BlUs$jwQcB0#h0CR+r1q@|I?Mj};y*mZvWz8Ol6b1)!_+;+mlS)Shqi8fOf|=3N0Y2~Rm-snc9Q2ydVJkO#%pZyA;>-Ei$DZd*ZVl20HZYSk9)NDMtwspG$yb!j6+(u%aK?C#Hyi=}1k_ z&GU+4o~FU#h~u44R+A;`rkvu65I}Pb+~!7CyjBp`RgHqHcXK6lExSIwR$IM$NB7(B zj6-{_KJuWYMRwMQdO)tjd1>r+)-ea`cAAe5sU$BYwth6$(ZQykQZOz~CIAJL81q=N zK@|xwn$X7D9I%XpP4o`&R*G-Sjg8n@`(SaFTk<(ciEGXD#y2@ubF;XV98*Ba8L?g) zHZhaOw&}8pgyL61cc!N?* zyngmS zODgR4Hh4Em%ibp*Cq_uXx-+4 z%@s$}F{_~Q;P-SWVlMm0`;1AWWYq|*#zv}Ot%s;Y_3bH9AMCX|%+;!0zD+)-#HpuhCny#{i zj10&Tz_bac8#@hX)aYA?MRV%C2bplH_bsHKZBl%SQoxiwf|fTHXQ1(Q_1l`R0dlNW z?WN{3JWt{mlw!}kz$xqmAzoM>JBHxEt#$P~!oh|_VJ1Ne20}>(zqo=Lk%+Wq-*rGz zl?cTc2gv?d(?1zcwo_bzl4QUxf>wL{_;h!)Z5D}GxY)Y-Q!aJQ0CJWB40?zrsCB%R zk)C(_Gtu4*c77KVPo-gxAO|?BWnBv(vHBX|NVxoE(W(L!p{RoCY{nu_wS~DIXLLci z4V$eMz_IJKpd%$udq3onFW~)Vx+q$M%P=-db+u`~gVKVsaXXGBOP>SKra84^C2p?- zu;SkHswN0t`_OW@6bfEhXk8q1>F-5@WM@7@V1k*#T3lu8J%|~ZlS`hl2G-tgy?-vGxfOpBUjw6~fF|;CqC1@GEQ9(8 z*$T_hsV8C4QfF(U*#(AQK-+^(g5Ea$yj}|PL)309Hm_k1{jqfYUacM`AK>oQ=F8LO zzekyp^8{Ud{!+%-r!(2FcN zraA5UYkeXX)D-go)+s#Dq)?YW!^dNFbvC2yiy9{8ok-T;L&JB9bB8(S4_FjgJl?_} zZ7OOPU$!8$TfS?YOv_@cSe6!A&{!RQF%W#zy!j@<{{G!X19}o{{v7<0Rj{Q z6aWAK2ms|`b6n$)$uvm?002b_000O80000000000005+c00000Q%gxqOfGF?P)h{{ V000000RRC2HUIzsZv_AV001O`prrr+ literal 0 HcmV?d00001 diff --git a/package/per-skill/spring-design.skill b/package/per-skill/spring-design.skill new file mode 100644 index 0000000000000000000000000000000000000000..33b96df1c86acb3e8b51d90d9c20850f776a6f31 GIT binary patch literal 1456 zcmV;h1yA}=O9KQH000080OewHTpl8yQa%L$04oXr00;m808>jzOiV6qWL;KGZ`(K! zz3W#D&`TDu9BlUs$jwcgB0#h0CR-GHq^Xg`HASi<703DY`(`M+=^g?rA~~FS^WGb^ zZQBGh@)hMNxv*M_r=2M14&1XBm5Y&sO%32_1RYGbR2uyTl`h zlGpSlGnK(*%6sQM9R?2k#0l@1=8OlE_nFK#&V_7r{?fDQFFTj*k`HC~f}a)T;`%;t z&Q#`5-*CZg-aH%0U`0sF9<681W8JiX4JDA|C@x)>00&~q{o~D?JR<9LxaWpQ_!IgnZG9gbUp=eZ;=TU*nk~M%asmrZ7 zU>W(E9BcZ5SjX07>}+FlILjRYh-n6Ln(0lnb8Z&cD<1hf{J1)F@vuUg$U9EF#GI4a zI`7J{26?Cr>F72{M!=IR&U0G=V;H9J!?93K!sIZ!G7UD4H(V9MSmDIlVv*e2S(cYcl7h zoN`?HdNG<^aAodLX@`<*?Yk6QpAt`8YNVee)Sb~Ze64duqX{z-D6@7n0qX@bAm~yI zLRz{gJWh;|bHb{PDaEYOk!CR?aFGi%{$`pyh_Xd)=SE}SoC|7Bav*~lsC%h6o1Re( zKTpWrEEPAmJpo@s;MC}HR&q=!T1L;5T?!QbdBrRZ2TV-zN0gQJgtl-ha@mpGIHAhg z{;x6Zdmj(Y&uh9#P`YaGHM76XoX;ADq_IE~?z-%a6FHRREb@H2rgyXRNCV_ZxwOJZ z>n4vzjj@ArG^Zg(kO`-T*g^KQD~eB*4VdzTp!JQz8D;4&Yq|!=xwQk^eXaQwo}xVO zfTy682j&x;!cGw4h2^nls1Mv)H@_lW97T;}3IU^Bs2n221v)VyQEbPt?}4Ps652Nb zko~r%zh*qSUU3CVk^zSdT0P;9&v$3n%_0#82U|D4%ca43kh2zG&_gsqedI?O>G{CV zg`SLe%e!27sttPtIlx&h>skQG&F2Jr!sRa~ttwC%imI4GjK}O$o*I9lJF)gN3kv+X+H(hclzp0~(&#fN z-6no=d|;VJWzq5f=>miAwlVH2TW-ae#Lz(HEDRA{1rZ!h^^U=LgzSV~Xwg@pvK zDzi%rqkyQr&V#|(VOg(*MW3}zC$rbEhheejdo_GmeHu+^HlMz3{&|$qxQxw`X7MY& zl3DiQm1-Y2Pso)e2H^diB1AQ+#IY=I->w(SrwuOLd^ZnS1X!DeHoCkp4J!bo4okXU z1S9KzpY$SIAd&~6{fcg&X2JJPdb!e_cOdG{oG*ef9)6_1Z2D8^zp>|Cf2_~Mf{gO) zF$)zQh*3;}KEl9r^X}DfTD}V~zeTHHDaBrK?xQdki=v0eTR5XDRpw&I4oVB!kQnFp*!D zF;#sjzOiV6qWKc^51^@s60096205$*s K0AvLK0000Tk)o&o literal 0 HcmV?d00001 diff --git a/package/per-skill/spring-design.zip b/package/per-skill/spring-design.zip new file mode 100644 index 0000000000000000000000000000000000000000..33b96df1c86acb3e8b51d90d9c20850f776a6f31 GIT binary patch literal 1456 zcmV;h1yA}=O9KQH000080OewHTpl8yQa%L$04oXr00;m808>jzOiV6qWL;KGZ`(K! zz3W#D&`TDu9BlUs$jwcgB0#h0CR-GHq^Xg`HASi<703DY`(`M+=^g?rA~~FS^WGb^ zZQBGh@)hMNxv*M_r=2M14&1XBm5Y&sO%32_1RYGbR2uyTl`h zlGpSlGnK(*%6sQM9R?2k#0l@1=8OlE_nFK#&V_7r{?fDQFFTj*k`HC~f}a)T;`%;t z&Q#`5-*CZg-aH%0U`0sF9<681W8JiX4JDA|C@x)>00&~q{o~D?JR<9LxaWpQ_!IgnZG9gbUp=eZ;=TU*nk~M%asmrZ7 zU>W(E9BcZ5SjX07>}+FlILjRYh-n6Ln(0lnb8Z&cD<1hf{J1)F@vuUg$U9EF#GI4a zI`7J{26?Cr>F72{M!=IR&U0G=V;H9J!?93K!sIZ!G7UD4H(V9MSmDIlVv*e2S(cYcl7h zoN`?HdNG<^aAodLX@`<*?Yk6QpAt`8YNVee)Sb~Ze64duqX{z-D6@7n0qX@bAm~yI zLRz{gJWh;|bHb{PDaEYOk!CR?aFGi%{$`pyh_Xd)=SE}SoC|7Bav*~lsC%h6o1Re( zKTpWrEEPAmJpo@s;MC}HR&q=!T1L;5T?!QbdBrRZ2TV-zN0gQJgtl-ha@mpGIHAhg z{;x6Zdmj(Y&uh9#P`YaGHM76XoX;ADq_IE~?z-%a6FHRREb@H2rgyXRNCV_ZxwOJZ z>n4vzjj@ArG^Zg(kO`-T*g^KQD~eB*4VdzTp!JQz8D;4&Yq|!=xwQk^eXaQwo}xVO zfTy682j&x;!cGw4h2^nls1Mv)H@_lW97T;}3IU^Bs2n221v)VyQEbPt?}4Ps652Nb zko~r%zh*qSUU3CVk^zSdT0P;9&v$3n%_0#82U|D4%ca43kh2zG&_gsqedI?O>G{CV zg`SLe%e!27sttPtIlx&h>skQG&F2Jr!sRa~ttwC%imI4GjK}O$o*I9lJF)gN3kv+X+H(hclzp0~(&#fN z-6no=d|;VJWzq5f=>miAwlVH2TW-ae#Lz(HEDRA{1rZ!h^^U=LgzSV~Xwg@pvK zDzi%rqkyQr&V#|(VOg(*MW3}zC$rbEhheejdo_GmeHu+^HlMz3{&|$qxQxw`X7MY& zl3DiQm1-Y2Pso)e2H^diB1AQ+#IY=I->w(SrwuOLd^ZnS1X!DeHoCkp4J!bo4okXU z1S9KzpY$SIAd&~6{fcg&X2JJPdb!e_cOdG{oG*ef9)6_1Z2D8^zp>|Cf2_~Mf{gO) zF$)zQh*3;}KEl9r^X}DfTD}V~zeTHHDaBrK?xQdki=v0eTR5XDRpw&I4oVB!kQnFp*!D zF;#sjzOiV6qWKc^51^@s60096205$*s K0AvLK0000Tk)o&o literal 0 HcmV?d00001 diff --git a/package/per-skill/standards-compliance-check.skill b/package/per-skill/standards-compliance-check.skill new file mode 100644 index 0000000000000000000000000000000000000000..77d9925ee0567bb098fbec98df94e4c97daa04a7 GIT binary patch literal 1523 zcmVjzOiV6qWNlVWZ`(K! zz3W#H=%owT4z~LRQgTz8T6NE%wk<7RlkvoA=&m zKA$(i_H=1-v7xo8&2ty~!LtpH=59@H)3lUb;-PR1m*zUGI1nWctJ4{S|IO)~S&iK4 zLl=|j$*pZ*XT2FxY)4n}!hFqS%9^vu8}{Dp))Z(<3Gc{^84osZ5cWBa#oRvKUtE8_ zSU%ldXhE`CoE{x72(f&w@y%z%k7|F7@YF(s?7sVTh?H z+=^-&dt_~PT-F9?gp8B`5>U-!ubo60rQz!AmN*<=siHtBM4B0 zDFnW-E}LgUnV=R2ppXbX#?7tvGha4yb2A1fKd>4PXlksfugZqR1<+Zv#(bpMQ%U<7 zF2KvqI?5FRuurnzgGZrdy+96piWY3QnQB$-2$s0LL%DBzy9!*!mS(0!Nty>9$7JhM zqJc_{^oxYLvzmslbZ4+y5=5P3PmT`E_A#5|pGSa8B>EMw=nNV_DBQdNV&`hoOV2TG^&p+GX zErQlJV5?ZbqWNuMt^jhbhFEJp!&Btv8F&gxc};YHQ`iYYyplY2l!W|9^!J5|Uo>Y6 zY|Fx4$}XBXK__k~vTZ4LUG*&hq@_lPI%6jz`m8BoZe)fWHgcz5PjOfWI5 zbkY1Nmj>rS&RT#)577iQlOJWI=L5YIv$dY5ce&6|8}^jeTtmY=K)lnC!|d~pytJWRKGvd1n%BG$GE91xfMea5J2H9%n&^V5gJZ) zO#bAlXw5gF&7sbgvt1>EK|su2hrycNdRniAMW3}j2dCGtyY;@d`Ci=~J}>=hmY=>Y z|9O(xJk9NrM)4`Sl*xAfRq#l8K&~V)0PjPJ5L2(xmOkU{yTxSnItQ00(~w1gwVdcu z$7E#~RshI{I-&0;p~(7|gHB`%#PKL}pP3t|Sn$1*Ue0vq9SFLz$BQ6{#~*1gn?4Ke zm+rXhuf>sAkWU^x2BE?O5$gBBM;Lc*-k%L6epQFW@D`2YJHW(FaqckK;tq?VgQr_K zB9|&}F=B?oLOIY5r*rjDEK3U+G*(MLI7WmEW_%3D^if-)7lg>>tx|g)yZLb%2~7{o z!u$+wEsm@c;%mWY&g(Rus-Nh$&@>5T7~vOsfzgFe3~~H532%>+MMom{Jk5(k0o|m~ z`r#r~=!|P+`;`vQDk!1MdW80M>fj?rI*jZ)$zoW82coDV6979EtZAxr-mX>>@IO#X z0Rj{Q6aWAK2ms|`b6ne#w1$BN0071c000O80000000000005+c00000Q%gxqOfGF? ZP)h{{000000RRC2HUIzsrv(52004Ss(QN<# literal 0 HcmV?d00001 diff --git a/package/per-skill/standards-compliance-check.zip b/package/per-skill/standards-compliance-check.zip new file mode 100644 index 0000000000000000000000000000000000000000..77d9925ee0567bb098fbec98df94e4c97daa04a7 GIT binary patch literal 1523 zcmVjzOiV6qWNlVWZ`(K! zz3W#H=%owT4z~LRQgTz8T6NE%wk<7RlkvoA=&m zKA$(i_H=1-v7xo8&2ty~!LtpH=59@H)3lUb;-PR1m*zUGI1nWctJ4{S|IO)~S&iK4 zLl=|j$*pZ*XT2FxY)4n}!hFqS%9^vu8}{Dp))Z(<3Gc{^84osZ5cWBa#oRvKUtE8_ zSU%ldXhE`CoE{x72(f&w@y%z%k7|F7@YF(s?7sVTh?H z+=^-&dt_~PT-F9?gp8B`5>U-!ubo60rQz!AmN*<=siHtBM4B0 zDFnW-E}LgUnV=R2ppXbX#?7tvGha4yb2A1fKd>4PXlksfugZqR1<+Zv#(bpMQ%U<7 zF2KvqI?5FRuurnzgGZrdy+96piWY3QnQB$-2$s0LL%DBzy9!*!mS(0!Nty>9$7JhM zqJc_{^oxYLvzmslbZ4+y5=5P3PmT`E_A#5|pGSa8B>EMw=nNV_DBQdNV&`hoOV2TG^&p+GX zErQlJV5?ZbqWNuMt^jhbhFEJp!&Btv8F&gxc};YHQ`iYYyplY2l!W|9^!J5|Uo>Y6 zY|Fx4$}XBXK__k~vTZ4LUG*&hq@_lPI%6jz`m8BoZe)fWHgcz5PjOfWI5 zbkY1Nmj>rS&RT#)577iQlOJWI=L5YIv$dY5ce&6|8}^jeTtmY=K)lnC!|d~pytJWRKGvd1n%BG$GE91xfMea5J2H9%n&^V5gJZ) zO#bAlXw5gF&7sbgvt1>EK|su2hrycNdRniAMW3}j2dCGtyY;@d`Ci=~J}>=hmY=>Y z|9O(xJk9NrM)4`Sl*xAfRq#l8K&~V)0PjPJ5L2(xmOkU{yTxSnItQ00(~w1gwVdcu z$7E#~RshI{I-&0;p~(7|gHB`%#PKL}pP3t|Sn$1*Ue0vq9SFLz$BQ6{#~*1gn?4Ke zm+rXhuf>sAkWU^x2BE?O5$gBBM;Lc*-k%L6epQFW@D`2YJHW(FaqckK;tq?VgQr_K zB9|&}F=B?oLOIY5r*rjDEK3U+G*(MLI7WmEW_%3D^if-)7lg>>tx|g)yZLb%2~7{o z!u$+wEsm@c;%mWY&g(Rus-Nh$&@>5T7~vOsfzgFe3~~H532%>+MMom{Jk5(k0o|m~ z`r#r~=!|P+`;`vQDk!1MdW80M>fj?rI*jZ)$zoW82coDV6979EtZAxr-mX>>@IO#X z0Rj{Q6aWAK2ms|`b6ne#w1$BN0071c000O80000000000005+c00000Q%gxqOfGF? ZP)h{{000000RRC2HUIzsrv(52004Ss(QN<# literal 0 HcmV?d00001 diff --git a/package/per-skill/structural-analysis.skill b/package/per-skill/structural-analysis.skill new file mode 100644 index 0000000000000000000000000000000000000000..e485edae15dad237ba79ccbd660705bcfc9ea7f6 GIT binary patch literal 1489 zcmV;?1uptfO9KQH000080OewHTw&4JM_&a10FDX(00;m808>jzOiV6qWOY_eZ`(K! zz3W#H$fXNdF1GsxAq-BCyWZC>L~>*6K?ll?R+k&(=A07|7EeyYfJ)Bs}Q!TtgxuN@>Oawe>62 zQSZobF8t2+y_aQ{6=_SXPmA3Lf!R0)I!wChTlO zv^Yzh3MEe^r?q5y6HG}B?X@d9(~L2lP);?-3EsJdxWiSTjmGX8>JjMLhzo8#$8WBK z~kt#AQe_S(>#{WcUv2z?K}vvL6+_n6gLE`o`jn&Bt}~%UWFn}Yd!(@iK5fU7yXW5Y8;IAGbb=2giN)D962b;&GzZ;=W6>eAx32K1RJ9XK5* zR8SM+Vo_H5-G983(XsF$!>_Adcd$#|Cxr;19zgCk(%#YmI6C$tQS^U_!$ogHc&@y; zWs72K1E~{pg%##mdN|cv0{aoNW1^v1PfVnx&dw&iiv-Jnyq(O4!J1)SuZ0Ddq+yHs zOW4D3tc|~y0RZcdqt4CM=clWGHau(RIXuray5tG>@l3yulrSI@aSXuw5Ch~jirBfE zc>8WWn?J^3r>swxe|K8xyPsr2Q0EOHn;Fdo2%g2nk_Wv^FlkEPSshl%q_H_v6%egA@~S^gL}@Q z8Wnv*h@{>KwcF6Qr}@M*U6_T5>dn9&Ei>awhLB$7fmI!*eh}5!z~c$O&Id$nl&;cS%&&-6a?Q_UaI;n!&S)C>v;RMjMFM8rp!<<3S|!AyM{ZA?0e2)8o&cq zROXq0odVW8XL_f1I}Z3AP)h*<6ay3h000O8jzOiV6qWOY_eZ`(K! zz3W#H$fXNdF1GsxAq-BCyWZC>L~>*6K?ll?R+k&(=A07|7EeyYfJ)Bs}Q!TtgxuN@>Oawe>62 zQSZobF8t2+y_aQ{6=_SXPmA3Lf!R0)I!wChTlO zv^Yzh3MEe^r?q5y6HG}B?X@d9(~L2lP);?-3EsJdxWiSTjmGX8>JjMLhzo8#$8WBK z~kt#AQe_S(>#{WcUv2z?K}vvL6+_n6gLE`o`jn&Bt}~%UWFn}Yd!(@iK5fU7yXW5Y8;IAGbb=2giN)D962b;&GzZ;=W6>eAx32K1RJ9XK5* zR8SM+Vo_H5-G983(XsF$!>_Adcd$#|Cxr;19zgCk(%#YmI6C$tQS^U_!$ogHc&@y; zWs72K1E~{pg%##mdN|cv0{aoNW1^v1PfVnx&dw&iiv-Jnyq(O4!J1)SuZ0Ddq+yHs zOW4D3tc|~y0RZcdqt4CM=clWGHau(RIXuray5tG>@l3yulrSI@aSXuw5Ch~jirBfE zc>8WWn?J^3r>swxe|K8xyPsr2Q0EOHn;Fdo2%g2nk_Wv^FlkEPSshl%q_H_v6%egA@~S^gL}@Q z8Wnv*h@{>KwcF6Qr}@M*U6_T5>dn9&Ei>awhLB$7fmI!*eh}5!z~c$O&Id$nl&;cS%&&-6a?Q_UaI;n!&S)C>v;RMjMFM8rp!<<3S|!AyM{ZA?0e2)8o&cq zROXq0odVW8XL_f1I}Z3AP)h*<6ay3h000O8jzOiV6qWOY`{ZW}oe zyw6t<$R!JC6m0ed_@+2+*-j?rf8cd8FjjR@)*CBL(tC~~MH zXAczh)=^rkPl;3>Y*J}&om0nwJRyqjNR@;SIMyYlm2srwN=-5JloDS5;o7ADn+Fwj zmIPX<-ue#Vv{Kr4NHSp@$#;^Fq|B7{o`&E$ifP@n=)8G$(bz+6yLt9Z-EaRRlTm#0 zy7r(Fc^hKuP_p~Kep8vGGJZ=s?ZT+7ua)MgeVTM6pOsFji~=mGMOCOWcB$1zgi*Op z!Q;N#NJqvp2yKWKXQ@-6-(N>);$ZmzPmk=8+KwXCfWki)oRaHAMec;Q;$C4a6f-||Qg)osWgY+L5cjQR5|Bz7$G)>C8n;p45c5Ui8|s5OTBzb-rAySH(J%0dmBY+X<(QouGU*1{guD zX$S#i!l@xZ>Z#Z)_*B7wDF<9yzp-o{`Lu3+TdQk;oLV!G+1H*g@MO(73p^R6G!W$r z0{|hOh(GoeSq&)kcU%`n)}hi_0i%>vJ_Z$L=-8H6s~v^D2a+O4s9t+O_QzWNQ}D_5 zf-6ws3dkqW>VQ8wznyGXSRyv<@#vrYs5cJetPN<)5JQ;#^ioE0-qT}N2kq?qUCK1o zfqeiuz*%YQngL18`v_yg<4=oL1*il?RZJnqQ?epYdL&aslg4SBIaT+zkIbLaS;2_& z7Wc@ZMW!7Y5kq=wc_v8s*_3`TgIa7T5f`et!c)U5KzINLP-%`zouGG!@Z~FJ;;ZW9 z-^TpHfI>5^p)-a~(5>dh!mJd$e{-kU=NC?#R~nqy6wZ_CgjDZAaBRARr6bCB>`9{P zAISrw@3tZAD|c?$rr6#IZSFSw{r#k$5F@9Kn9CdCs?>=w-{lKepUaL74b}zc(wf5#h!w-}u)Jl8@ z;C&whBsPlR5$11SuIB}yHh6IJ%}O{3ur@P^Bs}vD5diWURNr}ZKg);X9~bp-3MBKu zB3P*#Xq)l9<5{jG^A5D#>GMO7$;0$OK`fGhA7DSbb1N{UZNR#QQ-onmP z^Xg(%*(dQ$>~U7E#;=di3(h^(T{t4h>iBRApR~D(p6%H}cRnw)!|7Dr6=5Es1&zh% z7as}m#)RJmypzPN=n+>W^<1dkhQ2-TD5mMcENoS82KH&$8=o>%_B1c8>M|=~b=?oV zqVOMPQ5QMyfq|H}=Y1oK(vEiCB1;2(<)x~>VYmy~d>yA>%Sx?+V#*8!>ri$Pe$ViP zQGL%jzOiV6qWOY`{ZW}oe zyw6t<$R!JC6m0ed_@+2+*-j?rf8cd8FjjR@)*CBL(tC~~MH zXAczh)=^rkPl;3>Y*J}&om0nwJRyqjNR@;SIMyYlm2srwN=-5JloDS5;o7ADn+Fwj zmIPX<-ue#Vv{Kr4NHSp@$#;^Fq|B7{o`&E$ifP@n=)8G$(bz+6yLt9Z-EaRRlTm#0 zy7r(Fc^hKuP_p~Kep8vGGJZ=s?ZT+7ua)MgeVTM6pOsFji~=mGMOCOWcB$1zgi*Op z!Q;N#NJqvp2yKWKXQ@-6-(N>);$ZmzPmk=8+KwXCfWki)oRaHAMec;Q;$C4a6f-||Qg)osWgY+L5cjQR5|Bz7$G)>C8n;p45c5Ui8|s5OTBzb-rAySH(J%0dmBY+X<(QouGU*1{guD zX$S#i!l@xZ>Z#Z)_*B7wDF<9yzp-o{`Lu3+TdQk;oLV!G+1H*g@MO(73p^R6G!W$r z0{|hOh(GoeSq&)kcU%`n)}hi_0i%>vJ_Z$L=-8H6s~v^D2a+O4s9t+O_QzWNQ}D_5 zf-6ws3dkqW>VQ8wznyGXSRyv<@#vrYs5cJetPN<)5JQ;#^ioE0-qT}N2kq?qUCK1o zfqeiuz*%YQngL18`v_yg<4=oL1*il?RZJnqQ?epYdL&aslg4SBIaT+zkIbLaS;2_& z7Wc@ZMW!7Y5kq=wc_v8s*_3`TgIa7T5f`et!c)U5KzINLP-%`zouGG!@Z~FJ;;ZW9 z-^TpHfI>5^p)-a~(5>dh!mJd$e{-kU=NC?#R~nqy6wZ_CgjDZAaBRARr6bCB>`9{P zAISrw@3tZAD|c?$rr6#IZSFSw{r#k$5F@9Kn9CdCs?>=w-{lKepUaL74b}zc(wf5#h!w-}u)Jl8@ z;C&whBsPlR5$11SuIB}yHh6IJ%}O{3ur@P^Bs}vD5diWURNr}ZKg);X9~bp-3MBKu zB3P*#Xq)l9<5{jG^A5D#>GMO7$;0$OK`fGhA7DSbb1N{UZNR#QQ-onmP z^Xg(%*(dQ$>~U7E#;=di3(h^(T{t4h>iBRApR~D(p6%H}cRnw)!|7Dr6=5Es1&zh% z7as}m#)RJmypzPN=n+>W^<1dkhQ2-TD5mMcENoS82KH&$8=o>%_B1c8>M|=~b=?oV zqVOMPQ5QMyfq|H}=Y1oK(vEiCB1;2(<)x~>VYmy~d>yA>%Sx?+V#*8!>ri$Pe$ViP zQGL%jzOiV6qWNlVWkJ~m7 zz3W#DkV^_!4w`-edvi9~V1aCRyZJ(oG&QnVOQb?lcD%p7Z-$cBDS9vv!jW<)TTc}E+vFk- z>~mTz$4b)pmpGHLmd9+oWkSjso6L%kizG~Mzr1?*Le>nU!M3!nYSdl5C?!2e#Fyuy zs~0cme)|vG><(PL<=#ndiM>Y&HzqczHb*R@Qj>yUyi$-Gwk{#E4$)yRHx#BkP8n55rZ>S(soGAi zZ!R&ad*}Cvy#!vdD7zj@WJ9-Jj;gLh-=ko?5cy>352H&?mubr=iK%rS6-TyVz#Rpy zbXC=KGkGh2uo@QR^sN8s3c#oL90tzuw88~=*&55KRJ#q6fN>%leB<;2+3+El2K`H% z3MNxV#L4zdF9);pE>8`E6(~vbz~dB6d5S!8E+_pYN8K4sqc3%?XfS?40(sIFMu5vD z74`=ggBLXEW#(aI963d-+7M$%dOFg~W&kd7fu6q^#~y%hk=wbmh?`PI%~3XpR-DpU z;WjO!8vZ^acQaR9-L?dL4S__1OG()<#$XveQ#vV7_;W!eJr0Ouq6PcADyMJHg&0f&}14trcat*c+wbPbSGZ9BI6 zQu76#BDLNDPeCbl%nO{tP7vaW<*{YR4cuB+zv8$si2TT80!9#iJ_ZUibmBoG(S}3Y z0!h^&#BMww`)y5sO?VO?0VO}g?@q3nL?R9bwyu7cOTFzu&QgFu577iQ zjvr;D`#pcpKbk6!rC}dI4sce>x)wlE^$_7lxcq6+ssfdusDdfPcuG#?dFcx|)Z&^_ zt7Wrwf;K|*T@n|@|GAhE^UL?*Z?v=?(g`FH>BPJI4MhzxI@XAi7#C zfV?f!_kPxntbbahBO%bsqbOiSH=v5(dndhIY2+O^yEEsDppnNPl^{WXiV`;V9QDWg zOe`oWO+DtI!UJ6jgXulIJXLQl=9GI<)0{sa48Ai$t2noqb>WCbk;cbcn54@^@#4)6 zqVsv79d@T;tyq>8I?z~Meld{%V@&uKkb$I5#ouv6qL)hTI<)n9KnYD3W?`gy+lfi* z(D;6^qfYmw7nIe8NBU0;Nive9*CmECG_J@z?uh5+ne1^4*VBTO928D0~7!N z00;o(Vsl(1v>?Dn1poj{3IG5I00000000000001_fdBvi08>jzOiV6qWKc^51^@s6 S0096205$*s0Bi*S0000)otFau literal 0 HcmV?d00001 diff --git a/package/per-skill/test-plan-validation.zip b/package/per-skill/test-plan-validation.zip new file mode 100644 index 0000000000000000000000000000000000000000..c0f5864c849945669bad12685594bad683397415 GIT binary patch literal 1464 zcmV;p1xNZ&O9KQH000080OewHTqLw0z(xfC089!100;m808>jzOiV6qWNlVWkJ~m7 zz3W#DkV^_!4w`-edvi9~V1aCRyZJ(oG&QnVOQb?lcD%p7Z-$cBDS9vv!jW<)TTc}E+vFk- z>~mTz$4b)pmpGHLmd9+oWkSjso6L%kizG~Mzr1?*Le>nU!M3!nYSdl5C?!2e#Fyuy zs~0cme)|vG><(PL<=#ndiM>Y&HzqczHb*R@Qj>yUyi$-Gwk{#E4$)yRHx#BkP8n55rZ>S(soGAi zZ!R&ad*}Cvy#!vdD7zj@WJ9-Jj;gLh-=ko?5cy>352H&?mubr=iK%rS6-TyVz#Rpy zbXC=KGkGh2uo@QR^sN8s3c#oL90tzuw88~=*&55KRJ#q6fN>%leB<;2+3+El2K`H% z3MNxV#L4zdF9);pE>8`E6(~vbz~dB6d5S!8E+_pYN8K4sqc3%?XfS?40(sIFMu5vD z74`=ggBLXEW#(aI963d-+7M$%dOFg~W&kd7fu6q^#~y%hk=wbmh?`PI%~3XpR-DpU z;WjO!8vZ^acQaR9-L?dL4S__1OG()<#$XveQ#vV7_;W!eJr0Ouq6PcADyMJHg&0f&}14trcat*c+wbPbSGZ9BI6 zQu76#BDLNDPeCbl%nO{tP7vaW<*{YR4cuB+zv8$si2TT80!9#iJ_ZUibmBoG(S}3Y z0!h^&#BMww`)y5sO?VO?0VO}g?@q3nL?R9bwyu7cOTFzu&QgFu577iQ zjvr;D`#pcpKbk6!rC}dI4sce>x)wlE^$_7lxcq6+ssfdusDdfPcuG#?dFcx|)Z&^_ zt7Wrwf;K|*T@n|@|GAhE^UL?*Z?v=?(g`FH>BPJI4MhzxI@XAi7#C zfV?f!_kPxntbbahBO%bsqbOiSH=v5(dndhIY2+O^yEEsDppnNPl^{WXiV`;V9QDWg zOe`oWO+DtI!UJ6jgXulIJXLQl=9GI<)0{sa48Ai$t2noqb>WCbk;cbcn54@^@#4)6 zqVsv79d@T;tyq>8I?z~Meld{%V@&uKkb$I5#ouv6qL)hTI<)n9KnYD3W?`gy+lfi* z(D;6^qfYmw7nIe8NBU0;Nive9*CmECG_J@z?uh5+ne1^4*VBTO928D0~7!N z00;o(Vsl(1v>?Dn1poj{3IG5I00000000000001_fdBvi08>jzOiV6qWKc^51^@s6 S0096205$*s0Bi*S0000)otFau literal 0 HcmV?d00001 diff --git a/package/per-skill/thermal-analysis.skill b/package/per-skill/thermal-analysis.skill new file mode 100644 index 0000000000000000000000000000000000000000..e19959572022cf1ada89dd4f4fc60592d2fa276a GIT binary patch literal 1474 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 literal 0 HcmV?d00001 diff --git a/package/per-skill/tolerance-gdt-fits.zip b/package/per-skill/tolerance-gdt-fits.zip new file mode 100644 index 0000000000000000000000000000000000000000..698e3e5739af5c0979a97dd29ffaa740e9e91459 GIT binary patch literal 1479 zcmV;&1vvUpO9KQH000080OewHT#8G^AXNnb06_`>00;m808>jzOiV6qWL;L zedkvU5THl_Q9;ui;5WsI0|RlL+6jU_u9ib_D{`0Fixv6nduEnWls*`cxy!knIp+-9 zwr#wb_=<8EIT~-d-F3O`T~1BM$woJ47yK1{I-OI>#_roPuju{TpFXX~_>OR&5|3=< zGW8*nNr|WJ=s2zEb7IPaOO*C*9O*Ey=O>PM##9o^<$WTv4JA|OCiV$Y%t%irIwKKR z)R|nSv?Av-M>`n5W3zRm%g2=_w<8j+2#NdRwFdE=tx@pmB^Wvfpsh)16(dNYq zy5IgQ)jx6bmPaSmCH5}Fc0{QoO)N>BMO5}X=b0m-QY!NtV%Cne!!At5c{;c}P)43K zo5(&39A#1{Q6&)corzs)%>l<0*`(kRuY%dJb%H<}qQkq~5rCOXPHV07CfJf18+?x8 z0wZ*b(o#XZ1^eR}3k_>S%Ct43G+!e<@YmuZ;@^4+-&}`LMyR(@W0t8gX6N*nwv09z za0|APZJ02sPLrprrlp(j$cGb}8p~MAb5_tnC=AdU%!A%@m^jDdGS%K#P89(#K>#|U zX5TqYATN9f25p$csp3>JZXE5%^l~yg?{euFR6$F2VNHn(e^F(%J6BiF0mIMGCo z&Z5rOYkE`Mh%!Kqm~uPgZR_R{gPKAI`Djf;2p|*Q8bSvzC@w2LRXbqH6N1(!4(~wP z>*m)rT?6FQ+JWu9_I!b-$PX416{R#VpWqaBf)LLvKYNA*!L4=k8^VQ2BuOR{FoGiT zAy8PL6K4|Hb{zU1NUAnr0LBBd-`Dha!7tYITr#`Jun5R`)O9d8J1pn4ICs(koxEPd9)@Eb^u78$oIXw_ zH=7S%Hvc@zrd+mYjzye`uVkUUyU^V}P6{6*rFM>Ff1k_OwC5&3D_7 zLx8ne2&2af$8Z8b-h$RUPxp&dU9seI^zJl*))zsPI6BLOps9Ca31j#aeRD>XBIAqEds8jnFI3Jyu&d z;82wCcneR&;#Yx-6@%@%q$}<4cB)Q_V;P|Xjn&joo)O@K37-S9f7F=x8$u*{snl*m z-=6o8(DcMCY*23p@nqc*pEDHnyez2dDEbAn>;hRw_z$zd^1?@kc)m!M%z3xyQgoAB zHpZ!ezVedlr;Bu000O80000000000005+c00000 hQ%gxqOfGF?P)h{{000000RRC2HUIzsdj$Xh005lWyPW_4 literal 0 HcmV?d00001 diff --git a/package/per-skill/tribology-lubrication.skill b/package/per-skill/tribology-lubrication.skill new file mode 100644 index 0000000000000000000000000000000000000000..c4af88e2d4f7ec8ccea890e00d51b3222929105c GIT binary patch literal 1480 zcmV;(1vmOoO9KQH000080OewHTt(PyELH^o09*jzOiV6qWL;KGZ`(K! zz3W#H=%ou-F1GsxG$b>19Z>VdKKJlROd+A`-+ zfn}tgfT)cv*Y=2I6lpnl#9JxUEj5m@vkuYWEVTwGO*!#eGrbK><|-iA=w8S)!6(}! zGg%kSga(8-S`T0@x`qT8*(BPXN{mPPo?S%bJ1>E&n=lM0U(X=BB+VnV(CM<-5~3>9 zs6SE@#*t8gmUC6r<~DonAXdYIqsFpLLsQapKrGP1S@gqvqA*g5r_}{#O6?$oKy#9^ zTBjGtfzQFVrm;+15XuQVPR&5(?Pz!2rQCuNElQf1)aGc*Q>2MfiS(0%y0@CfQ0iP6 zfR&Lz%G%HfsHvnv{@`NpqqOgBq7m3y?80gjVhpU&75x#o$ORgIGfe{^-y*kjpRq4< zLd{VQNGnkHTrt~@P!0W2LNUo@C*#HmRhITYhq&*CaIAh_o7)IOP+eXU`+Fu<0Tx1{^8|)5zw4|MHNZa_ zQ%GS^K{&A!xpfu{&>aKKYg;+|-MQ`iYYypTM01o4Rpd}pq<|{9t&?70$19d=1aY}UUX@K<2kLT3 zG~@`t&79q-l0l#xfcg#3tC}OI9b!xIN?3U9Aa^m;rN!?W&}XJJZWq`T*Dz4x`@)+$u_&=NkeY=n zqA)MgQzQxON61!)hGsnrk(N4J$95M9mH~MWIv9G_^z(WtEDWp-TU=km9{bs-AJqBb z`7rfVZ9YG5{(h1HIuF+rvp5%B$$^xYK{ovBXaUW_(Lf+RHq!io=u-nlc+?JmDXDfnkQv4VeKw32)D{Mu#Lm z2<8d06wno3n(`4NRp``fW&4ee(;_ILOrJ3dbq?W!Mmmh_JIP||!2?lLl9_;=3f4Sl zy20*t67XM8O928D0~7!N00;o(Vsl(Y*la9T1pokC3IG5I00000000000001_fdBvi i08>jzOiV6qWKc^51^@s60096205$*s0DJ`i0000>?V|+% literal 0 HcmV?d00001 diff --git a/package/per-skill/tribology-lubrication.zip b/package/per-skill/tribology-lubrication.zip new file mode 100644 index 0000000000000000000000000000000000000000..c4af88e2d4f7ec8ccea890e00d51b3222929105c GIT binary patch literal 1480 zcmV;(1vmOoO9KQH000080OewHTt(PyELH^o09*jzOiV6qWL;KGZ`(K! zz3W#H=%ou-F1GsxG$b>19Z>VdKKJlROd+A`-+ zfn}tgfT)cv*Y=2I6lpnl#9JxUEj5m@vkuYWEVTwGO*!#eGrbK><|-iA=w8S)!6(}! zGg%kSga(8-S`T0@x`qT8*(BPXN{mPPo?S%bJ1>E&n=lM0U(X=BB+VnV(CM<-5~3>9 zs6SE@#*t8gmUC6r<~DonAXdYIqsFpLLsQapKrGP1S@gqvqA*g5r_}{#O6?$oKy#9^ zTBjGtfzQFVrm;+15XuQVPR&5(?Pz!2rQCuNElQf1)aGc*Q>2MfiS(0%y0@CfQ0iP6 zfR&Lz%G%HfsHvnv{@`NpqqOgBq7m3y?80gjVhpU&75x#o$ORgIGfe{^-y*kjpRq4< zLd{VQNGnkHTrt~@P!0W2LNUo@C*#HmRhITYhq&*CaIAh_o7)IOP+eXU`+Fu<0Tx1{^8|)5zw4|MHNZa_ zQ%GS^K{&A!xpfu{&>aKKYg;+|-MQ`iYYypTM01o4Rpd}pq<|{9t&?70$19d=1aY}UUX@K<2kLT3 zG~@`t&79q-l0l#xfcg#3tC}OI9b!xIN?3U9Aa^m;rN!?W&}XJJZWq`T*Dz4x`@)+$u_&=NkeY=n zqA)MgQzQxON61!)hGsnrk(N4J$95M9mH~MWIv9G_^z(WtEDWp-TU=km9{bs-AJqBb z`7rfVZ9YG5{(h1HIuF+rvp5%B$$^xYK{ovBXaUW_(Lf+RHq!io=u-nlc+?JmDXDfnkQv4VeKw32)D{Mu#Lm z2<8d06wno3n(`4NRp``fW&4ee(;_ILOrJ3dbq?W!Mmmh_JIP||!2?lLl9_;=3f4Sl zy20*t67XM8O928D0~7!N00;o(Vsl(Y*la9T1pokC3IG5I00000000000001_fdBvi i08>jzOiV6qWKc^51^@s60096205$*s0DJ`i0000>?V|+% literal 0 HcmV?d00001 diff --git a/package/upload-md/bearings-seals-selection.md b/package/upload-md/bearings-seals-selection.md new file mode 100644 index 0000000..34dbd15 --- /dev/null +++ b/package/upload-md/bearings-seals-selection.md @@ -0,0 +1,65 @@ +--- +name: bearings-seals-selection +description: Bearing and seal selection for rotating equipment. Use this skill whenever the user asks about bearing type/life, preload, lubrication, sealing, contamination control, or shaft support architecture. +--- + +# Bearings And Seals Selection + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +choose bearing-seal architecture and life strategy. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- equivalent load and life model +- fits/preload thermal effects +- contamination ingress risk + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/calculation-report.md b/package/upload-md/calculation-report.md new file mode 100644 index 0000000..9585f8e --- /dev/null +++ b/package/upload-md/calculation-report.md @@ -0,0 +1,65 @@ +--- +name: calculation-report +description: Calculation report preparation for auditable engineering calculations. Use this skill whenever the user needs formal calculation packs with equations, assumptions, units, and compliance-ready traceability. +--- + +# Calculation Report + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +produce auditable calculation packages with full traceability. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- equation/source traceability +- unit discipline and numerical reproducibility +- independent-check checklist + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/cnc-sheet-casting-forging.md b/package/upload-md/cnc-sheet-casting-forging.md new file mode 100644 index 0000000..7bc8438 --- /dev/null +++ b/package/upload-md/cnc-sheet-casting-forging.md @@ -0,0 +1,65 @@ +--- +name: cnc-sheet-casting-forging +description: Detailed manufacturing guidance for CNC machining, sheet metal, casting, and forging. Use this skill whenever the user requests geometry rules, draft/radii, tool access, or redesign for a specific process family. +--- + +# CNC Sheet Casting Forging Guidance + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +convert part geometry into process-specific design rules. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- process-specific geometric constraints +- allowance and stock strategy +- distortion and shrinkage controls + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/design-review-fmea.md b/package/upload-md/design-review-fmea.md new file mode 100644 index 0000000..d2f6fe7 --- /dev/null +++ b/package/upload-md/design-review-fmea.md @@ -0,0 +1,65 @@ +--- +name: design-review-fmea +description: Structured design review and FMEA for risk reduction. Use this skill whenever the user asks for design review checklists, failure prevention planning, or prioritization of design risks before release. +--- + +# Design Review And FMEA + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +run risk-driven design review and mitigation prioritization. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- function-failure-effect linkage +- severity/occurrence/detection rationale +- closure evidence for actions + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/dfm-dfa-review.md b/package/upload-md/dfm-dfa-review.md new file mode 100644 index 0000000..a47bebf --- /dev/null +++ b/package/upload-md/dfm-dfa-review.md @@ -0,0 +1,65 @@ +--- +name: dfm-dfa-review +description: Design for manufacturing and assembly review for mechanical products. Use this skill whenever the user asks if a design is producible/assemblable, wants part-count reduction, or needs robust assembly flow. +--- + +# DFM DFA Review + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +improve producibility, assembly robustness, and cost-to-build. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- feature-process compatibility +- assembly sequence robustness +- mistake-proofing opportunities + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/dynamics-vibrations-analysis.md b/package/upload-md/dynamics-vibrations-analysis.md new file mode 100644 index 0000000..c5531a5 --- /dev/null +++ b/package/upload-md/dynamics-vibrations-analysis.md @@ -0,0 +1,65 @@ +--- +name: dynamics-vibrations-analysis +description: Rigid-body dynamics and vibration response analysis. Use this skill whenever the user asks about motion, acceleration loads, resonance, transmissibility, balancing, or dynamic amplification in machines. +--- + +# Dynamics And Vibrations Analysis + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +assess dynamic loads and vibration response. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- natural frequency separation +- damping assumptions +- transient shock and harmonic response checks + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/energy-efficiency-analysis.md b/package/upload-md/energy-efficiency-analysis.md new file mode 100644 index 0000000..c4a06b0 --- /dev/null +++ b/package/upload-md/energy-efficiency-analysis.md @@ -0,0 +1,65 @@ +--- +name: energy-efficiency-analysis +description: Energy efficiency optimization for mechanical and thermo-fluid systems. Use this skill whenever the user wants to reduce energy consumption, compare efficiency options, or evaluate lifecycle energy impact of design choices. +--- + +# Energy Efficiency Analysis + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +quantify losses and rank efficiency improvements. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- loss tree by subsystem +- operating-point sensitivity +- payback-oriented prioritization + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/failure-root-cause-analysis.md b/package/upload-md/failure-root-cause-analysis.md new file mode 100644 index 0000000..aecfce7 --- /dev/null +++ b/package/upload-md/failure-root-cause-analysis.md @@ -0,0 +1,65 @@ +--- +name: failure-root-cause-analysis +description: Root cause analysis for field or test failures in mechanical systems. Use this skill whenever the user asks why a failure happened, needs 5-Why/fishbone evidence, or must define corrective actions. +--- + +# Failure Root Cause Analysis + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +isolate root causes and define corrective/preventive actions. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- evidence chain integrity +- competing hypothesis elimination +- verification of corrective actions + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/fatigue-fracture-analysis.md b/package/upload-md/fatigue-fracture-analysis.md new file mode 100644 index 0000000..d88787e --- /dev/null +++ b/package/upload-md/fatigue-fracture-analysis.md @@ -0,0 +1,65 @@ +--- +name: fatigue-fracture-analysis +description: Fatigue life and fracture risk assessment for cyclic loading. Use this skill whenever the user mentions S-N life, crack growth, endurance, variable amplitude cycles, weld fatigue, or brittle/ductile fracture concerns, even if test data is limited. +--- + +# Fatigue And Fracture Analysis + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +estimate durability and crack risk for cyclic duty. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- cycle counting assumptions +- mean stress correction +- damage accumulation and inspection interval + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/fea-cfd-review.md b/package/upload-md/fea-cfd-review.md new file mode 100644 index 0000000..0cfc242 --- /dev/null +++ b/package/upload-md/fea-cfd-review.md @@ -0,0 +1,65 @@ +--- +name: fea-cfd-review +description: Critical review of FEA/CFD models and simulation credibility. Use this skill whenever the user asks to validate simulation setup/results, challenge assumptions, or decide if analysis is decision-ready. +--- + +# FEA CFD Review + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +audit simulation credibility before design decisions. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- mesh/boundary-condition adequacy +- model validation against hand checks +- decision-readiness criteria + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/fluid-analysis.md b/package/upload-md/fluid-analysis.md new file mode 100644 index 0000000..dfb9d51 --- /dev/null +++ b/package/upload-md/fluid-analysis.md @@ -0,0 +1,65 @@ +--- +name: fluid-analysis +description: Internal and external fluid flow analysis for engineering systems. Use this skill whenever the user asks about flow rate, pressure drop, Reynolds regime, valve/piping behavior, or fluid-system sizing. +--- + +# Fluid Analysis + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +evaluate flow regime and pressure-flow performance. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- compressible vs incompressible assumptions +- loss coefficient breakdown +- cavitation and NPSH risk + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/gear-design.md b/package/upload-md/gear-design.md new file mode 100644 index 0000000..12daab6 --- /dev/null +++ b/package/upload-md/gear-design.md @@ -0,0 +1,65 @@ +--- +name: gear-design +description: Gear train design and verification for power transmission. Use this skill whenever the user asks about gear geometry, ratio selection, tooth stresses, micropitting/scuffing, or gearbox design tradeoffs. +--- + +# Gear Design + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +size and verify gears for strength, life, and efficiency. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- macro/micro geometry impacts +- contact and bending stress margins +- lubrication and thermal interaction + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/heat-treatment.md b/package/upload-md/heat-treatment.md new file mode 100644 index 0000000..c252481 --- /dev/null +++ b/package/upload-md/heat-treatment.md @@ -0,0 +1,65 @@ +--- +name: heat-treatment +description: Heat-treatment strategy for steels and alloys in mechanical design. Use this skill whenever the user asks about hardening, tempering, case depth, residual stresses, distortion, or hardness-toughness tradeoffs. +--- + +# Heat Treatment + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +define heat-treatment route tied to function and manufacturability. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- microstructure target by function +- distortion and crack risk controls +- verification plan for hardness/case depth + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/joints-design.md b/package/upload-md/joints-design.md new file mode 100644 index 0000000..acebd52 --- /dev/null +++ b/package/upload-md/joints-design.md @@ -0,0 +1,65 @@ +--- +name: joints-design +description: Joint design for bolts, welds, adhesives, and hybrid joints. Use this skill whenever the user asks how to join parts or verify joint integrity under static, fatigue, thermal, or corrosive conditions. +--- + +# Joints Design + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +select and verify joining method and joint sizing. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- load path through joint stackup +- slip/leak/fatigue criteria +- assembly process sensitivity + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/machine-elements-selection.md b/package/upload-md/machine-elements-selection.md new file mode 100644 index 0000000..cd49c21 --- /dev/null +++ b/package/upload-md/machine-elements-selection.md @@ -0,0 +1,65 @@ +--- +name: machine-elements-selection +description: Integrated selection of machine elements for a mechanism or subsystem. Use this skill whenever the user asks to choose among bearings/gears/springs/joints/couplings under constraints of reliability, cost, and manufacturability. +--- + +# Machine Elements Selection + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +compare machine-element architectures and select justified configuration. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- multi-criteria trade study +- interface compatibility checks +- obsolescence and sourcing risk + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/material-failure-modes.md b/package/upload-md/material-failure-modes.md new file mode 100644 index 0000000..e08e7f7 --- /dev/null +++ b/package/upload-md/material-failure-modes.md @@ -0,0 +1,65 @@ +--- +name: material-failure-modes +description: Material failure mode identification and prevention. Use this skill whenever the user asks about yielding, brittle fracture, creep, wear, corrosion-assisted cracking, or unexplained material degradation. +--- + +# Material Failure Modes + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +identify dominant failure mechanisms and controls. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- mechanism ranking by evidence +- threshold conditions +- preventive design/process controls + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/materials-metallurgy.md b/package/upload-md/materials-metallurgy.md new file mode 100644 index 0000000..aebc8cd --- /dev/null +++ b/package/upload-md/materials-metallurgy.md @@ -0,0 +1,65 @@ +--- +name: materials-metallurgy +description: Materials engineering and metallurgy guidance for design decisions. Use this skill whenever the user asks to choose metals/polymers/composites, compare material behavior, or evaluate metallurgical effects on performance. +--- + +# Materials And Metallurgy + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +select materials using performance, process, and risk criteria. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- temperature/environment compatibility +- anisotropy and processing state effects +- data confidence from sources + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/mechanical-orchestrator.md b/package/upload-md/mechanical-orchestrator.md new file mode 100644 index 0000000..3a6bf57 --- /dev/null +++ b/package/upload-md/mechanical-orchestrator.md @@ -0,0 +1,65 @@ +--- +name: mechanical-orchestrator +description: Cross-domain mechanical engineering orchestration for complex design questions. Use this skill whenever a request spans multiple domains (stress, fatigue, thermal, fluid, materials, manufacturing, reliability), whenever requirements are incomplete, or whenever the user asks for a senior-level decision path and prioritization, even if they do not ask for an orchestrator explicitly. +--- + +# Mechanical Orchestrator + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +build a scoped decision flow across mechanics, materials, manufacturing, validation, and documentation. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- load-path decomposition +- cross-domain dependency map +- decision checkpoints with go/no-go criteria + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/modal-analysis.md b/package/upload-md/modal-analysis.md new file mode 100644 index 0000000..6a942f4 --- /dev/null +++ b/package/upload-md/modal-analysis.md @@ -0,0 +1,65 @@ +--- +name: modal-analysis +description: Modal behavior assessment for structures and assemblies. Use this skill whenever the user asks for mode shapes, eigenfrequencies, modal participation, or resonance avoidance strategies in design. +--- + +# Modal Analysis + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +identify modal risks and mitigation actions. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- mass/stiffness idealization quality +- mode participation relevance +- frequency margin to excitations + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/pressure-loss-pump-piping.md b/package/upload-md/pressure-loss-pump-piping.md new file mode 100644 index 0000000..ead469e --- /dev/null +++ b/package/upload-md/pressure-loss-pump-piping.md @@ -0,0 +1,65 @@ +--- +name: pressure-loss-pump-piping +description: Hydraulic network design including pressure losses, pumps, and piping. Use this skill whenever the user asks about line sizing, head losses, pump selection, NPSH, or piping layout effects. +--- + +# Pressure Loss Pump And Piping + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +size piping and pumping system at required duty. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- system curve construction +- NPSH/cavitation margin +- control valve authority checks + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/process-selection.md b/package/upload-md/process-selection.md new file mode 100644 index 0000000..b45f37a --- /dev/null +++ b/package/upload-md/process-selection.md @@ -0,0 +1,65 @@ +--- +name: process-selection +description: Manufacturing process selection across machining, forming, casting, additive, and joining. Use this skill whenever the user asks which process should be used for a part under cost, tolerance, volume, and material constraints. +--- + +# Process Selection + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +select manufacturing route with explicit tradeoffs. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- volume-breakpoint logic +- capability vs tolerance mapping +- tooling and lead-time implications + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/quality-metrology-plan.md b/package/upload-md/quality-metrology-plan.md new file mode 100644 index 0000000..a46a111 --- /dev/null +++ b/package/upload-md/quality-metrology-plan.md @@ -0,0 +1,65 @@ +--- +name: quality-metrology-plan +description: Quality control and metrology planning for mechanical parts and assemblies. Use this skill whenever the user asks how to inspect, validate, or control critical characteristics in production. +--- + +# Quality And Metrology Plan + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +define measurable CTQs and inspection strategy. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- measurement system capability +- sampling and control plan logic +- gauge and datum accessibility + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/reliability-analysis.md b/package/upload-md/reliability-analysis.md new file mode 100644 index 0000000..141acaa --- /dev/null +++ b/package/upload-md/reliability-analysis.md @@ -0,0 +1,65 @@ +--- +name: reliability-analysis +description: Reliability engineering for mechanical products and systems. Use this skill whenever the user asks about reliability targets, MTBF, warranty risk, mission profiles, or reliability growth plans. +--- + +# Reliability Analysis + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +quantify reliability and propose risk-reduction plan. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- mission profile decomposition +- series/parallel logic appropriateness +- confidence bounds on predictions + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/shafts-couplings-design.md b/package/upload-md/shafts-couplings-design.md new file mode 100644 index 0000000..74ba786 --- /dev/null +++ b/package/upload-md/shafts-couplings-design.md @@ -0,0 +1,65 @@ +--- +name: shafts-couplings-design +description: Shaft and coupling design for torque and alignment demands. Use this skill whenever the user asks about shaft sizing, keyways/splines, critical speed, misalignment, or coupling selection. +--- + +# Shafts And Couplings Design + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +design shafts and couplings against static, fatigue, and dynamic limits. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- combined loading with stress raisers +- critical speed margin +- connection failure checks + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/should-cost-estimation.md b/package/upload-md/should-cost-estimation.md new file mode 100644 index 0000000..8e70226 --- /dev/null +++ b/package/upload-md/should-cost-estimation.md @@ -0,0 +1,65 @@ +--- +name: should-cost-estimation +description: Should-cost and cost-driver analysis for mechanical components. Use this skill whenever the user asks for target cost, quote sanity check, supplier negotiation inputs, or cost reduction options. +--- + +# Should Cost Estimation + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +estimate cost structure and cost-down levers. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- cost model assumptions traceability +- sensitivity to volume/scrap/cycle time +- risk-adjusted ranges + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/spring-design.md b/package/upload-md/spring-design.md new file mode 100644 index 0000000..ff9dddc --- /dev/null +++ b/package/upload-md/spring-design.md @@ -0,0 +1,65 @@ +--- +name: spring-design +description: Spring design for force-deflection and life requirements. Use this skill whenever the user asks about coil/leaf/disc spring sizing, stiffness tuning, set relaxation, or cycle life. +--- + +# Spring Design + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +design springs for force window, envelope, and durability. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- stress correction factors +- solid height and buckling checks +- set and relaxation allowances + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/standards-compliance-check.md b/package/upload-md/standards-compliance-check.md new file mode 100644 index 0000000..b954923 --- /dev/null +++ b/package/upload-md/standards-compliance-check.md @@ -0,0 +1,65 @@ +--- +name: standards-compliance-check +description: Engineering standards and compliance guidance for mechanical products. Use this skill whenever the user asks about ISO/EN/ASME/ASTM/API/NACE requirements, legal/contractual compliance checks, certification readiness, or design acceptability against standards, even if standard names are only partially known. +--- + +# Standards And Compliance Check + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +map requirements to applicable standards and evidence packages. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- normative scope mapping +- mandatory vs optional clauses +- compliance evidence matrix + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/structural-analysis.md b/package/upload-md/structural-analysis.md new file mode 100644 index 0000000..00b17c5 --- /dev/null +++ b/package/upload-md/structural-analysis.md @@ -0,0 +1,65 @@ +--- +name: structural-analysis +description: Solid mechanics analysis for parts and assemblies under static loads. Use this skill whenever the user asks for stress, strain, deflection, stiffness, load paths, or structural adequacy checks for mechanical components, even if geometry is incomplete. +--- + +# Structural Analysis + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +evaluate stresses, strains, and stiffness under real load cases. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- equilibrium and boundary conditions +- stress concentration handling +- deflection/serviceability limits + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/technical-report.md b/package/upload-md/technical-report.md new file mode 100644 index 0000000..d365db9 --- /dev/null +++ b/package/upload-md/technical-report.md @@ -0,0 +1,65 @@ +--- +name: technical-report +description: Technical report writing for mechanical engineering deliverables. Use this skill whenever the user needs a clear, professional engineering report with rationale, findings, and recommendations for stakeholders. +--- + +# Technical Report + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +produce concise, evidence-based engineering reports. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- executive clarity for mixed audiences +- evidence-to-claim traceability +- decision-oriented recommendations + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/test-plan-validation.md b/package/upload-md/test-plan-validation.md new file mode 100644 index 0000000..680560d --- /dev/null +++ b/package/upload-md/test-plan-validation.md @@ -0,0 +1,65 @@ +--- +name: test-plan-validation +description: Test planning and validation strategy for mechanical design verification. Use this skill whenever the user asks how to verify requirements, design tests, set acceptance criteria, or plan DV/PV campaigns. +--- + +# Test Plan Validation + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +build requirement-linked verification plan. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- requirement-to-test traceability +- test severity and representativeness +- pass/fail criteria robustness + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/thermal-analysis.md b/package/upload-md/thermal-analysis.md new file mode 100644 index 0000000..441cf7f --- /dev/null +++ b/package/upload-md/thermal-analysis.md @@ -0,0 +1,65 @@ +--- +name: thermal-analysis +description: Thermal behavior analysis for mechanical systems. Use this skill whenever the user asks about temperatures, heat flux, thermal gradients, cooling, insulation, or thermal sizing of components and assemblies. +--- + +# Thermal Analysis + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +analyze temperature fields and thermal balances. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- steady vs transient model choice +- boundary heat transfer coefficients +- thermal bottleneck identification + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/thermal-expansion-stress.md b/package/upload-md/thermal-expansion-stress.md new file mode 100644 index 0000000..52674fa --- /dev/null +++ b/package/upload-md/thermal-expansion-stress.md @@ -0,0 +1,65 @@ +--- +name: thermal-expansion-stress +description: Thermal expansion mismatch and thermal stress assessment. Use this skill whenever the user asks about differential expansion, constrained thermal growth, thermal bowing, or seal/interface thermal issues. +--- + +# Thermal Expansion And Thermal Stress + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +quantify expansion mismatch and resulting stress risk. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- CTE mismatch mapping +- constraint realism check +- allowance/compensation strategies + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/tolerance-gdt-fits.md b/package/upload-md/tolerance-gdt-fits.md new file mode 100644 index 0000000..73988ab --- /dev/null +++ b/package/upload-md/tolerance-gdt-fits.md @@ -0,0 +1,65 @@ +--- +name: tolerance-gdt-fits +description: Tolerance stack-up, GD&T, and fit selection for assemblies. Use this skill whenever the user asks about dimensional variation, datums, interchangeability, fit class, or functional tolerancing. +--- + +# Tolerance GD&T Fits + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +control variation to ensure assembly function and cost balance. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- datum strategy coherence +- worst-case vs statistical stackup +- measurement feasibility + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged. diff --git a/package/upload-md/tribology-lubrication.md b/package/upload-md/tribology-lubrication.md new file mode 100644 index 0000000..38b909c --- /dev/null +++ b/package/upload-md/tribology-lubrication.md @@ -0,0 +1,65 @@ +--- +name: tribology-lubrication +description: Tribology and lubrication engineering for moving interfaces. Use this skill whenever the user asks about friction, wear, lubrication regime, lubricant choice, surface finish, or seizure/scuffing risk. +--- + +# Tribology And Lubrication + +## Objective +Deliver senior-level mechanical engineering support for this domain with transparent assumptions, standards-aware reasoning, and decision-oriented outputs. + +## Focus +optimize contact pair performance and lubricant strategy. + +## Required Inputs +Collect and state these inputs before final recommendations: +- Functional objective and acceptance criteria. +- Geometry, interfaces, and boundary conditions. +- Load cases and duty cycle (magnitude, direction, duration, repetitions). +- Material state, manufacturing route, and environment (temperature, corrosion, contamination). +- Applicable standards, customer constraints, and safety expectations. + +If data is missing, proceed with bounded assumptions and clearly mark uncertainty impact. + +## Workflow +1. Frame the engineering question and define pass/fail metrics. +2. Build a first-principles model and choose methods suitable for the available fidelity. +3. Cross-check with standards, supplier datasheets, and recognized references. +4. Compare at least two options when tradeoffs are relevant. +5. Quantify margins, sensitivities, and residual risks. +6. Conclude with a practical recommendation and next validation step. + +## Specialized Checks +Prioritize these checks in the analysis: +- lambda ratio and film regime +- surface roughness compatibility +- contamination and maintenance effects + +## Sources Priority +Use and cite sources in this order: +1. Binding standards/codes and contractual requirements. +2. OEM or supplier technical documentation. +3. Peer-reviewed literature and recognized handbooks. +4. Internal lessons learned and field evidence. + +When sources disagree, explain which source controls the decision and why. + +## Output Format +ALWAYS use this structure: + +# Engineering Response +## 1. Problem Framing +## 2. Inputs And Assumptions +## 3. Analysis And Checks +## 4. Design Options And Tradeoffs +## 5. Risks, Failure Modes, And Mitigations +## 6. Recommendation And Next Actions +## 7. Sources Consulted + +## Quality Gates +Before finalizing, verify all of the following: +- SI units are consistent and conversions are explicit. +- At least one sanity check exists (order-of-magnitude or handbook benchmark). +- Utilization, margin, or safety factor is reported where applicable. +- Limitations and confidence level are stated. +- Cases requiring human expert sign-off or physical testing are clearly flagged.