Setup Run logo

Setup Run

Community
jmagly
setup-run

Execute a `setup.aiwg.io/v1` SetupManifest, performing cross-platform installati

Overview

Publisherjmagly
Repositoryaiwg
Skill namesetup-run
Stars
225
Forks
34
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by jmagly on GitHub. Read the source before you install it.

Installation

Install the Setup Run AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/jmagly/aiwg/tree/main/agentic/code/addons/agentic-installer/skills/setup-run
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/jmagly/aiwg.git /tmp/aiwg
mkdir -p .claude/skills
cp -r /tmp/aiwg/agentic/code/addons/agentic-installer/skills/setup-run .claude/skills/setup-run
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Setup Run in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Setup Run on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Setup Run is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

setup-run

Execute a setup.aiwg.io/v1 SetupManifest, performing cross-platform installation step by step.

This skill executes deterministic manifests. If metadata.execution_mode: provider-orchestrated, validate the manifest and hand it to the current supported AI provider; do not begin deterministic CLI execution.

Trigger Phrases

  • "run the setup manifest"
  • "install using setup.manifest.yaml"
  • "execute installer for [project]"
  • "aiwg setup-run [manifest]"
  • "run setup for [project]"
  • "run dev setup for [project]"

Parameters

manifest (positional, optional)

Path to the setup.manifest.yaml. Default: ./setup.manifest.yaml.

--dry-run (optional)

Print what would be executed without running any scripts.

--platform (optional)

Override platform detection: linux, macos, windows, wsl2.

--distro (optional)

Override distro detection: ubuntu, debian, fedora, arch, etc.

--params-file (optional)

Path to a YAML file with pre-set param values (avoids interactive prompts).

--step (optional)

Run only a specific step by id. Useful for resuming after failure.

--skip (optional)

Comma-separated step IDs to skip.

--type (optional)

Filter which manifest to run by install type: user, developer, or ci.

When --type developer is specified and no manifest path is given, the skill looks for installer/setup.dev.manifest.yaml before falling back to setup.manifest.yaml. When --type user is specified, the skill looks for installer/setup.user.manifest.yaml.

Execution Flow

Phase 1: Load and Validate

  1. Read the manifest file
  2. Validate against setup.aiwg.io/v1 schema (run setup-validate internally)
  3. If invalid, report errors and stop — do not attempt partial execution

Phase 2: Platform Detection

  1. Detect OS: uname -s (Linux/Darwin) or $PSVersionTable (Windows)
  2. Detect distro: /etc/os-release → ID field
  3. Detect arch: uname -m
  4. Detect shell: $SHELL or $0
  5. Match against manifest platform block — if no match, warn and ask to proceed or abort

Phase 3: Param Collection

For each param in manifest params:

  1. Check if already set in environment or --params-file
  2. If required: true and no value: prompt interactively
  3. If interactive_required: true: always prompt interactively, even if a default exists — do not use the default without asking
  4. If choices list present: validate input against choices
  5. Expand ~ and $HOME in type: path params

Phase 4: Prerequisite Check

For each prerequisite:

  1. Run detect command
  2. If version_min set: compare version output against minimum
  3. On failure: print install_hint and stop with non-zero exit

Phase 5: OS Config Summary (developer manifests only)

When metadata.install_type is developer and the manifest has an os_config block:

  1. Run each os_config entry's check command
  2. Collect entries where check returns non-zero (needs configuration)
  3. Print a summary of OS mutations that will be made:
    [setup] OS Configuration Required
    
    The following OS-level changes will be made:
      • docker-group: Add user 'alice' to docker group (requires re-login)
      • inotify-watches: Set fs.inotify.max_user_watches=524288
    
    These changes require elevated privileges (sudo).
  4. Ask for explicit user confirmation before proceeding with any os-config steps:
    Proceed with OS configuration? [y/N]:
  5. If denied, skip all os-config steps and warn that the environment may be incomplete.

Never apply OS mutations without this explicit confirmation. This is a separate gate from the normal params phase.

Phase 6: Step Execution

Execute steps in dependency order:

