Forge AI Skill

Security

Use ONLY when the user explicitly starts a message with /forge to interact with Forge AI platform. Manages articles, evaluations, tags, and authentication via Forge AI API. Trigger keywords: /forge, forge, forge-ai.

Install

openclaw skills install forge-skill

Forge AI Skill

Interacts with the Forge AI platform API using src/forge-skill/forge_client.py.

Quick Reference

python3 src/forge-skill/forge_client.py <command> [args]

Commands

Authentication

CommandUsage
Loginforge_client.py login <email> <password>
Meforge_client.py me
Logoutforge_client.py logout

Articles

CommandUsage
Createforge_client.py article create <file.json>
Updateforge_client.py article update <file.json>

Evaluations

CommandUsage
Createforge_client.py evaluation create <file.json>
Updateforge_client.py evaluation update <file.json>

Tags

CommandUsage
Listforge_client.py tag list
Createforge_client.py tag create <name> [--color #6366F1]

JSON File = HTTP Body

The JSON file is the exact data field sent in the API request body.

Article Create (article-crud)

{
  "title": "My Article Title",
  "content": "# Content in markdown...",
  "tags": ["tag_id_1", "tag_id_2"],
  "coverImage": "https://example.com/cover.jpg",
  "type": 0
}

Article Update (article-crud)

Add articleId with the pending wrapper:

{
  "articleId": "art_xxx",
  "pending": {
    "title": "Updated Title",
    "content": "# Updated content...",
    "tags": ["tag_id_1"],
    "coverImage": "https://example.com/new-cover.jpg"
  }
}

Evaluation Create (evaluation-crud)

{
  "pending": {
    "modelName": "GPT-4",
    "skillName": "Code Generation",
    "title": "Evaluation Title",
    "content": "# Evaluation content...",
    "modelVersion": "2024-05",
    "skillDescription": "Generate production code",
    "skillTags": "python, go",
    "overallScore": 85,
    "dimensions": {
      "准确性": 90,
      "推理能力": 80
    },
    "remark": "Good overall performance"
  }
}

Evaluation Update (evaluation-crud)

Add evaluationId:

{
  "evaluationId": "ev_xxx",
  "pending": {
    "modelName": "GPT-4",
    "skillName": "Code Generation",
    "title": "Updated Evaluation",
    "content": "# Updated content..."
  }
}

State

FilePurpose
.forgeai/session.jsonAuth token and user info (auto-managed)
.forgeai/tags.jsonCached tags (auto-managed)
.forgeai/articles/Article JSON files (user-managed)
.forgeai/evaluations/Evaluation JSON files (user-managed)

Typical Workflow

  1. forge_client.py login user@example.com mypassword
  2. Write .json file matching the HTTP body structure
  3. forge_client.py article create .forgeai/articles/my-article.json
  4. Take the returned ID, add it to the JSON file
  5. Edit content, run forge_client.py article update .forgeai/articles/my-article.json