Using Appstrate

Skills and coding agents

Bring your spaces' skills and agents into Claude Code and Codex with appstrate code sync, and let a coding agent drive the CLI.

Coding agents such as Claude Code and Codex can work with Appstrate in three ways, and they combine:

  • Your skills, locally. appstrate code sync copies the skills of the spaces you belong to into the agent's skill directories, and keeps them current.
  • Your agents, as commands. In Claude Code, every agent active in your pinned space becomes a /appstrate:run-<agent> command that launches it through the organization's MCP server.
  • The CLI and the API. A coding agent can call the platform through appstrate api without ever seeing a token. The repository ships an operating manual for exactly that: apps/cli/AGENTS.md.

What you need first: an instance and the CLI, signed in (appstrate login) with an organization and a space pinned. Login pins them for you when there is only one choice.

Claude Code

Install the plugin once. Claude Code then re-runs the sync in the background every session, and reloads the plugin when something changed.

appstrate login
claude plugin marketplace add appstrate/claude-plugins
claude plugin install appstrate@appstrate

What you get in Claude Code:

WhatHow it appears
Skills of every space you are a member of/appstrate:<skill>
Agents active in your pinned space/appstrate:run-<agent>
The organization's MCP serverA server named plugin:appstrate:appstrate, bound to your pinned space

The plugin carries no token. Open /mcp, select plugin:appstrate:appstrate and complete the browser login once. That login is separate from appstrate login.

Agent commands take your request in plain words, for example /appstrate:run-invoice-extractor extract the totals from ~/Downloads/march-invoice.pdf. Claude builds the input from the agent's launch form and launches it with the MCP tool run_and_wait. Nothing is pre-approved: Claude Code asks before the metered run starts and shows the exact input. You need the permissions to run agents and read runs in the space, which the runner space role includes. To pass a file, keep it in the session's working directory or start Claude Code with --add-dir.

Installing the plugin on a fresh machine is the only step that has to come first. Without a signed-in profile it installs a setup skill that tells you what is missing.

The plugin has one SessionStart hook, which prints a notice at the start of a session when the last sync could not complete: a lost login, a missing profile, no pinned organization or space, or a revoked organization. The notice gives the time of the failed sync and the command that fixes it, which you can ask Claude to run; then claude plugin update appstrate@appstrate and a new session load the result. A sync without such a problem removes the notice, and one that fails on a network or server error leaves it as it is.

After switching organization or space

The plugin follows your profile. After appstrate org switch or appstrate space switch, refresh it and start a new Claude Code session, because a running session can keep the old endpoint:

claude plugin update appstrate@appstrate

Then check the endpoint in /mcp and authenticate again if asked.

Codex

Codex reads skills from ~/.agents/skills/. The Claude Code plugin already syncs that directory too. Without Claude Code, run the sync yourself, by hand or on a schedule:

appstrate code sync --target codex

Agent commands are not available in Codex, since nothing configures the MCP server there. To give Codex the organization's MCP server, see MCP clients.

Sync options

appstrate code sync --target claude-plugin --target codex   # what the plugin runs
appstrate code sync --target claude-user                    # into ~/.claude/skills/ without the plugin
appstrate code sync --target codex --dry-run                # show what would change
appstrate code sync --target claude-user --source draft     # your working copies, not published versions
appstrate code sync --target codex --space spc_prod         # only these spaces, this run
  • --target is required and repeatable: claude-plugin, codex or claude-user.
  • By default a sync takes the active skills of every space you are a member of and can read skills in. Being added to a space puts its skills on your machine at the next sync, and being removed takes them off. --space, or syncSpaces in your profile, narrows that set and never widens it.
  • It installs the organization's latest published version of each skill. --source draft syncs working copies instead, for authors, and needs write access to the skill.
  • The MCP connection and the agent commands come from the pinned space only.
  • A sync never deletes or overwrites a directory it did not create. A name already taken by your own skill is reported and skipped.
  • Installed skills are generated copies. Editing them does not change anything in Appstrate.

If your organization blocks command-sourced plugins, or you use Codex only, schedule appstrate code sync --target codex with cron or a macOS launchd agent. Use launchd on macOS: the sync needs your keyring, which a system cron job may not reach. Scheduling details, ownership rules and every failure message are in the CLI README.

Write skills and agents from your editor

appstrate code sync only copies down. To author a skill, agent, integration or MCP server in a local folder, push it to its draft and publish it, use appstrate packages. To try a skill in Claude Code before publishing it, load its folder directly with claude --plugin-dir <dir>.

A standalone skill repository

A separate open-source repository, appstrate/skills, publishes a skill for coding agents. It is not part of this repository, so follow its own README for installation and contents.

Reference

On this page