+
    QV-jÞL  ã                   óö  a € RG t<0 t R t^ RIt^ RIt^ RIHt ^ RIHt ^ RIt^ RI	H
t
HtHt ^ RIHt ^ RIHt ^RIHt ^RIHt ^R	IHtHtHtHt ^R
IHt RtRtR] R2tRt]! R4      t ]! R4      t!]! R4      t"]! R4      t#0 RHmt$R0t%RRRR/t&] ^ k R.t'RRIRRJ/t(] ^k ]! RR7      t)R R lt*R R lt+R  R! lt,R" R# lt-R$ R% lt.R&R/R' R( llt/R) R* lt0R+ R, lt1R- R. lt2R/ R0 lt3R1 R2 lt4R3 R4 lt5R5 R6 lt6])Po                  R74      R8 R9 l4       t8])Po                  R:R;R<.R=7      RKR> R? ll4       t9])Po                  R@. RLOR=7      ]RARARRA3RB RC ll4       t:])Po                  RD. RMOR=7      RNRE RF ll4       t;R# )Oa  Contains commands to manage skills for AI assistants.

Usage:
    # install the hf-cli skill in common .agents/skills directory (either in current directory or user-level)
    hf skills add
    hf skills add --global

    # install the hf-cli skill for Claude (project-level, in current directory)
    hf skills add --claude

    # install globally (user-level)
    hf skills add --claude --global

    # install to a custom directory
    hf skills add --dest=~/my-skills

    # overwrite an existing skill
    hf skills add --claude --force
N)ÚPath)Ú	Annotated)ÚCommandÚContextÚGroup)Úget_command)ÚCLIError)Údisable_progress_bars)Ú_skills)ÚTokenOptÚ_has_local_formatting_optionÚ
get_hf_apiÚtyper_factory)Úoutzhf-cliað  Hugging Face Hub CLI (`hf`) for downloading, uploading, and managing models, datasets, spaces, buckets, repos, papers, jobs, and more on the Hugging Face Hub. Use when: handling authentication; managing local cache; managing Hugging Face Buckets; running or scheduling jobs on Hugging Face infrastructure; managing Hugging Face repos; discussions and pull requests; browsing models, datasets and spaces; reading, searching, or browsing academic papers; managing collections; querying datasets; configuring spaces; setting up webhooks; or deploying and managing HF Inference Endpoints. Make sure to use this skill whenever the user mentions 'hf', 'huggingface', 'Hugging Face', 'huggingface-cli', or 'hugging face cli', or wants to do anything related to the Hugging Face ecosystem and to AI and ML in general. Also use for cloud storage needs like training checkpoints, data pipelines, or agent traces. Use even if the user doesn't explicitly ask for a CLI command. Replaces the deprecated `huggingface-cli`.z---
name: hf-cli
description: "a?  "
---

Install: `curl -LsSf https://hf.co/cli/install.sh | bash -s`.

The Hugging Face Hub CLI tool `hf` is available. IMPORTANT: The `hf` command replaces the deprecated `huggingface-cli` command.

Use `hf --help` to view available functions. Note that auth commands are now all under `hf auth` e.g. `hf auth whoami`.
up  
## Mounting repos as local filesystems

To mount Hub repositories or buckets as local filesystems â€” no download, no copy, no waiting â€” use `hf-mount`. Files are fetched on demand. GitHub: https://github.com/huggingface/hf-mount

Install: `curl -fsSL https://raw.githubusercontent.com/huggingface/hf-mount/main/install.sh | sh`

Some command examples:
- `hf-mount start repo openai-community/gpt2 /tmp/gpt2` â€” mount a repo (read-only)
- `hf-mount start --hf-token $HF_TOKEN bucket myuser/my-bucket /tmp/data` â€” mount a bucket (read-write)
- `hf-mount status` / `hf-mount stop /tmp/data` â€” list or unmount

## Tips

