oxbshw/watch-skill

Give AI agents eyes, ears, and verifiable results. Watch Skill turns video, audio and screen activity into searchable, timestamped evidence and proves work with deterministic contracts, not model opinion. DeepWatch is the agent workspace built on DeepSeek Harness. Python + npm, MCP, CLI, REST, Web.

369

stars

493

commits

Python

primary language

Sep 8, 2026

updated

pypi.org/project/watch-skill/
agentic-ai
agent-observability
agent-skills
ai-agents
audio-understanding
computer-vision
deepseek
deepseek-harness
deepwatch
llm
local-first
mcp
multimodal
ocr
python
speech-to-text
typescript
verification
video-analysis
video-understanding

README

Watch Skill: a pixel-art scene of the Watch Skill mascot watching a screen. A filmstrip above shows the four stages — watch a source, remember it as OCR and transcript, resolve timestamped evidence, then run THE LOOP to critique and fix. The screen shows a video library, an evidence list with timestamps, and a capture-critique-fix-verify cycle ending in VERIFIED.

Watch Skill · DeepWatch

Give AI agents eyes and ears — and a record of their work that something other than the agent wrote.

Watch Skill turns video, audio and screen activity into searchable, timestamped evidence, and answers did that actually work? with a deterministic contract instead of a model's opinion. DeepWatch is the workspace that puts an agent inside it.

PyPI Downloads Python Node Agent Skills MCP License

CI Workspace Install

Quickstart · What it does · THE LOOP · Architecture · Docs · Community


Why this exists

An agent that cannot see cannot check its own work, so it tells you what it believes it did. Watch Skill gives it two things it did not have: perception — video, audio and screen activity turned into frames, transcripts and OCR text, every one carrying an absolute timestamp — and verification, a frozen contract run by a separate process whose verdict does not come from a language model.

Both halves are useful on their own, and the split is deliberate.

Watch Skill — the engine

Index a recording once and ask it questions for as long as you keep it. Answers cite timestamps you can open. Verification contracts check file digests, JSON values, SQL results, HTTP responses and DOM state, and report passed, failed, unverified or inconclusive — four answers, because three of them are not the same as "no".

Any agent can use it: MCP, a CLI, or a REST API.

DeepWatch — the workspace

The official DeepSeek Harness composed with Watch Skill, so an agent's work happens inside something that watches it. Every tool call leaves a receipt. Every path a tool declares is checked against one workspace boundary. "It worked" becomes a claim you can open.

Web workspace, a Library of what happened, and Compare for two runs of the same contract.

Watch Skill is what sees and proves. DeepWatch is where the work happens.


What it actually looks like

An ordinary request — create totals.json and tell me the sum. Nobody mentioned Watch.

A DeepWatch session. The agent was asked to create a file and read back its total. Write, Read and Pwsh rows are shown, each naming a workspace-relative path, and the answer confirms the file contents and the calculated total.

Every row is a receipt, every path is workspace-relative, and the total was read back from the file rather than remembered. Then the part that matters:

A VERIFIED result card from watch_verify: two of two checks passed, one confirming the file exists and one confirming its total field equals 60, with the contract's sha256 digest.

watch_verify ran a frozen contract and Watch Core answered. The agent did not grade itself: a check either passed or it did not, the contract's SHA-256 is on screen, and the same contract run from a different directory fails.

Every image on this page is a photograph of a running build. The screenshot page names the build each one came from.


Start here

Three entry paths. Pick the row that describes you.

You haveYou wantGo to
An agent already (Claude Code, Cursor, Codex, any MCP client)Give it eyes, ears and verificationWatch Skill
Nothing yetThe whole workspace, agent includedDeepWatch
A DeepSeek Harness you already runAdd Watch to it, keep your setup@deepwatch/dsh-bundle

1. Add Watch Skill to an agent you already use

pip install 'watch-skill[standard]'   # frames, retrieval and the MCP server
watch-skill doctor                    # checks, and repairs what it can
watch-skill watch <video-url-or-file>
watch-skill ask <id> "what changed at 3:12?"

Take the extra seriously. A bare pip install watch-skill gives you the CLI, the verifier and the Bridge, and it cannot extract a frame: watch stops at perceive.missing_dependency on the first video. [standard] is frames, retrieval and MCP; add [ocr] to read on-screen text, [whisper] for local transcription when a source has no captions, [loop] for the browser, or take [all]. watch-skill doctor names the exact command for whatever is missing.

