Agent skill

Setup

by nimbalyst in nimbalyst/nimbalyst

Create a project wiki with a useful Home, starter pages, and a writing guide.

MITAuto-check passedKnowledge Management

Install Setup

skills CLI
$ npx skills add nimbalyst/nimbalyst --skill setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nimbalyst/nimbalyst setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
setup
GitHub stars
1.9k
Token cost
~3.7k tokens
SKILL.md length
2,118 words
Files
2 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Create a project wiki with a useful Home, starter pages, and a writing guide.

  • Works in 8 steps: Which project → Look before adding → Understand what would make this wiki… → …
  • Knowledge Management work in your project
  • SKILL.md covers 0. Which project, 1. Look before adding, 2. Understand what would make… and 3. Guide page, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • Knowledge Management work in your project

Example prompts

  • “/setup”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Which project
  2. Look before adding
  3. Understand what would make this wiki useful
  4. Guide page
  5. Home and starter pages
  6. Types (when useful)
  7. Relations (when useful)
  8. Verify and report

What it can do on your machine

Read from SKILL.md and the folder at commit 749eca9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~21
When it runs · the whole SKILL.md, loaded when a task matches
~3.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.8k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from nimbalyst/nimbalyst at commit 749eca9, republished under its MIT licence (© nimbalyst). 2,118 words, ~3,673 tokens.

Download SKILL.mdSave it as .claude/skills/setup/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
setup
description
Create a project wiki with a useful Home, starter pages, and a writing guide.
<!-- 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. -->

Wiki setup

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.

0. Which project

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.

1. Look before adding

Read only; change nothing in this step.

  • Read the project's README, relevant docs and the user's brief to learn its purpose, audience, and known choices. Read the existing Home, guide, and relevant overview pages using listPages and readCollabDoc. Follow the project's guide and the update skill (/nimbalyst-wiki:update) for all page writing, marks, citations, and links.
  • Search with 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.
  • Content from the earlier knowledge graph: types 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).

2. Understand what would make this wiki useful

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:

  • Purpose and audience: who will read it, and what should it help them do? Onboard teammates, guide coding agents, preserve product intent, or compare research are different starting points.
  • First useful result: which questions should the wiki answer immediately, and which areas matter most? Let the person adjust a suggested page list instead of asking them to invent a hierarchy.
  • Sources and boundaries: which existing docs, sessions, or other material should inform it, and what should stay outside the wiki? Ask about missing or ambiguous sources, not files you can locate yourself.
  • Depth and upkeep: a concise orientation or a deeper reference; what should agents keep current as work happens? Discuss types in terms of things the person wants to browse or compare, not schema terminology.

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.