- Use `hf <command> --help` for full options, descriptions, usage, and real-world examples
- Authenticate with `HF_TOKEN` env var (recommended) or with `--token`
- Update the CLI with `hf update` (uses the correct command for the detected install method)
z.agents/skillsz~/.agents/skillsz.claude/skillsz~/.claude/skillsú--tokenú--quietú--formatzKOutput format: `--format json` (or `--json`) or `--format table` (default).zXUse a User Access Token. Prefer setting `HF_TOKEN` env var instead of passing `--token`.z&--format [auto|human|agent|json|quiet]z Manage skills for AI assistants.©Úhelpc                ó$   € V ^8„  d   QhR\         /# ©é   Úreturn©Ústr)Úformats   "Úk/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/huggingface_hub/cli/skills.pyÚ__annotate__r   ‰   s   € ÷ >ñ >œñ >ó    c                óê   € \        V P                  RR4      pV'       d'   RRP                  R V 4       4      ,           R,           # \        V P                  RR4      P                  4       ;'       g    R	# )
z£Value hint for an option: enum choices inline as ``[a|b|c]``, otherwise the TYPE name.

e.g. `--sort [downloads|likes|trending_score]` instead of `--sort CHOICE`.
ÚchoicesNÚ[Ú|c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5i©Nr   )Ú.0Úcs   & r   Ú	<genexpr>Ú_type_hint.<locals>.<genexpr>�   s   é € Ð6©g¨œc !Ÿf˜f«gùs   ‚Ú]ÚnameÚ ÚVALUE)ÚgetattrÚtypeÚjoinÚupper)Úparamr    s   & r   Ú
_type_hintr2   ‰   s\   € ô
 �e—j‘j )¨TÓ2€GßØ�S—X‘XÑ6©gÓ6Ó6Õ6¸Õ<Ð<Ü�5—:‘:˜v rÓ*×0Ñ0Ó2×=Ð=°gÐ=r   c                ó0   € V ^8„  d   QhR\         R\        /# ©r   Úcmdr   )r   r   )r   s   "r   r   r   ”   s   € ÷ ñ œð ¤Cñ r   c           	     óê  € . pV P                    FÑ  pVP                  '       d   VP                  R8X  d   K(  VP                  '       d$   VP                  P	                  R4      '       d   K]  \        R \        VR. 4       4       R4      pVe$   \        V4      pVP                  V RV 24       K¢  VP                  '       g   K¶  VP                  VP                  4       KÓ  	  RP                  V4      # )zMFormat required params: positional as UPPER_CASE, options as ``--name TYPE``.ú--helpÚ_c              3   óV   "  € T F  qP                  R 4      '       g   K  Vx € K!  	  R# 5i)ú--N)Ú
startswith)r%   Úos   & r   r'   Ú!_format_params.<locals>.<genexpr>œ   s   é € ÐRÑ%; ¿|¹|ÈD×?QŸ!š!Ó%;ùs   ‚)Ÿ
)ÚoptsNÚ )
ÚparamsÚrequiredÚhuman_readable_namer*   r;   Únextr-   r2   Úappendr/   )r5   ÚpartsÚpÚ	long_nameÚ	type_names   &    r   Ú_format_paramsrI   ”   s»   € à€EØ�ZŒZˆØ�z�zˆz˜Q×2Ñ2°hÔ>ÙØ�6�6ˆ6�a—f‘f×'Ñ'¨×,Ò,ÙÜÑR¤W¨Q°¸Ô%;ÓRÐTXÓYˆ	ØÒ Ü" 1›ˆIØ�L‰L˜I˜; a¨	 {Ð3Ö4Ø�V�VŠVØ�L‰L˜×.Ñ.Ö/ñ ð �8‰8�E‹?Ðr   c                ó¬   € V ^8„  d   QhR\         R\        R\        \        ,          R\        \        \        \        ,          \
        3,          ,          /# )r   ÚgroupÚctxÚ
path_partsr   )r   r   Úlistr   Útupler   )r   s   "r   r   r   ¥   sE   € ÷ ñ ¤%ð ¬gð Ä4ÌÅ9ð ÔQUÔV[Ô\`ÔadÕ\eÔgnÐ\nÕVoÕQpñ r   c                óJ  € . p\        WVR,          R7      pV P                  V4       Fw  pV P                  WE4      pVe   VP                  '       d   K,  . VOVNp\	        V\
        4      '       d   VP                  \        WdV4      4       Ke  VP                  Wv34       Ky  	  V# )zXRecursively walk a Click Group, returning (full_path_parts, cmd) for every leaf command.)ÚparentÚ	info_nameéÿÿÿÿ)	r   Úlist_commandsr   ÚhiddenÚ