Wire it into any MCP client — [standard] includes the server:

watch-skill serve              # stdio MCP server, 39 tools

Or install the skills into 25+ agents at once:

npx skills add oxbshw/watch-skill -g

2. The whole workspace

Not on npm yet. Nothing exists under the @deepwatch scope until the deepwatch-v0.1.0 release publishes it, so the command below resolves nothing today. Getting started has the path that works from a checkout.

npm install -g @deepwatch/cli
deepwatch setup                 # builds the runtime and composes the profile
deepwatch web --workspace ./my-project

@deepwatch/cli is the package; npm, npx and pnpm dlx are three ways to reach it, not three products. deepwatch doctor reports what is installed and what is missing; deepwatch setup is the only thing that builds, and it asks before downloading anything.

3. Into a DeepSeek Harness you already run

Not on npm yet, the same as above — the bundle is published by deepwatch-v0.1.0. Until then, compose it from a checkout: getting started.

dsh plugin --profile web add @deepwatch/dsh-bundle

That is the whole installation. The package declares dsh.bundle.patch, so DSH reconciles it into the profile's layer stack and applies the patch after its own. Four narrower variants — media, browser, memory, document — are declared alongside it for a profile that wants one capability rather than all of them.

Add the engine with pip install watch-skill; the Bridge finds it on PATH. Full guide: @deepwatch/dsh-bundle.

Requirements. Node ≥ 22.19 and Python 3.11, 3.12 or 3.13 — the versions CI runs and the classifiers declare. Windows, macOS and Linux.


THE LOOP: observe, act, verify

Perception is only half of it. THE LOOP is what an agent does with perception when it is trying to fix something.

THE LOOP: an agent finds TOTAL: $NaN on its own checkout page, receives a structured critique naming the timestamp the fault was visible at, the code is fixed, and a re-capture confirms the fault is gone.
pip install 'watch-skill[standard,loop]' && playwright install chromium

watch-skill loop start http://localhost:3000/checkout \
  "the total updates when quantity changes, and no NaN appears"
  1. Observe — a real browser records the page to video; frames are extracted and OCR'd, each with an absolute timestamp.
  2. Critique — a vision model is asked whether the capture meets the criteria you wrote. It reports issues with the timestamp each was seen at.
  3. Fix — you change the code.
  4. Verifywatch-skill loop iterate re-captures and diffs against the previous run, so "fixed" means the thing that was wrong is gone.

The critique step needs a vision-capable model. Without one, capture, frames, OCR and verification still work, and the critique says it cannot judge rather than guessing. See THE LOOP.

Corrections become lessons

When an answer is wrong, you correct it. Watch Skill classifies the correction, stores it as a lesson in the local store, re-asks the question with the lesson applied where the error class is mechanical, and counts what that saved.

A wrong answer is reported with its correction; Watch Skill classifies the mistake, re-asks the question with the lesson applied, validates the new answer, and the mistake becomes a replayable evaluation.

Lessons persist between runs and stay on your machine. Nothing learns on its own — the correction is yours to give — and nothing is uploaded. Lessons and savings.


What people use it for

Ask a video a questionIndex a recording once, then ask about it. Answers cite timestamps you can open. 01-watch-and-ask
Prove an agent's workA deterministic contract Core runs — file digests, JSON values, SQL, HTTP, DOM. 14-browser-verification
Fix a UI by looking at itCapture, critique, fix, re-verify. 04-ui-loop
Search across everythingOne index over every source you have watched. 03-cross-video-search
Work offlineLocal whisper and OCR, no provider, nothing leaves the machine. 15-private-offline-workflow
Watch something liveA stream or a browser session, bounded and cursored. 18-live-watch

Each is a directory you can run, with its prerequisites and expected output written next to it.

All 20 examples, by what they teach

That is all 20 examples; the index is examples/.


How it fits together

flowchart LR
  subgraph W["DeepWatch workspace"]
    H["DeepSeek Harness<br/>agent, tools, UI"]
    P["Watch plugins<br/>tools · library · live · memory"]
    H <--> P
  end
  P <-->|"Bridge (stdio)"| C["Watch Core<br/>Python engine"]
  C --> E[("Evidence store<br/>frames · transcripts · index")]
  C --> V["Verifier<br/>isolated subprocess"]
  V --> R[("Verification records<br/>contract · checks · verdict")]
  P --> J[("Receipt journal<br/>one per tool call")]
  A["Any other agent<br/>MCP · CLI · REST"] <--> C

