Logseq Review Workflow Eval
logseq/logseq
Compare two revisions of the Logseq logseq-review-workflow skill by running the same review prompt against isolated before and after skill snapshots, collecting both outputs, and producing a…
Create a project wiki with a useful Home, starter pages, and a writing guide.
$ npx skills add nimbalyst/nimbalyst --skill setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nimbalyst/nimbalyst setup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/setup .claude/skills/setup && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "setup" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/setup into .claude/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/setupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nimbalyst/nimbalyst --skill setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nimbalyst/nimbalyst setup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/setup .agents/skills/setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "setup" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/setup into .agents/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nimbalyst/nimbalyst --skill setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nimbalyst/nimbalyst setup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/setup .cursor/skills/setup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "setup" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/setup into .cursor/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nimbalyst/nimbalyst.git --path plugins/nimbalyst-wiki/skills/setup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nimbalyst/nimbalyst --skill setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nimbalyst/nimbalyst setup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/setup .gemini/skills/setup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "setup" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/setup into .gemini/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nimbalyst/nimbalyst setupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nimbalyst/nimbalyst --skill setup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/setup .github/skills/setup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "setup" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/setup into .github/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nimbalyst/nimbalyst --skill setup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nimbalyst/nimbalyst setup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/nimbalyst-wiki/skills/setup .opencode/skills/setup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "setup" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/plugins/nimbalyst-wiki/skills/setup into .opencode/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
setupCreate a project wiki with a useful Home, starter pages, and a writing guide.
Setup is an agent skill from nimbalyst/nimbalyst. Create a project wiki with a useful Home, starter pages, and a writing guide.
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/wiki-guide.md`).
It sits in Knowledge Management. The repository describes itself as: Nimbalyst - The open-source visual workspace for Claude Code, Codex, and OpenCode. Run multiple coding agents in parallel, edit their work visually in markdown, mockups, and… The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 749eca9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Setup loads about 3.7k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 21 tokens; SKILL.md has 2,118 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nimbalyst/nimbalyst at commit 749eca9, republished under its MIT licence (© nimbalyst). 2,118 words, ~3,673 tokens.
.claude/skills/setup/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.<!-- GENERATED by scripts/build-wiki-plugin.mjs from packages/extensions/knowledge/skills-source. Do not edit; edit the source and re-run the script. Its references/ files are generated from the same source. -->
Leave the person with a wiki they can read and navigate: a populated Home, useful starter pages, and a writing guide. Types and relations are optional; defining them alone is not setup. For a request limited to checking setup or adding a type or relation, do only that work.
Check what exists first. Create missing pages, fill empty bodies, and add missing context or links with small edits that preserve existing prose. Never delete, rename, archive, or replace a person's content without their approval. Re-running setup must not duplicate pages, sections, or links.
The base guide is references/wiki-guide.md next to this file. Example relations are in ../update/references/relations.yaml.
On a local wiki, follow "On a local wiki" at the end of this skill instead of this step.
Setup works on a team project's pages on the Nimbalyst server. Follow the connect skill first: pages_status must report bound, and every call below takes the same repo and project arguments. A project created with pages_create_project already has its Home page. Types defined here are always the team's.
Read only; change nothing in this step.
listPages and readCollabDoc. Follow the project's guide and the update skill (/nimbalyst-wiki:update) for all page writing, marks, citations, and links.searchPages before deciding a page is missing; reuse equivalent pages even when their titles differ. If a listing is truncated, follow its continuation before concluding something does not exist. Keep all reads and writes in the chosen project and section.tracker_list_types: the types that exist, any extends, and the relations (predicates) that exist.entity, claim, question, finding, investigation, ontology-proposal, project types that held decisions (keystone, decision-exploration), .nimbalyst/labels.yaml, predicates whose only subjectKinds is entity, and an entity titled "How we write this wiki". Report them as "earlier model, left in place". Do not edit or remove them, do not add labels or vocabulary packs, and never pass labels to tracker_define_type. Offer the move into pages as a separate job the person starts (../update/references/migrating-v1.md).For a new wiki or a substantial setup repair, have a short discovery conversation before writing. Use what the person already said and what the project contains; ask about the remaining choices that would change the result. Do not treat a repository's contents as proof of the person's intended audience or purpose. Skip this step for a narrow type/relation change or a check-only request unless a missing answer blocks that task.
Use the host's interactive question tool. Prefer one prompt with a few fields, suggested answers based on the project, and an escape hatch for the person's own answer. Pre-fill known preferences. Cover the useful gaps among:
Wait for the answers before making dependent choices. Ask a follow-up only when an answer leaves a consequential ambiguity; do not turn setup into a questionnaire or repeatedly confirm settled choices. If the brief already answers these questions, proceed. If the person explicitly delegates the choices, use project-grounded defaults and state the assumptions.
Use the answers to choose the pages, their depth, and any types. Reflect the intended audience and purpose in Home. A research wiki need not inherit a software project's Product/Design structure. Once the direction is clear, build the wiki; do not require a separate approval for each ordinary page creation.
references/wiki-guide.md, unchanged; its last line names the version.pages_status returns its guideLink when the project has one; listPages gives its uri, which you read with readCollabDoc.createSharedDoc (section, title: How we write this wiki, no parent, after the Home page's node when there is one, initialContent = the base text). Read it back at the returned uri and confirm the text is there.entity titled "How we write this wiki"): leave it. Offer to create the new page and carry over the team's own edits that still apply; create it only after the person approves the merged text.If the guide page exists, never overwrite it. Compare it with the base, ignoring whitespace:
When it differs, offer a diff and a merge that keeps every team edit and proposes only the base changes that do not conflict. Write it with applyCollabDocEdit only after the person approves the merged text. A team that rewrote the guide on purpose may decline; that is final until they ask again.
Do this as part of setup, without handing the person a second command to run.
createSharedDoc. Write a short project introduction and an annotated list of links that helps a newcomer find their way. Use the returned page link in content and its uri for body edits; never guess identifiers. A new section's Home holds starter text that Nimbalyst wrote ("This is your personal home page..." or the team Home's welcome and how-to-add-a-page lines); replace that starter text with your introduction rather than adding below it. Keep anything a person wrote.summary, a status (current for what is true now, draft while it is thin), and an owner when the person told you who keeps it current, with setPageFields.initialContent and the appropriate parentFolderId; use the existing layout, or a shallow root structure for a new wiki. Add links from Home to the guide and every starter page, with a short explanation of each. Link related pages in their prose. Do not leave empty section shells or disconnected pages and call setup complete.applyCollabDocEdit. Fill empty pages and add only missing material; leave established wording and custom navigation intact. If a change would replace them, ask first. A failed or ambiguous write needs a read-back before retrying creation.Define types only when the person asks or agrees, including during discovery; do not ask again about an agreed type. If still unclear, ask what the team keeps several of and would want in a table. Suggest from what the project already discusses (module, technology, competitor, person are common); the team decides. A type for a single page is not a type.
Reuse first. Match on id and display name in tracker_list_types. If the project already has a fitting type (for example a competitor type), use it.
Define with tracker_define_type and schema. Keep it small: title plus two to four single-valued fields (select, string, boolean, user, date). Only single-valued fields show in a page header; multi-valued fields show only in tables. No labels, kind or qualifier fields.
{
"type": "technology",
"displayName": "Technology",
"displayNamePlural": "Technologies",
"icon": "memory",
"color": "#7c3aed",
"modes": { "inline": true, "fullDocument": true },
"idPrefix": "tech",
"idFormat": "ulid",
"fields": [
{ "name": "title", "type": "string", "required": true },
{ "name": "maturity", "type": "select", "options": [
{ "value": "ga", "label": "Generally available" },
{ "value": "beta", "label": "Beta" },
{ "value": "deprecated", "label": "Deprecated" }
] },
{ "name": "inStack", "type": "boolean" }
],
"roles": { "title": "title" }
}Subtypes set extends: <base type> and declare only what they add ({ "type": "library", "extends": "technology", "displayName": "Library", "displayNamePlural": "Libraries" }). A subtype's pages show in its base type's table and nest inside it in the tree.
Existing types: never pass overwrite without the person's approval, and then keep every existing field and option. Never pass confirmDestructive on your own.
Place each new type where the person wants it with moveSharedItem (kind: type, itemId = the type id, newParentFolderId = the parent page, or none for the top of the section). A subtype is not placed; it shows inside its base. Write two or three sentences on an empty type page saying what belongs in it, and link it from the relevant overview. Do not create sample items just to fill its table.
Add a relation when the team links two of its types often and the link means one specific thing ("built on", "competes with"). Each one is a predicate with:
id (kebab-case), label, and inverseLabel (how it reads from the other page; the same as label when direction: symmetric)subjectKinds: the types a link can be written on; objectKinds: the types it can point at. Use the project's type ids; subtypes are covered through extends.valueShape: entity and direction: directed or symmetric. No qualifiers.Copy the shape from ../update/references/relations.yaml, renamed to the project's types, and send only new ids with tracker_define_type (predicates: [...]; it merges by id and keeps the rest). Do not add generic relations ("related to", "depends on"): a plain link says that already.
objectKinds to an existing predicate narrows it and counts as destructive. Propose it to the person; only with their approval pass confirmDestructive.removePredicates.Read back every created or edited page and check its content, tree placement, and links against the person's intended use. Setup is complete only when Home introduces the project, links to the guide and useful starter pages, and those pages address the agreed priorities with grounded content or clearly stated gaps. Report blocked writes or missing context as incomplete; successful type creation is not a substitute.
Lead the report with a link to Home and the pages created or filled. Briefly note any types or relations added, earlier-model content left in place, conflicts, and information still needed. For a check-only request, report these findings without making changes.
When the connect skill chose the local wiki (or the person asked for one), set it up with the nimbalyst-local server's tools. Everything above applies, with these differences:
initLocalWiki, after asking where it should live as the connect skill describes (default nimbalyst-local/wiki, kept out of git; or a checked-in folder such as docs/wiki). It creates the Home page.pages_status. Find the guide and Home with listPages.tracker_define_type here. Write .nimbalyst/trackers/<type>.yaml with the same fields as the JSON above, in YAML, plus storage: pages (one markdown page per item, with a body) or storage: table (one CSV of rows, no bodies; for long uniform lists). Leave out sharing. Check tracker_list_types first and never overwrite an existing type file without the person's approval. Place a table type under a page with moveSharedItem (kind: type).© nimbalyst, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in plugins/nimbalyst-wiki/skills/setup of nimbalyst/nimbalyst.
Open the folder on GitHubat commit 749eca9
Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Setup this skillnimbalyst/nimbalyst | 1.9k | — | ~3.7k | Automated safety check: Pass | MIT | |
| Logseq Review Workflow Evallogseq/logseq | 45k | — | ~1k | Automated safety check: Pass | AGPL-3.0 | |
| Baoyu URL To Markdownsdyckjq-lab/llm-wiki-skill | 2.5k | 2 repos | ~3.2k | Automated safety check: Pass | None | |
| Obsidian CLIAtmosphere/atmosphere | 3.8k | 13 repos | ~795 | Automated safety check: Pass | Apache-2.0 | |
| Esm Cjs Risk Scanlogseq/logseq | 45k | — | ~3.3k | Automated safety check: Pass | AGPL-3.0 | |
| Knowledge Searchdataelement/bisheng | 12k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 |
logseq/logseq
Compare two revisions of the Logseq logseq-review-workflow skill by running the same review prompt against isolated before and after skill snapshots, collecting both outputs, and producing a…
sdyckjq-lab/llm-wiki-skill
Fetch any URL and convert to markdown using Chrome CDP. An agent skill from sdyckjq-lab/llm-wiki-skill.
Atmosphere/atmosphere
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more.
logseq/logseq
Scan Logseq ClojureScript Node/Electron targets for npm module loading risks, especially ESM-only packages that may fail when loaded through js/require or shadow-cljs require-based shims.
dataelement/bisheng
Search the user's knowledge bases and knowledge spaces (企业知识库检索).
outline/outline
Save the current conversation, a decision, or a set of notes as a document in an Outline collection; use when the user wants to keep what was discussed in their knowledge base.
nimbalyst/nimbalyst
Author Nimbalyst Project Canvas boards (.canvas files) — an infinite canvas whose cards are live editors for real workspace files and shared documents, arranged spatially and wired with edges.
nimbalyst/nimbalyst
Create visual data models for database schemas using Nimbalyst's DataModelLM editor.
nimbalyst/nimbalyst
Create diagrams and visual drawings using Excalidraw (.excalidraw files).
nimbalyst/nimbalyst
Build, install, and hot-reload Nimbalyst extensions using MCP tools.
nimbalyst/nimbalyst
Create git commits using Nimbalyst's interactive commit proposal widget.
nimbalyst/nimbalyst
Create structured plan documents and track work items using YAML frontmatter.
Categories
Create a project wiki with a useful Home, starter pages, and a writing guide. Setup is an agent skill from nimbalyst/nimbalyst. Create a project wiki with a useful Home, starter pages, and a writing guide.
Setup fits situations like: knowledge Management work in your project.
Run `npx skills add nimbalyst/nimbalyst --skill setup -a claude-code`. Or copy the skill folder (plugins/nimbalyst-wiki/skills/setup in nimbalyst/nimbalyst) into .claude/skills/setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nimbalyst/nimbalyst --skill setup -a codex`. Or copy the skill folder (plugins/nimbalyst-wiki/skills/setup in nimbalyst/nimbalyst) into .agents/skills/setup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nimbalyst/nimbalyst --skill setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup, .gemini/skills/setup, .github/skills/setup and .opencode/skills/setup in your project.
SKILL.md names no scripts, command-line tools or credentials: Setup is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Setup: Logseq Review Workflow Eval (logseq/logseq, 45k stars), Baoyu URL To Markdown (sdyckjq-lab/llm-wiki-skill, 2.5k stars), Obsidian CLI (Atmosphere/atmosphere, 3.8k stars) and Esm Cjs Risk Scan (logseq/logseq, 45k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nimbalyst (a GitHub organization) maintains it in nimbalyst/nimbalyst, which has 1,861 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 9, 2026.
Source: nimbalyst/nimbalyst on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.