isinstancer   ÚextendÚ_collect_leaf_commandsrD   )rK   rL   rM   ÚleavesÚsub_ctxr*   r5   Ú
child_paths   &&&     r   rX   rX   ¥   s’   € à.0€FÜ�e°:¸bµ>ÔB€GØ×#Ñ# GÖ,ˆØ×Ñ Ó.ˆØŠ;˜#Ÿ*Ÿ*˜*ÙØ(�zÐ( 4Ð(ˆ
Ü�cœ5×!Ò!Ø�M‰MÔ0°¸zÓJÖKà�M‰M˜:Ð+Ö,ñ -ð €Mr   c                ó$   € V ^8„  d   QhR\         /# )r   r5   )r   )r   s   "r   r   r   µ   s   € ÷ +ñ +œwñ +r   c              #  ó¸  "  € V P                    FÅ  pVP                  '       g   VP                  R8X  d   K(  VP                  '       d$   VP                  P	                  R4      '       d   K]  RpRp\        VR. 4       FC  pVP	                  R4      '       d   T;'       g    TpK(  VP	                  R4      '       g   KA  TpKE  	  V'       g   K¿  WV3x € KÇ  	  R# 5i)zKYield (param, long_name, short_name) for each optional, non-internal param.r7   r8   Nr>   r:   Ú-)r@   rA   rB   r*   r;   r-   )r5   rF   rG   Ú
short_nameÚopts   &    r   Ú_iter_optional_paramsra   µ   s«   é € à�ZŒZˆØ�:�:ˆ:˜×.Ñ.°(Ô:ÙØ�6�6ˆ6�a—f‘f×'Ñ'¨×,Ò,ÙØˆ	Øˆ
Ü˜1˜f bÖ)ˆCØ�~‰~˜d×#Ò#Ø%×,Ð,¨’	Ø—‘ ×$Ô$Ø ’
ñ	 *÷
 ‰9Ø 
Ð*Ô*ó ùs$   ‚ACÁ	 CÁ*5CÂ CÂ>CÃCc                ó0   € V ^8„  d   QhR\         R\        /# r4   )r   Úbool)r   s   "r   r   r   Ç   s   € ÷ 1ñ 1¤gð 1´$ñ 1r   c                óh   € V P                   P                  R4      '       d   R# \        V 4      '       * # )zVReturn True if the leaf command accepts the global '--format' / '--json' / '-q' flags.Úignore_unknown_optionsF)Úcontext_settingsÚgetr   )r5   s   &r   Ú_accepts_global_format_flagsrh   Ç   s+   € à
×Ñ×ÑÐ 8×9Ò9ÙÜ+¨CÓ0Ô0Ð0r   Úexcludec                óv   € V ^8„  d   QhR\         R\        \        ,          R,          R\        \        ,          /# )r   r5   ri   Nr   )r   Úsetr   rN   )r   s   "r   r   r   Î   s-   € ÷ ñ œð ¬c´#­h¸­oð ÌÌcÍñ r   c               óF  a€ . p\        V 4       F^  w  r4pS'       d
   VS9   d   K  \        VRR4      '       d   VP                  V4       K=  \        V4      pVP                  V RV 24       K`  	  \	        V 4      '       d    VP                  V3R l\         4       4       V# )a  Return long-form flag names (--foo) for optional, non-internal params.

Boolean flags are bare ('--dry-run').  Value-taking options include a type hint ('--include TEXT', '--max-workers INTEGER').
Synthetic global formatting flags are appended for commands that accept them.
Úis_flagFr?   c              3   ót   <"  € T F-  pS'       d   VP                  4       ^ ,          S9   d   K)  Vx € K/  	  R# 5i)é    N)Úsplit)r%   Úflagri   s   & €r   r'   Ú"_get_flag_names.<locals>.<genexpr>Þ   s/   øé € ÐrÑ&A˜dÏ'ÐVZ×V`ÑV`ÓVbÐcdÕVeÐipÑVp—T’TÓ&Aùs   ƒ8�8®
8)ra   r-   rD   r2   rh   rW   Ú_GLOBAL_FORMAT_INLINE_FLAGS)r5   ri   ÚflagsrF   rG   Ú_shortrH   s   &d     r   Ú_get_flag_namesrv   Î   s‹   ø€ ð €EÜ 5°cÖ :Ñˆ�fß�y GÔ+ÙÜ�1�i ×'Ò'Ø�L‰L˜Ö#ä" 1›ˆIØ�L‰L˜I˜; a¨	 {Ð3Ö4ñ !;ô $ C×(Ò(Ø�‰ÔrÕ&AÓrÔrØ€Lr   c                óÂ   € V ^8„  d   QhR\         \        \         \        ,          \        3,          ,          R\        \        \        \        \        3,          3,          /# )r   Úleaf_commandsr   )rN   rO   r   r   Údict)r   s   "r   r   r   â   sA   € ÷ ñ Üœœd¤3�i¬Ð0Õ1Õ2ðä	Œ#Œu”Sœ#�X�Ð
Õñr   c                ó"  € / pV  Fž  w  r#\        V4       FŠ  w  rEpV\        9  d   K  WQ9  g!   V'       g   K#  RW,          ^ ,          9  g   K9  V'       d   V RV 2MTp\        VRR4      ;'       g    RP                  R4      ^ ,          P	                  4       pWx3W&   KŒ  	  K   	  \
        ;QJ d    R V  4       F  '       g   K   RM	  RM! R V  4       4      '       d/   \        P                  4        F  w  rYVP                  WY4       K  	  V# )	z0Collect display info for flags in the allowlist.z / r   Nr+   Ú