Watch Core is the only thing that issues a verdict. The Host may notice, correlate, freeze a contract and ask — it may not decide the answer. That is ADR-002, and a build gate fails if anything under packages/ starts producing verdicts.

A receipt records what a tool call did; a verdict records what Core checked. They are written by different processes and the Library shows them as different columns, because an agent that ran a command successfully and an agent that did the right thing are not the same claim.

More: architecture · verification · the 39 tools.


What works, and what it needs

CapabilityOut of the boxNeeds
Start the app, browse, read diagnosticsnothing
Verification contracts, containment, receiptsnothing
Video frames and sceneswith [standard]ffmpeg ≥ 5.1 — watch-skill doctor installs it
Reading on-screen textwith [ocr]a first-use model download (~80 MB)
Speech to textwith [whisper]a first-use model download; captions are used first when a source has them
Chat with an agenta provider you add and bind
Visual scene descriptiona model that can see images
Browser capture / THE LOOPwith [loop]playwright install chromium
Memoryoffenable in Settings; the store is plaintext and says so
Desktop appnot distributed — no installer existsrun deepwatch web

DeepWatch starts, and stays useful, with no provider configured: verification, containment, the Library and local perception are all local. What needs a provider is the agent — chat, tool use, and the critique step of THE LOOP.

Three ways a capability arrives, and they are not interchangeable. A local dependency (ffmpeg, yt-dlp, a JS runtime) runs on your machine and watch-skill doctor will fetch and repair it. A downloaded model (OCR weights, whisper) also runs on your machine, is a large one-time download, and nothing about your files leaves it. A hosted provider — the agent's model, and any vision model you bind — is somebody else's service, with their latency, price and terms, and it sees what you send it. An OpenAI-compatible server you run yourself (Ollama, vLLM, LM Studio, llama.cpp) is the hosted route pointed at your own hardware: the data stays local, and whether a given model supports tool calls or images is a property of that model, which DeepWatch reports rather than works around.

Nothing reaches a provider until you add one, and holding a provider credential is not permission to upload a frame or a transcript — that is a separate consent.

What repairs itself. watch-skill doctor repairs dependencies: it downloads yt-dlp and keeps it current, bootstraps a JS runtime, installs OCR language data, and fetches ffmpeg where it can, reporting every repair. That is the only thing here that acts without being asked. There is no automatic task resumption, no autonomous learning, and no encryption at rest in this release. Known limitations is the full list.


Measured, not asserted

Against a leading video-understanding API, same files, same scorer:

Watch SkillBaseline
Written-analysis groundedness89.7%27.9%
Citations per 100 words13.230.12
Frame delivery on real footage96.9%31.2%
Cue starts within half a second100%25%

Method and fixtures: benchmarks/video_backends/. Trade-offs against the alternatives: comparison.


Documentation

Getting startedInstall, first watch, first agent connection
Install and upgradeBoth products, optional extras, compatibility policy
ConfigurationSettings, providers, storage locations
Tool referenceAll 39 MCP tools and their REST/CLI counterparts
VerificationContracts, the fourteen check types, assurance levels
ArchitectureBoundaries, data flow, extension points
Agent matrixPer-client setup and how far each is verified
TroubleshootingDependency repair and common runtime errors
CostWhat runs free, what a provider charges for
Known limitationsWhat this release does not do

DeepWatch: workspace README · setup · the twenty packages · releasing · platform support

Three tool counts, because they answer different questions: 39 MCP tools from watch-skill serve, 22 watch_* tools added to an agent inside DeepWatch, 47 tools that agent is offered in total.


Community

Written by other people, about using this:

The full collection, separated into tutorials, video, integrations and directory listings: docs/ecosystem.md.


Contributing

Issues and pull requests welcome. CONTRIBUTING.md has the twenty-minute path: what to install, which gate to run, and how the commit messages are shaped. Security policy: SECURITY.md. Design decisions and their reasons: DECISIONS.md and ROADMAP.md.


Built on DeepSeek Harness · Powered by Watch Skill

DeepWatch and Watch Skill are independent projects and are not affiliated with or endorsed by DeepSeek.

Contributors

oxbshw

491 commits

Mr-Neutr0n

1 commits

octo-patch

1 commits

oxbshw/watch-skill

