Flownix
Sections
On this page

Installing skills

Skills are the instructions an agent follows when working with the product. Four ways to install them, and one to keep them current.

MCP gives an agent access; skills give it rules. A skill is a Markdown file with an instruction the agent reads and follows literally: which tool to call, in what order, what to write into the ticket. Without skills an agent can still create nodes, but it will do so however it likes and lose context between sessions.

Skills are installed as a set, not one at a time — they are written on the assumption that they all sit together and reference one another.

Where they go

Claude Code reads skills from ~/.claude/skills/<slug>/SKILL.md — one directory per skill, and the file inside is always named SKILL.md:

shell
~/.claude/skills/
├── flownix-basics/SKILL.md
├── flownix-init/SKILL.md
├── plan-feature/SKILL.md
├── execute-task/SKILL.md
└── ...

Restart Claude Code afterwards — it reads the skill list at startup. From then on they are invoked as slash commands: /flownix-init, /plan-feature, /execute-task.

Option 1. The npm package

Installs the skills into every agent found on the machine — and, if you hand it a token, configures the MCP server and the reporter hook along the way:

wizard
npx @flownix/cli

It asks where to install (Claude Code, Cursor, Codex, OpenCode, Windsurf, Gemini CLI, Copilot and others — the ones it found are pre-checked), globally or into the current project. No token is needed for this step: without one the wizard installs the skills and plainly skips the two remaining steps.

skills only, no questions
npx @flownix/cli skills --yes
what is already installed
npx @flownix/cli status

It takes the skills from the server and falls back to the copy bundled in the package only when the network is unavailable — and says so. Directories of renamed skills (ai-flow-*) are removed; skills that are not ours are left alone.

Option 2. One command

Skills are served by a public endpoint — no token needed:

install every skill
curl -s https://api.flow.shipoora.ru/api/skills | jq -r '.[] | @base64' |
  while read -r row; do
    slug=$(echo "$row" | base64 -d | jq -r .slug)
    mkdir -p ~/.claude/skills/"$slug"
    echo "$row" | base64 -d | jq -r .content > ~/.claude/skills/"$slug"/SKILL.md
  done
verify
ls ~/.claude/skills | grep -c . && head -3 ~/.claude/skills/flownix-basics/SKILL.md

Requires jqbrew install jq on macOS, apt install jq on Debian/Ubuntu.

Option 3. A zip from the web app

If there's no shell at hand: Settings → Skills → Download all (.zip). The archive holds the same directories plus a README describing each skill.

unpack
unzip flownix-skills.zip -d /tmp/flownix-skills
cp -r /tmp/flownix-skills/* ~/.claude/skills/

The same page lets you download any single skill or copy its text — useful when your agent isn't Claude Code and reads instructions from somewhere else.

Option 4. Let the agent do it

If the agent is already connected over MCP, it can install the skills itself — it has list_skills and get_skill for exactly this:

in the agent session
install the Flownix skills for yourself: list_skills, then get_skill on each,
and lay them out under ~/.claude/skills/<slug>/SKILL.md

The appeal is that it needs nothing beyond the access you already configured. The cost is context: the content of every skill passes through the session.

Keeping them current

Skills change along with the product. To reconcile local copies with the server, use the sync-skills skill:

in the agent session
/sync-skills

It compares file MD5s against the server's and downloads only what differs, rather than everything. Separately, it deletes skills the server has retired. That is not tidiness: a renamed skill would otherwise sit next to its new version, and the agent would read the stale instruction without giving any sign of it.

The report looks like this:

shell
Skill sync complete
  IN_SYNC   : execute-task, plan-feature                  (2)
  PULLED    : review-work, sync-skills                    (2)
  DELETED   : ai-flow-basics → flownix-basics             (1)
  LOCAL_ONLY: my-custom-skill                             (1)

LOCAL_ONLY means your own skills; sync leaves them alone.

Other agents

A skill is ordinary Markdown with YAML frontmatter, with no dependency on Claude Code whatsoever. For another agent the path is the same: fetch the content and put it wherever that agent reads instructions from — or paste the text of the skill you need into its context by hand.

What's next