c              3   ó<   "  € T F  w  r\        V4      x € K  	  R # 5ir$   )rh   )r%   Ú_pathr5   s   &  r   r'   Ú(_compute_common_flags.<locals>.<genexpr>ô   s   é € Ð
M¹}±°Ô'¨×,Ð,»}ùs   ‚TF)	ra   Ú_COMMON_FLAG_ALLOWLISTr-   rp   ÚstripÚanyÚ_GLOBAL_COMMON_FLAGSÚitemsÚ
setdefault)
rx   Ú	flag_infor}   r5   rF   rG   r_   ÚdisplayÚ	help_textÚentrys
   &         r   Ú_compute_common_flagsr‰   â   sí   € ð -/€Iã#‰
ˆÜ(=¸cÖ(BÑ$ˆA˜*ØÔ 6Ô6ÙàÔ)¯j©j¸UÈ)ÕJ^Ð_`ÕJaÖ=aß;E˜Z˜L¨¨I¨;Ñ7È9�Ü$ Q¨°Ó5×;Ð;¸×BÑBÀ4ÓHÈÕK×QÑQÓS�	Ø(/Ð';�	Ó$ó )Cñ $÷ ƒsÑ
M¹}Ó
M‡s‡s‚sÑ
M¹}Ó
M×MÒMÜ 4× :Ñ :Ö <ÑˆIØ× Ñ  Ö2ñ !=ð Ðr   c                óR   € V ^8„  d   QhR\         \        ,          R\        R\        /# )r   rM   r5   r   )rN   r   r   )r   s   "r   r   r   û   s%   € ÷ 	ñ 	œT¤#�Yð 	¬Wð 	¼ñ 	r   c                óV  € VP                   ;'       g    RP                  R4      ^ ,          P                  4       p\        V4      pR.V OV'       d   V.M. ,           pRRP	                  V4       RV 2p\        V\        R7      pV'       d   VRRP	                  V4       R	2,          pV# )
z6Render a single leaf command as a markdown list entry.r+   r{   Úhfú- `r?   õ   ` â€” )ri   z `[z]`)r   rp   r€   rI   r/   rv   Ú_INLINE_FLAG_EXCLUDE)rM   r5   r‡   r@   rE   rˆ   rt   s   &&     r   Ú_render_leafr�   û   s˜   € à—‘—�˜R×&Ñ& tÓ,¨QÕ/×5Ñ5Ó7€IÜ˜CÓ €FØÐ�JÐ¯v F¡8¸2Õ>€EØ�#—(‘(˜5“/Ð" &¨¨Ð4€EÜ˜CÔ)=Ô>€EßØ�3�s—x‘x “Ð' rÐ*Õ*ˆØ€Lr   c                ó$   € V ^8„  d   QhR\         /# r   r   )r   s   "r   r   r     s   € ÷ >ñ >œñ >r   c                  ól  € ^ RI Hp  ^ RIHp \	        V4      p\        VRR7      p. p. p\        VP                  V4      4       Fj  pVP	                  W64      pVe   VP                  '       d   K,  \        V\        4      '       d   VP                  Wg34       KV  VP                  V.V34       Kl  	  . p\        V4      p	V F5  w  rj\        W£V.4      pVP                  Wk34       V	P                  V4       K7  	  \        V	4      p\        \         P#                  4       4      pVP                  R4       VP                  RV  R24       VP                  R4       VP                  R4       VP                  R4       V F  w  rçVP                  \%        Wç4      4       K!  	  \'        V4      pV F¥  w  rkWö,          pVP(                  ;'       g    RP+                  R	4      ^ ,          P-                  4       pVP                  R4       VP                  R
V RV 24       VP                  R4       V F  w  rçVP                  \%        Wç4      4       K!  	  K§  	  V'       d¦   VP                  R4       VP                  R4       VP                  R4       \        VP/                  4       4       FU  w  pw  pp\0        P3                  VV4      pV'       d   VP                  RV RV 24       K@  VP                  RV R24       KW  	  VP                  \4        P#                  4       4       R	P7                  V4      # )ro   )Ú__version__)ÚapprŒ   )rR   r+   z!Generated with `huggingface_hub vz-`. Run `hf skills add --force` to regenerate.z## Commandsr{   z### `hf rŽ   z## Common optionsr�   Ú`)Úhuggingface_hubr“   Úhuggingface_hub.cli.hfr”   r   r   ÚsortedrT   rU   rV   r   rD   rN   rX   rW   r‰   Ú_SKILL_YAML_PREFIXÚ
splitlinesr�   ry   r   rp   r€   rƒ   Ú_COMMON_FLAG_HELP_OVERRIDESrg   Ú_SKILL_TIPSr/   )r“   r”   Ú	click_apprL   Ú	top_levelÚgroupsr*   r5   Úgroup_leavesÚall_leaf_commandsrK   rY   Úcommon_flagsÚlinesrM   Úgroups_dictÚ	group_cmdr‡   rG   r†   s                       r   Úbuild_skill_mdr¦     s°  € å+Ý*ä˜CÓ €IÜ
�) tÔ
,€Cà13€IØ&(€FÜ�y×.Ñ.¨sÓ3Ö4ˆØ×#Ñ# CÓ.ˆØŠ;˜#Ÿ*Ÿ*˜*ÙÜ�cœ5×!Ò!Ø�M‰M˜4˜+Ö&à×Ñ˜t˜f c˜]Ö+ñ 5ð GI€LÜ9=¸i»ÐÛ‰ˆÜ'¨°T°FÓ;ˆØ×Ñ˜T˜NÔ+Ø× Ñ  Ö(ñ ô
 )Ð):Ó;€Lô Ô.×9Ñ9Ó;Ó<€EØ	‡L�L�ÔØ	‡L�LÐ4°[°MÐAnÐoÔpØ	‡L�L�ÔØ	‡L�L�ÔØ	‡L�L�Ôã$‰ˆ
Ø�‰”\ *Ó2Ö3ñ %ô �v“,€KÛ$‰ˆØÕ%ˆ	Ø—^‘^×)Ð) r×0Ñ0°Ó6°qÕ9×?Ñ?ÓAˆ	Ø�‰�RÔØ�‰�x ˜v V¨I¨;Ð7Ô8Ø�‰�RÔÛ%‰OˆJØ�L‰Lœ jÓ6Ö7ó  &ñ %÷ Ø�‰�RÔØ�‰Ð(Ô)Ø�‰�RÔÜ/5°l×6HÑ6HÓ6JÖ/KÑ+ˆIÑ+˜ Ü3×7Ñ7¸	À9ÓMˆIßØ—‘˜s 7 )¨6°)°Ð=Ö>à—‘˜s 7 )¨1Ð-Ö.ñ 0Lð 
‡L�L”×'Ñ'Ó)Ô*à�9‰9�UÓÐr   c                ó4   € V ^8„  d   QhR\         R\        RR/# )r   ÚpathÚforcer   N)r   rc   )r   s   "r   r   r   H  s!   € ÷ 	ñ 	œ4ð 	¬ð 	°ñ 	r   c                ó8  € V P                  4       '       g   V P                  4       '       g   R# V'       g   \        RV  R24      hV P                  4       '       d/   V P                  4       '       g   \        P
                  ! V 4       R# V P                  4        R# )zRRemove existing file/directory/symlink if force is True, otherwise raise an error.NzSkill already exists at z#.