Give AI agents eyes, ears, and verifiable results. Watch Skill turns video, audio and screen activity into searchable, timestamped evidence and proves work with deterministic contracts, not model opinion. DeepWatch is the agent workspace built on DeepSeek Harness. Python + npm, MCP, CLI, REST, Web.

369

stars

493

commits

Python

primary language

Sep 8, 2026

updated

pypi.org/project/watch-skill/
agentic-ai
agent-observability
agent-skills
ai-agents
audio-understanding
computer-vision
deepseek
deepseek-harness
deepwatch
llm
local-first
mcp
multimodal
ocr
python
speech-to-text
typescript
verification
video-analysis
video-understanding

README

Watch Skill: a pixel-art scene of the Watch Skill mascot watching a screen. A filmstrip above shows the four stages — watch a source, remember it as OCR and transcript, resolve timestamped evidence, then run THE LOOP to critique and fix. The screen shows a video library, an evidence list with timestamps, and a capture-critique-fix-verify cycle ending in VERIFIED.

Watch Skill · DeepWatch

Give AI agents eyes and ears — and a record of their work that something other than the agent wrote.

Watch Skill turns video, audio and screen activity into searchable, timestamped evidence, and answers did that actually work? with a deterministic contract instead of a model's opinion. DeepWatch is the workspace that puts an agent inside it.

PyPI Downloads Python Node Agent Skills MCP License

CI Workspace Install

Quickstart · What it does · THE LOOP · Architecture · Docs · Community


Why this exists

An agent that cannot see cannot check its own work, so it tells you what it believes it did. Watch Skill gives it two things it did not have: perception — video, audio and screen activity turned into frames, transcripts and OCR text, every one carrying an absolute timestamp — and verification, a frozen contract run by a separate process whose verdict does not come from a language model.

Both halves are useful on their own, and the split is deliberate.

Watch Skill — the engine

Index a recording once and ask it questions for as long as you keep it. Answers cite timestamps you can open. Verification contracts check file digests, JSON values, SQL results, HTTP responses and DOM state, and report passed, failed, unverified or inconclusive — four answers, because three of them are not the same as "no".

Any agent can use it: MCP, a CLI, or a REST API.

DeepWatch — the workspace

The official DeepSeek Harness composed with Watch Skill, so an agent's work happens inside something that watches it. Every tool call leaves a receipt. Every path a tool declares is checked against one workspace boundary. "It worked" becomes a claim you can open.

Web workspace, a Library of what happened, and Compare for two runs of the same contract.

Watch Skill is what sees and proves. DeepWatch is where the work happens.


What it actually looks like

An ordinary request — create totals.json and tell me the sum. Nobody mentioned Watch.

A DeepWatch session. The agent was asked to create a file and read back its total. Write, Read and Pwsh rows are shown, each naming a workspace-relative path, and the answer confirms the file contents and the calculated total.

Every row is a receipt, every path is workspace-relative, and the total was read back from the file rather than remembered. Then the part that matters:

A VERIFIED result card from watch_verify: two of two checks passed, one confirming the file exists and one confirming its total field equals 60, with the contract's sha256 digest.

watch_verify ran a frozen contract and Watch Core answered. The agent did not grade itself: a check either passed or it did not, the contract's SHA-256 is on screen, and the same contract run from a different directory fails.

Every image on this page is a photograph of a running build. The screenshot page names the build each one came from.


Start here

Three entry paths. Pick the row that describes you.

You haveYou wantGo to
An agent already (Claude Code, Cursor, Codex, any MCP client)Give it eyes, ears and verificationWatch Skill
Nothing yetThe whole workspace, agent includedDeepWatch
A DeepSeek Harness you already runAdd Watch to it, keep your setup@deepwatch/dsh-bundle

1. Add Watch Skill to an agent you already use

pip install 'watch-skill[standard]'   # frames, retrieval and the MCP server
watch-skill doctor                    # checks, and repairs what it can
watch-skill watch <video-url-or-file>
watch-skill ask <id> "what changed at 3:12?"

Take the extra seriously. A bare pip install watch-skill gives you the CLI, the verifier and the Bridge, and it cannot extract a frame: watch stops at perceive.missing_dependency on the first video. [standard] is frames, retrieval and MCP; add [ocr] to read on-screen text, [whisper] for local transcription when a source has no captions, [loop] for the browser, or take [all]. watch-skill doctor names the exact command for whatever is missing.

