SuperAPI AI Directory

GoSkill - An open-source tool for advancing long tasks, with built-in retry loop and state tracking

Author: AI小集 · Original source: AI工具集

What is GoSkill

GoSkill is a tool for advancing long tasks and complex tasks. The tool encapsulates tasks via decorators or classes, upgrading "one-off Skill calls" into an execution mode that "continuously advances toward the goal until the success criteria are met or a timeout occurs." GoSkill is suitable for automation scenarios that require clear acceptance criteria, state tracking, and phased completion, such as large-scale refactoring and long-duration analysis.

GoSkill

Main features of GoSkill

  • Goal definition: Supports specifying the task goal via the goal parameter, expressing task intent in a structured way.
  • Success criteria: Defines multi-dimensional acceptance conditions via a criteria dictionary, quantifying the completion criteria.
  • Continuous retries: Built-in execution loop; when the criteria are not met, it automatically waits and keeps trying until success or timeout.
  • State tracking: Provides the status attribute to view the number of attempts, runtime, and check results in real time.
  • Structured return:run_with_result() Returns a structured result object containing success, attempts, and criteria_report.
  • Flexible encapsulation: Supports both the decorator @goskill and the class GoSkill , making it lightweight to embed into existing code.

How to use GoSkill

  • Install dependencies: After cloning the repository, run make install-dev to complete environment setup.
  • Define the task: Use the decorator or instantiate the GoSkill class, passing in parameters such as goal、criteria、max_hours .
  • Write the logic: Implement the specific task logic in a function or lambda and return a result dictionary.
  • Execute the run: Call run() to get the raw result, or call run_with_result() to get a structured execution report.
  • View state: Use skill.status to view the current goal, number of attempts, elapsed runtime, and criteria status.
  • Run the example: Execute python examples/basic_usage.py to view a minimal runnable demo.

Key information and usage requirements for GoSkill

  • Project positioning: A standalone, single-process, lightweight goal-driven execution helper, not a distributed scheduling system.
  • Applicable boundaries: Suitable for long tasks, complex tasks, and scenarios requiring clear acceptance criteria; not suitable for single-turn Q&A or extremely small synchronous functions.
  • Dependency environment: Python environment, with development, testing, and build processes managed via a Makefile.
  • License: Supports the Apache-2.0 open-source license, allowing free commercial use and secondary development.
  • Current status: An experimental execution-mode prototype, a lightweight wrapper for OpenClaw / Agent workflow.

Core advantages of GoSkill

  • Goal-driven: Upgrades a task from "execute once" to "continuously advance around the goal," ensuring the result is acceptable.
  • Transparent process: Built-in state tracking mechanism, allowing you to view the number of attempts, duration, and criteria progress at any time.
  • Lightweight and non-intrusive: Integrate solely through decorators or class encapsulation, without modifying the original business logic.
  • Expectation Alignment: Clarify project boundaries, do not promise enterprise-grade capabilities such as distributed scheduling, and establish credible expectations.

GoSkill's project address

  • GitHub repository:https://github.com/AIPMAndy/goskill

Comparison of GoSkill with similar competing products

Comparison Dimension GoSkill Tenacity Prefect
Core Positioning Goal-driven execution assistance tool General-purpose retry decorator library Modern dataflow workflow engine
Goal Definition ✅ Native support for goal parameters ❌ No concept of goals 🟡 Indirectly defined through Flow
Acceptance Criteria ✅ Structured criteria dictionary ❌ Only exception type determination 🟡 Supports custom status checks
Continuous Retry ✅ Automatically loops until target is met or timeout ✅ Rich backoff strategies ✅ Task-level retry configuration
Status Tracking ✅ Built-in status real-time viewing ❌ No state object ✅ Complete UI and API status flow
Execution Encapsulation ✅ Decorators + classes, lightweight and non-intrusive ✅ Minimal integration via decorators ❌ Requires defining Flows, relatively heavy
Deployment Dependencies None, pure Python single-machine operation None Requires Prefect Server/Cloud
Applicable Scenarios Long tasks/complex tasks/clear acceptance criteria Function-level exception retry Data pipelines/ETL/scheduled orchestration

GoSkill's application scenarios

  • Code Engineering Migration: Suitable for large-scale project refactoring or cross-platform migration, such as migrating an Android project to the HarmonyOS system, continuously iterating until it meets hard metrics such as zero compilation errors and test pass rates.
  • Batch Data Processing: Suitable for long-running analysis tasks, such as batch analysis of 1,000 financial reports or processing large-scale datasets, using coverage and completeness criteria to advance automatically and avoiding manual round-by-round checks.
  • Automated Acceptance Process: Oriented toward CI/CD or testing stages that require clear acceptance criteria, encapsulating "execution—verification—retry" as a closed loop to ensure every deployment meets the preset quality threshold.
  • Scientific Research and Iterative Experiments: By defining phased success criteria, automatically track experimental progress and reduce repetitive manual operations.
  • Agent Workflow Enhancement: As a long-task execution encapsulation layer for OpenClaw or AI Agents, it compensates for the drawback of a single Skill call "stopping once done", improving the reliability of completing complex tasks.