Re-run with --force to overwrite.)ÚexistsÚ
is_symlinkr   Úis_dirÚshutilÚrmtreeÚunlink)r¨   r©   s   &&r   Ú_remove_existingr±   H  sa   € à�K‰K�MŠM˜TŸ_™_×.Ò.ÙßÜÐ1°$°Ð7[Ð\Ó]Ð]Ø‡{�{‡}‚}˜TŸ_™_×.Ò.Ü�Š�dÖà�‰Žr   c                óH   € V ^8„  d   QhR\         R\        R\        R\         /# )r   Ú
skills_dirÚ
skill_namer©   r   ©r   r   rc   )r   s   "r   r   r   T  s.   € ÷ Mñ MœDð M¬cð M¼$ð MÄ4ñ Mr   c                óx   €  \         P                  ! WVR7      #   \         d   p\        T R24      ThRp?ii ; i)zPInstall a marketplace skill into a skills directory. Returns the installed path.)r©   z"
Re-run with --force to overwrite.N)r
   Ú	add_skillÚFileExistsErrorr   )r³   r´   r©   Úexcs   &&& r   Ú_install_torº   T  sB   € ðMÜ× Ò  ¸uÔEÐEøÜô MÜ˜#˜ÐAÐBÓCÈÐLûðMús   ‚ š9¥4´9c          
      óT   € V ^8„  d   QhR\         R\        R\         R\        R\         /# )r   Úagent_skills_dirr´   Úcentral_skill_pathr©   r   rµ   )r   s   "r   r   r   \  s2   € ÷ 	ñ 	¤dð 	¼ð 	ÔQUð 	Ô^bð 	Ôgkñ 	r   c                óê   € V P                  4       P                  4       p V P                  RRR7       W,          p\        WC4       VP	                  \
        P                  P                  W 4      4       V# )zMCreate a relative symlink from agent directory to the central skill location.T)ÚparentsÚexist_ok)Ú
