Skip to content
Skills Library
Programming · Building & coding

weave

/weave

Write, check, lower, simulate, and test .weave files using the bundled functional Petri-net prototype. Use for this restricted language, not unrelated products named Weave.

Author
quaat ↗
Repository
weave ↗
Licence
MIT
Last repository change
30.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
53
Scripts
20
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 30.10.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What to check before installing
  • 20 scripts in this package. Review them before installing, as Claude may execute them.

Scripts: assets/prototype/checker.py, assets/prototype/coloured.py, assets/prototype/demo.py, assets/prototype/durable.py, assets/prototype/simulate.py, assets/prototype/tests/test_checker.py, assets/prototype/tests/test_coloured.py, assets/prototype/tests/test_composition.py, assets/prototype/tests/test_durable.py, assets/prototype/tests/test_rejection_and_propagation.py, assets/prototype/verify_certifica

What it does and when to use it

Write, check, lower, simulate, and test .weave files using the bundled functional Petri-net prototype. Use for this restricted language, not unrelated products named Weave.

Original author description

Write, check, lower, simulate, and test .weave files using the bundled functional Petri-net prototype. Use for this restricted language, not unrelated products named Weave.

How it works

  1. Choose the smallest useful operation
  2. Preserve meaning
Original SKILL.md headings · 71 lines, 550 words
SKILL.md preview
---
name: weave
description: Write, check, lower, simulate, and test .weave files using the bundled functional Petri-net prototype. Use for this restricted language, not unrelated products named Weave.
---

# Weave

Use Python 3.11+; CPython 3.12.14 is the reference. Install no packages.
Resolve paths below relative to this skill directory. Invoke `scripts/weave.py`
by absolute path when working elsewhere; supplied paths are relative to the current
working directory. The default net is `assets/prototype/Inventory.weave`.

## Choose the smallest useful operation

```bash
python3 scripts/weave.py doctor
python3 scripts/weave.py check /absolute/path/flow.weave
python3 scripts/weave.py check /absolute/path/a.weave /absolute/path/b.weave --net /absolute/path/Net.weave
python3 scripts/weave.py simulate /absolute/path/flow.weave --entry checkout_propagating --outcome all
python3 scripts/weave.py lower /absolute/path/flow.weave --output /absolute/path/lowered.weave
python3 scripts/weave.py analyze --certificate /absolute/path/proof.json
python3 scripts/weave.py verify /absolute/path/proof.json
python3 scripts/weave.py test --pattern test_rejection_and_propagation.py
python3 scripts/weave.py check-pure /absolute/path/program.weave
python3 scripts/weave.py run-pure /absolute/path/program.weave --entry merge_sort --args '[[3,1,2]]' --mode concurrent
```

`check-pure` and `run-pure` belong to the kit's pure-function extension
(`scripts/weave_pure/`): `fn`, `if`/`else`, `<=`, list primitives, direct
recursion, and `fork:`. They read no net and report no accounting claim; their
only claim is `NOT ESTABLISHED`, because pure programs are outside every specified profile.
Termination is not checked; concurrency is cooperative on one thread.

Replace paths and entry names with the task's actual files and declaration.
Use `--net PATH` for a changed net, or a `use net a.b` first line in the flow
file, which selects `<root>/a/b.weave` (root: `--root DIR`, else the flow file's
directory); a `--net` naming another net is E610. Batch flows sharing a net to
check that net once. Put `--json` before the command for machine-readable output. Add `--trace`
to simulation only when snapshots are needed. Run `test` for all bundled
regressions after implementation changes. In the starter kit, run `examples`
for the teaching corpus; elsewhere pass `examples --manifest PATH`.

Read [the language guide](references/weave.md) for syntax or semantic work.
Use `assets/prototype/examples/checkout.weave`, `checkout_composed.weave`, and
`checkout_propagating.weave` for complete source patterns. Read implementation
files only when a diagnostic or implementation task requires them.

## Preserve meaning

- Check changed flows; use `lower` to check original and lowered source.
- Preserve nominal state types and identity indices. Move each linear handle
  exactly once on each path, including early returns at `?`.
- Treat `Unknown` as a recovery obligation. Propagation inserts no cleanup.
- Use implemented syntax; do not invent loops, retry, parallel, or unrestricted FFI.
  Pure `fn` syntax is valid only in pure files under `check-pure`/`run-pure`, never in flows.
- Separate `PROVED` accounting, `CHECKED WITHIN BOUNDS` ordering, `CHECKED flow`
  checks, and `SCRIPTED / passed scenario`
  execution. Report bounds/budget exhaustion as not established.
  Its label is `NOT ESTABLISHED`; a counterexample is `VIOLATED`. Use only these six
  labels for claims, one per claim: a claim is a JSON `claim_label` or an
  unindented text line that begins with its exact label; every other unindented
  text line is blank, a diagnostic or a named non-claim line (`scripts/weave_labels.py`).
  `ok`/`tool status` and `runtime_status` are not evidence; `Unknown` is an
  application outcome, never `NOT ESTABLISHED`.
- Preserve net contracts while repairing callers. Report incompatible requirements
  instead of weakening guards, consumer lists, or invariants to obtain a pass.
