build-script
Use when the user wants to write, test, or deploy an ArchAstro script — custom logic for agent tools, workflow nodes, and routines.
Skill by ArchAstro
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/archastro-build-script
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, devops, writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/build-script
What's inside
- Skill name
build-script- Description
- Use when the user wants to write, test, or deploy an ArchAstro script — custom logic for agent tools, workflow nodes, and routines. Trigger phrases include "build a script", "write a script", "create a script", "test a script", "script syntax", "script reference", "script language".
- License
- MIT
- Instructions
- 304 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (1)
- SKILL.md
SKILL.md (first lines)
# ArchAstro Script Builder
Write, test, and deploy scripts — custom logic that powers agent tools, workflow nodes, and routines.
This skill assumes the ArchAstro CLI is already installed and authenticated. Use the `/archastro:install` and `/archastro:auth` commands in this same plugin instead of trying to install or authenticate the CLI manually inside this skill.
## What is a Script?
Scripts are expression-oriented custom logic written in the ArchAstro script language. They can be used as:
- **Custom tool handlers**: Agent calls a tool → script runs → result returned to agent
- **Workflow graph script steps**: Script logic used inside a workflow graph
- **Routine handlers**: A scheduled routine runs the script directly
Scripts are first-class resources with their own CRUD, validation, and execution commands.
Use the dedicated top-level script resource for the normal authoring loop: `archastro list scripts`, `describe script`, `create script`, `update script`, `validate script`, `run script`, and `describe scriptdocs`.
## Always Start with State
Every invocation must begin by understanding the current context:
```
archastro auth status
archastro list scripts
```
Determine:
- Is the user creating a new script or editing an existing one?
- What will this script be used for? (tool, workflow node, routine)
- What external APIs or data does it need to access?
## Routing
### CLI not installed or too old
Before any script work, verify the CLI:
- Read `plugin-compatibility.json` from the plugin root.
- Prefer `plugins.archastro.minimumCliVersion`, fall back to the top-level `minimumCliVersion`.
- Run `archastro --version`. If missing or older than the resolved minimum, direct the user to `/archastro:install`.
- If authentication or app selection is missing, direct the user to `/archastro:auth`.
### User wants to write a new script
**Phase 1: Get the language reference**
Always start by fetching the live reference — do not write scripts from memory:
```
archastro describe scriptdocs
```
Use the top-level script commands, not `describe configsample`/`validate config`, for the normal authoring loop.
Create a script from a local source file:
```
archastro create script --id my-script --file ./scripts/my-script.agentscript
```
Or let the CLI start from its built-in sample if you do not pass `--source` or `--file`:
```
archastro create script --id my-script
```
**Phase 2: Understand the requirements**
Ask the user:
- What should the script do?
- What inputs will it receive? (accessible via `$` JSONPath)
- Does it need environment variables? (accessible via `env.KEY`)
- Does it need to make HTTP calls?
If the script will handle a routine event, discover what `$` contains by checking the event's payload schema:
```
archastro list events
archastro describe event <event-name>
```
`describe event` returns the JSON schema and a sample payload. Every field in the payload is accessible via `$` in the script (e.g., `$.thread_id`, `$.message.content`). Always check the event schema before writing scripts that consume routine payloads — do not guess the shape from memory.
**Phase 3: Author the script**
Key language concepts:
- **Input**: Access via `$` (JSONPath). E.g., `$.order_id`, `$.user.email`
- **Environment**: Access via `env.KEY`. E.g., `env.API_TOKEN`
- **Imports**: `import("requests")`, `import("array")`, `import("string")`, etc.
- **Error handling**: `unwrap(result)` or `unwrap(result, default_value)`
- **No loops**: Use `array.map`, `array.filter`, `array.reduce`
- **Expression-oriented**: The last expression in the script is the return value
- **Debugging**: Use `println()` to inspect values
Example — HTTP lookup script:
```
let http = import("requests")
let arr = import("array")
let response = http.get(env.API_URL + "/orders/" + $.order_id, {
headers: { "Authorization": "Bearer " + env.API_TOKEN }
})
let body = unwrap(response).body
{
order_id: $.order_id,
status: body.status,
items: arr.map(body.line_items, fn(item) {
{ name: item.name, qty: item.quantity }
})
}
```
Available namespaces:
- `requests` — HTTP client (`get`, `post`, `put`, `patch`, `delete`)
- `array` — Collection operations (`map`, `filter`, `reduce`, `find`, `flat`)
- `string` — String operations (`split`, `trim`, `lowercase`, `uppercase`, `includes`)
- `map` — Object operations (`keys`, `values`, `merge`, `get`)
- `datetime` — Date/time operations (`now`, `format`, `parse`, `add`)
- `math` — Math operations (`round`, `floor`, `ceil`, `abs`)
- `result` — Result type operations (`ok`, `err`, `isOk`, `isErr`)
- `email` — Email sending
- `jwt` — JWT token operationsFrom ArchAstro/archastro, MIT.
More from ArchAstro/archastro
- 0.601score
manage-solutions
ArchAstro
Find and install ArchAstro starter samples; scaffold, validate, lint, package, import, install, and upgrade reusable Solutions containing agent, tool…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
manage-knowledge
ArchAstro
Add, refresh, search, and maintain ArchAstro agent knowledge from files, websites, and connected providers; diagnose sources, ingestions, items, and document…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
manage-integrations
ArchAstro
Connect ArchAstro agents to external services through personal OAuth, shared GitHub or Slack integrations, MCP providers, and private services; diagnose…
SkillAFreshness: A★ 3Claude Code +9 - 0.600score
build-workflow
ArchAstro
Use when the user wants to create, edit, or deploy a workflow — a multi-step process with branching, loops, HTTP calls, script execution, approvals, or…
SkillAFreshness: A★ 3Claude Code +9 - 0.597score
manage-work
ArchAstro
Manage ArchAstro tasks and dependencies, run local coding work with AstroDev or Astrorun, and process durable workflow work items.
SkillAFreshness: A★ 3Claude Code +9 - 0.597score
operate-agents
ArchAstro
Inspect and operate deployed ArchAstro agents.
SkillAFreshness: A★ 3Claude Code +9 - 0.597score
manage-platform
ArchAstro
Manage an ArchAstro developer app, customer organizations, users, teams, access keys, OAuth registrations, domains, sandboxes, secrets, custom objects, files…
SkillAFreshness: A★ 3Claude Code +9 - 0.575score
auth
ArchAstro
Use when the user wants to authenticate with or log in to the ArchAstro developer platform, or when the CLI reports an authentication error.
SkillAFreshness: A★ 3Claude Code +9 - 0.575score
build-skill
ArchAstro
Use when the user wants to create, edit, or publish an ArchAstro skill — a reusable package of instructions and supporting files that agents can use.
SkillAFreshness: A★ 3Claude Code +9 - 0.575score
chat
ArchAstro
Use when the user wants to send a message to an ArchAstro agent, ask an agent a question, view a thread conversation, check for agent responses, or interact…
SkillAFreshness: A★ 3Claude Code +9 - 0.575score
deploy-agent
ArchAstro
Use when the user wants to deploy an ArchAstro agent, turn a config-driven agent repo into a running agent, or get an existing agent running in a thread.
SkillAFreshness: A★ 3Claude Code +9 - 0.575score
impersonate
ArchAstro
Use when the user wants to impersonate an ArchAstro agent, asks about the active impersonation state, wants to refresh or stop impersonation, or refers to…
SkillAFreshness: A★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 10, 2026 (1 month ago)
- Last release
- Oct 2, 2026 (27 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ArchAstro/archastro
- Website
- developers.archastro.ai
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from ArchAstro
- 0.601score
manage-solutions
ArchAstro
Find and install ArchAstro starter samples; scaffold, validate, lint, package, import, install, and upgrade reusable Solutions containing agent, tool…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
manage-knowledge
ArchAstro
Add, refresh, search, and maintain ArchAstro agent knowledge from files, websites, and connected providers; diagnose sources, ingestions, items, and document…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
manage-integrations
ArchAstro
Connect ArchAstro agents to external services through personal OAuth, shared GitHub or Slack integrations, MCP providers, and private services; diagnose…
SkillAFreshness: A★ 3Claude Code +9 - 0.600score
build-workflow
ArchAstro
Use when the user wants to create, edit, or deploy a workflow — a multi-step process with branching, loops, HTTP calls, script execution, approvals, or…
SkillAFreshness: A★ 3Claude Code +9 - 0.597score
manage-platform
ArchAstro
Manage an ArchAstro developer app, customer organizations, users, teams, access keys, OAuth registrations, domains, sandboxes, secrets, custom objects, files…
SkillAFreshness: A★ 3Claude Code +9 - 0.597score
manage-work
ArchAstro
Manage ArchAstro tasks and dependencies, run local coding work with AstroDev or Astrorun, and process durable workflow work items.
SkillAFreshness: A★ 3Claude Code +9
Cite this page
build-script skill. Agent Mart. https://agentmart.dev/skills/archastro-build-script (last updated 2026-10-24)