Wire it into any MCP client — [standard] includes the server:

watch-skill serve              # stdio MCP server, 39 tools

Or install the skills into 25+ agents at once:

npx skills add oxbshw/watch-skill -g

2. The whole workspace

Not on npm yet. Nothing exists under the @deepwatch scope until the deepwatch-v0.1.0 release publishes it, so the command below resolves nothing today. Getting started has the path that works from a checkout.

npm install -g @deepwatch/cli
deepwatch setup                 # builds the runtime and composes the profile
deepwatch web --workspace ./my-project

@deepwatch/cli is the package; npm, npx and pnpm dlx are three ways to reach it, not three products. deepwatch doctor reports what is installed and what is missing; deepwatch setup is the only thing that builds, and it asks before downloading anything.

3. Into a DeepSeek Harness you already run

Not on npm yet, the same as above — the bundle is published by deepwatch-v0.1.0. Until then, compose it from a checkout: getting started.

dsh plugin --profile web add @deepwatch/dsh-bundle

That is the whole installation. The package declares dsh.bundle.patch, so DSH reconciles it into the profile's layer stack and applies the patch after its own. Four narrower variants — media, browser, memory, document — are declared alongside it for a profile that wants one capability rather than all of them.

Add the engine with pip install watch-skill; the Bridge finds it on PATH. Full guide: @deepwatch/dsh-bundle.

Requirements. Node ≥ 22.19 and Python 3.11, 3.12 or 3.13 — the versions CI runs and the classifiers declare. Windows, macOS and Linux.


THE LOOP: observe, act, verify

Perception is only half of it. THE LOOP is what an agent does with perception when it is trying to fix something.

THE LOOP: an agent finds TOTAL: $NaN on its own checkout page, receives a structured critique naming the timestamp the fault was visible at, the code is fixed, and a re-capture confirms the fault is gone.
pip install 'watch-skill[standard,loop]' && playwright install chromium

watch-skill loop start http://localhost:3000/checkout \
  "the total updates when quantity changes, and no NaN appears"
  1. Observe — a real browser records the page to video; frames are extracted and OCR'd, each with an absolute timestamp.
  2. Critique — a vision model is asked whether the capture meets the criteria you wrote. It reports issues with the timestamp each was seen at.
  3. Fix — you change the code.
  4. Verifywatch-skill loop iterate re-captures and diffs against the previous run, so "fixed" means the thing that was wrong is gone.

The critique step needs a vision-capable model. Without one, capture, frames, OCR and verification still work, and the critique says it cannot judge rather than guessing. See THE LOOP.

Corrections become lessons

When an answer is wrong, you correct it. Watch Skill classifies the correction, stores it as a lesson in the local store, re-asks the question with the lesson applied where the error class is mechanical, and counts what that saved.

A wrong answer is reported with its correction; Watch Skill classifies the mistake, re-asks the question with the lesson applied, validates the new answer, and the mistake becomes a replayable evaluation.

Lessons persist between runs and stay on your machine. Nothing learns on its own — the correction is yours to give — and nothing is uploaded. Lessons and savings.


What people use it for

Ask a video a questionIndex a recording once, then ask about it. Answers cite timestamps you can open. 01-watch-and-ask
Prove an agent's workA deterministic contract Core runs — file digests, JSON values, SQL, HTTP, DOM. 14-browser-verification
Fix a UI by looking at itCapture, critique, fix, re-verify. 04-ui-loop
Search across everythingOne index over every source you have watched. 03-cross-video-search
Work offlineLocal whisper and OCR, no provider, nothing leaves the machine. 15-private-offline-workflow
Watch something liveA stream or a browser session, bounded and cursored. 18-live-watch

Each is a directory you can run, with its prerequisites and expected output written next to it.

All 20 examples, by what they teach

That is all 20 examples; the index is examples/.


How it fits together

flowchart LR
  subgraph W["DeepWatch workspace"]
    H["DeepSeek Harness<br/>agent, tools, UI"]
    P["Watch plugins<br/>tools · library · live · memory"]
    H <--> P
  end
  P <-->|"Bridge (stdio)"| C["Watch Core<br/>Python engine"]
  C --> E[("Evidence store<br/>frames · transcripts · index")]
  C --> V["Verifier<br/>isolated subprocess"]
  V --> R[("Verification records<br/>contract · checks · verdict")]
  P --> J[("Receipt journal<br/>one per tool call")]
  A["Any other agent<br/>MCP · CLI · REST"] <--> C