- Report diagnostic codes, rules, source locations, and messages. Exit 0 means the requested
  expectations were met; 1 is a rejection or failed test; 2 is usage, I/O,
  certificate-data, or scripted-execution failure. Expected-invalid fixtures make
  `examples` succeed only when their particular diagnostic codes match.

Run no real external operations. The executor is synchronous, stock-one,
scalar-entry, and limited to at most one scripted foreign operation. Do not claim
persistence, distributed recovery, or multi-order correctness from its traces.
Files in this package (53)
  • SKILL.md 4 KB
  • agents/openai.yaml 1 KB
  • assets/diagnostics.json 28 KB
  • assets/diagnostics.json.license 1 KB
  • assets/prototype/ACTUAL_OUTPUT.txt 11 KB
  • assets/prototype/DESIGN_NOTES.md 10 KB
  • assets/prototype/Inventory.coloured.weave 8 KB
  • assets/prototype/Inventory.weave 6 KB
  • assets/prototype/LOWERED_PROPAGATION.weave 1 KB
  • assets/prototype/README.md 10 KB
  • assets/prototype/REPORT.md 29 KB
  • assets/prototype/TEST_OUTPUT.txt 18 KB
  • assets/prototype/checker.py 59 KB
  • assets/prototype/colour-check.json 1 KB
  • assets/prototype/colour-proof.json 32 KB
  • assets/prototype/coloured.py 22 KB
  • assets/prototype/demo.py 19 KB
  • assets/prototype/durable-scenarios.json 91 KB
  • assets/prototype/durable.py 23 KB
  • assets/prototype/ordering.json 2 KB
  • assets/prototype/proof.json 5 KB
  • assets/prototype/requirements.txt 1 KB
  • assets/prototype/scenarios.json 11 KB
  • assets/prototype/simulate.py 6 KB
  • assets/prototype/verify_certificate.py 4 KB
  • assets/prototype/examples/checkout.weave 1 KB
  • assets/prototype/examples/checkout_composed.weave 1 KB
  • assets/prototype/examples/checkout_propagating.weave 1 KB
  • assets/prototype/examples/direct_charge.weave 1 KB
  • assets/prototype/examples/drop_hold.weave 1 KB
  • assets/prototype/examples/forge_escrow.weave 1 KB
  • assets/prototype/examples/wrong_order.weave 1 KB
  • assets/prototype/mutations/bogus_sell.weave 1 KB
  • assets/prototype/mutations/leak.weave 1 KB
  • assets/prototype/mutations/lose_paid.weave 1 KB
  • assets/prototype/mutations/manual_leak.weave 1 KB
  • assets/prototype/mutations/quick_recover.weave 1 KB
  • assets/prototype/mutations/skim.weave 1 KB
  • assets/prototype/tests/test_checker.py 9 KB
  • assets/prototype/tests/test_coloured.py 7 KB
  • assets/prototype/tests/test_composition.py 11 KB
  • assets/prototype/tests/test_durable.py 8 KB
  • assets/prototype/tests/test_rejection_and_propagation.py 13 KB
  • references/weave.md 23 KB
  • scripts/weave.py 32 KB
  • scripts/weave_diagnostics.py 3 KB
  • scripts/weave_labels.py 28 KB
  • scripts/weave_pure/__init__.py 1 KB
  • scripts/weave_pure/check.py 9 KB
  • scripts/weave_pure/cli.py 6 KB
  • scripts/weave_pure/runtime.py 16 KB
  • scripts/weave_pure/syntax.py 11 KB
  • scripts/weave_pure/values.py 4 KB

Versions

RepositoryScoreLicence
This page · quaat/weave100MIT
edmundmiller/dotfiles100MIT
alexander-tyagunov/magician100MIT

Database snapshot: 13.11.2026 · package version 86eb8af14956 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 90weave-docs
    Documentation currency for Weave changes. Computes the documentation impact of a change from the documentation map, applies it, regenerates generated documents, and runs the offline drift audit (repository or change scope). Use at claim time, before the In Review gate, at…
  • 90weave-instrument
    Add Weave tracing to Python or TypeScript agents and LLM applications. Use when asked to instrument model calls, tools, or agent turns with Weave.
  • 90weave-project
    Lead orchestrator for Weave development runs. Use when the maintainer explicitly asks to start, resume, inspect or stop a Weave development run, to pick the next roadmap task, or to reconcile the project board. Discovers and reconciles GitHub state, schedules one eligible issue,…
  • 90weave-brainstorm
    Use when asked to brainstorm, or a design question or open-ended problem needs multiple independent adversarial ideas.
  • 100spider-weave
    Weave authentication webs with patient precision. Spin the threads, connect the strands, secure the knots, and bind the system. Use when integrating auth, setting up OAuth, or securing routes.
  • 100petri-net-design
    Design, review and debug Coloured Time Petri Nets with libpetri (Java, TypeScript, Rust, Python) so they stay provable as they grow: data in tokens, decisions in topology, budgets as places, reusable subnets, correlated fork/join. Use when modelling a workflow, agent, protocol,…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.