xdog-skills
Common medium-level skills with isolated domain support and extension code. The hub ships goal and plan. Flow and Eyes keep their independent engines and packaged skills; they are not copied here.
Coding and Claw include xdog-skills by default. Their skills extra remains
compatible. Other consumers can install the hub directly. Namespace discovery
lists the skill metadata without copying files or starting a model, host, store
or observer. Full skill bodies load on demand. There is no Goal enable switch;
availability is not user delegation.
Goal: records and reminders, not an agent runner
The current main Agent knows the conversation and owns planning, optional worker assignment using the host's existing tools, task reconciliation and completion. The goal skill explains that workflow. A host without subagents can do everything on its main Agent.
The trusted installed native Goal extension provides:
/goal create <outcome>
/goal status
/goal pause [reason]
/goal resume
/goal clear [reason]
/goal history
The goal model tool provides create/status/summary/tasks/history/update/plan/report/task_update/wait/
pause/resume/complete/clear. plan saves the main Agent's plan, not another model
call. complete records its own evidence-based judgment, not a forced independent
review. There are no Goal worker/reviewer runners, role tools or attempt/report
acceptance protocol. Existing permissions and approvals still apply.
Each stable main-Agent owner has at most one current Goal, including paused or waiting Goals. Completed/cleared Goals release the binding but keep history. Clear does not delete task files, cancel unrelated Eyes observers or undo accepted work.
Data and events
GoalStore owns a leased xdog.goal.registry.v2 registry with owner binding, Goal
revision history and immutable reminder outbox. Task state has ONE authority:
<workspace>/.xdog/goals/<goal-id>/tasks/<task-id>.json. Workers update their assigned
files; SDK mutations use expected versions and atomic no-follow writes. The local
python -m xdog.skills.goal.task_cli ... list|update helper shares this CAS protocol
under the caller's existing tool permissions. The plan is plan.md; errors are not empty results.
Before every continuation, the main Agent compares actual results with its previous
report and calls goal(action="report", report={...}) BEFORE doing more work.
progress.md is the sole report authority, with human-readable and structured
history in one atomic, version-checked Markdown file. Baseline/advanced/unchanged/
regressed are Agent judgments, not script verdicts. With repeated no progress and
no viable new approach, the Agent should report blockers and pause. No fixed round
threshold or automatic progress judge exists.
/goal status and the model status default to counts, bounded previews, latest
report and distinct execution/observation/delivery facts. Use tasks for filtered
or single-task reads, and plan without content for reading. Snapshot byte pages
retain query and content hashes. SDK status(detail=True) keeps full history reads.
Generic host settled/available events trigger a check. When continuation is appropriate, the runtime sends a stable-ID automatic message through ACP enqueue to the same main Agent and original Inbox/controller. ACP delivers; the skill instructs; the main Agent decides. Both settled and task-file signals enter one durable coalescer. An accepted pending/running reminder prevents another send; new changes remain dirty until consumed. Recovery inspects original receipts, not idle time, and known-not-sent retries retain original ID/content. A user/host wait or user pause cannot be washed into an automatic task wait and resumed. Interrupted/unknown effects are not replayed. No fixed polling loop, hidden tool approval or second Agent is created.
The runtime generates eyes.json and optionally owns a public Eyes ObserverService
registration observing only this Goal's task JSON directory. Configuration/state
files are excluded. Pausing stops both proactive continuation and this owned
registration; only explicit resume restores them and reconciles changed task
files. Pause does not cancel accepted inputs, tools, children or other observers.
Clear/close also stops only the owned registration. Missing Eyes or
an unavailable actual owner endpoint is reported, never silently installed or
retargeted. Goal depends directly only on Agent/stdlib; integrations import lazily.
Old journal.sqlite3 and goals.json stay untouched, with their locations reported
in status/history; no old worker/reviewer is restored. They are not silently
converted into a new current Goal.
The optional packaged goal_ui worker remains readonly and exposes /goals via
explicit global extension selection. Default /goal commands/model tools use the
native installed capability, not this display worker, so a failed UI cannot own
the business lifetime. Native /goal explicitly overlaps only its skill command;
the skill itself remains discoverable/loadable. Builtins and other extension
owners cannot be shadowed.
See docs/goal-optimization-design.md, docs/goal-optimization-requirements.json,
docs/goal-simple-design.md, docs/goal-simple-requirements.json and the current
verification record. Earlier Goal kernel/adapter/reviewer records are historical.
Metadata
Release files for xdog-skills 2.4.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| xdog_skills-2.4.7.tar.gz | 114.9 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xdog_skills-2.4.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 192.1 kB
Release files / xdog_skills-2.4.7.tar.gz
| Download URL | xdog_skills-2.4.7.tar.gz |
|---|---|
| Size | 114.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
23126bc2db7679030a188223262f8006a3b419b9fd97004f18d4066222ca8978
|
|
BLAKE2b-256 checksum How to use checksums |
30f094753cfbd0bf426b430bea45bec2f4e9a8d2244b52b5252550e8154b626f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logRelease files / xdog_skills-2.4.7-py3-none-any.whl
| Download URL | xdog_skills-2.4.7-py3-none-any.whl |
|---|---|
| Size | 77.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
08769506a4070cc4d438c3df8c1226c6db6045fa15ca7f0766ce582bb755f2c3
|
|
BLAKE2b-256 checksum How to use checksums |
f4cbf79fe811450fdb3e7fd0140943f7517809b3099d2275cb5d298020b18e80
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logSecurity for xdog-skills 2.4.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for xdog_skills-2.4.7.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.