expanduserÚresolveÚmkdirr±   Ú
symlink_toÚosr¨   Úrelpath)r¼   r´   r½   r©   Ú	link_paths   &&&& r   Ú_create_symlinkrÈ   \  s_   € à'×2Ñ2Ó4×<Ñ<Ó>ÐØ×Ñ 4°$ÐÔ7Ø Õ-€Iä�YÔ&Ø×ÑœŸ™Ÿ™Ð);ÓNÔOàÐr   c          	      ól   € V ^8„  d   QhR\         R\         R\        R,          R\        \        ,          /# )r   ÚclaudeÚglobal_ÚdestNr   )rc   r   rN   )r   s   "r   r   r   h  s:   € ÷ ;ñ ;äð;ô ð;ô ��+ð	;ô
 
Œ$…Zñ;r   c                 ób  € Ve;   V '       g	   V'       d   \        R4      hVP                  4       P                  4       .# V'       d   \        M\        .pV '       d$   TP                  V'       d   \        M\        4       V Uu. uF   qDP                  4       P                  4       NK"  	  up# u upi )Nú4--dest cannot be combined with --claude or --global.)r   rÁ   rÂ   ÚCENTRAL_GLOBALÚCENTRAL_LOCALrD   ÚCLAUDE_GLOBALÚCLAUDE_LOCAL)rÊ   rË   rÌ   ÚrootsÚroots   $$$  r   Ú_resolve_update_rootsrÕ   h  sy   € ð Òß—WÜÐQÓRÐRØ—‘Ó!×)Ñ)Ó+Ð,Ð,ç+2�¼ÐF€EßØ�‰§g•]´<Ô@Ù49Ó:±E¨D�O‰OÓ×%Ñ%Ö'±EÑ:Ð:ùÒ:s   Â&B,Úpreviewc                ó   € V ^8„  d   QhRR/# )r   r   N© )r   s   "r   r   r   z  s   € ÷ ñ ˜ñ r   c                 ó,   € \        \        4       4       R# )z0Print the generated `hf-cli` SKILL.md to stdout.N)Úprintr¦   rØ   r   r   Úskills_previewrÛ   y  s   € ô 
Œ.Ó
Ör   z	list | lszhf skills listzhf skills list --format json)Úexamplesc                ó(   € V ^8„  d   QhR\         RR/# )r   Útokenr   N)r   )r   s   "r   r   r   †  s   € ÷ !ñ !Üð!à	ñ!r   c                ó"  € R\         3R\        3R\        3R\        3.p/ pV Fd  w  r4\        P
                  ! V.4       FD  pVP                  VP                  P                  4       \        4       4      P                  V4       KF  	  Kf  	  \        V R7      p\        4       ;_uu_ 4        \        P                  ! V4      pRRR4       X UUU	u. uFv  pRVP                  RVP                  ;'       g    R	/V UU	u/ uF@  w  r9Y3VP                  VP                  P                  4       \        4       4      9   d   R
MR	bKB  	  up	pCNKx  	  p
ppp	\         P"                  ! V
RRRRRRRRR/R7       R#   + '       g   i     L¹; iu up	pi u up	ppi )z8List available skills from the Hugging Face marketplace.Úprojectzproject (claude)Úglobalzglobal (claude))rÞ   Nr*   Údescriptionr+   ÚyesÚright)Úid_keyÚ
alignments)rÐ   rÒ   rÏ   rÑ   r
   Ú_iter_unique_skill_dirsr„   r*   Úlowerrk   Úaddr   r	   Ú_load_marketplace_skillsrâ   rg   r   Útable)rÞ   Úinstall_locationsÚ	installedÚlabelrÔ   Ú	skill_dirÚapiÚskillsÚskillr8   Úresultss   &          r   Úskills_listrô     sw  € ð 
