AB
AiBoss
project

GoSkill - an open-source tool for facilitating long-running tasks, featuring built-in retry loops and state tracking.

GoSkill is a tool for advancing long and complex tasks. It encapsulates tasks using decorators or classes, transforming a 'one-time skill call' into a continuous process that 'advances towards a goal until success criteria are met or a timeout occurs'...

What is GoSkill?

GoSkill is a tool for facilitating long and complex tasks. It encapsulates tasks using decorators or classes, upgrading the "one-time skill call" to an execution model that "continuously progresses towards a goal until success criteria are met or a timeout occurs." GoSkill is suitable for automation scenarios requiring clearly defined acceptance criteria, state tracking, and phased completion, such as large-scale refactoring and long-term analysis.

GoSkill's main functions

  • Target definitionSupported goal The parameters clearly define the task objectives and express the task intent in a structured way.
  • Success criteria:pass criteria The dictionary defines multi-dimensional acceptance criteria and quantifies completion standards.
  • Continue retrying: Built-in execution loop, automatically waits and continues to try if the target is not met, until success or timeout.
  • State tracking:supply status 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 packagingSupports decorators @goskill and class GoSkill Two calling methods, lightweight embedding into existing code.

How to use GoSkill

  • Install dependenciesExecute after cloning the repository make install-dev Complete environment configuration.
  • Define task: Use decorators or instantiation GoSkill Class, pass in goal,criteria,max_hours Parameters such as these.
  • Write logicImplement the specific task logic in a function or lambda and return the result dictionary.
  • Execute: call run() Get the original result, or call run_with_result() Obtain a structured execution report.
  • Check status:pass skill.status View the current goal, number of attempts, runtime, and achievement status.
  • Running Example:implement python examples/basic_usage.py View the smallest working demo.

Key information and usage requirements for GoSkill

  • Project PositioningA single-machine, single-process, lightweight goal-driven execution helper, a non-distributed scheduling system.
  • Applicable BoundariesSuitable for long-running, complex tasks and scenarios requiring clear acceptance criteria; not suitable for single-question-and-answer sessions or very small synchronous functions.
  • Environment dependencyA Python environment that manages the development, testing, and build processes through Makefiles.
  • License AgreementSupports the Apache-2.0 open-source license, allowing for free commercial use and secondary development.
  • Current status: An experimental execution mode prototype, a lightweight wrapper for the OpenClaw / Agent workflow.

GoSkill's core advantages

  • Target-drivenUpgrade the task from "execute it once" to "continuously advance around the goal" to ensure that the results are acceptable.
  • Transparent processBuilt-in status tracking mechanism allows you to view the number of attempts, duration, and progress towards achieving the goal at any time.
  • Lightweight and non-invasiveIt can be integrated simply by using decorators or class encapsulation, without modifying the original business logic.
  • Expected alignmentClearly define project boundaries, do not commit to enterprise-level capabilities such as distributed scheduling, and establish credible expectations.

GoSkill project address

  • GitHub repositoryhttps://github.com/AIPMAndy/goskill

Comparison of GoSkill with similar competing products

Comparison Dimensions GoSkill Tenacity Perfect
Core positioning Target-driven execution auxiliary tools Universal Retry Decorator Library Modern data flow workflow engine
Target definition Native support goal parameter No goal concept Defined indirectly through Flow
Acceptance Standards Structured criteria dictionary Exception type judgment only Supports custom status checks
Continue retrying Automatic cycle when target is met or timeout is exceeded Enriching avoidance strategies Task-level retry configuration
State tracking Built-in status Real-time viewing Stateless objects Complete UI and API state flow
Execution encapsulation Decorator + Class, Lightweight and Non-Intrusive Minimalist access to decorators Flow needs to be defined, which is quite heavy.
Deployment dependencies No, pure Python single-machine operation none Requires Perfect Server/Cloud
Applicable Scenarios Long-running tasks/complex tasks/clearly defined acceptance criteria Function-level exception retries Data Pipelines/ETL/Scheduled Data Transfer

Application scenarios of GoSkill

  • Code project migrationIt is suitable for large-scale project restructuring or cross-platform migration, such as migrating an Android project to the HarmonyOS system. By setting hard indicators such as zero compilation errors and test pass rate, it can be continuously iterated until the target is met.
  • Batch data processingSuitable for long-term analysis tasks, such as batch analysis of 1,000 financial reports or processing large-scale datasets, it automatically advances the process using coverage and integrity standards, avoiding manual round-by-round checks.
  • Automated acceptance processFor CI/CD or testing processes that require clear acceptance criteria, the "execution-verification-retry" process is encapsulated into a closed loop to ensure that each deployment meets the preset quality threshold.
  • Scientific research and iterative experimentsBy defining phased success criteria, the experiment progress can be automatically tracked, reducing repetitive manual operations.
  • Agent workflow enhancementAs a long-task execution encapsulation layer for OpenClaw or AI Agent, it makes up for the shortcomings of single Skill calls that "stop as soon as they are completed" and improves the reliability of completing complex tasks.