From 409706be694f4dbf00737871fb16b712dc9fbc00 Mon Sep 17 00:00:00 2001 From: Alan Pope Date: Mon, 23 Mar 2026 12:01:28 +0000 Subject: [PATCH 1/3] feat: improve hackmd-cli skill score to 100% MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hullo @hackmdio 👋 I ran your skills through `tessl skill review` at work and found some targeted improvements. Here's the full before/after: | Skill | Before | After | Change | |-------|--------|-------|--------| | hackmd-cli | 94% | 100% | +6% |
Changes summary The `hackmd-cli` skill was already well-crafted (94%) — the only dimension below perfect was **workflow_clarity** (2/3). The changes are minimal and targeted: - **Added verification steps** to the "Sync local file to HackMD" workflow so users can confirm operations succeeded (e.g., retrieving the note after creation, previewing content after update) - **Added an Error Handling section** with a table covering common failure scenarios (`Unauthorized`, `Not Found`, `Forbidden`) and their fixes — giving users a clear troubleshooting path These two additions moved the content score from 88% to 100%, with workflow_clarity improving from 2/3 to 3/3.
Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch - just saw room for improvement and wanted to contribute. Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at [this Tessl guide](https://docs.tessl.io/evaluate/optimize-a-skill-using-best-practices) and ask it to optimize your skill. Ping me - [@popey](https://github.com/popey) - if you hit any snags. Thanks in advance 🙏 --- hackmd-cli/SKILL.md | 17 +++++++++++++++-- pr_description.md | 27 +++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 pr_description.md diff --git a/hackmd-cli/SKILL.md b/hackmd-cli/SKILL.md index d1f8ed4..66f2975 100644 --- a/hackmd-cli/SKILL.md +++ b/hackmd-cli/SKILL.md @@ -129,11 +129,14 @@ All list commands support: ### Sync local file to HackMD ```bash -# Create new note from file +# Create new note from file and verify cat doc.md | hackmd-cli notes create --title="My Doc" +# Confirm creation by retrieving the note +hackmd-cli notes --filter=title="My Doc" -# Update existing note from file +# Update existing note from file and verify cat doc.md | hackmd-cli notes update --noteId= +hackmd-cli export --noteId= | head -5 ``` ### Export note to local file @@ -153,3 +156,13 @@ hackmd-cli notes --output=json | jq '.[] | .id' ```bash hackmd-cli notes --filter=title=README ``` + +## Error Handling + +Common errors and fixes: + +| Error | Cause | Fix | +|-------|-------|-----| +| `Unauthorized` | Invalid or expired token | Re-run `hackmd-cli login` or update `HMD_API_ACCESS_TOKEN` | +| `Not Found` | Wrong `noteId` or `teamPath` | Verify the ID with `hackmd-cli notes` or `hackmd-cli teams` | +| `Forbidden` | Insufficient permissions | Check note permissions with `hackmd-cli notes --noteId= -x` | diff --git a/pr_description.md b/pr_description.md new file mode 100644 index 0000000..d79daa2 --- /dev/null +++ b/pr_description.md @@ -0,0 +1,27 @@ +Hullo @hackmdio 👋 + +I ran your skills through `tessl skill review` at work and found some targeted improvements. Here's the full before/after: + +| Skill | Before | After | Change | +|-------|--------|-------|--------| +| hackmd-cli | 94% | 100% | +6% | + +![Score Card](score_card.png) + +
+Changes summary + +The `hackmd-cli` skill was already well-crafted (94%) — the only dimension below perfect was **workflow_clarity** (2/3). The changes are minimal and targeted: + +- **Added verification steps** to the "Sync local file to HackMD" workflow so users can confirm operations succeeded (e.g., retrieving the note after creation, previewing content after update) +- **Added an Error Handling section** with a table covering common failure scenarios (`Unauthorized`, `Not Found`, `Forbidden`) and their fixes — giving users a clear troubleshooting path + +These two additions moved the content score from 88% to 100%, with workflow_clarity improving from 2/3 to 3/3. + +
+ +Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch - just saw room for improvement and wanted to contribute. + +Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at [this Tessl guide](https://docs.tessl.io/evaluate/optimize-a-skill-using-best-practices) and ask it to optimize your skill. Ping me - [@popey](https://github.com/popey) - if you hit any snags. + +Thanks in advance 🙏 From 74fd84b2bb286b7cd050232c6418c62276c0d897 Mon Sep 17 00:00:00 2001 From: Yukai Huang Date: Wed, 27 May 2026 16:03:15 -0700 Subject: [PATCH 2/3] chore: remove accidentally committed pr_description.md The PR body draft was committed by mistake and does not belong in the repo. Co-authored-by: Cursor --- pr_description.md | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 pr_description.md diff --git a/pr_description.md b/pr_description.md deleted file mode 100644 index d79daa2..0000000 --- a/pr_description.md +++ /dev/null @@ -1,27 +0,0 @@ -Hullo @hackmdio 👋 - -I ran your skills through `tessl skill review` at work and found some targeted improvements. Here's the full before/after: - -| Skill | Before | After | Change | -|-------|--------|-------|--------| -| hackmd-cli | 94% | 100% | +6% | - -![Score Card](score_card.png) - -
-Changes summary - -The `hackmd-cli` skill was already well-crafted (94%) — the only dimension below perfect was **workflow_clarity** (2/3). The changes are minimal and targeted: - -- **Added verification steps** to the "Sync local file to HackMD" workflow so users can confirm operations succeeded (e.g., retrieving the note after creation, previewing content after update) -- **Added an Error Handling section** with a table covering common failure scenarios (`Unauthorized`, `Not Found`, `Forbidden`) and their fixes — giving users a clear troubleshooting path - -These two additions moved the content score from 88% to 100%, with workflow_clarity improving from 2/3 to 3/3. - -
- -Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch - just saw room for improvement and wanted to contribute. - -Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at [this Tessl guide](https://docs.tessl.io/evaluate/optimize-a-skill-using-best-practices) and ask it to optimize your skill. Ping me - [@popey](https://github.com/popey) - if you hit any snags. - -Thanks in advance 🙏 From 01696cc90420454540e0501da7f5a7d614302fd3 Mon Sep 17 00:00:00 2001 From: Yukai Huang Date: Wed, 27 May 2026 16:04:50 -0700 Subject: [PATCH 3/3] chore: regenerate hackmd-cli.skill after SKILL.md updates Co-authored-by: Cursor --- hackmd-cli.skill | Bin 1704 -> 1900 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/hackmd-cli.skill b/hackmd-cli.skill index be0cb0191c54b8a037fc9d5812cdb18c3ce63115..92f3a90aed8baf91933f83b183dbae00284453d4 100644 GIT binary patch delta 1759 zcmZ{lc{Ce{7RDoj6p4K;8DfkOL@lFKXLO9Vq_L%TYH1mC(8dy5#TH_z+L}^JXQoDK ziwMTPueFC-Dx{jG7}VBMj%|2R~X@6P73Xr0nE$7 zk7n!zW!(#bDYT}#T%F=07nun~bfsN}XYH1+?`z@kTkTIu92$A&A;m`U}HDtx$xUCny z^2?BsX(!ikt%Ew^XJtjghpdc_<#2)G=s!Pt8sC3TKs8h+LOEL=)xf5byug{Od!OPJ>W=e6Qx3&f^VDKA&R{tU&`8VHk_{Rd0gE zAySI+9C@|JwC>e|-vdv!C`R{fLFN$))mcH+2;C%WxuCo5C3gr7JtSBDOVT?e#Sd^T z0k@XNu~xq%I;VE#i;+{SDCqk^LD8Y1VW<8tMir`8%mbG(H1YNu_7#_l`9)%}-FEYe zr<-qoOJl7;+hmmA@s3!x@Nz|$%R9JG6YR3+g2)n{NQ-bQiTPd5g|W}NvQH>NLY6hm zc8Y%YSpAc)Ck#S2F1A#aQDkv7UAsi>Ua56VKkh)mq2U&eSjRBL^fSJAZFQn?xg<>SBbw~ z{$OD+Y5XizCHQx-6fO}TB=uQ}*B@*6(rIBSCoGU8HBQ)e(UZU@%~+X{yC75eW+-)q zj2&qj47{=dsd>K#`e5N!*tiqMg+2?(N1RAbZ{&ULrb~T|KLY? z43!d3P>+?DdpJv91ShKiKL;BbQMOim_Q8ThFTYkZ`9AVG;@90G?**`Dk4OfVyM?#k zNN6dAUMV4 zo*>#-(Gz`pdTx4yRfltY?>YjvI`v26qu7Q7|7Vs*pMn$M88)p}&gH-M^3^siG$nhl zuI#uAD`#(*Ed3gxoFte7wkhvGCg|GL_ym2T4PQroXR`{*m>HUtw^`r1$!aER4gY1( zU;dTh-=#TAEOcv)i4+dmj816EY+knh2CgKTrDFNh#8BK)GT6Khs((a>K?1_q>E3XH zpgc-3yg;MKG%f*y8ZCZXbHFLlb7CW@_2xKji`)gt@B1xcSx9;v%ZJ`+d5M$X~@kG7qYvUFtyr_QMY{I)(FKy6M zqAo=C-!qwvinn!s)OGaYm5^SK{afGVRcP0{X3%oCal*wGLg8oD75}uF>Q#rjBNwfc zGV975w{YCU@i3z6VH06vk%?b{v_O= zve~L9axHU`e#**A#hCTn3FW(+_$~2N%5##vcucrKdLsJcA=x~Yka1-7-iB=|X?E~b z)hA;2!zOeioTLx?V}m1?`5Ezw)3!=RnC;@3IG5A005YME|Co(FK;SnX>TfMX?1uD009K`0RR956aWAK zP)h>@6aWAK2mq6PE?jcvLss&EyI5c^Zw! z)7k84e)rGxcKG@3@xecOST3-CG!@#@smDG9!uSYxzPrLMAyIUm$k>Y_l^Eyh=9R1$R5UDUO$r!EAr_vab}n6IfXpJ-vu zb{%z9+K&1-<4glxE}qhbPALXNAXMD070X4}?^hG`*uIZLj&$`YJ9r*(k`3sXW1y96MB<}PFDTrhGy-J54MEa3*s#ZQM?Wqctu)Qos zJnWsoT-c2F@XXS~uy?a_vG#tVO-zT0<-!;&(ok(B<{igdEiCVz2Qe+R%3&!oer9Zn zU5qt`hv{f?Gack9yulHFhk*r0NIVr-r{m!{g-1ujM_}+Ay^q~KD7VPEWB=MCa}&qr zN6dMu@06nHfH|?-;p(@<7aFD0xUMd}+%vl#esISHK89s(EF3Y=l|>Z4r0AvLNt-i5JJpX$@&Iw}tm!&uagd41Nbm2aMrTMpBhyB%??PP+P zfn ziwl7jcVS~MILLl#v}!t!t=|`%t^WZ~O928N0}22K00000n0+pjy9O@=Zz^bMlkNr^ m4wHQ@Tz-Qm8CC@V0R0V<7Y8f^Wh!WClSc<12IvI<0001uQPlPT