For each step (respecting depends_on order):
  1. Evaluate `when` condition — skip step if false
  2. Skip steps not applicable to current platform
  3. Dispatch by step type:
     - script:         run the script with params as env vars
     - detect:         run detect command, set env var with result
     - ask:            prompt user, set param
     - verify:         run verify expression; fail if false
     - agentic:        delegate to installer-agent with instruction
     - platform-route: resolve platform → script path, run script
     - chain:          run aiwg setup-run on sub-manifest
     - os-config:      run the referenced os_config entry (see below)
  4. Run `verify` expression if present
  5. On failure:
     a. Check recovery_procedures for a matching trigger
     b. If found: show recovery plan and ask user to confirm before running
     c. If not found or recovery fails: report step ID + error, stop
os-config Step Execution

When executing an os-config step:

  1. Look up the config_id in the manifest's os_config block
  2. Run the check command — if exit 0, print "already configured" and skip
  3. If the entry has interactive: true:
    • Print an explanation of what the apply command will do
    • Warn: "This step will trigger an interactive dialog or GUI prompt."
    • Ask for user acknowledgment before running:
      [setup] Interactive step: xcode-cli-tools
      This will trigger the Xcode Command Line Tools installation dialog.
      Acknowledge and continue? [y/N]:
  4. Run the apply command
  5. If the entry has requires_relogin: true:
    • After the step completes, pause and print:
      [setup] NOTICE: docker-group requires re-login to take effect.
      Log out and back in, then re-run setup-run with --step <next-step-id>
      to continue from where you left off.
      
      Continue (if you have already re-logged in)? [y/N]:

Phase 7: Completion Report

[setup] Installation complete

  Steps run:    4/4
  Steps skipped: 0
  Duration:     45s

  Installed to: /opt/myapp
  Config dir:   ~/.config/myapp

Run `myapp --version` to verify.

For developer installs, also report:

[setup] Developer environment ready

  OS config applied: docker-group, inotify-watches
  Re-login required: docker-group (log out and back in)
  Dev server:   http://myapp.local:3000

Dry Run Output

[setup:dry-run] Would execute: setup.manifest.yaml
  Platform: linux/ubuntu/x86_64
  Install type: developer

  OS Config (2 entries, 1 needs configuration):
    ✓ docker-group: already configured
    ✗ inotify-watches: needs configuration (current: 8192, required: 524288)

  Step 1: clone (script)
    script: installer/scripts/clone.sh
    env:    INSTALL_DIR=/opt/myapp BRANCH=main
    verify: test -d ${INSTALL_DIR}/.git

  Step 2: apply-inotify (os-config)
    config_id: inotify-watches
    platform:  linux

  Step 3: configure-dev (script)
    script: installer/scripts/dev/configure-dev.sh

  Step 4: verify-dev (script)
    script: installer/scripts/dev/verify-dev.sh

Recovery Handling

When a step fails and a recovery procedure matches:

[setup] Step 'clone' failed:
  Error: destination path already exists and is not empty

Recovery procedure 'full-reset' is available:
  This will: remove /opt/myapp and re-clone from git

Proceed with recovery? [y/N]: _

Never run destructive recovery steps without explicit user confirmation.

Agentic Steps

When a step has type: agentic, the skill delegates to installer-agent with the step's instruction field as context, plus:

  • The full manifest (for environment context)
  • The current param values
  • The failure output from any preceding script attempt

The installer-agent must explain what it detects and what it will do before making changes.

References

  • Schema: agentic/code/addons/agentic-installer/schemas/v1/setup-manifest.schema.json
  • Agent: agentic/code/addons/agentic-installer/agents/installer-agent.md
  • Script lib: agentic/code/addons/agentic-installer/scripts/lib/
  • Generate skill: agentic/code/addons/agentic-installer/skills/setup-generate/SKILL.md

Frequently asked questions

What does the Setup Run AI skill do?

Execute a `setup.aiwg.io/v1` SetupManifest, performing cross-platform installati

Why use Setup Run on TypingMind?

Because you install it once and use it with any model. Setup Run is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Setup Run in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/jmagly/aiwg/tree/main/agentic/code/addons/agentic-installer/skills/setup-run. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Setup Run?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Setup Run?

As many as you like. As long as a model supports skills, you can use Setup Run with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Setup Run AI skill free?

Yes. It is published on GitHub by jmagly under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