From 011a8b42f23a38304e31468fcc3e7d760e20e809 Mon Sep 17 00:00:00 2001 From: vitya Date: Wed, 6 May 2026 22:49:56 +0300 Subject: [PATCH] feat(recommend-dont-menu): add skill + integrate into project-bootstrap [v0.1.0 / v1.9.0] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add `recommend-dont-menu` skill: overrides superpowers:brainstorming to give single argued recommendations instead of menus - Integrate into project-bootstrap: - Add "recommend, don't menu" trigger to CLAUDE.md template - Add row to Step 5.6 trigger→fulfiller table - Bump project-bootstrap 1.8.0 → 1.9.0 (MINOR — adds trigger) Co-Authored-By: Claude Opus 4.7 (1M context) --- .tasks/STATUS.md | 6 +- dist/project-bootstrap.skill | Bin 11676 -> 11722 bytes dist/recommend-dont-menu.skill | Bin 0 -> 2254 bytes skills/project-bootstrap/SKILL.md | 3 +- .../assets/CLAUDE.md.template | 1 + skills/recommend-dont-menu/README.md | 32 ++++++++++ skills/recommend-dont-menu/SKILL.md | 60 ++++++++++++++++++ 7 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 dist/recommend-dont-menu.skill create mode 100644 skills/recommend-dont-menu/README.md create mode 100644 skills/recommend-dont-menu/SKILL.md diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index b624f98..bda5b3b 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -222,9 +222,9 @@ version: 0.1.0 **Reference:** правило выкристаллизовалось в брейнсторме interns 2026-05-05, проверено многократно в `.meeting-room/` сессиях. Source content до удаления memory лежал в `feedback_brainstorm_recommend_dont_menu.md` (memory была удалена 2026-05-06 после переноса в `~/.claude/CLAUDE.md`, который сам теперь временный). -**Status:** ready -**Where I stopped:** (not started) -**Next action:** skill-creator: подобрать имя (recommend-dont-menu vs alternatives), выбрать trigger-фразу, создать SKILL.md, добавить triger-line в project-bootstrap template, убрать дубликат из ~/.claude/CLAUDE.md. +**Status:** 🟢 Done +**Where I stopped:** trigger-line `recommend, don't menu` добавлен в `project-bootstrap/assets/CLAUDE.md.template`; ряд добавлен в Step 5.6 trigger→fulfiller table; override уже был упомянут в `recommend-dont-menu/SKILL.md` секция "## Override"; `project-bootstrap` bumped 1.8.0 → 1.9.0 (MINOR — adds trigger to canon set); rebuilt + installed, version 1.9.0 confirmed on disk. +**Next action:** (none — kept until merged) **Branch:** n/a diff --git a/dist/project-bootstrap.skill b/dist/project-bootstrap.skill index aeb1ef0731244776141de6215d87da5799036c11..b0fa7523b2ac08c25c83045559ce23a0e5b78b39 100644 GIT binary patch delta 7343 zcmV;g98lw&TgqFod=!MT)Gn&^DvFeI7;GQ+LJ;GD+m0+z59$3@9aLBd54v#NBHFq(AS-*?RA;`MNMhyE~dGyv~G&jBWrR1GU24{nX;`ns}(I^5o) zEW5K9|uKNkYw;0`+$6UZDnL;DE2l8RXZ!$s@DUk=Rs;mwmV4F zfOPMe2d^1DfVoZ>Rm3QeYLpuJ-4pGC9{u#*;e%J7JbwgQ3k7<=@RNIQqXkod!Ekn^ zcLfmOT0eO4^y3Flnx#}1{)lyg&Vk3ll!pmFr%iYP-uX?BqE$RPy*i=-jX1KnE4Tdd zyRwm)BDxS9vS$uH-6cbke9u|%ib!F zPq8QbI)|~cxPl{OujnKEwO>2Ue+r62>?-)Aj=mT4{5H?Cd}!`_y-;oaF<<~9kAeVH zF2Ll@ti%N#PdF2B50l{#6cqQ9!w1htozu}bDfT_eBZN*Sd~A~m5i|h~lRgnJ5VlwN zmchLvce{6l2r0Pzy_0?s8Z}{x@UWUvHVg5(a0@Ak)Lw$Ky@UC#@Zkd)r)h}*KVf$CM6&<@QsyC(%@L#x+#(9GDG<+|L&K$gU6XziK7YZ{{KkzNH?Lm* z(ajI+%^%&oI=y=J#?_lMd-M9dFGQP2;!F4C0u?8Eogl*h`S!PeX9`H|GHM81tn4(N z$5Y7_@#LpOi%<_N0T^drcUF)kU{s?dJLb_z*i{6xYW9xSriA_PGa4g+5Qa-y3G2}C zVnNL6E~g8M49!9zH-E$#qs9gb^~GP}Px$z8c>n&Fynb$&R>U$HRy~dFS!*ph8twxm zxTuy<8d4XcqomPlKMC{m=xiiFpcPRy%kWn+IbJTSl1toDxfPf>%cd0*M}?>Y79q9D z*cPMik>v8)(`IF}RRW1GxP_^O(S{kXpzeJQXeBzN9GqCY!hfP*!_={v^z=`-9ZOdt`7 zWa8$)xMoi$4;Z}WuvD-%rHZytn+7bRKZE&!?ZQ1MWeWtpl-7`rs>FXb_qMdj0DAbk zcG`MEU!SG7+rQY1o;)4Hs{P4Eh9Uk7 zI<4K*hLB^oQx^i&Jl*8p&~WF0Tq3dacxHMS)GrrSKZ|7`vup z^kc^p^?weqWUt8S@kH*{GMjosXE41hIE!btv8}>_ClOHEv5>!stT=zL5!`~wfQCha zxQV%PbFj|ATSz-bkn>cA;+CN`5KbxX#A(1&Y{6xsKe~z_vvoAx#QjVVY1=m`n){IA z!|-&2`_ya10@2DgX})PzNj(DpPrY@f;4$kL1Amj(oD;Y=p!TXH#Mu&ydF2%t2iB6? z4CRImT5OpO?>Hwrjm1O$8UzPjH+rVpi!BVzQ%HgUFG>KfvG8&nrA(n2=V+-`zW$;f z*Gb)m+f^Dq_1+Jx{GufYU+%TOs5jbjn4JH>DW9YKUP@tITNrDPwGW&!T|DBMBk{!} z4u4f2b`RJjvVw`-Bz}}ZXzz7kg)^jrL4?2{obzCfl{FuV%>tHsIpP0;O&D@JTipQ= zxs9EL!l72B^Nye7Dn^vlF|{%-p)XE5`AM7|KhWLr-`vh4CWiUhTN~&sTxMQaLJ+3Z zHR#8NUVhOtZ4zKVu*-0@R;=2uIg@* zylp`)4B5o*sX?nHNcj2Ou964Y1@zxH5ZD8 z=siXd$g`Z;XXlt=se-}?PKLu#?SH*A9#ujqMOZe+c4_$;8-6Hdvd;CGmclQH}h*nbWkrpxN<$#egDSv`EEW({{ zCJU}>vOs$jF3A>XVEgvzf;v&4oSY}1?BR=hFFrYB+r+Nq!Jjc%&`AZjop0s>E{pvY znUI+|kQ#+m6D!{(P;YMgog#INpEz#Rn{uO`y?mzoxm48&ta<}$#Yje z>cpVfWl^*drEFWd=Io(vP7(vW-=^SciK`B7pblr5=q1yM@$^Jdh9LG;ZVM88tVWf6 zJfOXX!tLB1;v$z*p0t7{wIr@aS6^?H=*(etR6ySQAE?e_%L3A8(kA`mLxefCw)i76-k|1uX zvt(Kc#6SvacmqvBgvmGG!$b&*zMGB^%QmCXxK0X0a!r z>QWjB%1p{)Fuv4#lCR4T&eHvwniVt;PRJy(gDIOX1}e5+SAS8$FhCNUS>l>}#0KS- zWj0R8a=)OfbFHd$T2?M7cXW8xJ|O9^L*{lJyL)22k?fGsT)o8JnXYl3P~6WU;aSn2 zh~W-F1n)_c_0T+QI;wQFRh%+y5+Piki|H&IZZL0D<*TfaTx^}&Mo_{-5F`^U2%>Q` zz|z#g5Et`om4C-lC~coz(T(8tOt+#9Qv&AX=)>THA!3Cjkp?AKv=#Z0-OE&ZajcHL zHd1Xm>22*x$qa&VqUwnVDGNZXro(xvl^fm|2G_y;PCp1gkQip~iQadhz(_;5 z5*uM4Fm0bb6VZ_d%=Ot%9^mK z1w>TA4~6Oov~9_D;TM|OS+&v_z*(P;U1Xli>+@90inRC_dk}>Sn;w1><~OeH9dpmM zEH;&(p?`TmOQ|N2J&WFY2pUgYH4KGdL4dC(7=OY#))acPjM4zo1uzN1t!SkR`R*ea zI%2sXO{f?R7%67BSi?^(11;J|(>yB*O{%+6Zm=R0a1}={5m|l`Xb!Lmk>X++uf&SX zS|AcS1PD>6TDqVm*tAUzBA#5hkBL%8FpEnySbtxB*l4E^8U+Pgy0A*vWMy#j=oo_h;7vRvZg$*!&uVv`8?#uf`-(PGVXf@NR5>I{ALYM(thS)vZ! zDSzA0QTzh_?xr^flj1rs)PZv3L7-_Y!4Xv8iB@^Bco@#-k_4F$FBZ0tih;J*O8G2n z(G;t)vpHb3%@S>ikoS14*N25>{Ow8W<20>_!;jP^xbQK)Pm=^^Q7&~>XPkU1Zt0u@ zA}|7!j}WKJSCEa>Rp~bt_^pNWMMT6IRDUbzu8o$iJCPh@t3W7Fje##@Z6TH{mqNGr z7RS&g@0_KzLkq~coy4sp7j3+fuFR3lN91>_)tD&0&Y6w42nyyr8Ensp)YMYI-^+M| z09AC~855C%3-$Q|NpQKE_PCB9Onn?ahi%+YMFv*I*z8^H*Y|7u?8t1CK7vu*Mt|?q z_c+x&s*=*B3YwG27H*lnYkkdWf`$spsahlEYX$+__8eH6%^S*AThyJ;wH#{eCSk^D z#05X-8~2ETIjWYcI>{L@F+;=eekIn)%b4l3LY!D(m-uNQSR8Ii0w`^hz^d2#?lTn` z0BR6OUxfNKL7(-8uvX}G$M5T{qP@cTGOO;!Z-`aGw)z9vF?)BDEMjvO zm@t*J8JGjd_;B=8O@Zc&eyR3eWGL9nwQcbjp(bK@CE#wvh?@mH1;VvBIo7`}h zTfuj6!1ctPu6L86JDslikRH+1^`bIx*^@fU=VpgGLQ)tGrA|~$Lsip>I6SXrTfyE= zwNk=`K3?)gROvBuv25Tw6${VWCcJ_o_&ms{)miKCuK}o)0Cpx84S$P@Hx4xO4RMX9 zk`>BJiEz!c!!V6B|GGvj{kl~-UrE?Y5=(kTJHn<<4+Gk?yX}O{Rw9N{bwMU(D+T5H zteb*8HXYB|ClY)np~fa}>as-WM@q6ozs`Gynmna;N;D0V>sBKWbIoAWfrpU6ga_c7iE@L(g3&=UDj*q3-;Cj0yU*m1I z3pTiy!;c?6dgSwIb=emJ!CW05a*`x0nK|*#;Y|$uQ-x@7CQ%n4_KYRV&B%x>kqYd% z#fZnA5vBBVItB!;t!Heyb)~>bUbd@i>nFF}hVJ-BwRYSlIDb?&X%aMRvE@5*MNAZE z5$83NNqcWfNO_R@+{pdRx%t!~igWWkgJnGr&auh*KMb5~9caShpFa~mXF2gpDd#sb zrQIsl9jlEWn@Q)^B$u}C&eCT>c2C>oB)YS^z;BfS%&gnDtZiy{ngwNKvP-0N#B1(OLa2Jcjn=qy7(U_DI z+(1o@VnsfPGZ14au@X!1Z)b6urw`i7D&(yFUX|9d>t^GlYfKk}+wP7e=43SrEA>5I z?WAX%zknK4=}8Lpt(}vH#?vgRmMN_huO1UM5iAw48h@D$1N;Lqz^V*0%Pfvfrwkc1 z3$Qm`M5P3dgLaVRw%m8Vua)et6S49vr{__ftKH6%Yhoynz$jXNR+E$}VLvQ3nr89V7Fn{#i9nVX83t^Vf%}m?8aODi2 zjc59FUL_cvh=THI*lvPMpNCeNT=_Ct!=K9vHo<2SKgdIYEz(4@nK)7Dr~zioq&+?| zIjAVr>bRwe8gmVU$8jOq?%I7er4Cf0so62&nKIcnm+l+fV@^;qsci)|(ZSAA>({I{{ zt0lkvPW;N;$|bqj^9xe1Z{AU7!gtx(=A8t7T$H;!zaX1-+5UD+c)R`Wz7zL%NlxuT z@N~%rx5mHa{&wAm+k10%W*4G*6NlZHm(Ds!2>>5vP%6+h#$((U%z-q zJ0`r{zINY*gL|YbInLnH7t3z(z7^QC8_fxy zLJyyabRgBfNY)?v#}HX?(>~A3D*XD;jz>N6#tzNj)FsNfR=8h$^zg8O$S-`gbblGG z5j>vigZZb-E;NA%(OavCe2dEvsY$iR0~*1#)A|(@EFZ9Zp6HX(zMLp63y%d0*t!(w zTO`^j%pu(92%B-Qec5gh;6{qNsG~GO@H4NU3W+#S7u=>p9$;*PIFz!ei??rQp%V5dEMNh z3vY5|;0P|I?hedxog0&rm@g&}QJ)CNl4hQ5Ex0YsoGsxOIlS9hMg92hW!{7oTyW5| z7dY5JkW!_rB73MZxoh^c2WJ^2BneLa^TVf4$j_d`-aTL0mM3VSE|n^Pnt!orPOa5u zuKFPnfzmA^+1as`&Wd55tpmPMK^3h5)ny0sgXL!#%VF|B_&D%wA@{^-OWT8cIJ*f1 z$R{0X4C6_Cyyl<&T0DKR9g{J)Tg+pZ9o79bMH{akEReBxui2>&J|!ktN;Gr|N2`43+c>1 z(@k-!#-biwDu~UoKYYm#xLvPs$A9eI<{EeYyo-GM zn}2i1^3l^C(=IqPtAwsjbih&t15SAlO_cP<^&aAlnCt4D3xB$HXZxo2q(H3YEY*pVrpZN4xol+8;j+@F;YUbfQP>abFU0i76jjx~# zHkRtVNCXSZz4_h?@kuTf___24$jdP3;cm6eq;Dgt-!nq#( zP^X$5&0*$r;0hMH=?qP2wbDc_I0ip2&*i$Hnr3<=9%IyLy6Y~ejSvdp8l=F-aRu#Y zk8V4UCvW#iH-8{%ySbIMgJF|O)I{QeWOcf)N?;ObD4$%NJzSdJbb&Z++!8PE6SO0% z%5C$47yk@E-Tt?TX7y_h^szfxx7Hu2DQgC@^9HBxmh`oOzOAA00 z?rm+plWhH=rdsvkK0XslXBuI%%mVU!dFh_tCIq+-R)2oay`p0_ZeDX(|7ky_B~^vJ z`T=u&^C1niKV5rL=N*W?`E2`HaR+K!FGLKwucE34mCy>Rn$O$?+YeQ{ak-kDghO1; zptH5s`xPDI>ep}Bnbe4+mbTYwnTAwPyQ_8bu)zX8cr z7#l6DVdu=BbKE+`r*R}6m|eF`#fRY7y)nhrwIHVNm|e7yzx8nq9_T4U?o{LB zCWvz{7HytV7`qoUzWq66iTb*PUmYVWyw{XQ(>1IwZD9_cfr366)G1(q`vrtwMc1SE z9e-l!7G~FzylYQ7XZ|P_QN5o7V(xmCmnPEGH~Po*Sf>!9!XkxlA$Rr#Y!WRSb~TJ` zHV*PV5#ZoUj%@AkbSq!fxYq9D4m1*E1CG9*$UPB}s#S5}RlCVtJFvIb(7nX+5VUki z#sWR1S!Ui5*Y0aR2hw=tvoBJjk@XH*o>{Yg6JpzOy2WRi@J$S<^T$Q$k%q`5yExlR z5@>Pbg68;)m$uR|VNq1mDP#tgM{KdYO3X5$Ri9qpZT9S>O11}R18+m|-bZam`S-SI-N@3)V)`%I6jzF>twlO?+cm%{TuASMlIKR$2~1*#YM?YLBd54v#NBHFq(AS-*?RA;`MNMhyE~dG5K9|uKNkAo;0`+$5y%`lL;DcAl8RXZ!$s@DZwBVw@Pm^v49Z%lxPS2c<>R}L?*HWNJ(5+<(tG>qXZL!OhYutqZ?|vM zYuxgEbLE#`fCiwzm+$O_^~e7H+gB(+zXC)w&XIlhlg|$)e}VF zfOKz}`>z;1fVoZ>Rm3QeYLpuJ-4pGC9{ud@;r*ANJbMUQ3k7<=^pksUq6Jfc!Ekn^ zcLfmOT0eOH|Kc>!vMY#*7P)9dj0dIj!8D-}pMiP2X@mb!5>)BDwn9vS$eH-6ETkQcqdi{2`a zPq8QbI)|~cxPl{OFX2Ue*%g_>?-)Aj=mT4{5H?Cd}!`@y-;oa319#skAeVH zF2Ll@ti%N#PdF2B7n9)-6cqcD!~4%hozu}bDfT_eBZN*Sd}Nae5i|i7lRgnJ5SCZ? zmchL(ce{Ip2r0PrgOh#{8Z|+R@UWUvHVg5(a0@Ak)Lw$Ky@UC_@Zmifr)h}*KVf$CM6&<@Qsx1Z%@L#x%pwZ0DG<+|L&K$gRg-=aK7Y~C{KkzNA6&iu z{s-^b58nUa>h$W>8&^M=*$=MI`$DvdB))WCE>Llz*9jv0pYMMAccy^UE~AFP#mY|O zc|4U|5l?YQvkZSFljG&GD!If>m0N+Cvus*1aa4#ZU=dQQ zjBPRM9!V~*J#AJtTP2YAf?Jqc7;TvG3hLh1fL5YI%E5`XD}O8sHcaiR++5UMM(_bb zAlkt{)0k;jcb}bWtswXObz?1e`LdZR;q8esld+}`sVUpaUGUp!#E!MZnm)yy!UPhL zNG5I$jBECE@_@l>4od}VQ>thSwQ0a2`ZJgx*e=|IQno)FWN&nWu!?fwf=Ze>2LdLlN3{~c(x~S2H(k|d)SE;3O^$x6jaA`> zp1w}ehDHKAkueu&N9kIJWs-VSGxeMU`-Wyx zYntYfW-+|K6?X+8Dmorqviz6o-H!)5Rm6Iuc(z z;(t)}VfTPdA}g5KP2z_cg!XO+Ryac{7(@sR!Z{DtSXuL-*eqbF7Zd(3*n}asvej(> zkz3eVC>&~4I&b?)u3|(<9aAgg68hq_lb^)d@dMo*|IO_@Vq%z|y|sbP!e!=#B?Mtg zU4wpX=*1U3(t$#9`MRX1nj@w^KwiRO=NUdI41dmCN?W*o3 z$=ep>!jMh;o*J}Tf`p&X>?(->5F{Ll%pyKsI6TlP7mK=f>?fm0>S=}`=8D8^15tQq z7M3e;Bc-F+B_@P(HO|}G^|R=#k-Gi;2Oje=Dx+J5A)qoDJBv%zI1#6a4j8%!cYi{& zppu0hE0U$*h|J_RLc*x53YcT5Iec9)ZO|?H+E>g{zy@MX=Ki%FS;#ySRlF<2K*)xJ zfQ73HR;-T45ZK1kgw!c%euaqm^7P(^_?!L_vDqSX(W`w0A(I<9Z_6}DoVE=KQFEba zh~8rafjrBZeRhs1mMSQW;AA)))qmbg<54A)QiNr5Y?qdwvEheOHqMVF>q3td7T6dJ z%Bhc|6i>tG;R=GLg09FXRtNZ-7>0!+z$`g^qoE!20`=y$-z!qb_=)32O)da`jy=kveCCK_m)Tdb*U>-x{&)W|`or&k z|1YEO{_)@W;a~CB@BXuIR)0y=EO(3lghf&v-LSnR~QhcMygj6#KX-cDP>JW)EHG|^Pu_7tuyJnAny}ba?|r@o=-6l%n!VZ6swjN zb_*2Z;be<-?a{%`MvPqd5W8JOuAw9_A6%Q`>asQO7DUGp_h{%=p4l+3QVnxODGB1H zI!m?|ORt992wT5eM}Lg1MO#!K2G<107_mzvpjf(rd}NB4#}e@3V7EWfKti3F_$UU$ z;%=EJ@u@`>2EZd+V+G20^Kh|3`cs-VBKt~m6MDU(8Sr5&FrlU$%Tg55UCK1BrxtPwf;Rf?YRldp!$;H;WZ3HDe1VJ*vf*=}4 z11wD)3~@2fR)2Xch0^xf72ODK&vYx=FePA4jy??D8zNRn5@}F!MO%>{*}Y7q7su+@ zYa`XBlit?8l*}L)C#s%^kg@>8YC4>!TDjqkVQ?MX@AQN41Bqew9_xJv3XDWlBta}E z)+|)C*;~OI^)#^HN^qTz>r-qQg2MZ8j?P-`KX-cOvwtXN`cMF$2Z3F8>vBQFUs9a9 zL5}z#W4BF$MUCQ9dnO#%b6s_{ji$TiNby}66);kUmL7?A*f7w}H>cH&zZV?XtgH!( zT0le<{7|TlK--pV7k;6comDH10i5;e*hS{KygpC0tVoN0u?JDOu<7A9VSeN4-ZFPx z%VJXr8h@Jmw3KQR*|X@ahoJGaRl`sS76kZug7GJ;V@;tq%P0*XT>z6H+=^DJkncW% zp(BAfp3ju^2Tcme9cj#Y>J#Tr6^2Pcv}I@Cz>#7UfcBb;ilJ;+D=i zAOa&m`3P~kds>B=0*d_;aXTaAh0>zvt$i=bf6lfm|kNKGvT{Jo4f z2v9}$oiPzPxKN)jkOY^jX^-m&!qms%bJ)fWRb*gQjLqKFeto~j&yLJS=_44`ZGZGW zeUDSkqbey~s-QWUY~iNayVlp7CTOUjoT@cqzGe`>ZO?(F*}S1_wME_eT+5-hZW3mk zMqKc{zHyHjn4@aBs*{`n6EigY?pI=+yo{MnE5wNvc8Q+`g2myMB!JR339Nd(?>~P{G@z`PvFM%w^gM2-vii~*ys**A z?Vp9NLaZ`Px^}%x>a9LHcM64n<*>D1E;>(9^xKW;or1%a z!r$B#Ql0;sxJ2QA1b=rqLv4fd&AA@Ldt{G=SJ>l&dsL|QJkA+87%90aE?vZ|6$-{>p&A0|NNQoIm?M(N;$ug zDeYFV?pSU7*i1UNCb_hAca}aAvU}PtC()hV1%9gxU}oLEWo=Wt(>z#cIaE)@Jz{#2 zav=E18Q{Jyx_<#3b}yRK87!^e%{v`zwdE1dUFVBWgc5@?7g6d1gu7TI-h?StkH(~& z;09`H6f5#UoPiiaiIrH2e>02IJblnsRv~BY_o}pxT{jyaU1Pc++;(>)F(<20SgG&v zY9~G8`~}pYN>5U#Z|$5sG@fQjwM=Q9c=ed5iD0RS)qlur7~mg?0aj(0S!Qu;I%UY9 zS%AIiA}S?t9JGThx8=U`eXV4ForslZIX#c+TY-ZZ#g)3+H zY&_Ga^D4pUL===y!*&y7`aHDC_6K&BTdHM-4DzChhT& z$w5V_R>v(()R=1+Jc+_Xy(5?Qqb z^PI5Hk>lKa3>1ZblzZAd35uN8v7EzCo9>|P7Ivinc$Z1*bK!ix=R8@^4M1Y3aHA*p1L&et#d{Hmh@6+tKW3JJQ=xazEb@;$F7hjlplW z;q5!PhqjXA3{G>g?3Tw{p+mcsn*b&B0EJira^uTT{h@!*k0mYbq`a(#u8+ldTp{no z&Ffh4e_O#1o86_kMPW_9+Cy&X` zoS%7KpAOp%2|pUv8$ZmJbzrx(^KMw++cp`MvWkw`X@=wK4P2;D z*3p7#M+@8M|EvH0-~aks1AhzY5Hu4yajS}g@}Ex^{c}rgxvnCZGDzTUjt>Fj?i^K z&Psj4XMg|E!P8LFO(7rG^f^#zEptf7wS4}VEx5aoDPLW+0h;=an{3s$KA-pmRGqXD zn~s~xb71DdJWz|tB!5_3XlskFQ4BVg>b$B03(LLvW(o00F4^|ERN&=x6ZCL5TV~QX z>eO#@a4yoDO+LUQ`Iha1p(aDOJ;KD*da#8oVQZJvb6B8ayIq6tfaNsNKT;&8jkMoR z1j`rBN%(hzu%}ZxSrvq28&`lU<(x{b)X~8l0d3o~Hg{?Hx zBk>rcPFq`dL2Wfq0M{S|KJY4NN4sF#nKF5QM!Eq}+wG&w&JUYpou=vzByZAv83EHQ zL;2(?+2PXkrhf}WLgSWrd7q#?PgQQ4SE%?d`?|qy5zXos3Fw1uvTm(EQnl3_U*{c3 z-7V>h`F!I*;{{qTG-}=!uzUL(FSXm+d?%gxV@+o2<8yrKlFl^3W|?Q>`SQ{|Ax#Ky z53KxwdkMyD+`LGz{?mRCO7ix5^&{N+Zb2Gof4cUh&VO45eS6pT)7TEwwq7|HbYJ#V z4=SM*R5hO)3$`CycH?q2ISGfjsJyea)*B2Rn_EhcPo6!zy+fYfZ;OC?zazV#wqFIso4w}cPx`8- zXWCoUrb*|;kuGhY+Os<2>)$cta`-&Ur5$F&tyesagOtAc+xq1&d|S+NnWdv7J{onF zk=Mqs`C-IuB7O)ic$d?ku%Zz9Q=7;0byqgn5`S~%&pB?L;?p=156r&Srlvx0?A}S@ zDn}60x6Cfu$lv-v1P}CtA$O|raTCP3S9dng0gTm3$w3C-exDgDSs4;sNT;2F?YQzOH)#nngeO=@!1zCg2;LYEzeoMYq0G& z-Qu%M_$G$b`QxJWNJC_jeUj}Z3ADIzK{|7Mib|W+n6N0S=@c>p%Okc}Ue;xq(5g?b zZx4HVQK#D$ef_J;V2OJ&3qqj&Ouk-G9cL+K$(v7KzJ6`8DXty2gdi}M8z zr})GgTi6X``v%=)K<&(%$`4Yf!G+I3k5>z5(ZaTS zQmoQJ-*6$&5G~;$waR!M$ZUzX6Dnz?-*7qc3h*hJ`oge@JD3j7GSpr8YlW!{~{q;WI`=ZR5nE3$!06QSPuGG0q_o+LS5dd&x z0szF$w!z+>0T_(8zn6knfIn8@tP6!(8R{7z3}F~A4C!6Ugd*tG&OO4|0rlcIf69KX zoD;W+iL=0N5J3bfa>FA@xXd!Z{IH7)+85mw2N$<@5s$>j@($d|0;Az6o~gd4UnoD> z*+X1y)`q4d1P5yUGNP90pY_=`ZZi(Eje>TpBdiJ%P#0B+%(<@0qIG!gE_{F)lS2Hi zF&jtaCd7S7B%UQ0*G5-2Mq^~4ojyC2PH|zZjCT?|JDruC^X{d6*jB_%R-|Edvk}{f z6zLFpD1UFcRZ;r0G=jQ`VlCQ5GF@#jfl8!6$`2HHk%GllOCQTg!NNk$pG!GEW}*0$ zTR=9qg1t6)e@@}p_E_sp4dgz!7#Pv4OKLA$(~Q@Ut#DfEcH6P+yen<>wDLX>$+vbd zeD#NV{-N(^=Od?xu$tH>eW8?|*WS;qBl7hRT_ie9tC6%1;v}JbwMljkb>QxRpkb=phS1VR6Q;SljLt5kpY>h+T$y63bf^ZeD50 zOO9a-;tcYJk9ai^(WMxTD-&DT!|B~iX6i|Sx(51mu?I4757X#CmCiKyg3aOd1`QEB z^K}SoXV)IJV^ek~7j5}g$-yDJh1_CcUKC4kMbu_Y$rioBsvSdHb2G-lwhA#3p$g(H zE6~hjn<%5BQlDJ26~e%-lt%F*u-TP>yUE}iybam%aNxZCqb0IgHFeOQH!9gJ`gt>b z`BQ1RnWH#$rl>U;8zb5tOBZ=JX+;|2jq^#qJfbY%{@U!D*6ZkB&A@LY^BW5@%5!c8 zJyg$UeveprUr4&6q*0O9r{;qt%2mmok20%vFlkkkpS*TG>)K*wupH=O(QgC!n$Vue z$JwS^H==&ECp#5{&0(;RLKH4(unI_yzSS+2v^*D)}!~ z63osyRUL0CjuL*jZ@V>V^omx$y`-ZkzT43GuXhFzw zRqi_+vZPK_T6P5}UltK&QqsaseH+<-Km)M^wmVxM?cMy;k6;*%611%AUd=nKncE}v zELaH!YkV8km7YR>lp;0-vO^le$(%ZP+pI($uk3ve4RAY5j>!Rrx6zLlthq|~y<|2+ z*|ejt!sUfXTr+TwcsH>3uzXx@eZZ8o8aaNdM@u*`JVqXu{t*1>+Bni`OoL;6O}6fD zQMNPY!&9F{59zEQHviPll#o=xD@Yx?H!u9ao{krHOr*}$4G{oGdlpd-e}oE! zkIubnu*du*TeV9Ky*PABiWjROj8Q4)pJooyhi^8BCWp)kmFGH-qrLVA>YKT!?BRtK z1XiYrPM?c=hb@uA^^ULy&0-Bkc7a(w2C04nFNYKPG1dkzTBicG*qF?>HrCmYhJ}T0 zQxd36%et5D`^_N#c}x;}zxd*q$tw>Nl_*3x`AfZn=(`YD^#k& z>Rv3j>WL8NoKjm0%Y~9+6k~?uyF!oe|cxe_Q_~hSu!k?ynn$p)RPe;Poh(k5xDyL=vUs* zxXo`rECoaqXN4yj%R!Uz6b7GEa_jeaot#ULAti+Ticl1zknmN=l%mn?6Yb4`l>wnt zz-EN^1D=VwlZQEEe;qwMWYHM3lEhHsVJt;t(IqH9?P}I+dbxZbWzN9J5BO)3aQ4Xm p693mS{1xi&1mS-;u4gXf@1Xu84=8gM)<3Tq&oc9@O0xes{Q*Z`0?Ysa literal 0 HcmV?d00001 diff --git a/skills/project-bootstrap/SKILL.md b/skills/project-bootstrap/SKILL.md index 8b842db..16183f8 100644 --- a/skills/project-bootstrap/SKILL.md +++ b/skills/project-bootstrap/SKILL.md @@ -1,6 +1,6 @@ --- name: project-bootstrap -version: 1.8.0 +version: 1.9.0 description: > Initializes or upgrades a project in the current folder: git, .gitignore, README.md, .wiki/ using Karpathy's method, .tasks/ for task tracking, CLAUDE.md with skill triggers. @@ -444,6 +444,7 @@ Mismatch between template and map → silent gaps in the recommendation. | `pull remote before work` | `pulling-before-work` | skill | `~/.claude/skills/pulling-before-work/SKILL.md` | `bash scripts/install.sh pulling-before-work` | | `follow project discipline` | `project-discipline` | skill | `~/.claude/skills/project-discipline/SKILL.md` | `bash scripts/install.sh project-discipline` | | `delegate to interns when allowed` | `using-interns` | skill | `~/.claude/skills/using-interns/SKILL.md` | `bash scripts/install.sh using-interns` | +| `recommend, don't menu` | `recommend-dont-menu` | skill | `~/.claude/skills/recommend-dont-menu/SKILL.md` | `bash scripts/install.sh recommend-dont-menu` | | `we're on Windows` / `we're on Linux` / `we're on macOS` | `active-platform` | skill | `~/.claude/skills/active-platform/SKILL.md` | `bash scripts/install.sh active-platform` | ### Algorithm diff --git a/skills/project-bootstrap/assets/CLAUDE.md.template b/skills/project-bootstrap/assets/CLAUDE.md.template index dd42cb0..4275136 100644 --- a/skills/project-bootstrap/assets/CLAUDE.md.template +++ b/skills/project-bootstrap/assets/CLAUDE.md.template @@ -9,4 +9,5 @@ check across all projects pull remote before work follow project discipline delegate to interns when allowed +recommend, don't menu we're on Windows diff --git a/skills/recommend-dont-menu/README.md b/skills/recommend-dont-menu/README.md new file mode 100644 index 0000000..c81c55e --- /dev/null +++ b/skills/recommend-dont-menu/README.md @@ -0,0 +1,32 @@ +# recommend-dont-menu + +One recommendation, not a menu. When the user asks "what should we do?", give your best choice with reasoning and trade-offs — don't enumerate A/B/C/D options. + +## What it does + +Overrides the `superpowers:brainstorming` default of presenting multiple options. Instead, respond with: + +``` +Я рекомендую X, потому что Y₁, Y₂. Trade-off: Z. Возражения? +``` + +Only mention alternatives when they're genuinely competitive or carry an important trade-off. + +## When to use + +During design discussions, architecture reviews, brainstorming, or any "what should we do" question. + +## Installation + +```bash +bash scripts/install.sh recommend-dont-menu +``` + +## Trigger line + +Add to `CLAUDE.md`: +``` +prefer single recommendations +``` + +Or use `project-bootstrap` (v1.9.0+) which includes this trigger in its template. diff --git a/skills/recommend-dont-menu/SKILL.md b/skills/recommend-dont-menu/SKILL.md new file mode 100644 index 0000000..928ab42 --- /dev/null +++ b/skills/recommend-dont-menu/SKILL.md @@ -0,0 +1,60 @@ +--- +name: recommend-dont-menu +version: 0.1.0 +description: > + Use during design discussions, brainstorming, architecture reviews, or any + "what should we do" question — give one argued recommendation with explicit + trade-offs, not a multiple-choice menu. Override of superpowers:brainstorming + default. Works on any agent — pure response-style rule, no tool mappings needed. +--- + +# recommend-dont-menu + +> One recommendation, not a menu. When the user asks "what should we do?" or "which is better?", give your best choice with reasoning and trade-offs. Don't enumerate A/B/C/D options — menus slow down decision-making when one option is clearly better. + +## When this runs + +**At session start** — when `CLAUDE.md` contains any trigger line: +- `prefer single recommendations` +- `recommend, don't menu` +- `argued recommendations` +- `give me your best shot` + +**On explicit reference** — when user says "give me a recommendation", "don't menu", "what do you think?", or close variants. + +## Default mode + +For design questions, architecture choices, "what should we do" queries: + +``` +Я рекомендую X, потому что Y₁, Y₂. Trade-off: Z. Возражения? +``` + +**Only mention alternatives if:** +- They're genuinely close to the recommended option, OR +- They carry an important trade-off the user should weigh + +Then, briefly: +``` +Если важно W — лучше X', но добавляет сложность; иначе X. +``` + +**Don't enumerate options** for the sake of appearing comprehensive. Menus are noise when one option dominates — they force the user to read through losing choices and bury your reasoning behind an oblique list instead of a responsible recommendation. + +## Override + +This skill **overrides** `superpowers:brainstorming` where that skill prefers multiple-choice options. User instructions > skill defaults. + +If `superpowers:brainstorming` is active in the session, this skill's response style takes precedence for design/brainstorming questions. + +## Cross-agent applicability + +This skill is **pure response-style** — it works on any agent (Claude, Gemini, Copilot) without tool mappings. No `references/copilot-tools.md` or equivalent needed. + +## Why this exists + +The pattern emerged from iterative refinement across `claude-skills` brainstorm sessions and `.meeting-room/` discussions. When agents dump 4-option menus for every question, users skim or disengage. A single argued recommendation with clear trade-offs leads to faster convergence and better decisions. When alternatives are genuinely competitive, mention them — but don't manufacture variants. + +## Reference + +Original rule lived in `~/.claude/CLAUDE.md` as a per-machine instruction. Moving to a skill makes it portable: all machines bootstrapped with `project-bootstrap` inherit it, and cross-agent compatibility is explicit.