Deixa anar un fitxer SKILL.md al costat del teu llibre de comptes i bea ask segueix les teves pròpies convencions de comptabilitat — els teus noms de categoria, el teu format d'informe, les teves normes internes — sense haver-les de repetir a cada pregunta.
Una habilitat és Markdown senzill amb una petita capçalera YAML. bea ask la descobreix en arrencar i l'ofereix a l'assistent allotjat, que carrega el text complet quan una pregunta ho requereix.
Aquesta pàgina suposa que bea ask ja funciona per a tu. Necessita l'extra ask (uv tool install 'beancount-io[ask]') i credencials de Beancount.io des de bea cloud login o BEA_TOKEN. Les consultes s'executen sobre el teu fitxer de comptes local, però la pregunta i el context de l'habilitat es poden enviar al servei d'IA allotjat de Beancount.io. bea ask no té sortida JSON. Consulta la referència CLI per al contract complet de la comanda.
On viu una habilitat
bea ask llegeix dos directoris, en aquest ordre:
| Ubicació | Abast |
|---|---|
<directori-lideru>/.agents/skills/ | A nivell de projecte — un lideru, i normalment controlat al seu repositori |
~/.config/bea/skills/ | A nivell d'usuari — cada lideru que obres en aquesta màquina |
El directori de projecte es resol des del directori de treball on executes bea ask, no des de --file. Quan els dos directors contenen una habilitat amb el mateix nom, la còpia del projecte guanya i la còpia de l'usuari s'ignora.
BEA_CONFIG_DIR reubica el directori de nivell d'usuari: configurat, llegeix les habilitats de $BEA_CONFIG_DIR/skills/. En cas contrari s'aplica $XDG_CONFIG_HOME/bea/skills/, i falla cap a ~/.config/bea/skills/.
Escriu el fitxer d'habilitat
Un directori per habilitat, que conté un fitxer anomenat SKILL.md:
.agents/skills/
└── monthly-report/
└── SKILL.mdEl fitxer és una capçalera YAML seguida de les teves instruccions:
---
name: monthly-report
description: Generates monthly expense summaries grouped by category.
---
When the user asks for a spending summary or monthly report:
1. Group all expenses by the top-level account category.
2. Show totals for each category, sorted highest to lowest.
3. Include a grand total at the end.
4. Always specify the currency next to each amount.Dos camps són obligatoris. Un fitxer que manqui d'un d'ells es descarta sense cap anunci, de manera que una habilitat absent normalment és un problema a la capçalera.
| Camp | Obligatori | Què fa |
|---|---|---|
name | sí | Lletres en minúscules i guions. Ajusta-lo igual que el nom del directori — la precedència entre les dues ubicases es desenvolupada basant-se en aquest valor, així que un deslligament pot fer que les sobresomes siguin imprevisibles. |
description | sí | Una línia que diu a l'assistent quan aplicar l'habilitat. És el que veu l'assistent abans de decidir carregar el cos complert. |
license | no | Text lliure, enregistrat amb l'habilitat. |
compatibility | no | Text lliure, enregistrat amb l'habilitat. |
metadata | no | Un mapa clau-valor, enregistrat amb l'habilitat. |
allowed-tools | no | Una llista separada per espais, parsejada i enregistrada. |
Escriu el cos com instruccions a un company: què fer, en quin ordre, i com presentar el resultat. Mantén-te només a les convencions que són autcnticament teves. Els fets que l'assistent pot llegir del teu llibre de comptes no pertanyen a una habilitat.
allowed-tools no és un límit de permisos. La versió 0.1.0 de bea analitza el camp i ningú més el llege, de manera que no restring res. Tracta'l com documentació d'intenció. Els controls que realment tenen vigència són els de la pròpia comanda: les escriptit procedementals es previsualitzen, es confirmen i es validen abans de tocar el fitxer, el --yes global no concedeix permís d'escriptura, i el mode --print no genera cap escrit proposit.
Comprova que s'ha carregat
Dóna a una habilitat de prova una instrucció que no puguis passar per alt, i després fes qualsevol qüestió.
Crea l'habilitat:
mkdir -p .agents/skills/test-skill
cat > .agents/skills/test-skill/SKILL.md << 'EOF'
---
name: test-skill
description: Test skill to verify skill loading works.
---
IMPORTANT: Whenever the user asks any question, start your response with the exact phrase "SKILL LOADED".
EOFFeu una pregunta en mode de resposta breu:
bea ask "what accounts do I have?" --printUna que comenci amb SKILL LOADED significa que l'habilitat ha estat descobrida i oferta a l'assistent.
Per a demostrar que la frase prové de la habilitat, treu el director de la ram de skills i torna a pregunta:
mv .agents/skills/test-skill ./test-skill.off
bea ask "what accounts do I have?" --print
mv ./test-skill.off .agents/skills/test-skillLa frase hauria de ser absent. Mou el directori fora de .agents/skills/, no el canviïs de nom in situ: la descoberta es fa basada al camp name de la capçalera, així un director que s'ha canviat de nom a test-skill.bak s'ha de aparcant i encara s'ha de cargar.
Per a comprar una habilitat de nivell d'usuari, posa el mateix fitxer sota ~/.config/bea/skills/test-skill/SKILL.md i torna al procés. Per a comprovar la precediència, mantén amb ara còpies amb el mateix name i donan-los frases diferents: la frase del projecte és la que hauries de veure.
Neteja la habilitat de prova una vegada acabat. S'aplica a cada pregunta que fas des d'aquest director.
Les habilitats per a bea ask no són habilitats per al teu agent
Aquestes habilitats amplien l'ajudant intern de bea ask només. Són unes altes Alte ale les habilitats canòniques de Beancount.io que instal·lies en un agent de codiut extern com Claude Code o Codex, que controlen com pistes bea des de fora. Si això és lo que estàs buscant, llegeix Comptar amb agents d'IA — el que cobreix end-to-end les receptes per a agents externs, i cap d'elles necessita l'extra ask o un compte allotjat.