Commands and skills do the same job in this garden, and I am carrying both. A skill has a description another agent reads before loading the body, it has references/ for staged loading, and Claude Code puts it under / just like a command. A command has none of that, and rulesync strips argument-hint out of generated commands anyway — Custom Claude Code command YAML frontmatter · Issue #413 · dyoshikawa/rulesync — so the one thing commands still had over skills does not survive rulesync generate. Migrating costs me no slash command and buys me a description field.
The other reason to do this now is that I want the garden carrying more of this knowledge and the skill tree carrying less. Several commands restate rules that already live on a Logseq/Entity/<Type> page, and the logseq-entity skill already reads those pages at runtime. A command that paraphrases an entity page is a second copy that will fall behind the page. Delete the copy.
Inventory and verdicts
| Command |
Verdict |
Why |
| create-rulesync-command |
Remove |
It authors the artifact this issue retires. rulesync-create-skill already covers what replaces it. |
| logseq-book |
Move to the garden |
Logseq/Entity/Book owns book pages. The command's annotation conventions are not on that page yet; move them there, then delete. |
| logseq-cleanup-math |
Remove |
The logseq-cleanup-math skill is the same body with a real description. Straight duplicate. |
| logseq-create-shortcut |
Migrate to a skill |
Fold it into logseq-flashcard as a reference. That skill's Keyshort path currently sends the agent to this command file. |
| logseq-get-page-file |
Remove |
[[Page/Name]] to pages/Page___Name.md is one ls, and logseq-core already states the translation. |
| logseq-import-blog |
Remove |
Its own text says it is a routing guide to logseq-entity plus Logseq/Entity/Article. |
| logseq-manage-shortcut-flashcards |
Remove |
logseq-flashcard already calls it a legacy name and points at references/keyshort-audit-and-update.md for the behavior. |
| logseq-normalize-scm-project-links |
Migrate to a skill |
A repeatable rewrite with real matching rules. No skill covers it. |
| logseq-person |
Remove |
Ten lines of router to Logseq/Entity/Person and the logseq-entity skill, both of which an agent reaches without it. |
| logseq-podcast-episode |
Move to the garden |
Logseq/Entity/Podcast already carries naming, dedup, frontmatter and page shape. What is left is the backdated journal entry; put that on the page and delete the command. |
| logseq-term |
Remove |
Logseq/Entity/Term carries the dedup rules, the frontmatter, the lean page shape and the journal step. |
| logseq-til |
Migrate to a skill |
A day-page procedure, not entity work. Nothing else holds it. |
| logseq-update-week |
Migrate to a skill |
Week scaffolding that drives the logseq-week-info-getter subagent. The page templates belong in references/. |
| review-pr |
Remove |
Four generic bullets about code quality and test coverage. The codekiln-review skill does the actual job. |
Skills stay as they are. The one skill worth a second look during this work is logseq-flashcard, because it points at two command files that are going away.
Plan
Skill-shaped commands with no dependents. Convert logseq-til, logseq-normalize-scm-project-links and logseq-update-week to skills. Delete logseq-cleanup-math, logseq-manage-shortcut-flashcards and review-pr, whose replacements already exist.
Keyshort. Fold logseq-create-shortcut into logseq-flashcard as a reference, repoint that skill's Keyshort path at it, delete the command.
Entity commands. For logseq-book, logseq-podcast-episode, logseq-term, logseq-import-blog and logseq-person: read the command against its entity page, move whatever the page is missing onto the page, delete the command. Graph edits here, not skill edits.
Close it out. Delete create-rulesync-command and logseq-get-page-file, drop "commands" from features in rulesync.jsonc, and rewrite the skills index in .rulesync/rules/overview.md, which still sends weekly page setup and person hubs to commands.
Commands and skills do the same job in this garden, and I am carrying both. A skill has a
descriptionanother agent reads before loading the body, it hasreferences/for staged loading, and Claude Code puts it under/just like a command. A command has none of that, and rulesync stripsargument-hintout of generated commands anyway — Custom Claude Code command YAML frontmatter · Issue #413 · dyoshikawa/rulesync — so the one thing commands still had over skills does not surviverulesync generate. Migrating costs me no slash command and buys me a description field.The other reason to do this now is that I want the garden carrying more of this knowledge and the skill tree carrying less. Several commands restate rules that already live on a
Logseq/Entity/<Type>page, and thelogseq-entityskill already reads those pages at runtime. A command that paraphrases an entity page is a second copy that will fall behind the page. Delete the copy.Inventory and verdicts
rulesync-create-skillalready covers what replaces it.logseq-cleanup-mathskill is the same body with a real description. Straight duplicate.logseq-flashcardas a reference. That skill's Keyshort path currently sends the agent to this command file.[[Page/Name]]topages/Page___Name.mdis onels, andlogseq-corealready states the translation.logseq-entityplus Logseq/Entity/Article.logseq-flashcardalready calls it a legacy name and points atreferences/keyshort-audit-and-update.mdfor the behavior.logseq-entityskill, both of which an agent reaches without it.logseq-week-info-gettersubagent. The page templates belong inreferences/.codekiln-reviewskill does the actual job.Skills stay as they are. The one skill worth a second look during this work is
logseq-flashcard, because it points at two command files that are going away.Plan
Skill-shaped commands with no dependents. Convert
logseq-til,logseq-normalize-scm-project-linksandlogseq-update-weekto skills. Deletelogseq-cleanup-math,logseq-manage-shortcut-flashcardsandreview-pr, whose replacements already exist.Keyshort. Fold
logseq-create-shortcutintologseq-flashcardas a reference, repoint that skill's Keyshort path at it, delete the command.Entity commands. For
logseq-book,logseq-podcast-episode,logseq-term,logseq-import-blogandlogseq-person: read the command against its entity page, move whatever the page is missing onto the page, delete the command. Graph edits here, not skill edits.Close it out. Delete
create-rulesync-commandandlogseq-get-page-file, drop"commands"fromfeaturesinrulesync.jsonc, and rewrite the skills index in.rulesync/rules/overview.md, which still sends weekly page setup and person hubs to commands.