Watch Core is the only thing that issues a verdict. The Host may notice, correlate, freeze a contract and ask — it may not decide the answer. That is ADR-002, and a build gate fails if anything under packages/ starts producing verdicts.

A receipt records what a tool call did; a verdict records what Core checked. They are written by different processes and the Library shows them as different columns, because an agent that ran a command successfully and an agent that did the right thing are not the same claim.

More: architecture · verification · the 39 tools.


What works, and what it needs

CapabilityOut of the boxNeeds
Start the app, browse, read diagnosticsnothing
Verification contracts, containment, receiptsnothing
Video frames and sceneswith [standard]ffmpeg ≥ 5.1 — watch-skill doctor installs it
Reading on-screen textwith [ocr]a first-use model download (~80 MB)
Speech to textwith [whisper]a first-use model download; captions are used first when a source has them
Chat with an agenta provider you add and bind
Visual scene descriptiona model that can see images
Browser capture / THE LOOPwith [loop]playwright install chromium
Memoryoffenable in Settings; the store is plaintext and says so
Desktop appnot distributed — no installer existsrun deepwatch web

DeepWatch starts, and stays useful, with no provider configured: verification, containment, the Library and local perception are all local. What needs a provider is the agent — chat, tool use, and the critique step of THE LOOP.

Three ways a capability arrives, and they are not interchangeable. A local dependency (ffmpeg, yt-dlp, a JS runtime) runs on your machine and watch-skill doctor will fetch and repair it. A downloaded model (OCR weights, whisper) also runs on your machine, is a large one-time download, and nothing about your files leaves it. A hosted provider — the agent's model, and any vision model you bind — is somebody else's service, with their latency, price and terms, and it sees what you send it. An OpenAI-compatible server you run yourself (Ollama, vLLM, LM Studio, llama.cpp) is the hosted route pointed at your own hardware: the data stays local, and whether a given model supports tool calls or images is a property of that model, which DeepWatch reports rather than works around.

Nothing reaches a provider until you add one, and holding a provider credential is not permission to upload a frame or a transcript — that is a separate consent.

What repairs itself. watch-skill doctor repairs dependencies: it downloads yt-dlp and keeps it current, bootstraps a JS runtime, installs OCR language data, and fetches ffmpeg where it can, reporting every repair. That is the only thing here that acts without being asked. There is no automatic task resumption, no autonomous learning, and no encryption at rest in this release. Known limitations is the full list.


Measured, not asserted

Against a leading video-understanding API, same files, same scorer:

Watch SkillBaseline
Written-analysis groundedness89.7%27.9%
Citations per 100 words13.230.12
Frame delivery on real footage96.9%31.2%
Cue starts within half a second100%25%

Method and fixtures: benchmarks/video_backends/. Trade-offs against the alternatives: comparison.


Documentation

Getting startedInstall, first watch, first agent connection
Install and upgradeBoth products, optional extras, compatibility policy
ConfigurationSettings, providers, storage locations
Tool referenceAll 39 MCP tools and their REST/CLI counterparts
VerificationContracts, the fourteen check types, assurance levels
ArchitectureBoundaries, data flow, extension points
Agent matrixPer-client setup and how far each is verified
TroubleshootingDependency repair and common runtime errors
CostWhat runs free, what a provider charges for
Known limitationsWhat this release does not do

DeepWatch: workspace README · setup · the twenty packages · releasing · platform support

Three tool counts, because they answer different questions: 39 MCP tools from watch-skill serve, 22 watch_* tools added to an agent inside DeepWatch, 47 tools that agent is offered in total.


Community

Written by other people, about using this:

The full collection, separated into tutorials, video, integrations and directory listings: docs/ecosystem.md.


Contributing

Issues and pull requests welcome. CONTRIBUTING.md has the twenty-minute path: what to install, which gate to run, and how the commit messages are shaped. Security policy: SECURITY.md. Design decisions and their reasons: DECISIONS.md and ROADMAP.md.


Built on DeepSeek Harness · Powered by Watch Skill

DeepWatch and Watch Skill are independent projects and are not affiliated with or endorsed by DeepSeek.

Contributors

oxbshw

491 commits

Mr-Neutr0n

1 commits

octo-patch

1 commits

Languages

Python

39.8%

JavaScript

29.5%

TypeScript

19.9%

HTML

10.2%