<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
arthur-ai/arthur-engine/arthur-onboard-task
──Details
PublishedOctober 21, 2026 at 11:40 PM
Content Hashsha256:f3b4071ef8598c8a...
Git SHA8a00f36f091b
──Files
Files (1 file, 1.6 KB)
SKILL.md1.6 KBactive
SKILL.md · 66 lines · 1.6 KB

name: arthur-onboard-task description: Arthur onboarding sub-skill — Step 3: Set up an Arthur Task (create or select). Reads/writes .arthur-engine.env. allowed-tools: Bash, Read, Write, Edit version: 1.0.0


Arthur Onboard — Step 3: Set Up Arthur Task

Goal: Establish ARTHUR_TASK_ID in .arthur-engine.env.

Read State

bash
cat .arthur-engine.env 2>/dev/null || echo "(no state file)"

Parse ARTHUR_ENGINE_URL, ARTHUR_API_KEY, and ARTHUR_TASK_ID from the output.

State write helper:

bash
STATE_FILE=".arthur-engine.env"
grep -v '^ARTHUR_TASK_ID=' "$STATE_FILE" 2>/dev/null > /tmp/ae_env_tmp && mv /tmp/ae_env_tmp "$STATE_FILE" || true
echo "ARTHUR_TASK_ID=$TASK_ID" >> "$STATE_FILE"

If ARTHUR_TASK_ID Exists

Confirm reuse with user and exit this skill (task step done).


Select or Create a Task

List existing tasks:

bash
curl -s \
-H "Authorization: Bearer $ARTHUR_API_KEY" \
"$ARTHUR_ENGINE_URL/api/v2/tasks" | \
python3 -c "
import sys, json
d = json.load(sys.stdin)
tasks = d.get('tasks') or d.get('data') or []
tasks = [t for t in tasks if not t.get('is_system_task')]
for t in tasks:
print(f' {t[\"id\"]}: {t[\"name\"]}')
"

Show the list and ask: "Select an existing task, or create a new one?"

To create a task:

bash
TASK_ID=$(curl -s -X POST \
-H "Authorization: Bearer $ARTHUR_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"name\": \"$TASK_NAME\"}" \
"$ARTHUR_ENGINE_URL/api/v2/tasks" | \
python3 -c "import sys,json; print(json.load(sys.stdin).get('id',''))")
echo "TASK_ID=$TASK_ID"

Save the task ID to the state file.

All versions