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.
Main features of GoSkill
-
Goal definition: Supports specifying the task goal via the
goalparameter, expressing task intent in a structured way. -
Success criteria: Defines multi-dimensional acceptance conditions via a
criteriadictionary, 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
statusattribute 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
@goskilland the classGoSkill, making it lightweight to embed into existing code.
How to use GoSkill
-
Install dependencies: After cloning the repository, run
make install-devto complete environment setup. -
Define the task: Use the decorator or instantiate the
GoSkillclass, passing in parameters such asgoal、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 callrun_with_result()to get a structured execution report. -
View state: Use
skill.statusto view the current goal, number of attempts, elapsed runtime, and criteria status. -
Run the example: Execute
python examples/basic_usage.pyto 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.