Drive an installed LaRuche App through its declared actions, never its files.
日本語の概要は準備中です。原文の説明を表示しています。
Write a skill, or forge a script tool, so a solved problem survives.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
A skill is a written procedure the agent can reopen later. When you solve something the hard way, the fix is worthless unless it becomes a skill. This is how you write one from inside a session.
Read skills/AUTHORING.md before creating one. It is the canon: what the frontmatter
does, why the description matters more than the body, and what a good body contains.
skill_list returns every installed skill with its description. Call it before
creating anything, to check the procedure does not already exist.skill_view with name returns the full body. The catalog in your prompt only carries
descriptions; the body is fetched on demand, so open the skill before following it.
Do not act from the description alone.skill_view also reports missing prerequisites. If it says a command is absent,
installing it is your job, not a question for the user.skill_create requires name, description and body. It also accepts tools and
scripts, two optional arrays written into the frontmatter.
tools grants nothing and forbids nothing. It earns its place elsewhere: the tools whose
signatures reach you on a given turn are picked from the user's message, before any skill
is opened, so a skill's own tools are frequently absent. When the skill is opened, every
listed tool that is registered but missing from the turn is named back to you, with the
instruction to reach it through tool_call. Fill it with real tool names, and only real
ones: anything the registry does not know is dropped without a word.
skill_list first. If something close exists, skill_patch it instead. Two
overlapping skills make the model hesitate and pick the wrong one.name: lowercase, hyphens, no spaces. It becomes the folder name and the
handle used by skill_view.description: one sentence, 80 characters or fewer, starting with a verb,
naming the TRIGGER rather than the technology. The catalog drops everything after a
-, then everything after the first . , then cuts at 80 characters. Go over and
the model reads an amputated sentence. This single line is injected into the system
prompt on every turn, for every skill, and is the whole reason it will ever be opened.body as markdown following AUTHORING.md: what it achieves, prerequisites with
exact install commands, a numbered procedure where each step says how to verify it
worked, traps, failure modes.skill_create, then skill_view on the new name to confirm it round-tripped.A skill you create is stored immediately and you can open it with skill_view by name
right away. It appears in the SKILL CATALOG of your prompt only from the next mission on,
because that catalog is assembled once at mission start to keep the cached prefix stable.
Its absence from the list is not a failure and must not trigger a second skill_create.
skill_patch takes name, old and new, and replaces an exact string.
old must match the file byte for byte, including indentation. Run skill_view first
and copy from its output rather than from memory.old appears more than once, the patch is ambiguous. Include surrounding lines
until the fragment is unique.For a rewrite too large to express as a patch, skill_file_write with skill set to the
skill name and path set to SKILL.md replaces the whole file.
A skill can carry scripts and data next to SKILL.md.
skill_file_list with skill shows what it carries.skill_file_read with skill and path reads one.skill_file_write with skill, path and content creates or replaces one.skill_file_delete with skill and path removes one.path is relative to the skill folder. Scripts belong under scripts/.
You are not limited to the built-in tools. When no tool does what you need, WRITE ONE. Python, Node, a shell script: anything the machine can run. This is normal work, not a last resort, and it does not require asking the user.
Three levels, in increasing cost. Take the cheapest that works.
1. A one-off script. Write it to a temp path and run it with shell_exec. For
something you will do once, stop here. Do not bundle or register it.
2. A script bundled in a skill. Use skill_file_write with path under scripts/
when the script IS the procedure: too long to inline, and only meaningful inside this
skill. It lands in skills/<name>/scripts/, and the skill body then says which script to
run and with which arguments. It stays inert until the skill is loaded, so it costs
nothing on turns where the skill is not in play.
3. A registered tool. When the capability is useful OUTSIDE this skill and you want
to call it by name like any built-in, register it as a Forged Tool with forged_tool_create.
It lands in its own folder, forged_tools/<name>/, with the manifest and
the script side by side, and it is callable from the moment it exists, with no skill
loaded. Full procedure in the extend-toolset skill. This is how a script you wrote today
becomes a tool available on every future turn.
The test between 2 and 3: must it work without anyone knowing the skill exists? Then it is a Forged Tool. Does it only make sense inside the procedure you are writing? Then it is a bundled script.
Rules for anything you write, at every level:
python --version, node --version, and
the import you need. If a package is missing, install it: that is your job, not a
reason to stop. Record the install command in the skill's Prerequisites section so the
next run does not rediscover it.C:\Users\me\...
baked in works exactly once, on one machine.When a script has proved itself, write the skill around it: the install command, the invocation, what its output looks like, and what to do when it fails. That is the loop. Solve it once, script it, register it, document it, and the next occurrence is one call.
skill_delete with name. Use it for a skill that is wrong or fully superseded, not for
one that is merely unused. Confirm with skill_list afterwards: the entry must be gone
from the catalog, not just from disk.
Git: commits, branches, tags matches
nothing. Commit staged work with a message that explains why matches an intent.type, name, description,
prerequisites.commands and enabled are read. version, author, license,
platforms, tags are ignored by the runtime; adding them teaches the next reader
that metadata here is fiction.name must equal the folder name exactly. A mismatch makes the skill invisible to
skill_view while still appearing in skill_list.extend-toolset skill.description: >-. The folded block scalar is legal YAML and the
dashboard's parser used to reject the whole file over it. Put the description on one
line, which is also what skill_create writes.skill_view returns nothing for a skill that skill_list shows. The name in the
frontmatter disagrees with the folder. Fix the frontmatter with skill_file_write.
A newly created skill never gets picked. The description does not describe a trigger, or it overlaps another skill. Rewrite the description; the body is not the problem.
skill_patch keeps failing on an exact-looking string. Invisible difference: line
endings, a non-breaking space, or trailing whitespace. Copy the fragment from
skill_view output verbatim, or replace the whole file with skill_file_write.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Drive an installed LaRuche App through its declared actions, never its files.
日本語の概要は準備中です。原文の説明を表示しています。
Find academic papers on arXiv, with citation counts and BibTeX.
日本語の概要は準備中です。原文の説明を表示しています。
Render text or an image as ASCII art for terminal-friendly output.
日本語の概要は準備中です。原文の説明を表示しています。
Track RSS/Atom feeds and blogs via blogwatcher-cli.
日本語の概要は準備中です。原文の説明を表示しています。
Drive a real web browser: navigate, read, find, click, fill, screenshot
日本語の概要は準備中です。原文の説明を表示しています。
Measure a codebase: lines of code, language mix, and symbol lookups.
日本語の概要は準備中です。原文の説明を表示しています。