3. Guide page

  • Base version: 5. The base text is references/wiki-guide.md, unchanged; its last line names the version.
  • Find it. pages_status returns its guideLink when the project has one; listPages gives its uri, which you read with readCollabDoc.
  • Missing: create it with 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.
  • Only the earlier guide exists (an 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:

  • Same text: "already present, matches base version 5".
  • Different text, version line 5: the team edited it. Report "already present, edited by the team".
  • Different text, older or missing version line: the base changed since it was installed, and the team may also have edited it. Report both.

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.

4. Home and starter pages

Do this as part of setup, without handing the person a second command to run.

  • Home: reuse the section's existing Home. If none exists after lookup, create a root page titled Home with 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.
  • Titles and page fields: every page shows its title above the body, so start each body with text, never with the title (or the project name) as a heading. Give each overview page a one-line 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.
  • Starter pages: follow the user's requested structure; otherwise choose a small set suited to the project. For a software project, start with Product (who it serves and why), Design (principles, constraints, and key choices), and Decisions and open questions (an index linking to the pages that own them). Add Initiatives or other sections when the brief or existing material supports them. Use plain pages for these overviews; do not create a type for each section.
  • Real content: write a few useful, source-backed paragraphs on each overview. Preserve attribution and put decision marks in the page they affect; the index links to those pages or places a marks view rather than copying decisions. Link to plans and trackers instead of copying task lists. If information is missing, say specifically what is unknown; never invent a product direction, decision, owner, or status. With too little context to write even a project introduction, ask one focused question through the host's question tool.
  • Placement and navigation: create pages with 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.
  • Existing pages: read before editing with 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.
Show full SKILL.md (785 more words)Show less

5. Types (when useful)

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.

    json
    {
      "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.

6. Relations (when useful)

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.

  • An existing id with a different definition is a conflict: keep it and report it.
  • Adding objectKinds to an existing predicate narrows it and counts as destructive. Propose it to the person; only with their approval pass confirmDestructive.
  • Never send removePredicates.

7. Verify and report

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.

On a local wiki

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:

  • Create it first if there is none: 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.
  • No project or pages_status. Find the guide and Home with listPages.
  • Links in Home and every page are relative paths carrying the target's id, as the update skill's "On a local wiki" says, never console links.
  • Types are files, not a tool call: there is no 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).
  • Relations are a team-wiki feature; skip step 6 on a local wiki.

© nimbalyst, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in plugins/nimbalyst-wiki/skills/setup of nimbalyst/nimbalyst.

  • SKILL.md
  • references/wiki-guide.md

Open the folder on GitHubat commit 749eca9

Compare with similar skills

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.

Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Setup this skillnimbalyst/nimbalyst1.9k—~3.7kAutomated safety check: PassMIT
Logseq Review Workflow Evallogseq/logseq45k—~1kAutomated safety check: PassAGPL-3.0
Baoyu URL To Markdownsdyckjq-lab/llm-wiki-skill2.5k2 repos~3.2kAutomated safety check: PassNone
Obsidian CLIAtmosphere/atmosphere3.8k13 repos~795Automated safety check: PassApache-2.0
Esm Cjs Risk Scanlogseq/logseq45k—~3.3kAutomated safety check: PassAGPL-3.0
Knowledge Searchdataelement/bisheng12k—~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • 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…

    45k GitHub stars~1k tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Baoyu URL To Markdown

    sdyckjq-lab/llm-wiki-skill

    Fetch any URL and convert to markdown using Chrome CDP. An agent skill from sdyckjq-lab/llm-wiki-skill.

    2.5k GitHub starsUsed in 2 repos~3.2k tokens
    Knowledge ManagementAuto-check passed
  • Obsidian CLI

    Atmosphere/atmosphere

    Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more.

    3.8k GitHub starsUsed in 13 repos~795 tokens
    Knowledge ManagementAuto-check passed
  • Esm Cjs Risk Scan

    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.

    45k GitHub stars~3.3k tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Knowledge Search

    dataelement/bisheng

    Search the user's knowledge bases and knowledge spaces (企业知识库检索).

    12k GitHub stars~1.1k tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Capture Conversation

    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.

    41k GitHub stars~474 tokensUpdated today
    Knowledge ManagementAuto-check passed

More from nimbalyst/nimbalyst

All 11 skills in this repo
  • Canvas

    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.

    1.9k GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Datamodellm

    nimbalyst/nimbalyst

    Create visual data models for database schemas using Nimbalyst's DataModelLM editor.

    1.9k GitHub stars~713 tokensUpdated yesterday
    Auto-check passed
  • Excalidraw

    nimbalyst/nimbalyst

    Create diagrams and visual drawings using Excalidraw (.excalidraw files).

    1.9k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Extension Development

    nimbalyst/nimbalyst

    Build, install, and hot-reload Nimbalyst extensions using MCP tools.

    1.9k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Git Commit

    nimbalyst/nimbalyst

    Create git commits using Nimbalyst's interactive commit proposal widget.

    1.9k GitHub stars~696 tokensUpdated yesterday
    Auto-check passed
  • Planning

    nimbalyst/nimbalyst

    Create structured plan documents and track work items using YAML frontmatter.

    1.9k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed

Questions about Setup

What does Setup do?

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.

When should I use Setup?

Setup fits situations like: knowledge Management work in your project.

How do I install Setup in Claude Code?

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.

How do I install Setup in Codex?

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.

Can I use Setup in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Setup need to run?

SKILL.md names no scripts, command-line tools or credentials: Setup is instructions for the agent only.

Does Setup access the network?

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.

Is Setup safe to install?

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.

What licence does Setup use?

Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Setup use?

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.

What are the alternatives to Setup?

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.

Who maintains Setup?

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.