”MÐ"Ø	œ\Ð*Ø	”>Ð"Ø	œMÐ*ð	1Ðð &(€IÛ(‰ˆÜ ×8Ò8¸$¸Ö@ˆIØ× Ñ  §¡×!5Ñ!5Ó!7¼»Ó?×CÑCÀEÖJó Añ )ô ˜5Ô
!€CÜ	×	 Õ	 Ü×1Ò1°#Ó6ˆ÷ 
!ñ õ
ñ ˆEð �E—J‘JØ˜5×,Ñ,×2Ð2°ð	
ñ
 !2ôá 1‘H�Eð ¨¯©°u·z±z×7GÑ7GÓ7IÌ3Ë5Ó)QÔ Q‘uÐWYÒYÙ 1òó	
ñ ð ò 
ô ‡I‚IØØØ˜w¨°'Ð;MÈwÐXiÐkrÐs÷÷ 
!×	 üóùô	
s+   Â)E1Ã$F
Ã3F
Ã;AFÅ	F
Å1F	ÆF
ré   Fc                óÄ  € V ^8„  d   QhR\         \        \        P                  ! RRR7      3,          R\         \        \        P
                  ! RRR7      3,          R	\         \        \        P
                  ! R
RRR7      3,          R\         \        R,          \        P
                  ! RR7      3,          R\         \        \        P
                  ! RRR7      3,          RR/# )r   r*   zMarketplace skill name.F©r   Úshow_defaultrÊ   ú--claudezInstall for Claude.r   rË   ú--globalú-gzJInstall globally (user-level) instead of in the current project directory.rÌ   Nz=Install into a custom destination (path to skills directory).r©   z--forcez-Overwrite existing skills in the destination.r   ©r   r   ÚtyperÚArgumentrc   ÚOptionr   )r   s   "r   r   r   ´  sÚ   € ÷ 0/ñ 0/Ü
ÜÜ�ŠÐ5ÀEÔJð	Lõð0/ô
 ”dœEŸLšL¨Ð:OÔPÐPÕQð0/ô ÜÜ�ŠØØØ]ô	
ð	õð0/ô Üˆt�Ü�ŠØPô	
ð	õð0/ô( ÜÜ�ŠØØ@ô	
ð	õð)0/ð6 
ñ70/r   c                óT  € Ve;   V'       g	   V'       d   \        R4      h\        W0V4      p\        RV  RV 24       R# V'       d   \        M\        p\        W`V4      p\        RV  RV 24       V'       d1   V'       d   \
        M\        p\        W€Wt4      p	\        RV	 24       R# R# )a  Download a Hugging Face skill and install it for an AI assistant.

Default location is in the current directory (.agents/skills) or user-level (~/.agents/skills).
If `--claude` is specified, the skill is also symlinked into Claude's legacy skills directory.
NrÎ   zInstalled 'z' to z' to central location: zCreated symlink: )r   rº   rÚ   rÏ   rÐ   rÑ   rÒ   rÈ   )
r*   rÊ   rË   rÌ   r©   Ú
skill_destÚcentral_pathr½   Úagent_targetrÇ   s
   &&&&&     r   Ú
skills_addr  ª  sž   € ðV Òß—WÜÐQÓRÐRÜ  ¨UÓ3ˆ
Ü�˜D˜6  z lÐ3Ô4Ù÷ &-•>´-€LÜ$ \¸Ó?ÐÜ	ˆK˜�vÐ4Ð5GÐ4HÐ
IÔJçß(/•}´\ˆÜ# LÐ8JÓRˆ	ÜÐ! ) Ð-Ö.ñ r   Úupdatec                ó€  € V ^8„  d   QhR\         \        R,          \        P                  ! RRR7      3,          R\         \        \        P
                  ! RRR	7      3,          R
\         \        \        P
                  ! RRRR	7      3,          R\         \        R,          \        P
                  ! RR	7      3,          RR/# )r   r*   Nz(Optional installed skill name to update.Frö   rÊ   rø   z#Update skills installed for Claude.r   rË   rù   rú   z=Use global skills directories instead of the current project.rÌ   z+Update skills in a custom skills directory.r   rû   )r   s   "r   r   r   ð  s¶   € ÷ 9ñ 9Ü
Üˆd�
Ü�ŠÐFÐUZÔ[ð	]õð9ô
 ”dœEŸLšL¨Ð:_Ô`Ð`Õað9ô ÜÜ�ŠØØØPô	
ð	õð9ô Üˆt�Ü�ŠØ>ô	
ð	õð9ð( 
ñ)9r   c                ó  € \        WVR7      p\        P                  ! W@R7      pV'       g   \        R4       R# V FM  pVP                  '       d   RVP                   R2MRp\        VP
                   RVP                   V 24       KO  	  R# )	z1Update installed Hugging Face marketplace skills.)rÊ   rË   rÌ   )ÚselectorzNo installed skills found.Nz (Ú)r+   z: )rÕ   r
   Úupdate_skillsrÚ   Údetailr*   Ústatus)r*   rÊ   rË   rÌ   rÓ   ró   Úresultr
  s   &&&&    r   Úskills_updater  ç  st   € ô> "¨ÀtÔL€Eä×#Ò# EÔ9€GßÜÐ*Ô+ÙãˆØ*0¯-¯-¨-�2�f—m‘m�_ AÑ&¸RˆÜ�—‘�˜R §¡˜¨v¨hÐ7Ö8ó r   c                óÎ   € V ^8„  d   Qh/ ^ \         9   d   \        \        \        3,          ;R&   ^\         9   d,   \        \        \        \        \        3,          3,          ;R&   # )r   r›   r‚   )Ú__conditional_annotations__ry   r   rO   )r   s   "r   r   r      sV   € ÷ ñ ÷Rò œT¤#¤s (�^ñ ñS÷fò ”dœ3¤¤c¬3 h¥Ð/Õ0ñ ògr   >   ú--typer   r   r   ú
--revision)r   zOutput format.)z-q / --quietzQuiet output (one ID per line).r$   )zhf skills addz3hf skills add huggingface-gradio --dest=~/my-skillszhf skills add --globalzhf skills add --claudez2hf skills add huggingface-gradio --claude --global)zhf skills updatezhf skills update hf-cliz6hf skills update huggingface-gradio --dest=~/my-skillszhf skills update --claude)NFFN)=r  Ú__doc__rÅ   r®   Úpathlibr   Útypingr   rü   Úclickr   r   r   Ú
typer.mainr   Úhuggingface_hub.errorsr   Úutilsr	   r+   r
   Ú
_cli_utilsr   r   r   r   Ú_outputr   ÚDEFAULT_SKILL_IDÚ_SKILL_DESCRIPTIONr™   rœ   rÐ   rÏ   rÒ   rÑ   r   r�   r›   rs   r‚   Ú
skills_clir2   rI   rX   ra   rh   rv   r‰   r�   r¦   r±   rº   rÈ   rÕ   ÚcommandrÛ   rô   r  r  r   )r  s   @r   Ú<module>r     s  øðöó( 
Û Ý Ý ã ß )Ñ )Ý "å +å )Ý ß YÓ YÝ ð Ð ð2ð ð0ð "Ð"ð #ðÐ ð€ñ& Ð%Ó&€ÙÐ(Ó)€ÙÐ$Ó%€ÙÐ'Ó(€ò TÐ à!�{Ð ð Ð]ØÐið/Ð ó ð  HÐHÐ àÐ.ØÐBð4Ð ó ñ
 Ð BÔC€
õ>õõ"õ +õ$1ðÀ÷ õ(õ2	õ>õB	õMõ	õ;ð" ×Ñ�IÓôó ðð
 ×ÑØàØ&ðð ó ö!óð!ðH ×ÑØ	òð ó 	ð 	ØTYð 	ð 	ð 	ö50/ó	ð0/ðf ×ÑØòð ó ö9óò9r   